Linux学习笔记——软件包管理

1.RPM包的管理

RPM软件包的一个例子:

sudo-1.7.2p1-5.el5.i386.rpm

这个rpm包名包括软件名sudo,版本号1.7.2p1,发行号5.el5,和硬件平台i386

(1)安装

挂载光盘:

mkdir  /mnt/cdrom

mount  /dev/cdrom  /mnt/cdrom

# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
-ivh是可选的,一般来说i是必选的,v表示显示安装信息,h表示用#表示安装进度

在CentOs光盘中,包含了所有核心rpm的二进制包,可以使用 ls | grep sudo命令来查找sudo安装包

几个相关的命令:

rpm -q sudo          查询sudo工具是否已经安装
rpm -qa | grep sudo  查询与sudo相关的所有软件包
其它安装选项:

--excludedocs       不安装软件包中的文档文件

--prefix PATH         将软件包安转到有PATH指定的路径下

--test      只对安装进行测试,并不实际安装

rpm -ivh --excludedocs sudo       这里的--excludedocs有两个--
对于 --prefix PATH没有多少意义,因为大多数rpm安装包不允许指定安装路径

A.覆盖安装

当使用rpm -ivh安装软件提示如下信息时:

package sudo-1.7.2p1-5.el5.i386 is already installed

如果想覆盖安装该软件包,可以在命令行中使用 --replacekgs 选项

B.文件冲突

如果要安装的软件包有一个文件已经在安装其他软件包时安装,会出现以下错误信息:

#rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm

conflicts with file from bark-3.2-11

sudo-1.7.2p1-5.el5.i386.rpm cannot be installed

如果想要RPM忽略该错误信息,可以使用 --replacefiles 命令行选项

C.未解决依赖关系

RPM软件包可能依赖于其它软件包,在安装了特定软件包之后才能安装该软件包。

#rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm

failed dependencies:

sudo is needed by bark-3.2-11

你必须安装完所依赖的软件包,才能解决这个问题,强制安装可以使用 --nodeps 选项


(2)卸载

# rpm -e sudo

注:a.如果其它软件包有依赖关系,卸载时会产生提示信息,可使用-nodeps强行卸载

b.rpm -e sudo    这里写的是软件名sudo,而不是软件包名称


(3)升级

#rpm -Uvh sudo-1.7.2p1-5.el5.i386.rpm
注:U是大写的

下面给出几个RPM包管理的常用命令:

命令功能
rpm -qf查询文件隶属的软件包
rpm -qi、rpm -qip 查询软件包信息
rpm -ql、rpm -qlp查询软件包安装文件
rpm -qd查询软件包帮助文档
rpm -qc查询软件包配置文件
a. rpm -qi是查看已经安装的软件的信息,而-qip是查询没有安装的软件包的信息;

b. rpm -qi 软件名      rpm -qip 软件包名

c. rpm -ql sudo       查看一个软件在系统安装了哪些文件

d. rpm -qlp 包名      查看一个将要安装的软件需要在哪些目录安装文件

e. rpm -qa | grep vim    查询已安装的软件包


(4)校验

# rpm -V 软件名称
rpm -V sudo     用于校验sudo软件目录文件是否被更改,如果没有更改,这个命令不会返回任何信息;下表是这个命令所返回的值以及所代表的含义:

5文件的md5校验值
S文件大小
L链接文件
T文件的创建时间
D设备文件
U文件的用户
G文件的用户组
M文件的权限
例如,这个命令返回5、S、T,则说明这个软件的md5值改变了,文件大小改变了,创建时间也改变了。

(5)软件包文件提取

a.解压所有文件到当前目录

# rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv

b.解压指定文件到当前目录

# rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv ./etc/inittab
说明:第一个命令是把该软件所有文件解压到当前目录,一般情况下很少使用;

比如不小心将系统很重要的配置删除了,该文件又没有备份,此时系统无法挂载,这个时候就需要用光盘进入修复模式,恢复那个被删除的文件。


2.YUM包管理

使用yum的好处在于,它不仅能自动解决软件包之间的依赖关系,还能很方便的进行软件升级。

下面是常见的yum管理命令:

命令功能
yum install安装
yum check-update检测升级
yum update升级
yum list软件包查询
yum info软件包信息
yum remove卸载
yum -help、man yum帮助


3.源代码包安装

应用举例(proftpd):

# tar -xzvf proftpd-1.3.3d.tar.gz   (解压缩包)
# cd proftpd-1.3.3d
# ./configure --prefix=/usr/local/proftpd    (配置)
# make    (编译)
# make install     (安装)

a.源代码具有很好的适用性,安装可定制性强,可以自己配置

b.有些linux并不支持rpm包,但是源码安装包,由于是自己编译安装,可以适用于各个linux操作系统

c.源代码安装时最好指定安装目录,这一点与rpm包的安装不同

e.make、make install这两个命令后面都没有参数              

f.删除软件的时候,步骤是先关闭该进程,然后rm这个目录


4.脚本安装

应用举例(webmin):

# tar -xzvf webmin-1.530.tar.gz
# cd webmin-1.530
# vi README
# ./setup.sh
脚本一般是shell脚本,或者java脚本,脚本安装和在windows下安装软件没有多少太大区别。


5.APT包管理

对于Ubuntu系列的linux操作系统,使用APT包管理软件。

apt-cache search搜索软件包
apt-cache show软件包信息
apt-get install安装
apt-get remove删除
apt-get update更新软件源
apt-get upgrade更新已安装包


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值