第五周學習總結-rpm&yum

我們都知道,計算機只能識別二進制程序,而程序員編寫的源代碼都是以純文本形式存在,因此,要想讓計算機識別并運行這些源代碼程序,就必須通過中間的轉換機制讓源代碼變為二進制程序文件,而這種轉換過程就稱為編譯過程。Linux的各發行版本中由于各廠商的編譯過程不盡相同,因此就誕生了各種不同的軟件管理包組件。其中我們最熟知的就要數Redhat系列的rpm包了。

rpm包是通過預先編譯并打包成為rpm文件格式,再加以安裝到系統的方式,并且還能夠進行數據庫的記載,因此,rpm有很多優點:

  1. rpm內含有已經編譯過的程序與配置文件等數據,可以讓使用者免去重新編譯的困擾;
  2. rpm在被安裝之前,會先檢查系統的硬盤容量、操作系統版本號等,可避免文件被錯誤安裝;
  3. rpm文件本身提供軟件版本信息、依賴性關系、軟件用途說明、軟件所含文件等,便于了解軟件;
  4. rpm管理的方式使用數據庫記錄rpm文件的相關參數,便于升級、移除、查詢和驗證等。

既然rpm包這么重要,那么接下來就來聊一聊如何管理rpm類型的軟件。rpm類型的軟件管理工具為rpm命令,有安裝、升級、卸載、查詢和校驗等功能操作。

安裝

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

安裝選項:

  • -h:以#來表示安裝進度;
  • -v:顯示安裝過程中的詳細信息;
  • –test:測試安裝,檢查并報告依賴關系及沖突消息等;
  • –nodeps:忽略依賴關系;
  • –replacepkgs:重新安裝并覆蓋原有文件;
  • –force:強制安裝

升級

rpm {-U|–upgrade} [install-options] PACKAGE_FILE

rpm {-F|–freshen} [install-options] PACKAGE_FILE

此處的-U表示升級或安裝,而-F僅表示升級之意。

卸載

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

選項:

  • –allmatches:卸載所有匹配指定名稱的程序包的各個版本;
  • –nodeps:卸載時忽略依賴關系;
  • –test:測試卸載;

查詢

rpm {-q|–query} [select-options] [query-options]

選擇選項:

  • -a, –all:查詢所有已經安裝過的包;
  • -f FILE:查詢某文件由哪個程序包安裝生成;
  • -p ?PACKAGE_FILE:用于實現對未安裝的程序包執行查詢操作;

查詢選項:

  • –changelog:查詢rpm包的changlog;
  • -l, –list:程序安裝生成的所有文件列表;
  • -i, –info:程序包相關的信息,版本號、大小、所屬的包組;
  • -c, –configfiles:查詢指定的程序包提供的配置文件;
  • -d, –docfiles:查詢指定的程序包提供的文檔;
  • -R, –requires:查詢指定的程序包的依賴關系;

校驗

rpm {-V|–verify} [select-options] [verify-options]

在實際的使用中,因為rpm包是不會自動解決依賴關系,因此在rpm包的管理中往往會遇到各種依賴關系,那么有沒有辦法自動解決這些依賴關系呢?答案當然是有,yum就是這樣一個工具,yum其實是rpm的前端管理工具,能夠從指定的服務器自動下載RPM包并安裝,可以自動處理依賴性關系,并且一次性安裝所有依賴的軟件包。

yum命令的用法非常簡單:yum [options] [command] [package …],主要有如下功能選項:

  • 顯示倉庫列表: ?yum repolist [all|enabled|disabled]
  • 顯示程序包:yum list [all | glob_exp1] [glob_exp2]或者yum list {available|installed|updates} [glob_exp1]
  • 安裝程序包:yum install package
  • 升級程序包:yum update package
  • 卸載程序包:yum remove | erase package
  • 查看程序包信息:yum info ?package
  • 構建本地緩存:yum?makecache
  • 清理本地緩存:yum clean
  • 列出所有包組:yum grouplist
  • 顯示指定包組詳情:yum groupinfo group_name
  • 安裝包組:yum groupinstall?group_name
  • 卸載包組:yum groupremove?group_name
  • 升級包組:yum groupupdate?group_name
  • 安裝本地程序包文件:yum localinstall rpmfile

