软件包管理(rpm)

rpm

什么是rpm

rpm的全称是redhat package manager,用于软件包的安装、升级、卸载与查询。

rpm软件包组成部分

rpm软件包名是这样的:

bash-4.2.46-28.el7.x86_64.rpm

他们中各个字段的含义如下:
bash 软件名称
4.1.2 版本号
48 发布次数
el7 支持的硬件平台
x86_64 扩展名,表示支持64位操作系统

软件包的类型

rpm包 : 预先编译打包,安装简单 软件版本偏低
源码包 :手动编译打包,安装繁琐 软件版本随意
二进制包 : 解压即可使用,安装简单 不能修改源码

rpm使用方法

格式: rpm -ivh 链接地址
rpm的选项:
-i 安装软件包
-v 显示安装过程
-h 显示安装进度条
rpm安装包时不能自动解决依赖,因此,当系统报错缺少依赖包时,我们需要安装他所需的依赖包,在依赖包较多时,rpm使用就会很麻烦。
-U 表示升级软件包
rpm升级后会把原有的软件包删除。软件包升级必须使用U选项,不能使用i选项。
-qa 表示查看某个软件包是否被安装。
-ql 表示查看某个软件包的安装位置。
-qc 查询指定软件包的配置文件
-qf 查询文件或目录属于哪个RPM软件包。(只能查看系统中已经存在的软件的软件包)
-qi 查看指定软件的详细信息
-q 查看指定软件包是否被安装
-e 表示卸载(尽量不用)
rpm使用示例如下:

[root@oldboy ~]# rpm -ivh /mnt/Packages/unixODBC-2.3.1-11.el7.x86_64.rpm
# 安装本地光盘中的rpm包(没有依赖)
Preparing...                          ################################# [100%]
Updating / installing...
   1:unixODBC-2.3.1-11.el7            ################################# [100%]

[root@oldboy ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
# 安装互联网上的rpm包(没有依赖)
warning: /var/tmp/rpm-tmp.sBXHSD: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-3.0.9-1.el7         ################################# [100%]
   
[root@oldboy ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
# 软件包升级
warning: zabbix-agent-4.0.0-2.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:zabbix-agent-4.0.0-2.el7         ################################# [ 50%]
Cleaning up / removing...
   2:zabbix-agent-3.0.9-1.el7         ################################# [100%]

[root@oldboy ~]# rpm -qa zabbix-agent
# 查看本地软件包信息
zabbix-agent-4.0.0-2.el7.x86_64

[root@oldboy ~]# rpm -ql zabbix-agent
# 查看软件包以及软件包相关文件的路径
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
/usr/lib/systemd/system/zabbix-agent.service
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-4.0.0
/usr/share/doc/zabbix-agent-4.0.0/AUTHORS
/usr/share/doc/zabbix-agent-4.0.0/COPYING
/usr/share/doc/zabbix-agent-4.0.0/ChangeLog
/usr/share/doc/zabbix-agent-4.0.0/NEWS
/usr/share/doc/zabbix-agent-4.0.0/README
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix
/var/run/zabbix

[root@oldboy ~]# rpm -e zabbix-agent
# 卸载软件包

yum

与rpm相比,yum最方便的地方在于它会自动解决依赖,使用更加方便。
install 安装软件包
provides 查看软件属于哪个软件包(网上查询)

通过查看文档和自己的测试,bashdb-4.2.0-7 和centos7的bash-4.2.46版本匹配,并且编译顺利. 使用方法: 解压bashdb [root]#tar xf bashdb-4.2-0.7.tar.gz -C /usr/src 编译安装bashdb 编译安装bashdb有两种方法,区别可以看bashdb的帮助信息. 第一种编译方法: 不结合bash源代码编译和安装bashdb [root]#cd /usr/src [root]#cd bashdb-4.2.0-7 [root]#touch $HOME/missing [root]#touch libtoolT [root]#./configure --prefix=$HOME [root]#make [root]#make install 第二种编译方法: 结合bash源代码编译和安装bashdb 需要准备bash源代码 a).下载bash-4.2.46的src.rpm bash-4.2.46-20.el7_2.src.rpm http://vault.centos.org/7.3.1611/os/Source/SPackages/ b). 提取bash-4.2.46-20源代码 [root]#rpm -ivh bash-4.2.46-20.el7_2.src.rpm [root]#cd $HOME/rpmbuild/SPECS [root]#rpmbuild -bp bash.spec 此时,源代码已经安装到了$HOME/rpmbuild/BUILD目录 c).移动bash的源代码到/usr/src [root]#cd $HOME/rpmbuild/BUILD [root]#mv bash-4.2 bash-4.2.46-20 [root]#mv bash-4.2.46-20 /usr/src d). 准备bash的源码环境 [root]#cd /usr/src [root]#cd bash-4.2.46-20 [root]#./configure && make e). 结合bash编译安装bashdb [root]#cd /usr/src [root]#cd bashdb-4.2.0-7 [root]#touch $HOME/missing [root]#touch libtoolT [root]#./configure --prefix=$HOME --with-bash-src=/usr/src/bash-4.2.46-20 [root]#make [root]#make install 3. 配置bashdb [root]#vi ~/.bash_profile 在最后添加 MANPATH=$HOME/share/man:$MANPATH export MANPATH INFOPATH=$HOME/share/info export INFOPATH [root]#. ~/.bash_profile 设置inc文件路径.[重要.] [root]#mkdir /usr/share/bashdb/ [root]#ln -s ~/share/bashdb/bashdb-main.inc /usr/share/bashdb/ 4.使用bashdb [root]#bash --debugger yourscript.sh var1 var2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值