linux下软件包管理,我个人认为分为两种,一种是redhat系的软件包管理;另一种是debian系的软件包管理;再加上一些源代码包安装和脚本安装,这基本上就组成了我们学习任何linux所需要掌握的关于软件包管理的知识!
二进制软件包管理主要分为两种:rpm和yum
一、rpm
举个RPM软件包的例子:
sudo-1.7.2p1-5.el5.i.386.rpm
其中包括软件名 sudo 版本号 1.7.2pl 发行号5.el5和硬件平台(i386)
1.卸载
rpm -e sudo
注意:如果与其他软件包有依赖关系,卸载时会产生提示信息,可以使用–nodeps强行卸载
2.安装
rpm -ivh sudo-1.7.2p1-5.el5.i.386.rpm
i表示install v表示显示命令执行信息 h表示进度 ,其实只需要一个i选项即可安装!
这儿附加的一个知识是:关于挂载光盘
首先新建一个文件夹,mkdir /mnt/cdrom
然后将光盘挂载到这个目录下面 mount /dev/cdrom/ /mnt/cdrom
查询是否已经安装:rpm -q sudo
rpm -qa |grep samba
其他安装选项:
–excludedocs 不安装软件包中的文档文件
–prefix PATH 将软件包安装到由PATH指定的路径下
注意的是大多数rpm包不允许改变安装目录
–test 只对安装进行测试,并不实际安装
常见的是测试依赖关系和是否安装
–replacepkgs 执行覆盖安装的过程,常见于发生文件冲突时使用
–nodeps 未解决依赖关系 可以强行安装 不考虑依赖关系,但是十又八九用不了
3.升级
rpm -Uvh 软件包名称
4.查询
选项:
-a 查询所有已安装的软件包
-f 查询文件所属软件包
-p 查询软件包
-i 显示软件包信息
-l 显示软件包中的文件列表
-d 显示被标注为文档的文件列表
-c 显示被标注为配置文件的文件列表
RPM查询应用案例:
1.查询文件隶属的软件包 rpm -qf
2.查询软件包的信息: rpm -qi rpm -qip 前面的表示查询已经安装的包,后面表示还没安装包
3.查询软件包安装文件:rpm -ql rpm -qlp 前面的表示查询已经安装的包,后面表示还没安装包
4.查询软件包帮助文档:rpm -qd rpm -qdp
5.查询软件包配置文件:rpm -qc
5 校验:
rmp -V 软件名称
5 文件的md5校验值
S 文件大小改变
L 链接文件
T 文件的创建时间
M 文件的权限
U 文件的用户
G 文件的用户组
D 设备文件
举个例子:md5sum 文件名 可以加md5校验值,只要你改变内容 校验值就改变
6.软件包文件提取
首先定位所属软件包rpm -qf
解压所有文件到当前目录
rpm2cpio 软件包名|cpio -idv
解压指定文件到当前目录
rpm2cpio 软件包名|cpio -idv ./etv/inittab
二、yum
应用YUM的好处:
自动解决软件包依赖关系 方便的软件包升级
安装 yum install
检测升级 yun check-update
升级 yum update
软件包查询 yum list 一般结合grep使用
软件包信息 yum info
卸载 yum remove
帮助 yum-help man yum
在后面直接跟上软件名即可完成安装 升级