實驗思想
1.提供一個本地軟件包存放的目錄,也就是yum源
2.利用網絡服務把這個目錄共享出來,以供網絡用戶訪問
3.配置yum源
4.客戶端測試yum源
第一步
我利用vsftpd軟件開啓ftp服務共享yum源所在目錄,把rhel5.5光盤上的4個目錄分別是
Server,VT,Cluster,ClusterStorage拷貝到/var/ftp/pub目錄下
首先掛載光驅安裝vsftpd軟件包並啓動服務
拷貝光盤上的目錄到本地/var/ftp/pub
第二步,建立新的yum源軟件包信息
關於repodata目錄
每一個錄下都有repodata目錄用來存放當前目錄下軟件包的數量,名字,位置,依賴關係等並作成一個索引,但直接拷貝過來的repodata目錄沒法使用,由於當前的repodata還記錄着從光盤上創建的軟件包信息,comps開頭的文件是一個分組文件記錄着相關軟件包類別,例如多媒體類,圖像類,網絡類等,當你選擇一個分類安裝時就會一次性把這一類軟件包通通安裝.因此若是不重建repodata裏的軟件包信息就會在安裝時不停的尋找光驅的源而不會尋找本地源,repodata目錄及軟件包信息是由createrepo命令建立的因此還要安裝createrepo工具
安裝createrepo
重建repodata
先把分組文件單獨從原始的repodata目錄下拷貝出來,並刪除原始的repodata目錄
重建/var/ftp/pub/Server的repodata目錄
重建/var/ftp/pub/VT的repodata目錄
重建/var/ftp/pub/Cluster的repodata目錄]
重建/var/ftp/pub/ClusterStorage的repodata目錄
從新清空一下剛纔重建repodata的垃圾文件及緩存文件,這個清楚實際上從/var/cache/yum中清掉數據
如今咱們就來設置一下yum源地址在配置文件中/etc/yum.repo.d/rhel-debuginfo.repo
咱們來看看配置文件中的參數含義
咱們要作的就是把這個模板文件拷貝一份成爲本身的本地yum源配置,文件名結尾必須是.repo
cp /etc/yum.repo.d/rhel-debuginfo.repo /etc/yum.repo.d/test.repo
vi /etc/yum.repo.d/test.repo
第三步客戶端測試yum源
如今咱們來看看咱們的yum源可否列出本身有多少軟件
如今我就來隨意安裝一個軟件,yum主要是能夠很好的解決掉軟件之間的依賴關係,安裝的軟件會放在/var/cache/yum中
咱們查找一下剛纔的軟件是否真的已經安裝了
固然還有一些經常使用的yum命令咱們須要熟知一下
yum list :羅列yum源中的軟件
yum install vsftpd:安裝軟件包
yum remove vsftpd:移除軟件包
yum search vsftpd:查找軟件包
yum check-update:檢查能夠更新的軟件包
yum list installed:羅列已經安裝的軟件包
yum info vsftpd:查看軟件包的信息
yum update:升級全部軟件包
yum update vsftpd:升級指定軟件包
意外小狀況
若是你在安裝linux時沒有安裝yum工具,你須要安裝順序安裝以下軟件包
這個是yum的全局配置文件/etc/yum.conf的說明
1 [main]
2 cachedir=/var/cache/yum --yum緩存目錄
3 keepcache=0 --安裝後保留軟件包,0保留,1不保留
4 debuglevel=2 --排錯級別指定0-10
5 logfile=/var/log/yum.log --yum日誌
6 distroverpkg=redhat-release --根據一個指定的軟件包,判斷系統發現版本
7 tolerant=1
8 exactarch=1 --是否升級與已安裝的軟件包,0能夠安裝不一致的包,1只安裝一致的包
9 obsoletes=1
10 gpgcheck=1
11 plugins=1 --是否容許使用插件,0不容許,1容許
12
13 # Note: yum-RHN-plugin doesn't honor this.
14 metadata_expire=1h --yum源超時時間
15
16 # Default.
17 # installonly_limit = 3
18
19 # PUT YOUR REPOS HERE OR IN separate files named file.repo
20 # in /etc/yum.repos.d
出現以下錯誤,緣由在於沒有導入rpm包的一個版本key
導入方法