rpm


RPM工具

RPM”Redhat Package Manager”的缩写,根据名字也能猜到这是Redhat公司开发出来的。RPM 是以一种数据库记录的方式来将你所需要的套件安装到你的Linux 主机的一套管理程序也就是说,你的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃

如果你的光驱中还有系统安装盘的话,你可以通过”mount /dev/cdrom /mnt”命令把光驱挂载到/mnt目录下,那么你会在/mnt/CentOS目录下看到很多.rpm的文件,这就是RPM包了

[image]

每一个rpm包的名称都由”-“”.”分成了若干部分就拿 a2ps-4.13b-57.2.el5.i386.rpm 这个包来解释一下,a2ps 为包名;4.13b则为版本信息;57.2.el5为发布版本号;i386为运行平台其中运行平台常见的有i386, i586, i686, x86_64 ,需要你注意的是cpu目前是分32位和64位的,i386,i586i686都为32位平台,x86_64则代表为64位的平台另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制例如 alacarte-0.10.0-1.fc6.noarch.rpm 。下面介绍一下rpm常用的命令

1)安装一个rpm

[image]

-i :安装的意思

-v :可视化

-h :显示安装进度

另外在安装一个rpm包时常用的附带参数有:

--force 强制安装,即使覆盖属于其他包的文件也要安装

--nodeps 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包

2)升级一个rpm

rpm -Uvh filename -U :即升级的意思

3)卸载一个rpm

rpm -e filename 这里的filename是通过rpm的查询功能所查询到的,稍后会作介绍

[image]

卸载时后边跟的filename和安装时的是有区别的上面命令提到的 “|”linux系统中用的非常多也非常有用,它是一个管道符,用来把前面运行的结果传递给后面的命令以后会做详细介绍,而后出现的grep命令则是用来过滤某个关键词的工具,在后续章节中会做详细介绍

4)查询一个包是否安装

rpm -q rpm包名(这里的包名,是不带有平台信息以及后缀名的)

[image]

如果加上了平台信息以及后缀名反而不能查出来你还可以查询当前系统中所安装的所有rpm

[image]

因为太多,所以笔者列出前十个

5)得到一个rpm包的相关信息

rpm -qi 包名 (同样不需要加平台信息与后缀名)

[image]

6)列出一个rpm包安装的文件

rpm -ql 包名

[image]

通过上面的命令可以看出vim是通过安装vim-enhanced-7.0.109-6.el5这个rpm包得来的那么反过来如何通过一个文件去查找是由安装哪个rpm包得来的?

7)列出某一个文件属于哪个rpm

rpm -qf 文件的绝对路径

[image]

前面讲过如何查找一个文件(可执行命令)的绝对路径

[image]

所以你也可以把这两条命令连起来写

[image]

看到了吗,which vim 这条命令是由两个反引号引起来的,这代表引用反引号里面的命令所产生的结果关于rpm工具的使用还有很多内容,笔者就不一一列举了,只要你掌握上面这些内容,完全够你平时工作用的了

yum工具

介绍完rpm工具后,还需要你掌握最常用的yum工具,这个工具比rpm工具好用多了,当然前提是你使用的linux系统是支持yum。yum最大的优势在于可以联网去下载所需要的rpm包,然后自动安装,在这个工程中如果要安装的rpm包有依赖关系,yum会帮你解决掉这些依赖关系依次安装所有rpm下面笔者介绍常用的yum 命令

1 列出所有可用的rpm “yum list “

[image]

限于篇幅,笔者只列举出来前7个包信息从上例中可以看到有”mirrors.163.com”信息出现,这是在告诉用户,它是从mirrors.163.com这里下载到的rpm包资源如果你使用的是CentOS则你可以从/etc/yum.repos.d/CentOS-Base.repo这个文件下看到相关的配置信息从上面的例子中你还可以看到最左侧是rpm包名字,中间是版本信息,最右侧是安装信息,如果安装了就显示installed,未安装则显示base或者extras,如果是该rpm包已安装但需要升级则显示updates。

2)搜索一个rpm “yum search [相关关键词]”

[image]

除了这样搜索外,笔者常用的是利用grep来过滤

[image]

相信你也会喜欢用后者吧,这样看起来简明的多

3)安装一个rpm “yum install [-y] [rpm包名]”

如果不加-y选项,则会以与用户交互的方式安装,首先是列出需要安装的rpm包信息,然后会问用户是否需要安装,输入y则安装,输入n则不安装而笔者嫌这样太麻烦,所以直接加上-y选项,这样就省略掉了问用户是否安装的那一步[image]

4)卸载一个rpm “yum remove [-y] [rpm包名]”

[image]

卸载和安装一样,你也可以直接加上-y选项来省略掉和用户交互的步骤在这里笔者要提醒你一下,卸载某个rpm包一定要看清楚了,不要连其他重要的rpm包一起卸载了,以免影响正常的业务

4)升级一个rpm “yum update [-y] [rpm]”

[image]



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值