Linux 系统下软件安装与管理

发布时间:2020-07-25 03:01:33 来源:51CTO 阅读:1078 作者:Dayi_123 栏目:数据库

Linux 系统下软件安装与管理

一、二进制(RPM)程序包概述

1、二进制程序包的组成部分:

二进制文件、库文件、配置文件、帮助文件

[root@dayi123 ~]# rpm -qpl/mnt/cdrom/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm

/etc/httpd             

/etc/httpd/conf          #二进制程序包组成部分配置文件

/etc/httpd/conf.d

……

/usr/sbin/httpd          #二进制程序包组成部分二进制文件

……

/usr/lib64/httpd/modules/mod_access_compat.so

/usr/lib64/httpd/modules/mod_actions.so  #二进制程序包组成部分库文件

……

/usr/share/man/man8/rotatelogs.8.gz      #二进制程序包组成部分帮助文件

/usr/share/man/man8/suexec.8.gz

……

2、二进制程序包管理器

(1)debian:deb文件, dpkg包管理器

(2)redhat: rpm文件, rpm包管理器

3、二进制程序包的命名:

如:httpd-2.4.6-40.el7.centos.x86_64.rpm

说明:

    http:软件包名

    2.4.6:软件版本

    40:软件编译版本

    el7.centos:适合的硬件平台

    x86_64:适合的硬件平台

    .rpm:包扩展名

4、rpm包的分类:

1)主包:Application-VERSION-ARCH.rpm

2)开发子包:Application-devel-VERSION-ARCH.rpm

3)其他子包:Application-utils-VERSION-ARHC.rpm

4)其他子包:Application-libs-VERSION-ARHC.rpm

如httpd包:

[root@dayi123 ~]# ls /mnt/cdrom/Packages/httpd*     

/mnt/cdrom/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm

/mnt/cdrom/Packages/httpd-devel-2.4.6-40.el7.centos.x86_64.rpm

/mnt/cdrom/Packages/httpd-manual-2.4.6-40.el7.centos.noarch.rpm

/mnt/cdrom/Packages/httpd-tools-2.4.6-40.el7.centos.x86_64.rpm

5、程序包之间的依赖关系

(1)依赖关系:二进制程序包之间一般存在的依赖关系有:树形依赖,环形依赖及模块依赖。

(2)查看库文件及依赖关系:

1)查看二进制程序所依赖的库文件:ldd /PATH/TO/BINARY_FILE

    2)显示本机已经缓存的所有可用库文件名及文件路径映射关系:/sbin/ldconfig -p

    3)库文件的配置文件(如果想添加新的库文件,可在/etc/ld.so.conf.d下新建以.conf结尾的文件,在文件中添加库文件路劲即可):/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf

    4)库文件的缓存文件:/etc/ld.so.cache

[root@dayi123 ld.so.conf.d]# ldd /bin/ls    #查看二进制程序依赖的库文件

 linux-vdso.so.1=>  (0x00007ffc17f8c000)

 libselinux.so.1=> /lib64/libselinux.so.1 (0x00007f91c6e60000)

 libcap.so.2 =>/lib64/libcap.so.2 (0x00007f91c6c5b000)

……

[root@dayi123 ld.so.conf.d]# /sbin/ldconfig –p  #查看本机缓存的可用库文件

302 libs found in cache `/etc/ld.so.cache'

 p11-kit-trust.so(libc6,x86-64) => /lib64/p11-kit-trust.so

 libzzipwrap-0.so.13 (libc6,x86-64) =>/lib64/libzzipwrap-0.so.13

 libzzipmmapped-0.so.13 (libc6,x86-64) =>/lib64/libzzipmmapped-0.so.13

(3)解决依赖包的管理工具:

    1)yum:rpm包管理器的前端工具

2)apt-get:deb包管理器前端工具

3)zypper: suse上的rpm前端管理工具

4)dnf: Fedora 18+ rpm包管理器前端管理工具

6、程序包管理器:

(1)功能:将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装、卸载、查询、升级和校验等管理操作

(2)包文件组成(每个包独有)

RPM包内的文件、RPM的元数据(如名称,版本,依赖性,描述等)、安装或卸载时运行的脚本

(3)数据库(公共):/var/lib/rpm

包含内容:程序包名称及版本、程序包之间依赖关系、程序包功能说明、包安装后生成的各文件路径及校验码信息

二、RPM包管理

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。