态度决定一切,其实你可以做得更好!

今天工作调休,抽空发布一篇博文,和大家一起来学习一下Linux下程序包的管理,rpm命令的使用。

先来介绍下Linux下常见程序包的类别:

RPM包:是发行商在兼容大众的开发环境下完成编译打包并且测试签名了的,可直接安装使用。

源码包: 提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制码并进行安装。其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境;缺点是难度较大,一般不适合初学者使用。

RPM:(RedHat Packages Manager)——红帽软件包管理工具

安装源:

        操作系统的安装光盘里面就有很多功能的程序包。

        http://mirrors.sohu.com

还有很多站点,大家慢慢搜集。

接下来介绍rpm命令的常见用法:

rpm的认证机制,如何去判断一个rpm包来源合法性,软件包是否正规,

我们首先挂载光盘(也就是安装源)

# mount -t iso9660 /dev/sr0  /mnt/dvd -r

rpm 离线安装samba 离线安装rpm包命令_rpm包

现在进入到挂载的文件夹

# cd /mnt/dvd

# ls

rpm 离线安装samba 离线安装rpm包命令_rpm包_02

用rpm命令导入公钥(上图我用红色标记的就是官方的公钥。)

# rpm --import RPM-GPG-KEY-redhat-release 

rpm 离线安装samba 离线安装rpm包命令_操作系统_03

导入成功!

现在进入Packages目录,里面全是软件包,我们测试下zsh-4.3.10-5.el6.x86_64.rpm这个包完整否?

# rpm -K zsh-4.3.10-5.el6.x86_64.rpm

rpm 离线安装samba 离线安装rpm包命令_运维_04

看来是OK的!

接下来看看如何用rpm命令安装软件包:

rpm -i /path/rpm_file

-i:安装

-v:显示安装过程详细信息

-h:现在安装进度

我们安装下zsh这个软件包

# rpm -ivh zsh-4.3.10-5.el6.x86_64.rpm

rpm 离线安装samba 离线安装rpm包命令_rpm 离线安装samba_05

安装成功!

其实软件包和软件包之间是有依赖关系的,有的软件包需要依赖别的软件包的库。

--nodeps:忽略依赖关系

--test:测试安装

--replacepkgs:重新安装

再看看如何卸载软件包,还是拿zsh这个软件包为例。

-e:卸载

# rpm -e zsh

rpm 离线安装samba 离线安装rpm包命令_rpm包_06

卸载成功,卸载的时候后面指包名就可以了。

软件包的查询:

        查询所有已经安装的软件包:

rpm -qa

如果查询某个可以结合grep

rpm -qa | grep ‘pattern’

rpm 离线安装samba 离线安装rpm包命令_运维_07

查询软件包的摘要信息:

# rpm -qi httpd

rpm 离线安装samba 离线安装rpm包命令_安装包_08

这里面有很多信息,名称,版本号,供应商,创建日期,加密算法,描述信息等。

查询生成的文件清单:

# rpm -ql httpd

用来查看安装的rpm包生成了哪些文件。

rpm 离线安装samba 离线安装rpm包命令_rpm 离线安装samba_09

查询某文件是由哪个rpm包生成的;

# rpm -qf /etc/httpd/conf

rpm 离线安装samba 离线安装rpm包命令_rpm包_10

查询安装包生成的配置文件:

# rpm -qc httpd

rpm 离线安装samba 离线安装rpm包命令_运维_11

查询安装包生成的帮助文档:

# rpm -qd httpd

rpm 离线安装samba 离线安装rpm包命令_操作系统_12

查询相关的脚本:

# rpm -q --scripts httpd

rpm 离线安装samba 离线安装rpm包命令_rpm 离线安装samba_13

升级:

-U:升级+安装

-F:升级

--force:强制

--nodeps:忽略依赖性

好了就到这里了,下次带来yum,yum可以自动解决依赖性的问题,使用方便,目前主用yum。