linux程序包管理初步

1.概述
API:Application Program Interface
ABI:Application Binary Interface
    Unix-like
        ElF
    windows
        exe,msi
库级别的虚拟化    winE(linux上运行模拟windows)
    cywin(windows上运行模拟linux)
系统级开发:
    C/C++:httpd,vsftpd,nginx
    go
应用级开发:
    java/Python/perl/ruby/php:
        java:hadoop,hbase(jvm)
        Python:openstack(pvm)C/C++程序格式:
    源代码:文本格式的程序代码
        编译开发环境:编译器,头文件,开发库
    二进制格式:文本格式的程序代码-->编译器-->二进制格式(二进制程序,库文件,配置文件,帮助文件)
        Java/Python程序格式:
            源代码:编译成能够在其虚拟机上(jvm/pvm)运行的格式;
                开发环境:编译器、开发库
            二进制:
    项目构建工具:
        c/c++:make
        java:maven
        编译顺序由项目构建工具自行决定(开发者已设置好编译顺序)
2.程序包管理器
源代码-->目标二进制格式-->组织称为一个或有限几个“包”文件;
    安装、升级、卸载、查询、校验

程序包管理器:

debian(Ubuntu):dpt,工具:dpkg,程序包以“.deb”结尾redhat:redhat package manager ,rpm,".rpm";rpm is package manager;
S.u.S.E:rpm ,‘.rpm‘Gentoo:portsArchLinux:
3.程序包的组成格式
源代码:name-VERSION.tar.gz
    VERSION:major.minor.releaserpm包命名格式:
    name-VERSION-release.arch.rpm
        VERSION:major.minor.release
        release.arch:rpm包的发行号
            release.os:2.el7.i386.rpm
             archetecture(架构):i386,x64(amd64),ppc,noarch(没平台要求,可以使用在任意平台架构上)rpm拆包:主包和支包
    主包:name-VERSION-release.arc.rpm
    支包:name-function-VERSION-release.arc.rpm
        function:devel(开发包),utils(工具程序),libs(库文件)依赖关系
    X,Y,Z 
        X-->Y,Z
            Y-->A,B,C
            C-->Y
前端工具:自动解决依赖关系;
        yum :rhel系列系统上rpm包管理器的前端工具;        apt-get(apt-cache):deb包管理器的前端工具
        zypper:suse的rpm管理器前端工具
        dnf:Fedora 22+系统上rpm包管理器的前端工具
4.程序包管理器功能和组成部分
功能:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,从而更方便地实现程序包的安装、升级、卸载和查看1.程序包的组成清单(每个程序包都单独实现);
    文件清单
    安装和卸载时运行的脚本2.数据库(公共)
    程序包的名称和版本
    依赖关系
    功能说明
    安装生成的各文件路径及校验码信息;
    等等等    
    CentOS上的程序包数据库位置/var/lib/rpm/
5.获取程序包的途径
(1)系统发行版的光盘或官方的文件服务器(或镜像站点);
    http://mirrors.aliyun.com
    http://mirrors.sohu.com,
    http://mirrors.163.com(2)项目的官方站点
(3)第三方组织制作的rpm包:
    (a)EPEL:
    (b)搜索引擎查找
        http://pkgs.org
        http://rpm.pvone.net
        http://rpmfind.netstat(4)自己动手,丰衣足食

建议:检查其合法性(完整性)
    来源合法性:
    程序包的完整性;
6.CentOS系统上rpm命令管理程序包

命令介绍

安装、升级、卸载、查询和校验、数据库维护rpm命令:rpm [OPTION] [PACKAGE_FILE]
    安装:-i,--install
    升级:-U,--update,-F,-freshen
    卸载:-e,--erase
    查询: -q,--query
    校验:-V ,--verify
    数据库维护:--builddb,--initdb

rpm包安装

rpm {-i|--install} [install-options] PACKAGE_FILE ...
    
    rpm -ivh PACKAGE_FILE...
    
    GENERAL OPTIONS:
        -v:verbose,详细信息        -vv:更详细的输出        
        [install-options]
            -h:hash marks输出进度条;每个#表示2%的进度            --test:测试安装,检查并报告依赖关系及冲突消息等;            --nodeps:忽略依赖关系,不建议使用,安装后会不能使用;            --replacepkgs:重新安装:rpm -ivh --replacepkgs zsh-5.0.2-7.el7.x86_64.rpm            --nodigest:不检查包的完整性信息            --nosignature:不检查包的来源信息及包的完整性注意:rpm可以自带脚本;
    四类: --noscripts
        preinstall:安装过程开始之前运行的脚本,%pre: --nopre
        postinstall:安装过程完成以后运行的脚本:%post --nopost
        preuninstall:卸载过程真正开始执行之前运行的脚本,%preun --nopreun
        postuninstall卸载过程完成以后运行的脚本,%postun --nopostun
