yum linux

yum Server建置與設定

薛乃榮 2016/12/30 15:32:00
6166







主題

yum Server建置與設定

文章簡介

透過yum serverLinux安裝軟體更簡單上手

作者

薛乃榮

版本/產出日期

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 IDChttp://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 upgradeyum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級






yum grouplist顯示可安裝的套件群組清單

yum groupinstall <group name>安裝套件群組

yum groupremove <group name>移除套件群組

yum groupinfo <group name>查詢套件群組資訊


薛乃榮