2023-03-28安装和更新软件包

软件包和RPM

RPM软件包管理器最初是由红帽开发的,该程序提供了一种标准的方式来打包软件进行分发。与使用存档提取到文件系统的软件相比,采用RPM软件包形式管理软件要简单的多。管理员可以通过它跟踪软件包所安装的文件,需要删除哪些软件(如果卸载)并检查确保显示支持软件包(如果安装)。有关已安装软件包的信息存储在各个系统的本地RPM数据库中。红帽为红帽企业Linux提供的所有软件都以RPM软件包的形式提供。

  • 常用的RPM包地址Rpmfind mirror
  • RPM软件包文件名由四个元素组成
(1)coreutils-(2)8.32-(3)31.el9.(4)x86_64(5).rpm
#(1):描述软件包内容的名字
#(2):原始软件的版本号
#(3):基于该版本的软件包的发行版号,由软件打包商设置,后者不一定是原始软件开发商
#(4):软件包运行的处理器架构,noarch表示此软件包的内容不限定架构。

检查RPM软件包

  • 查看安装的软件包rpm -qa | grep 软件名/服务名
image.png
  • 查看文件的来源rpm -qf 文件名
image.png
  • 查看包版本rpm -q 软件包名称
image.png
  • 查看包信息rpm -qi 软件包名
image.png
  • 查看包安装的文件rpm -ql 软件包名
image.png
  • 查看包配置文件rpm -qc 软件包名
image.png
  • 查看包安装的文档文件rpm -qd 软件包名
image.png
  • 如果在网上下载一个rpm包需要验证包rpm -qp rpm包全名
[root@serverb ~]# rpm -qp xrdp-0.9.21-1.el9.x86_64.rpm
warning: xrdp-0.9.21-1.el9.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3228467c: NOKEY  #没有数字签名
xrdp-0.9.21-1.el9.x86_64
  • 检查安装包中是否有脚本
image.png
[root@serverb ~]# rpm -qp --scripts xrdp-0.9.21-1.el9.x86_64.rpm
warning: xrdp-0.9.21-1.el9.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3228467c: NOKEY
postinstall scriptlet (using /bin/sh):



if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then
    # Initial installation
    /usr/lib/systemd/systemd-update-helper install-system-units xrdp.service || :
fi
preuninstall scriptlet (using /bin/sh):


if [ $1 -eq 0 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then
    # Package removal, not upgrade
    /usr/lib/systemd/systemd-update-helper remove-system-units xrdp.service || :
fi

if [ $1 -eq 0 ]; then
  # Stop services on package removal (see bug 1349083)
  systemctl stop xrdp.service > /dev/null 2>&1 || :
fi
posttrans scriptlet (using /bin/sh):
if [ ! -s /etc/xrdp/rsakeys.ini ]; then
  (umask 377; touch /etc/xrdp/rsakeys.ini; /usr/bin/xrdp-keygen xrdp /etc/xrdp/rsakeys.ini &>/dev/null)
fi

if [ ! -s /etc/xrdp/cert.pem ]; then
  (umask 377; openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \
    -keyout /etc/xrdp/key.pem \
    -out /etc/xrdp/cert.pem \
    -config /etc/xrdp/openssl.conf >/dev/null 2>&1)
fi
  • 列出软件包的更改信息rpm -q --changelog 软件包名
[root@serverb ~]# rpm -q --changelog xrdp-0.9.21-1.el9.x86_64.rpm
package xrdp-0.9.21-1.el9.x86_64.rpm is not installed
[root@serverb ~]# rpm -qp --changelog xrdp-0.9.21-1.el9.x86_64.rpm
warning: xrdp-0.9.21-1.el9.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3228467c: NOKEY
* Sun Dec 11 2022 Bojan Smojver <bojan@rexurive.com> - 1:0.9.21-1
- Bump up to 0.9.21

* Thu Sep 15 2022 Bojan Smojver <bojan@rexurive.com> - 1:0.9.20-1
- Bump up to 0.9.20

* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.9.19-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Thu Mar 17 2022 Bojan Smojver <bojan@rexurive.com> - 1:0.9.19-1
- Bump up to 0.9.19

  • 安装rpm包rpm -ivh 软件包名
[root@serverb ~]# rpm -ivh xrdp-0.9.21-1.el9.x86_64.rpm
  • 展开rpm包
[root@serverb ~]# rpm2cpio xrdp-0.9.21-1.el9.x86_64.rpm | cpio -id "*txt"

使用dnf安装和更新软件包

  • 低级别的rpm命令可用于安装软件包,但是不会自动解决软件的依赖关系
  • dnf允许管理安装、更新、删除和获取有关软件包及其依赖的关系
  • rhel5就开始使用自动解决依赖关系的工具——yum,rhel8使用全新的yum工具并更名为dnf。rhel9中还是可以使用yum命令
image.png
  • 使用dnf工具查找软件
    -- dnf help打印帮助
    -- dnf list 显示已安装和可用的软件
    -- dnf search KEYWORD 根据关键词搜索软件包
    -- dnf info 包名,查询软件包详细信息
    -- dnf provides PATHNAME 查询指定路径匹配的软件名
image.png
image.png
  • dnf安装和删除软件包
dnf install PACKAGENAME  #安装
dnf remove PACKAGENAME  #卸载
dnf update PACKAGENAME  #更新
  • 查看事务记录
dnf history  #显示安装和删除事务的摘要
安装和删除软件包的历史记录在/var/log/dnf.rpm.log中
dnf history undo 事务编号  #可以撤销已运行的事务

启动dnf软件仓库

  • 使用dnf config-manager --add-repo "repo_url"来创建仓库
image.png
  • 也可以自定义配置文件来创建仓库
    -- vim /etc/yum.repo.d/xxx.repo
[myrepo]  #仓库配置文件为myrepo
name=My Custom Repo  #仓库名称
baseurl=https://mirror.example.com/repo/  #指定仓库的url
enabled=1  #表示启用/禁用仓库,1为启用,0为禁用
gpgcheck=1  #是否执行GPG检查
gpgkey=https://mirror.example.com/RPM-GPG-KEY-MyRepo  #验证文件签名的url,gpgkey=0表示视为无效值
image.png

image.png

dnf makecache命令用于生成并更新dnf存储库的元数据缓存。元数据缓存包括存储库中可用软件包的信息、依赖关系和版本信息等。在执行dnf命令时需要使用缓存内容,这可以提高执行速度并减少网络流量。因此,dnf makecache命令是安装、移除、更新软件包时必要的步骤。
image.png

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容