[華為云在線課程][Linux平臺軟件包安裝與管理][第三章RPM包管理器][學習筆記]

      網友投稿 743 2025-04-04

      CentOS系統上使用RPM命令管理程序包

      功能:安裝、卸載、升級、查詢、校驗、數據庫維護

      安裝NPM包

      如果CentOS7默認沒有安裝NPM,首先進行安裝

      #新建node文件夾在/usr/local/ mkdir node #獲取node壓縮包 wget https://registry.npmmirror.com/-/binary/node/latest-v4.x/node-v4.9.1-linux-x64.tar.gz #解壓包 tar -zxvf node-v4.9.1-linux-x64.tar.gz #進入文件夾 cd node-v4.9.1-linux-x64.tar.gz #創建軟連接 [root@localhost node-v4.9.1-linux-x64]# ln -s /usr/local/node/node-v4.9.1-linux-x64/bin/npm /usr/local/bin/npm [root@localhost node-v4.9.1-linux-x64]# ln -s /usr/local/node/node-v4.9.1-linux-x64/bin/node /usr/local/bin/node #檢驗版本 [root@localhost /]# npm -v 2.15.11

      安裝

      格式:

      rpm {-i|--install} [install-options] PACKAGE_FILE

      選項:

      -v:verbose -vv: -h:以#顯示程序包管理執行進度

      常用組合:

      rpm -ivh PACKAGE_FILE

      RPM包安裝[install-optinos]

      --test:測試安裝,但不真正執行安裝,即dry run模式 --nodeps:忽略依賴關系 --replacepkgs | replacefiles --nodigest:不檢查包完整性 --noscripts:不執行程序包腳本 %pre:安裝前腳本 --nopre %post:安裝后腳本 --nopost %preun:卸載前腳本 --nopreun %postun:卸載后腳本 --nopostun

      升級和降級

      RPM包升級

      RPM {-U|--upgrade} [install-options] PACKAGE_FILE RPM {-F|--freshen} [install-options] PACKAGE_FILE

      對應選項:

      upgrade:安裝有舊版程序包,則升級,如果不存在舊版程序包,則安裝 freshen:安裝有舊版程序包,則升級,如果不存在舊版程序包,則不執行操作 --oldpackage:降級 --force:強制安裝

      常用組合

      rpm -Uvh PACKAGE_FILE rpm -Fvh PACKAGE_FILE

      升級注意項:

      不要對內核做升級操作;Linux支持多內核版本并存,因此直接安裝新版本內核

      如果原程序包的配置文件安裝后曾被修改,升級時,新版本提供的同一個配置文件不會直接覆蓋老版本的配置文件,而把新版本文件重命名(FILENAME.rpmnew)后保留

      包查詢

      rpm {-q|--query} [select-options] [query-options] [select-options] -a:所有包 -f:查看指定的文件由哪個程序包安裝組成 -p rpmfile:針對尚未安裝的程序包文件做查詢操作 [query-options] --changelog:查詢rpm包的changelog -c:查詢程序的配置文件 -d:查詢程序的文檔 -i:information -l:查看指定的程序包安裝后生成的所有文件 --scripts:程序包自帶的版本 #和CAPABILITY相關 --whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個包所提供 --whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴 --provides:列出指定程序包所提供的CAPABILITY -R:查詢指定的程序包所依賴的CAPABILITY

      常用查詢用法

      -qa -q PACKAGE -qi PACKAGE -qc PACKAGE -ql PACKAGE -qd PACKAGE -q --scripts PACKAGE -qf FILE -qpi PACKAGE_FILE -qpl PACKAGE_FILE

      包卸載

      格式:

      rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME

      注意:當包卸載時,對應的配置文件不會刪除,以FILENAME.rpmsave形式保留

      例子:強行刪除rpm包,并恢復

      rpm -e rpm --nodeps #重啟進入rescue模式 #mkdir /mnt/cdrom #mount /dev/sr0 /mnt/cdrom #rpm -ivh /mnt/cdrom/Packages/rpm-4.11.3-40.el7.x86_64.rpm --root=/mnt/sysimage #reboot

      [華為云在線課程][Linux平臺軟件包安裝與管理][第三章RPM包管理器][學習筆記]

      包校驗

      在安裝包時,系統也會檢查包的來源是否是合法的

      檢查包的完整性和簽名

      rpm -K | --checksig | rpmfile

      在檢查包的來源和完整性前,必須導入所需要的公鑰

      例子:

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

      例子:CentOS7

      [root@localhost /]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [root@localhost /]# rpm -K /run/media/hello/CentOS\ 7\ x86_64/Packages/httpd-2.4.6-95.el7.centos.x86_64.rpm

      例子:校驗包文件

      [root@localhost ~]$ rpm -K /run/media/hello/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm /run/media/hello/CentOS 7 x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK [root@localhost ~]$ cp /run/media/hello/CentOS\ 7\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm /home/hello/Downloads/ [root@localhost Downloads]# ll total 48 -rw-rw-r--. 1 hello hello 47508 Mar 28 07:08 tree-1.6.0-10.el7.x86_64.rpm [root@localhost Downloads]# rpm -K tree-1.6.0-10.el7.x86_64.rpm tree-1.6.0-10.el7.x86_64.rpm: rsa sha1 (MD5) PGP MD5 NOT OK

      軟件在安裝時,會將包里的每個文件的元數據,如:大小、權限、所有者、時間等記錄至rpm相關的數據庫中,可以用來檢查包中的文件是否和當初安裝時所有變化

      rpm {-V|--verify} [select-options] [verify-options] #示例 [root@localhost ~]# rpm -V centos-release S file Size differs M Mode differs(includes permissions and file type) 5 digest(formerly MD5 sum) differs D Device major/minor number mismatch L readLink(2) path mismatch U User ownership differs G Group ownership differs T mTime differs P capabilities differ .(點) 表示當前位置代表的字符含義一致 c 所在的位置表示文件類型 C 配置文件 d 文件數據文件 g 該文件不屬于某個文件(少數情況) l 許可證文件(license file) r 自述文件(README)

      例子:

      [root@localhost ~]# rpm -qf /etc/issue centos-release-7-9.2009.0.el7.centos.x86_64 [root@localhost rpm]# vim /etc/issue #修改內容 hello world \S Kernel \r on an \m [root@localhost rpm]# rpm -V centos-release S.5....T. c /etc/issue [root@localhost rpm]# rpm -ql centos-release /etc/centos-release /etc/centos-release-upstream /etc/issue /etc/issue.net /etc/os-release /etc/pki/rpm-gpg /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Debug-7 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-Testing-7 /etc/redhat-release /etc/rpm/macros.dist /etc/system-release /etc/system-release-cpe /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-CR.repo /etc/yum.repos.d/CentOS-Debuginfo.repo /etc/yum.repos.d/CentOS-Media.repo /etc/yum.repos.d/CentOS-Sources.repo /etc/yum.repos.d/CentOS-Vault.repo /etc/yum.repos.d/CentOS-fasttrack.repo /etc/yum.repos.d/CentOS-x86_64-kernel.repo /etc/yum/vars/contentdir /etc/yum/vars/infra /usr/lib/os-release /usr/lib/systemd/system-preset/85-display-manager.preset /usr/lib/systemd/system-preset/90-default.preset /usr/share/centos-release/EULA /usr/share/doc/centos-release/Contributors /usr/share/doc/centos-release/GPL /usr/share/doc/redhat-release /usr/share/redhat-release

      數據庫維護

      rpm包安裝時生成的信息,都放在rpm數據庫中,路徑如下:

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

      可以重建數據庫

      rpm {--initdb | --rebuilddb} initdb:初始化,如果事先不存在數據庫,則新建,否則不執行任何操作 rebuilddb:重建已安裝的包頭的數據庫索引目錄

      Linux

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:【云小課】EI第16課 ModelArts 使用自定義鏡像快速遷移上云-這2種功能,你了解哪些?
      下一篇:CRM如何維護和提高有效的客戶保留計劃
      相關文章
      精品亚洲成a人在线观看| 色偷偷女男人的天堂亚洲网| 亚洲午夜在线播放| 亚洲精品在线网站| 亚洲色图在线播放| 亚洲ⅴ国产v天堂a无码二区| 亚洲国产精品一区第二页| 亚洲真人日本在线| 亚洲精品和日本精品| 亚洲精品动漫人成3d在线 | 亚洲色图在线观看| 久久精品亚洲精品国产色婷| 亚洲福利在线视频| 蜜芽亚洲av无码精品色午夜| 亚洲精品国产成人99久久| 亚洲av女电影网| 精品亚洲成a人片在线观看| 久久久亚洲欧洲日产国码是AV| 亚洲视频在线免费播放| 亚洲国产日韩女人aaaaaa毛片在线| 国产亚洲精品福利在线无卡一| 久久久久亚洲国产AV麻豆 | 亚洲人成人网站18禁| 亚洲国产精品无码久久九九大片| 亚洲AV综合永久无码精品天堂| 亚洲av无码一区二区三区在线播放 | 亚洲午夜成人精品无码色欲| 亚洲欧洲专线一区| 亚洲精品美女久久7777777 | 久久精品国产亚洲AV久| 亚洲色成人四虎在线观看| 亚洲a无码综合a国产av中文| 一本久到久久亚洲综合| 中文字幕亚洲天堂| 亚洲国产精品无码AAA片| 18gay台湾男同亚洲男同| 亚洲人成电影青青在线播放| 亚洲欧美日韩国产精品一区| 91亚洲国产成人久久精品| 亚洲日本成本人观看| 亚洲色偷偷狠狠综合网|