yum Server建置與設定
主題: |
yum Server建置與設定 |
文章簡介: |
透過yum server讓Linux安裝軟體更簡單上手 |
作者: |
薛乃榮 |
版本/產出日期: |
V1.0/2016.12.08 |
1. 前言
• RPM是Linux世界裡目前用最多的套件安裝方法,最常被使用的RPM安裝套件時,常有不同套件之間的相信性需要克服,使得在升級/更新上更加麻煩,也因為這樣,所以有APT/YUM之類的計劃誕生,YUM(Yellow dog Updater, Modified) ,由 Duke University 所發起的計畫,目的則與APT 相似,都是在克服 RPM 的屬性相依問題,自動分析軟件之間的依賴關係,並進行自動下載和安裝,方便使用者進行套件的安裝、升級等等工作。
由於APT/YUM 這一類的伺服器在『系統升級/管理』上面的功能發揮的很好,所以目前很多的distributions 都把這兩個伺服器作為預設的服務。
2. 目的
• YUM是一個自動安裝指令與工具,可以依套件之間相依性做對應的安裝/升級/移除,使得管理上相對簡單。
3. 開始前準備
本架構建立於以下版本的環境:
• Redhat Enterprise Linux 6.x
• CentOS 6.x
• 對應作業系統版本的iso檔
4. 設定yum設定檔
4.1、 因為yum server讀取/etc/yum.repos.d/底下檔名以repo結尾的設定檔,建議先將此資料夾下檔案移除或更名。
4.2、 建立屬於自己的設定檔(Local.repo),分為以下幾個情況:
I. 如果網路可連到對外的網路,可直接利用映射站台取得檔案。
• 編輯/etc/yum.repos.d/Local.repo (以下以崑山站台為例)
• 測試設定檔是否正確:yum repolist all
• 參數說明:
[base]:代表軟體庫名稱,中括號必需存在,裡面名稱可任意取,但不能有二個相同軟體庫名稱,會導致yum server不知道要去哪裡找相關軟體清單。
name:說明此軟體庫的意義,重要性不高,yum repolist all時會出現在repo name欄位。
mirrorlist:列出此軟體庫可使用的映射站台,如果不想使用,可以註解。
baseurl:必要,此為軟體庫的實際網址,mirrorlist是由yum程式自行去抓映射站台,baseurl是指固定的一個軟體庫網址。
enable=1:啟動此軟體庫,如果不想啟動則可設為0。
gpgcheck=1:指定是否查閱RPM檔案內的數位簽章。
gpgkey:數位簽章的公鑰檔所在位置,使用預設值即可。
• 站台選擇:
除了上述的崑山FTP外還有以下選擇(範例以CentOS 6為主,請自行換成環境所需版本)
高速網路:http://ftp.twaren.net/Linux/CentOS/6/
元智大學:http://ftp.cse.yzu.edu.tw/pub/Linux/CentOS/6/
靜宜大學:http://ftp.cs.pu.edu.tw/Linux/CentOS/6/
Hinet IDC:http://mirror01.idc.hinet.net/CentOS/6/
中山大學:http://ftp.nsysu.edu.tw/CentOS/6.8/
義守大學:http://ftp.isu.edu.tw/pub/Linux/CentOS/6.8/
樹德科技大學:http://ftp.stu.edu.tw/Linux/CentOS/6/
II. 如果無網路或者網路無法對外,可利用作業系統相對應iso建立本機yum。
• 將作業系統iso檔掛載起來(範例以CentOS 6.8為例)
mount -o loop /<patch>/<OS iso file anme> /<mount poinrt>
ex: mount -o loop /Source/CentOS-6.8-x86_64-bin-DVD1.iso /mnt/iso/
• 編輯/etc/yum.repos.d/iso.repo
• 測試設定檔是否正確:yum repolist all
**因把enabled設為0的關係,所以status就會顯示disabled。
4.7、 相關指令及參數:
• yum list:列出 yum 伺服器上面提供的所有軟體名稱
**上面資訊欄位分別「軟體名稱」、「版本」、「在哪個軟體庫裡」
**也可以加上星號做模糊搜尋:yum list *ldap* (找出字眼中間有ldap的)
• yum list updates:列出所有能更新之套件
• yum list installed:列出所有己安裝之套件
• yum list extra:列出所有已安裝但不在 yum Repository 內的套件
• yum info <package name>:列出軟體詳細資訊
• yum info updates:列出所有可以更新的套件資訊
• yum info installed:列出所有已安裝的套件資訊
• yum info extras:列出所有已安裝但不在 Yum Repository 內的套件資訊
• yum search <keypoint>:搜尋軟體名稱裡有<keypoint>的套件
• yum install <package name>:安裝特定軟體
• yum remove <package name>:移除特定軟體
• yum clean:清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum
• yum clean headers:用來清除暫存(/var/cache/yum)目錄下的 headers
• yum clean oldheaders:用來清除暫存(/var/cache/yum)目錄下的 oldheaders
• yum clearn all:直接把所有的站存都一次清除
• yum upgrade:yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級
• yum grouplist:顯示可安裝的套件群組清單
• yum groupinstall <group name>:安裝套件群組
• yum groupremove <group name>:移除套件群組
• yum groupinfo <group name>:查詢套件群組資訊