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