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 21:29
下一篇 2017-04-17 22:07

相關推薦

  • raid介紹及邏輯卷與邏輯卷快照應用

    高級文件系統管理 配置配額系統 綜述 在內核中執行,以文件系統為單位啟用,對不同組或者用戶的策略不同,如將home單獨分區,但是并不意味著每個用戶都可以無上限使用該分區的空間,所以系統管理員要據塊或者節點進行限制,限制每個用戶使用磁盤的空間,當到達執行軟限制( soft limit  )  會警報提醒用戶;當硬限制( hard limit…

    Linux干貨 2016-09-02
  • Linux文件查找及壓縮常用知識總結

    一、文件查找 1.locate命令: locate KEYWORD 常用選項:     -i 執行區分大小寫的搜索     -n  N只列舉前N個匹配項目 查詢系統上預建的文件索引數據庫在:/var/lib/mlocate/mlocate.…

    Linux干貨 2016-08-18
  • 文件權限

    文件屬主、文件屬組、
    文件權限、目錄權限、特殊權限

    2018-03-13
  • 馬哥教育網絡20期+第7周練習博客

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;    (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@7b ~]#&nbsp…

    Linux干貨 2016-07-24
  • linux網絡管理

    什么是計算機網絡     計算機網絡是指將不同地理位置上,具有獨立功能的計算機和網絡設備通過通信鏈路連接起來,通過操作系統,網絡管理軟件,和網絡通信協議的共同組合下的計算機系統團體,實現資源共享,信息傳遞的網絡。計算機網絡的組成部分有各種微小大型計算機,網橋,交換機,路由器,傳輸介質等網絡設備,相應的軟件系統,相應的通…

    Linux干貨 2016-09-05
  • Linux軟件包安裝—-卷一軟件包管理rpm方式安裝程序

    rpm方式手動安裝程序,可能需要”人工智能”的方式手動去處理程序依賴問題

    Linux干貨 2017-12-02

評論列表(1條)

  • renjin
    renjin 2017-04-21 11:04

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

欧美性久久久久