Linux中的包管理

1. RPM介紹

rpm是linux中的包管理軟件,通過rpm用戶可以對rpm包進行查詢、安裝、卸載、升級和校驗等操作。

1.1 查詢

查詢
-q:可以查看某個包是否已經安裝
-qa:查看系統已經安裝的所有包
-qi:查詢某個安裝包的詳細情況
-ql:查詢安裝某個包之后會生成哪些文件
-qc:查詢某個軟件的配置文件
-qd:查詢某個軟件的所有文檔
–script:查詢包中所包含的腳本文件

1.2 安裝

安裝
-ivh:安裝某軟件包,并顯示安裝過程和進度條
–force:強制安裝
–nodeps:忽略依賴關系
–noscripts:不執行包中的腳本文件

1.3 卸載

卸載
-e:卸載某個軟件

1.4 升級、降級

升級、降級
-U:如有有舊版本,就升級;如果沒有舊版本,則執行安裝操作
-F:如果有舊版本,就升級;如果沒有舊版本,則不執行任何操作
–oldpackage:執行降級操作

1.5 驗證rpm包完整性

  1. 首先需要導入公鑰文件才能進行完整性的校驗 
    rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  2. 然后通過-K選項進行完整性的校驗:

[root@localhost Packages]# 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 OK

1.6 解開rpm安裝包

有時候我們需要解開rpm安裝包來安裝包中某一個單獨的文件,這些時候我們就需要用到rpm2cpio工具了: 
[root@localhost tree]# rpm2cpio ../tree-1.6.0-10.el7.x86_64.rpm |cpio -id 
177 blocks

注意 
rpm有一個數據庫文件位于/var/lib/rpm/中,其中維護著所有已經安裝的軟件的元數據等信息,如果這個庫文件被損壞會影響rpm的正常運行,將無法再通過rpm -q查詢到已經安裝到的軟件的信息。


2. YUM

yum為rpm的前臺工具,因為rpm難以解決軟件安裝的依賴性問題,所以yum應運而生。yum可以自動解決軟件依賴性問題,其底層依賴于rpm運行。 
yum為C/S架構,需要yum服務端和客戶端,服務端存放rpm包和rpm包的元數據。yum客戶端會有一個緩存用于存放緩存到本地的rpm包的元數據。

2.1 配置yum源

yum需要在/etc/repos.d/下創建后綴為.repo格式的文件來配置yum源


  1. [base] #yum源ID
  2. name=CentOS $releasever cdrom #yum源的名字
  3. baseurl=file:///media/cdrom #yum源的地址,支持http,ftp,file三種格式
  4. gpgcheck=1 #是否開啟包完整性驗證,0為不開啟,1為開啟
  5. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #驗證包完整性的公鑰存放的地址

注意

  • yum源的版本需要和系統版本匹配
  • yum源ID不能有空格和特殊符號
  • 可以采用變量:$releaserver:當前系統版本 $basearch:當前系統架構
  • 一個baseurl可以配置多個地址

2.2 查看可用的yum源


  1. [root@localhost yum.repos.d]# yum repolist
  2. Loaded plugins: fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. repo id repo name status
  5. base CentOS 7 cdrom 9,363
  6. repolist: 9,363

2.3 安裝、卸載、升級軟件包

yum install:安裝軟件包
-y:不需要用戶執行交互,自動安裝
-q:靜默模式安裝
yum install /路徑/包名:安裝本地軟件包,自動解決依賴關系

yum remove|erase:卸載軟件包

yum update:升級軟件包

2.4 安裝、卸載、升級組包

yum groupinstall:安裝組包

yum groupremove:卸載組包

yum groupupdate:升級組包

2.5 清除緩存

緩存文件位于/var/cache/yum下 
yum clean all #清除緩存

2.6 搜尋軟件包

yum search 軟件名

2.7 查看包信息

yum info 軟件名

2.8 查看執行歷史,回退


  1. [root@localhost yum.repos.d]# yum history
  2. Loaded plugins: fastestmirror, langpacks
  3. ID | Login user | Date and time | Action(s) | Altered
  4. ——————————————————————————-
  5. 2 | root <root> | 20170418 05:26 | Install | 1
  6. 1 | System <unset> | 20170322 02:18 | Install | 1394
  7. history list
回退 
yum history undo 2

原創文章,作者:王子豪,如若轉載,請注明出處:http://www.www58058.com/73610

(0)
王子豪王子豪
上一篇 2017-04-17
下一篇 2017-04-17

相關推薦

  • N21沉舟13周作業

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)   1)共享名為shared,工作組為magedu;   2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;   3)添加s…

    Linux干貨 2016-10-24
  • shell腳本初步

    shell腳本編程初步 程序:由數據和指令組成, 指令:由程序文件提供 數據:可以通過IO設備、文件、管道來得到, 程序:算法+數據結構 變量:變量名+變量名指向的內存空間 變量賦值: name = value變量類型:存儲格式:字符 數值(精確數值 近似數值)   表示數據范圍  &nb…

    Linux干貨 2016-08-15
  • 運維的危險命令,用了必死(1)

    Linux命令行佷有用、很高效,也很有趣,但有時候也很危險,尤其是在你不確定你自己在正在做什么時候。這篇文章并不打算引來你對Linux或linux 命令行的憤怒。我們只是想讓你意識到在你運行某些命令時應該三思而后行。(譯注:當然,以下命令通常都是在root權限下才能將愚蠢發揮到無可救藥;在普通用戶身份下,破壞的只是自己的一畝三分地。)

    2017-11-16
  • 開班第一天,新獲得的技能

    新接觸命令 lscpu 顯示CPU信息 gedit 文件名 類似于記事本 ** 注意 這個命令適用于圖形界面。 cat /proc/partition 顯示分區信息 cat /proc/meminfo 顯示內存大小 cat /proc/swaps 顯示虛擬內存 cat …

    Linux干貨 2017-02-17
  • N24_jerry 第十二周作業

    1、請描述一次完整的http請求處理過程; 簡介 一次完整的HTTP請求過程從TCP三次握手建立連接成功后開始,客戶端按照指定的格式開始向服務端發送HTTP請求,服務端接收請求后,解析HTTP請求,處理完業務邏輯,最后返回一個HTTP的響應給客戶端,HTTP的響應內容同樣有標準的格式。無論是什么客戶端或者是什么服務端,大家只要按照HTTP的協議標準…

    Linux干貨 2017-03-22
  • LNMP

    1、源碼編譯安裝LNMP架構環境 OS版本:2.6.32-431.el6.x86_64 Nginx版本:nginx-1.6.1 mariadb版本:mariadb-10.0.13 php版本:php-5.4.26 1、安裝編譯安裝所需系統環境 ~]# yum groupinstall "Development Tools" "S…

    Linux干貨 2017-02-09

評論列表(1條)

  • renjin
    renjin 2017-04-21 11:04

    主要介紹了包管理器rpm和yum的使用,內容介紹的很詳細,排版也很不錯,加油!加油!

欧美性久久久久