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 | 查询软件包配置文件 |
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)软件包文件提取
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 | 更新已安装包 |