RHEL6基础二十二之RHEL软件包管理①

:RPM软件包之间存在着复杂的依赖关系。在多数情况下,一个软件都是由多个相互依赖的RPM软件包组成的,而大部分的RPM包又有相互之间的依赖关系。例如,安装A软件需要B软件的支持,而安装B软件又需要C软件的支持,那么在安装A软件之前,必须先安装C软件,再安装B软件,,最后才能安装A,有时甚至还可能会出现死循环。YUM安装是一个基于RPM却胜于RPM的软件管理工具,它的最大优点是可以自动解决RPM软件包间的依赖性问题,从而可以更轻松的管理Linux系统中的软件。从RHEL5开始,Red Hat就推荐用yum作为软件安装的首选方式。可以同时配置多个资源库(Repository) ,简洁的配置文件(/etc/yum.conf) ,自动解决增加或删除rpm包时遇到的倚赖性问题,使用方便,保持与RPM数据库的一致性

RPM

RPM(redhat package manager)软件包是将程序源代码经过编译和封装以后形成的包文件,在软件包里会封装软件的程序、配置文件、帮助手册等组件。yum是目前在RHEL系统中安装软件的首选方式,传统的rpm则主要是用作查询,如查询系统中是否已经安装了某个软件等

RPM软件包的安装与卸载

[root@justin Packages]# rpm -ivh –test zsh-4.3.10-5.el6.i686.rpmwarning: zsh-4.3.10-5.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYPreparing…########################################### [100%][root@justin Packages]#

软件包信息查看

查看软件是否安装

[root@justin Packages]# rpm -q vsftpdvsftpd-2.2.2-11.el6.i686[root@justin Packages]# rpm -qa vsftpdvsftpd-2.2.2-11.el6.i686[root@justin Packages]# rpm -e vsftpd[root@justin Packages]# rpm -q vsftpdpackage vsftpd is not installed[root@justin Packages]# rpm -qa vsftpd[root@justin Packages]# rpm -qa | wc -l1104[root@justin Packages]#

查看已安装软件的信息

查询已经安装的软件包文件列表

在Linux中安装软件时,会自动分门别类地向相应的目录中复制对应的程序文件,并进行相关设置。在Linux系统中,典型的应用程序通常由以下几部分组成:

文件类型保存位置

普通执行程序文件/usr/bin

服务器执行和管理程序文件/usr/sbin

应用程序配置文件/etc/

日志文件 /var/log

应用程序文档文件/usr/share/doc

应用程序帮助手册文件/usr/share/man

查询文件由哪个程序生成

[root@justin Packages]# rpm -qf /etc/vsftpd/vsftpd-2.2.2-11.el6.i686[root@justin Packages]# rpm -qf /etc/passwdsetup-2.8.14-16.el6.noarch[root@justin Packages]# rpm -qf /usr/share/filesystem-2.4.30-3.el6.i686[root@justin Packages]#

说明:当系统中的某个程序文件损坏或丢失时,通过“rpm -qf”的查询结果,可以重新安装相应的软件包

[root@justin Packages]# which touch/bin/touch[root@justin Packages]# rpm -qf /bin/touchcoreutils-8.4-19.el6.i686[root@justin Packages]# rm -rf /bin/touch[root@justin Packages]# touch file1-bash: touch: command not found[root@justin Packages]# rpm -i coreutils-8.4-19.el6.i686.rpmwarning: coreutils-8.4-19.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEYpackage coreutils-8.4-19.el6.i686 is already installed[root@justin Packages]# rpm -i coreutils-8.4-19.el6.i686.rpm –forcewarning: coreutils-8.4-19.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY[root@justin Packages]# touch file1touch: 无法创建”file1″: 只读文件系统[root@justin Packages]# init 6[root@justin Packages]#Connection closed by foreign host.Type `help’ to learn how to use Xshell prompt.Xshell:\&;Connecting to 10.15.72.194:22…Connection established.To escape to local shell, press ‘Ctrl+Alt+]’.Last login: Tue Oct 29 22:34:02 2013 from 10.15.72.73[root@justin ~]# touch file1[root@justin ~]#

安装coreutils时候提示已经安装,这时候需要用到参数–force强制重新安装下,重新强制安装成功后使用touch命令会提示无法创建,只读的文件系统,只时候需要重启下系统就可以了

查询软件包配置文件信息

[root@justin Packages]# rpm -qc vsftpd/etc/logrotate.d/vsftpd/etc/pam.d/vsftpd/etc/vsftpd/ftpusers/etc/vsftpd/user_list/etc/vsftpd/vsftpd.conf[root@justin Packages]#

本文出自 “过程就是为了实现结果” 博客,请务必保留此出处

陪我们走过一段别人无法替代的记忆。

RHEL6基础二十二之RHEL软件包管理①

相关文章:

你感兴趣的文章:

标签云: