小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Linux命令(7)rpm命令

 python_lover 2022-06-27 發(fā)布于北京

rpm是什么?

rpm的全稱為The RPM Package Manager,是RHEL系操作系統(tǒng)的軟件包管理器,這些軟件包的后綴為.rpm。

RPM命令用于在Linux系統(tǒng)上安裝,卸載,升級,查詢,列出和檢查RPM軟件包。

安裝

rpm  -ivh  PACKAGE_FILE ...
  • -i,安裝軟件包
  • -v,顯示命令執(zhí)行過程
  • -h,輸出進(jìn)度條,以#的個(gè)數(shù)顯示安裝進(jìn)度,一個(gè)#表示2%的進(jìn)度

示例1:安裝zsh軟件包

[root@node1 ~]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:zsh-5.0.2-28.el7                 ################################# [100%]

升級

rpm  -Uvh PACKAGE_FILE ...
rpm  -Fvh PACKAGE_FILE ...
  • -U,升級或安裝,安裝有舊版程序包,則升級,如果不存在舊版程序包,則安裝。

  • -F:升級,安裝有舊版程序包,則升級,如果不存在舊版本程序包,則不執(zhí)行升級操作。

示例2:將zsh軟件包進(jìn)行升級

[root@node1 ~]# rpm -Uvh zsh-5.0.2-34.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:zsh-5.0.2-34.el7                 ################################# [ 50%]
Cleaning up / removing...
   2:zsh-5.0.2-28.el7                 ################################# [100%]

卸載

rpm -e PACKAGE_NAME ...

示例3:卸載zsh軟件包

[root@node1 ~]# rpm -e zsh

查詢

示例4:使用 rpm -qa 查詢當(dāng)前系統(tǒng)上以rpm方式安裝的所有軟件包

[root@node1 ~]# rpm -qa 
plymouth-scripts-0.8.9-0.33.20140113.el7.centos.x86_64
grub2-common-2.02-0.81.el7.centos.noarch
virt-what-1.18-4.el7.x86_64
setup-2.8.71-11.el7.noarch
...
  • -q,查詢
  • -a,查詢所有已經(jīng)安裝的包

示例5:使用 rpm -q 查詢指定的軟件包

[root@node1 ~]# rpm -q zsh
zsh-5.0.2-34.el7.x86_64

示例6:使用 rpm -qf 查詢指定的文件或目錄是由哪個(gè)軟件包所安裝的

[root@node1 ~]# rpm -qf /bin/ls
coreutils-8.22-24.el7.x86_64
  • -f,--file,文件名

示例7:使用 rpm -qi 查詢安裝的軟件包的信息

[root@node1 ~]# rpm -qi zsh
Name        : zsh
Version     : 5.0.2
Release     : 34.el7
Architecture: x86_64
Install Date: Mon 18 May 2020 08:25:37 AM EDT
Group       : System Environment/Shells
Size        : 5856302
License     : MIT
Signature   : RSA/SHA256, Fri 03 Apr 2020 05:10:32 PM EDT, Key ID 24c6a8a7f4a80eb5
Source RPM  : zsh-5.0.2-34.el7.src.rpm
Build Date  : Tue 31 Mar 2020 09:31:30 PM EDT
Build Host  : x86-02.bsys.
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.>
Vendor      : CentOS
URL         : http://zsh./
Summary     : Powerful interactive shell
Description :
The zsh shell is a command interpreter usable as an interactive login
shell and as a shell script command processor.  Zsh resembles the ksh
shell (the Korn shell), but includes many enhancements.  Zsh supports
command line editing, built-in spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and more.
  • -i,--info,信息

示例8:使用 rpm -qc 查詢指定的軟件包在當(dāng)前系統(tǒng)中安裝的配置文件

[root@node1 ~]# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
  • -c,--configfiles,配置文件

示例9:使用 rpm -qd 查詢指定的軟件包在當(dāng)前系統(tǒng)中安裝的文檔文件

[root@node1 ~]# rpm -qd zsh
/usr/share/doc/zsh-5.0.2/BUGS
/usr/share/doc/zsh-5.0.2/CONTRIBUTORS
/usr/share/doc/zsh-5.0.2/FAQ
/usr/share/doc/zsh-5.0.2/FEATURES
/usr/share/doc/zsh-5.0.2/LICENCE
...
  • -d,--docfiles,文檔

示例10:使用 rpm -ql 查詢指定的軟件包在當(dāng)前系統(tǒng)中安裝的所有目錄

root@node1 ~]# rpm -ql zsh
/bin/zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
/usr/lib64/zsh
/usr/lib64/zsh/5.0.2
  • -l,--list,列表

示例11:使用 rpm -qR 查詢指定的軟件包所依賴的軟件包

[root@node1 ~]# rpm -qR zsh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/zsh
/sbin/install-info
/sbin/install-info
config(zsh) = 5.0.2-34.el7_8.2
coreutils
grep
  • -R,--requires,列出此軟件包所依賴的功能

示例12:使用 rpm -q --scripts 查詢指定的軟件包自帶的腳本

[root@node1 ~]# rpm -q --scripts zsh
postinstall scriptlet (using /bin/sh):
if [ ! -f /etc/shells ] ; then
    echo "/bin/zsh" > /etc/shells
else
    grep -q "^/bin/zsh$" /etc/shells || echo "/bin/zsh" >> /etc/shells
fi
...
  • --scripts,列出在安裝和卸載過程中使用的特定于軟件包的腳本。

校驗(yàn)

驗(yàn)證軟件包會將軟件包中已安裝文件的信息與從rpm數(shù)據(jù)庫中存儲的軟件包元數(shù)據(jù)中獲取的文件的信息進(jìn)行比較。

rpm -V PACKAGE_FILE ...

包來源合法性驗(yàn)證和完整性驗(yàn)證

  • 來源合法性驗(yàn)證:SHA256
  • 完整性驗(yàn)證:RSA

軟件包制作者首先使用單向加密算法,計(jì)算包的特征碼,然后使用私鑰加密特征碼然后附加至軟件包尾部,制作者的公鑰需要讓任何人都拿到,通常在發(fā)行光盤中都有公鑰。軟件安裝者使用公鑰對軟件進(jìn)行來源合法性驗(yàn)證和完整性驗(yàn)證。

獲取并導(dǎo)入信任的包制作者的公鑰:

對于CentOS發(fā)行版來說

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7	

驗(yàn)證:

? (1) 安裝此組織簽名的程序時(shí),會自動執(zhí)行驗(yàn)證;

? (2) 手動驗(yàn)證:rpm -K PACKAGE_FILE

示例:以安裝epel源中的fping軟件為例,先不導(dǎo)入公鑰。

[root@node1 ~]# wget https://mirror.tuna./epel/7/x86_64/Packages/f/fping-3.10-4.el7.x86_64.rpm
[root@node1 ~]# rpm -ivh fping-3.10-4.el7.x86_64.rpm 
warning: fping-3.10-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:fping-3.10-4.el7                 ################################# [100%]

示例:以安裝epel源中的fping軟件為例,導(dǎo)入公鑰后再進(jìn)行校驗(yàn)。

[root@node1 ~]# wget https://mirror.tuna./epel/RPM-GPG-KEY-EPEL-7
[root@node1 ~]# rpm --import RPM-GPG-KEY-EPEL-7
[root@node1 ~]# rpm -ivh fping-3.10-4.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:fping-3.10-4.el7                 ################################# [100%]

示例:如何查看當(dāng)前系統(tǒng)上已經(jīng)導(dǎo)入的公鑰。

[root@node1 ~]# rpm -q gpg-pubkey
gpg-pubkey-352c64e5-52ae6884
gpg-pubkey-f4a80eb5-53a7ff4b

數(shù)據(jù)庫維護(hù)

rpm包的數(shù)據(jù)庫位于/var/lib/rpm目錄中。

  • --initdb初始化,如果事先不存在數(shù)據(jù)庫,則新建之,否則,不執(zhí)行任何操作。

  • --rebuilddb:重建,無論當(dāng)前存在與否,直接重新創(chuàng)建數(shù)據(jù)庫。

[root@node1 ~]# ls /var/lib/rpm
Basenames     __db.001  __db.003  Group       Name          Packages     Requirename  Sigmd5
Conflictname  __db.002  Dirnames  Installtid  Obsoletename  Providename  Sha1header   Triggername

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多