Linux软件包管理02-RPM
2014-06-15 15:00
447 查看
一、rpm包常用管理命令
1、安装
a)rpm -i /PATH/TO/PACKAGE_FILE
b)-h: 以#显示进度;每个#表示2%;
c)-v: 显示详细过程
d)-vv: 更详细的过程
如:rpm -ivh /PATH/TO/PACKAGE_FILE
e)rpm -ivh /mnt/CentOS/zsh-4.2.6-8.el5.i386.rpm
f)--test:测试安装是否能正常进行
g)--nodeps: 忽略依赖关系;
h)--replacepkgs: 重新安装,替换原有安装;
i)--force: 强行安装(无视冲突);
如:rpm -ivh --replacepkgs /mnt/CentOS/zsh-4.2.6-8.el5.i386.rpm
2、查询
a)rpm -q PACKAGE_NAME:查询指定的包是否已经安装;
b)rpm -qa : 查询已经安装的所有包;
如:rpm -qa | grep "^z
c)rpm -qi PACKAGE_NAME: 查询指定包的说明信息;
d)rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表;
e)rpm -qc PACEAGE_NEME:查询指定包安装的配置文件;
f)rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件;
g)rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本;
如:rpm -q --scripts zsh
h)rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;
如:rpm -qf /etc/inittab
i)如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件:
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
3、升级
a)rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装;
如:rpm -Uvh nano-1.3.12-1.1.1.gls.i386.rpm
b)rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;
c)--oldpackage: 降级
注意:内核不应该升级安装,内核允许多版本并存。所以,可直接安装多个不同版本的内核;
4、卸载
a)rpm -e PACKAGE_NAME
b)--nodeps:忽略依赖关系;
5、校验
rpm -V PACKAGE_NAME:验证安装的文件是否修改;
6、重建rpm数据库(/var/lib/rpm),rpm(/var/lib/rpm中含有0的文件名为锁文件)
a)--rebuilddb: 重建数据库,一定会重新建立;
b)--initdb:初始化数据库,没有才建立,有就不用建立;
7、检验来源合法性,及软件包完整性;
a)加密类型:
对称加密:加密解密使用同一个密钥
公钥加密:一对儿密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;
单向加密:提取数据特征码;
如果原数据一样,结果一定会一样;
雪崩效应,原数据有一点点不同,结果大不同;
b)RedHat密钥文件:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
c)如何验证签名(signature):用官方的公钥解密这段加密的特征码,得到可靠的官方提供的特征码;自己再使用同样的方法提取特征码,并比较和解密出来的特征码是否一致;命令:
c1)rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 导入密钥文件
c2)rpm -K /PAPT/TO/PACKAGE_FILE
dsa, gpg: 验正来源合法性,也即验正签名;可以使用--nosignature,略过此项;
sha1, md5: 验正软件包完整性;可以使用--nodigest,略过此项;
二、rpm包中包含的内容
1、要安装的文件
2、要执行的脚本:
pre:表示安装前执行的脚本
post:安装完成要执行的脚本
preun:卸载前执行的脚本
postun:卸载完成要执行的脚本
本文出自 “Jessen Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1426586
1、安装
a)rpm -i /PATH/TO/PACKAGE_FILE
b)-h: 以#显示进度;每个#表示2%;
c)-v: 显示详细过程
d)-vv: 更详细的过程
如:rpm -ivh /PATH/TO/PACKAGE_FILE
e)rpm -ivh /mnt/CentOS/zsh-4.2.6-8.el5.i386.rpm
f)--test:测试安装是否能正常进行
g)--nodeps: 忽略依赖关系;
h)--replacepkgs: 重新安装,替换原有安装;
i)--force: 强行安装(无视冲突);
如:rpm -ivh --replacepkgs /mnt/CentOS/zsh-4.2.6-8.el5.i386.rpm
2、查询
a)rpm -q PACKAGE_NAME:查询指定的包是否已经安装;
b)rpm -qa : 查询已经安装的所有包;
如:rpm -qa | grep "^z
c)rpm -qi PACKAGE_NAME: 查询指定包的说明信息;
d)rpm -ql PACKAGE_NAME: 查询指定包安装后生成的文件列表;
e)rpm -qc PACEAGE_NEME:查询指定包安装的配置文件;
f)rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件;
g)rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本;
如:rpm -q --scripts zsh
h)rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;
如:rpm -qf /etc/inittab
i)如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件:
rpm -qpi /PATH/TO/PACKAGE_FILE
rpm -qpl
3、升级
a)rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装;
如:rpm -Uvh nano-1.3.12-1.1.1.gls.i386.rpm
b)rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;
c)--oldpackage: 降级
注意:内核不应该升级安装,内核允许多版本并存。所以,可直接安装多个不同版本的内核;
4、卸载
a)rpm -e PACKAGE_NAME
b)--nodeps:忽略依赖关系;
5、校验
rpm -V PACKAGE_NAME:验证安装的文件是否修改;
6、重建rpm数据库(/var/lib/rpm),rpm(/var/lib/rpm中含有0的文件名为锁文件)
a)--rebuilddb: 重建数据库,一定会重新建立;
b)--initdb:初始化数据库,没有才建立,有就不用建立;
7、检验来源合法性,及软件包完整性;
a)加密类型:
对称加密:加密解密使用同一个密钥
公钥加密:一对儿密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;
单向加密:提取数据特征码;
如果原数据一样,结果一定会一样;
雪崩效应,原数据有一点点不同,结果大不同;
b)RedHat密钥文件:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
c)如何验证签名(signature):用官方的公钥解密这段加密的特征码,得到可靠的官方提供的特征码;自己再使用同样的方法提取特征码,并比较和解密出来的特征码是否一致;命令:
c1)rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 导入密钥文件
c2)rpm -K /PAPT/TO/PACKAGE_FILE
dsa, gpg: 验正来源合法性,也即验正签名;可以使用--nosignature,略过此项;
sha1, md5: 验正软件包完整性;可以使用--nodigest,略过此项;
二、rpm包中包含的内容
1、要安装的文件
2、要执行的脚本:
pre:表示安装前执行的脚本
post:安装完成要执行的脚本
preun:卸载前执行的脚本
postun:卸载完成要执行的脚本
本文出自 “Jessen Liu的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1426586
相关文章推荐
- Linux软件安装管理 - CentOS(一)---- 软件包管理简介 & rpm命令管理
- Linux(CentOS)--软件包管理rpm,yum以及Linux中的人任务计划
- Linux基础--------监控系统、进程管理、软件包管理-------free、dd、kill、 rpm、yum、源码安装python
- linux基本操作---软件包管理rpm、yum
- LFCS 系列第九讲: 使用 Yum、RPM、Apt、Dpkg、Aptitude 进行 Linux 软件包管理
- Linux_09 Linux软件包管理 rpm与yum
- Linux 软件包介绍---->RPM包管理
- Linux中的RPM:RedHat Package Manager(RedHat软件包管理工具)
- Linux 第11天: (08月17日) Linux软件包管理rpm
- 兄弟连Linux在线课堂:第6讲 Linux软件包管理
- [Linux 软件包管理] rpm 建包原理
- Linux 自学笔记(六)——RPM 管理
- linux 编写shell管理脚本02
- Linux基础自学记录七-软件包管理
- 以vsftpd为例,讨论linux下面如何管理软件包。
- Linux下Lamp(rpm包)搭建+网页管理mysql
- 02 Linux中的进程管理
- Linux-dpkg软件包和APT软件包管理操作
- linux下的包和RPM管理
- Linux系统管理.samba软件包介绍