时间: 2024-10-14 09:48:20

linux程序包管理初步的相关文章

Linux程序包管理初步-rpm的使用

在Linux系统上,一般而言,对于程序包管理器来说分为三类: debian:dpt,dpkg;             (程序包后缀.deb) rhel:rpm (程序包后缀.rpm) suse:rpm  (程序包后缀.rpm) 那么,程序包管理器该怎么理解呢? 程序包管理器:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,从而更方便的实现程序包的安装.卸载.升级.查询.校验等管理操作. 对于Centos系列来讲,rpm数据库的路径是:/var/lib/rpm rpm包命名格式: na

linux程序包管理初步认识

程序的组成部分:二进制程序.库文件.配置文件.帮助文件(手册.文档) 运行模式:选项.配置文件 程序包的组成: 二进制程序文件:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin 库文件:/lib, /lib64, /usr/lib, /usr/local/lib 配置文件:/etc, /etc/DIR, /usr/local/etc 帮助文档:/usr/share/man, /usr/local/share/man

Linux程序包管理

Linux程序包管理 RPM包基础 RPM YUM 编译安装 概述 Linux上的程序包管理,是我们的必备技能,本文将从三个视角:rpm.yum.源码编译来浅析Linux的程序包管理.首先,我们来看下本文的主要内容: - 程序包的命名- RPM: 程序包管理器    安装.卸载.升级.查询.校验.数据库维护      - YUM: RPM的前端程序    yum的配置文件     yum的常规操作:升级.检查.卸载.查看.包组管理     使用光盘当作本地yum仓库     yum的命令行选项及

Linux程序包管理及yum安装管理

Linux程序包管理: API:ApplicationProgramming Interface   应用编程接口 POSIX:Portable OS    遵循本协议的程序均可在不同系统间移植 程序编写完成后,执行所要经过的处理步骤: 程序源代码 --> 预处理 --> 编译 --> 汇编 --> 链接 静态编译: 共享编译:直接调用.so共享对象实现 ABI:ApplicationBinary Interface  应用二进制接口 Windows与Linux所支持的可执行二进制

Linux程序包管理工具简介

一.Linux程序包管理器-RPM RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件.Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装.RPM 有五种操作模式,分别为:安装.卸载.升级.查询和验证. 1.RPM 安装操作 命令: rpm -i 需要安装的包文件名 例: rpm -i example.rpm 安装 example.rpm 包 rpm -iv example.rpm 安装

Linux程序包管理与初识磁盘

Linux 程序包管理 API:Application Binary Interface(应用程序的二进制接口) ABI:APPlication Program Inertface(应用程序的开发接口) Windows : exe,msi Windows与Linux不兼容 ELF:(Executale and Linkable Format):可执行可连接格式,linux运行格式 PE:(Portable  Executable)可移植可执格式Windows运行格式 库级别的虚拟化: 要想在Wi

Linux程序包管理总结

Linux程序包管理 相比于Windows系统,Linux的程序包的管理就没有那么简单了,当然在Linux系统中也有像Windows系统中EXE或者MSI安装包一样的安装包文件,可以直接实现进行程序包安装,但即是这样的程序包的安装也要比Windows复杂多了,当然,大家不要被我这两句话给唬到了,当你学过这课后,你会发现Linux的程序包管理其实也很简单的,同样你也会发现Linux的程序包管理比Windows的好玩儿多了. Linux中的程序包格式: .deb  源于debian系统的安装包格式

linux程序包管理rpm,yum和编译安装以及冒泡排序练习

linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇编--> 链接 静态编译: 共享编译:.so ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) PE(Portable Executable) 库级别的虚拟化: Linux: WIN

Linux程序包管理之rpm包管理

Linux程序包管理 软件包管理 功能:将编译好的程序的各组成文件打包成一个或几个程序包文件,为了方便的实现程序包的安装.升级.卸载.查询.校验.数据库维护. API:Application ProgramInterface应用程序接口: ABI:Application BinaryInterface应用二进制接口: Unix-like和linux在ABI层次是相同的 linux程序包:ELF格式: 但是与Windows相差甚远 windows程序包:exe,msi格式: API层次兼容不一定A