Linux界两大主流软件管理员RPM和DPKG

Linux界两大主流软件管理员RPM和DPKG

客户端驱动文件后,只需要通过特定指令来安装,该软件文件就会依照内部脚本来侦测相依的前驱软件是否存在,若安装环境符合要求,就会开始安装。
dpkg

最早由Debian Linux社区开发,衍生于Debian的其他Linux distribution大多都是使用dpkg管理软件,包括B2D,Ubuntu。
RPM
最早由Red Hat公司开发,Fedora、Centos、SuSE等知名开发商使用的都是它来管理软件。
|distribution代表|软件管理机制|使用指令 |在线升级机制|
| Red Hat/Fedora | RPM |rpm,rpmbuild| YUM(yum) |
|Debian/Ubuntu | DPKG |dpkg | APT(apt_get)|

什么是RPM 与SRPM

RPM是以一种数据库记录的方式将所需的软件安装到Linux系统的一套管理机制。安装时,会先依照软件里头的数据查询Linux主机的相依属实是否满足,若满足给予安装,不满足不安装,优点:
1.由于已经编译完成并且打包完毕,所有软件传输和安装很方便,不需要重写编译。
2.由于软件的信息都已经记录在Linux主机的数据库上,方便查询、升级与反安装。
不同distribution所释出的RPM文件,不能在其他的distribution上使用。
软件管家机制问题:
1.软件文件安装的环境必须与打包是的环境需求一致或相当
2.需要满足软件相依属性需求
3.反安装需要特别小心,最底层软件不可先移除,否则肯再次整个系统问题
SRPM(Source RPM),RPM文件里面含有原始码,SRPM所提供的的软件内容没有经过编译,扩展名****.src.rpm,下载的如果时SRPM,安装软件时:
·先将软件以RPM管理的方式编译,此时SRPM会被编译成为RPM文件。
·将编译完成的RPM文件安装到Linux中
原始码的SRPM可以修改参数配置文件,重新编译产生时候我们Linux环境的RPM文件。
|文件格式|文件格式|是否直接安装|内含程序类型|可否修改参数并编译-|
| RPM |xxx.rpm|可 |已编译 | 不可 |
| SRPM |xxx.src.rpm |不可 |未编译原始码 |可 |
档名解读
rp-pppoe-3.11-5.e17.x86_64.rpm
软件名称:rp-pppoe
版本信息:主版本3,主版本架构下更动原始码,就是次版本11
释出版本次数:编译的次数5
操作硬件平台:x86_64
RPM软件管理程序:rpm
RPM文件安装完毕后,软件相关信息会被新人/var/lib/rpm/mul,rpm指令只要root身份才能操作
安装命令
rpm -i 档名
rpm -ivh 档名
i:install(安装);-v:查看更细致的安装信息画面;-h:安装信息列显示安装进度
安装多个文件一起
rpm -ivh 档名 档名
安装网络上文件
rpm -ivh 网址
rpm安装常用参数选项说明
例如rpm -ivh 档名 --nodeps
–nodeps:软件书写相依问题无法安装,执意安装
replacefiles:已安装或出现版本不合,直接覆盖文件
replacepkgs:已安装过,进行重复安装
test:测试软件与Linux环境是否会有属性相依问题
justdb:RPM数据库破损,,用来更新软件数据库相关信息
nosignature:跳过数字签名检查
prefix:安装到非正规目录时
noscrips:不想让软件安装过程中自行执行某些软件
升级更新
-Uvh:软件为安装,直接安装,软件安装过有旧版,更新新版
-Fvh:软件未安装,不安装,软件已安装升级更新
查询
rpm -qa :查询已安装软件
rpm -q[licdR] 已安装软件名称:已安装软件
rpm -qf 存在系统上的某个文件名:已安装软件
rpm -qp[licdR] 未安装的文件名 :查阅RPM文件
-q:仅查询软件是否安装
-qa:列出Linux系统上所有软件
-qi:列出软件详细信息
-ql:列出该软件所有文件与目录所在完整名
-qc:找出该软件所有配置文件(/etc/下面)
-qd:列出软件所有说明文件
-qR:该软件的相依软件所含文件
-q --scripts:列出是否含有需要执行的脚本当,可以debug,查询RPM文件内含有的信息
-qp[icdlR]:用途仅在找出某个RPM文件内信息,非已安装文件。
RPM验证与数字签名
rpm -Va
rpm -V 已安装软件名称
rpm -Vp 某个RPM文件的档名(文件名)
rpm -VF 在系统上面的某个文件
-V:软件所含文件被动过才会列出来
-Va:列出系统中所有可能被动过的文件*
-Vp:该软件内可能被动过的文件
-Vf:文件是否被动过·
信息解读
S:文件容量大小是否改变
M:文件类型或属性是否改变
5:MD5这一种指纹吗的内容已经不同
D:装置的主次代码已经改变
L:路径以被改变
U:文件所属人已被改变
G:文件所属群组已被改变
T:文件建立时间已被改变
P:功能已经被改变
c:配置文件
d:文件数据文件
g:鬼文件,指该文件不被某个软件包含
l:许可证文件
r:自述文件
反安装与重建数据库
反安装就是将软件卸载,解安装的过程一定要由最上层往下解除。
rpm -e pam有属性相依问题
rpm -e pam-dexel可删除
利用yum进行查询、安装、升级与移除功能
yum [option] [查询工作项目] [相关参数]
[option]:主要选项
-y:当yum要等待用户输入时,可以自动提供yes的响应
–installroot=/some/path:将软件安装在/some/path路径,而不是默认路径
[查询工作项目][相关参数]:这方面参数有
search:搜寻某个软件名称汇总是描述重要的关键字
list:列出目前yum所管理的所有软件名称版本,类似rpm -qa
info:同上,类似rpm -qai执行结果
provides:从文件去搜寻软件,类似rpm -qf
例如 yum search raid搜寻磁盘阵列相关软件,yum info madadm找出madadm这个软件的功能

安装升级功能:yum [install/update] 软件
install:后面接要安装的软件,yum installl pam-deval
update:后面接要升级的软件
移除功能
yum remove 软件:例如yum remove pam-devel
yum配置文件
repodata目录:分析RPM软件后所产生的软件属性相依数据放置处
[base]:代表软件库的名字, []一定存在,名称随意取,但不能有两个相同的软件名称
name:说明软件库意义
mirrorlist:列出软件库可以使用的映射站台
baseurl:重要,接软件库的实际网址
enable=1:让软件库被启动,=0就是不启动
gpgcheck=1:指定是否需要查阅RPM文件内的数字签名
gpgkey=:数字签名的公钥位置,默认值即可
yum repolist all列出目前yum server所使用的的软件库有哪些
修改软件库产生的问题和解决之道
yum clean [packages/headers/all]
packages:将已下载的软件文件删除
headers:将下载的软件文件头删除
all:将所有软件库数据都删除
###yum软件的群组功能
yum [群组功能] [软件群组]
选项与参数:
grouplist:列出所有可能使用的软件群组,例如yum grouplist
groupinfo:后面接group_name,了解group内含所有软件名
groupinstall:安装一整组的软件群组
groupremove:移除某个软件群组

SRPM的使用:rembuild(Optional)

利用默认值安装SRPM软件(–rebuild/–recompite)
–rebuild:将后面的SRPM进行编译打包动作,产生RPM文件
–recompite:直接编译 打包 安装
##SRPM的编译指令(-ba/-bb)
将/root/rpmbuild底下的鼠标编译打包
rpmbuild -ba nts.spec 编译同时产生RPM和SRPM文件
rembuild -bb net.spec 编译成RPM文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值