linux 基础操作(六)

二进制软件包管理(RPM、YUM)

以 sudo-1.7.2p1-5.el5.i386.rpm 为例

rpm 选项
-a 查询所有已安装的软件包
-f 查询文件所属软件包
-p 查询软件包
-i 显示软件包信息
-l 显示软件包中的文件列表
-d 显示被标注为文档的文件列表
-c 显示被标注为配置文件的文件列表
-q 查询软件是否安装
-V 校验

rpm -V sudo

校验结果 S.5....T c /etc/sudoers
5 文件的 md5 校验值
S 文件大小
L 链接文件
T 文件的创建时间
D 设备文件
U 文件的用户
G 文件的用户组
M 文件的权限

软件包文件提取

解压所有文件到当前目录
rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv
解压指定文件到当前目录
rpm2cpio initscripts-8.45.30-2.el5.centos.i386.rpm | cpio -idv ./etc/inittab
确认配置文件所属的安装包
rpm -qf /etc/inittab
卸载 rpm 包
rpm -e sudo

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

rpm -e --nodeps sudo

最好将依赖包先卸载

安装 sudo-1.7.2p1-5.el5.i386.rpm
rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm
挂载
mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

ls | grep sudo
查看软件 sudo 是否安装
rpm -q sudo
查看所有软件中和 sudo 相关的软件
rpm -qa | grep sudo

安装选项
--excludedocs 不安装软件包中的文档文件
--prefix PATH 将软件包安装到由 PATH 指定的路径下
--test 只对安装进行测试,并不实际安装
--replacepkgs 覆盖已经安装的安装文件
--replacefiles 忽略冲突文件,覆盖现有文件
--nodeps 忽略依赖软件包强制安装

升级 sudo 软件包

rpm -Uvh sudo-1.8.0p1-5.el5.i386.rpm

检测 sudo 是否安装
rpm -q sudo

yum 的使用

自动解决软件包的依赖关系

方便的软件包升级

安装
yum install
检测升级
yum check-update
升级
yum update
软件包查询
yum list
软件包信息
yum info
卸载
yum remove
帮助
yum -help 
man yum
安装sudo
yum install sudo
检测升级 sudo
yum check-update sudo
升级sudo
yum update sudo
软件包查询
yum list | grep sudo

查询配置文件注释的方法

查询 vim 的安装包
[root@bogon ~]# rpm -qa | grep vim

vim-filesystem-7.4.160-1.el7.x86_64

vim-enhanced-7.4.160-1.el7.x86_64

vim-minimal-7.4.160-1.el7.x86_64

vim-common-7.4.160-1.el7.x86_64
查询示例文档,一般示例文档包含命名包含 example 关键词
rpm -ql vim-common-7.4.160-1.el7.x86_64

rpm -ql vim-common-7.4.160-1.el7.x86_64 |grep example

源代码包安装

解压源代码包

tar -xzvf proftpd-1.3.3d.tar.gz

cd proftpd-1.3.3d

配置(源代码包没有指定的卸载命令)
./configure --prefix=/usr/local/proftpd
编译
make
安装
make install

脚本安装(shell 或 java 脚本)

解压

tar -xzvf webmin-1.530.tar.gz

cd webmin-1.530

vi README

./setup.sh

APT 包管理

搜索软件包

apt -cache search

软件包信息

apt -cache show

安装

apt -get install (reinstall 、-f)

删除

apt -get remove (autoremove、 --purge)

更新软件源

apt -get update

更新已安装包

apt -get upgrade

上一篇 linux 基础操作(五)
下一篇 linux 基础操作(七)