基础了解
软件包,顾名思义就是由多个软件组成的软件包。
软件包的组成主要有四大部分:
1、二进制程序。主要存在与系统的/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin.
2、库文件。存在于/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
3、配置文件。程序的公共配置文件为/etc/ld.so.conf。各个程序的独立的配置文件为/etc/ld.so.conf.d/*.conf。一般建议配置单个程序的配置文件,方便管理。
4、帮助文件。如man文件、info文件、README、INSTALL等。
rpm包管理之命名
命名规则:Pkgname-version-release.arch.rpm
Version:major.minor.release
Release:软件包被开发出来的发行号。
Release:软件包被编译为二进制程序的发行号。
Arch:软件包被编译的硬件平台。如x86_64, ppc等。
如:vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
rpm包管理之安装:
命令:rpm { -i | --install } /path/to/Pkgname
同时还可以与其他选项一同使用,如:
-v(verbose):显示安装过程。
-h(hase):以“#”的个数显示安装进度,一个“#”表示2%。
--test:只测试不安装。
依赖性关系解决:
1、将依赖的包每个都安装上去。
2、忽略依赖关系,使用(--nodeps)
重新安装:
命令:rpm { -i | --install } --replace Pkgname
rpm包管理之卸载:
命令:rpm { -e| --erase } name
依赖关系解决:
1、将所依赖的包以一卸载。
2、忽略依赖关系,使用(--nodeps)
rpm包管理之查询:
命令:rpm { -q | --query } Pkgname
具体操作:
rpm -qa :查询所有已经安装的软件包。
rpm -qi Pkgname:查询包的信息。
rpm -ql Pkgname:查询包安装后在系统上生成的文件列表。
rpm -qf /path/to/filename:查询该文件是由哪个包生成的。
rpm -qd Pkgname:查询软件包安装之后的帮助文档。
rpm -qc Pkgname:查询软件包安装之后的配置文件。
rpm -q --scripts Pkgname:查询软件包安装的脚本信息,主要有preinstall、postinstall、preuninstall、postuninstall。这些脚本信息主要是做一些安装之前和安装之后的处理。
rpm包管理之升级:
命令:rpm { -U| --upgrade } Pkgname
1、使用(--nodeps)解决升级过程的依赖关系。
2、使用(--force)解决升级过程新旧版本之间的冲突。
rpm包管理之检验:
命令:rpm { -V | --verify} Pkgname
结果显示解析,若一下选项有显示,表示该选项出问题:
1、S(size):表示文件的大小被修改过。
2、M(mode):表示文件的权限被修改过。
3、5(MD5):表示校验结果出问题。
4、D(Device major|minor):表示设备的版本号被修改过。
5、L(readlink):符号链接的路径被改变。
6、U(user):文件的属主不匹配。
7、G(group):文件的属组不匹配。
8、T(time):文件的时间戳被改变。
rpm包管理之来源合法性检验及软件包完整性检验:
来源合法性检验:通过单向加密机制(md5|sha1)
完整性检验:通过公钥加密机制(RSA)
命令:rpm { -K| checksig} /path/to/Pkgname
在执行该命令之前应该先导入公钥,不然会导致RSA和MD5都出错。
#rpm --import /path/to/Pkg-key
[[email protected]~]# rpm -K/media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm /media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51) [[email protected] ~]# rpm --import /media/rhel6.5/RPM-GPG-KEY-redhat-release [[email protected] ~]# rpm -K /media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm /media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
rpm包管理之数据库重建:
命令:rpm --initdb:初始化数据库,不会覆盖原有数据库
rpm --rebuilddb:重建数据库,会覆盖原有数据库。