1. 程式人生 > >linux軟體包安裝及自制yum源

linux軟體包安裝及自制yum源

程式的程式碼是用程式語言寫的給人看的(原始碼),計算機只能識別二進位制,因此程式要先編譯才能執行。系統安裝盤內建的安裝包提供的是最穩定執行的軟體版本,都是編譯好的rpm包,可以直接安裝。如果是自己下載的新版軟體,那麼需要轉成rpm包,或者執行原始碼編譯安裝。

rpm 和 yum 安裝命令

  • rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm
軟體名 -版本號-發行版本enterprise linux 7.-架構.rpm

如果軟體名對應唯一軟體包,寫完軟體名,tab可以自動補全安裝包全名。安裝有.rpm字尾。

  • 安裝 rpm -ivh 軟體包全名.字尾 --force(覆蓋安裝,用於更新軟體包)(輸入軟體名後tab可自動補全)
  • rpm -q 軟體名 檢視是否安裝,直接寫軟體名就行。查詢出來的結果,就是軟體安裝後在系統的名字(注意,無rpm字尾)。所以解除安裝的時候,要提供這個名字。
  • rpm -qa | grep 軟體名 檢視系統安裝的所有包,並過濾
  • 其他 rpm -qi 軟體包全名 檢視詳細資訊
  • rpm -ql 軟體包全名 查詢查詢軟體包撞到了哪些目錄
  • rpm -e 軟體包全名 --nodeps(忽略依賴性解除安裝) 解除安裝軟體包

rpm安裝時需要手動安裝依賴包,這樣很不方便,一般我們用yum安裝,yum可以從網路獲取安裝包,並自動解決依賴性關係。
  • yum install 軟體名(或者軟體名*,把所有以該名字開頭的都裝上)自動監測並安裝依賴包
  • yum -y(不詢問的方式)remove 只刪除本身,不刪依賴包
  • yum list/grouplist 列出有哪些軟體包和軟體包組
  • yum –y groupinstall 元件名 安裝軟體包組; yum –y groupremove元件名解除安裝軟體包組
  • 使用yum查詢軟體包:yum search 軟體包名
  • yum安裝時,每次都要檢索源,速度慢
    yum makecache -y 建快取,避免檢索浪費時間(快取重啟會消失,不過伺服器一般不關機。。。)
    (注意:yum同一時間只能運行於一個終端,也就是說一個命令必須等另一個命令停止才行)
  • yum的問題:自動從網路源檢測並更新軟體;公司一定要關閉自動更新功能(公司伺服器必須穩定執行,因此所有機器的os版本和軟體版本必須一致,所以一定要自己做yum源)。
  • 關閉yum自動更新功能

自制yum源

  • 首先新建自己的軟體包倉庫,這裡在根目錄新建 /rpms
  • 新建目錄/rpms_cache 更改yum軟體包的快取路徑為自己新建的目錄


  • 用yum安裝完軟體後,我們進入/rpms_cache下檢視,已經自動新建瞭如下目錄


  • 進入base目錄下的packages目錄,找到了剛剛安裝時下載的軟體包

同理,在extras下和updates下也發現了packages目錄(暫時為空)
  • 將這些軟體包移動到自己的軟體倉庫下 /rpms

用這樣的辦法,安裝完需要的軟體,並將軟體包全部移動至自己的軟體倉庫
  • 只是把rpm包放在一個資料夾不是一個源,因為yum解決依賴性關係並不是自動的,而是 人為的把依賴性關係寫到一個檔案,yum讀取該檔案。所以我們要為這些軟體建立依賴性關係, createrepo /軟體倉庫路徑 命令,建立依賴性關係檔案(如果時最小化安裝,需要先安裝createrepo-0.9.9-26.el7.noarch.rpm才能使用這個命令)

  • 經過以上幾部,自制yum源就做好了,接下來修改yum配置檔案,讓yum每次安裝時都從自己的源獲取安裝包。


  • 重建yum快取