CentOS程序包管理详解(2)

各个发行版中的前端工具:
    RHEL/CentOS系统:
        yum,Yellow dog Update Modifier
            yum在实施程序包安装、升级、卸载等过程中,会开启事务;
            事务一般具有四个特性:ACID
                所谓事务,即将整个操作过程视为一个不可分割的整体,其中的操作要么全部都执行,要么全部都不执行;

dnf:Fedora22+

Debian/Ubuntu系统:
        apt-get:实现安装、卸载、升级、降级等deb包的管理工作;
        apt-cache:实现基于关键字进行搜索功能,管理本地缓存及缓存的元数据;

S.u.S.E系统:
        zypper

在CentOS系统中,程序包管理器的核心是rpm;
其后端使用rpm命令行工具;
前端使用yum命令行工具或dnf命令行工具;

rpm命令行工具:
    功能:
        1.将编译好的应用程序的各个文件打包成一个或多个程序包;
        2.支持rpm程序包的安装、卸载、升级、降级、查询、校验及程序包信息数据库管理功能;

rpm程序包文件的组成:
    1.被封包的程序文件;
    2.文件清单;
    3.程序在安装或卸载时所需要运行的脚本,共有四种:
        preinstall:在正式的安装操作开始之前所需要运行的脚本,标识为"%pre";
        postinstall:在安装完成之后所需要运行的脚本,标识为"%post";
        preuninstall:在正式的卸载操作开始之前所需要运行的脚本,标识为"%preun";
        postuninstall:在卸载完成之后所需要运行的脚本,标识为"%postun";

注:在一个rpm程序包中,并不一定同时有这四类脚本,也可以没有这些脚本;

rpm数据信息的数据库(公共):
    目录:/var/lib/rpm

rpm程序包的获取途径:
    1.系统的发行版关盘;
    2.官方的文件服务器或者镜像站点;
        阿里云镜像
        网易镜像
        搜狐镜像
        ...
    3.某个应用程序项目的官方站点;
    4.第三方组织制作的rpm程序包站点:
        Fedora EPEL:Extra Package for Enterprise Linux;红帽官方的社区组织,通常来说,在上述的镜像站点中也会包括EPEL镜像;
    5.某些专用的搜索引擎:
       
       
       
    6.自己动手制作rpm程序包;

注:除了自己制作的rpm程序包之外,建议在获取程序包后,对其实施完整性校验;

软件包管理器(2)
rpm和yum两个命令行工具

rpm命令行工具:
rpm - RPM Package Manager

QUERYING AND VERIFYING PACKAGES:
  rpm {-q|--query} [select-options] [query-options]

rpm {-V|--verify} [select-options] [verify-options]

INSTALLING, UPGRADING, AND REMOVING PACKAGES:
rpm {-i|--install} [install-options] PACKAGE_FILE ...

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
      [--notriggers] [--test] PACKAGE_NAME ...

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17805.html