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