雖然yum可以很方便的安裝軟件,但是yum嚴重依賴于yum倉庫,如果倉庫里面沒有對應指定的軟件,那么安裝時不會成功的,因此我們在安裝之前必須給yum配置好對應的軟件倉庫。yum倉庫的位置及其相關的各種配置信息保存在yum的配置文件中,各倉庫的定義主要在/etc/yum.repo.d/*.repo文件中。在此文件中主要要定義幾個內容:

  1. [repositoryid]:對于當前系統的yum來說,此repositoryid用于唯一標識此repository指向,因此,必須唯一;
  2. name:當前倉庫的描述信息;
  3. baseurl:指明倉庫的訪問路徑,可以是ftp服務器、http服務器或者本地的目錄;
  4. enabled:指明此倉庫是否可被使用;
  5. gpgcheck:是否對程序包做校驗;
  6. gpgkey:指明校驗文件的路徑;
  7. cost:指明當前倉庫的訪問開銷,默認為1000;

因此如果要指定一個網絡源倉庫,則可以在/etc/yum.repo.d/路徑下新建以.repo結尾的文件,文件內容如下(163倉庫為例):

501

在實際的工作中,如果你作為一個企業的網絡管理員,為了方便公司內部網絡中的服務器安裝軟件,同時也為了節約網絡帶寬,通常需要在公司內部創建一個yum倉庫,下面就談談如何創建本地yum倉庫。

  1. 安裝createrepo軟件用于生成yum的軟件元數據信息;
  2. 確定repository的輸出方式:本地file的形式輸出或者本地網絡的方式輸出;
  3. 在準備的目錄下放置下載好的rpm程序包文件;
  4. 在此目錄下運行createrepo命令;

通過以上步驟就已經完成yum倉庫的創建了。

502

503504

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90805

(0)
蟲草君蟲草君
上一篇 2018-01-03 08:59
下一篇 2018-01-03 21:00

相關推薦

  • 分別設置CentOS 6與CentOS 7的開機啟動為3模式 遇到的問題

    vim /etc/inittab (centos 6) 把id:5: initdefault: 改成3模式 reboot 2  (centos7) vim /etc/inittab 打開文件沒有id:5: initdefault: 這一項 systemd使用比sysvinit的運行級別更為自由的target概念作為替代 第三運行級: multi-u…

    2017-05-18
  • 第六周作業

    請詳細總結vim編輯器的使用 模式化的編輯器 基本模式: 編輯模式,命令模式 輸入模式 末行模式: 內置的命令行接口; 打開文件: # vim [options] [file ..] +#:打開文件后,直接讓光標處于第#行的行首; +/PATTERN:打開文件后,直接讓光標處于第一個被PATTERN匹配到的行的首; 模式轉換: 編輯模式:默認模式 編輯模式 …

    Linux干貨 2017-03-21
  • N26-第五周

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@localhost test]# cat /etc/passwd | grep -E “^(root|fedora|user1)\>” |cut -d: -f  1,7 root:/bin/bash user1:/bin/bash …

    Linux干貨 2017-02-26
  • N26-第二周博客作業

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 一) 目錄管理命令 1. cd :用于切換目錄。命令格式為:cd dirname 命令使用技巧: ~]# cd 進入用戶主目錄 ~]# cd – 進入上一次所在目錄 ~]# cd / 進入根目錄 ~]# cd ~ 進入用戶主目錄 ~]# cd .. 返回上一級…

    2017-03-01
  • mysql cluster安裝部署

    一、安裝要求 安裝環境:CentOS-6.5-32bit 軟件名稱:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz 下載地址:http://mysql.mirror.kangaroot.net/Downloads/ 軟件包:mysql-cluster-gpl-7.2.25-linux2.6-i686.tar.gz …

    Linux干貨 2016-08-22
  • lvs

    Lvs 一、lvs集群的類型:4類工作模式 1.1、lvs-nat 特點:通過將請求報文中的目標地址和目標端口修改為挑選出的某RS的RIP和PORT實現轉發。 客戶端訪問lvs集群服務,此時報文的源地址為cip,目標地址為vip,通過lvs進行dnat轉發后端服務器主機,此時,報文的源地址為cip,目標地址為rip;后端主機響應時,報文源地址為rip,目標地…

    Linux干貨 2016-10-30
欧美性久久久久