1、將一個iso檔案掛載到電腦,如 mount -o loop /rhel6.0 /mnt
2、將iso裡面的檔案拷貝到需要建立yum的目錄下(cp)
3、
4、如果軟體源在網路上那就需要啟動ftp服務,service vsftpd restart,如果在本機就不需要 ;
5、配置repo檔案
vim /etc/yum.repos.d/rhel-beta.repo(並非一定要是rhel-beta.repo,但是一定要以.repo結尾)
內容為:
[rhel6]name=Red Hat Enterprise Linux6baseurl=ftp://192.168.100.*/pub/RHEL6(如果是在本機,那就需要使用file:///var/...)(*代表ftp伺服器的地址填寫你知道yum源的IP,很重要!注意那台伺服器的ftp服務是開啟的並製作了yum源)enabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
解釋:
[....] 代表這個庫的名字,必須是唯一的,不可以重複。
name= 是這個庫的說明,沒有太大的實際意義,只是一個欄位說明。
baseurl= 說明採取什麼方式傳輸,具體路徑在哪裡,可以使用的方式有,file://,ftp://,http://等,關於baseurl中的變數,可以查看yum.conf 的手冊:man yum.conf ,在手冊的最後一段有詳細描述。
enabled=1 說明啟用這個更新庫,0表示不啟用。
gpgcheck=1 表示使用gpg檔案來檢查軟體包的簽名
gpgkey= 表示gpg檔案所存放的位置,此處也可以有http方式的位置。
這時,當我們yum repolist 時,就可以看到bsdmap-yum 源了。
6、設定之後,還有最後一步,需要設定匯入redhat的認證密鑰:rpm - -import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
7、若是原來有repo檔案,將其移出,運行yum clean all 清除
8、yum list 查看本機已經安裝好的軟體
9、yum install soft_name 安裝需要的軟體等操作,具體查看yum命令詳解;
我們也可以用createrepo方式建立yum源:
repodata作為軟體的倉庫,其目錄下有四個必要檔案:filelists.xml.[gz],other.xml.[gz],primary.xml.[gz]和repomd.xml(md意思是metadata),其中最主要的是repomd.xml檔案。一般出現的找不到repodata目錄或檔案的錯誤的原因通常有三個:一是路徑問題;二是沒有產生repodate目錄;三是*.repo設定檔衝突(這個需要特意注意)。
建立本地源步驟如下:
1、安裝createrepo包;
2、建立本地來源目錄(假若本地源在當前家目錄下)
2.1 $mkdir -p local-yum/i386/ #其中i386是包放置目錄
2.2 將安裝包放置到i386目錄中
2.3 createrepo local-yum/ #建立一個源
3、配置yum源(可以單獨建立一個repo檔案,也可以添加到已經存在的repo檔案中,vim /etc/yum.repos.d/rhel-beta.repo(並非一定要是rhel-beta.repo,但是一定要以.repo結尾))
************************************************************
[local-yum]
name=local-yum
baseurl=file:///home/test/local-yum/ #檔案目錄不能設定到i386,否則本地源使用會報錯
enabled=1
gpgcheck=0
解釋:
[....] 代表這個庫的名字,必須是唯一的,不可以重複。
name= 是這個庫的說明,沒有太大的實際意義,只是一個欄位說明。
baseurl= 說明採取什麼方式傳輸,具體路徑在哪裡,可以使用的方式有,file://,ftp://,http://等
enabled=1 說明啟用這個更新庫,0表示不啟用。
gpgcheck=1表示使用gpg檔案來檢查軟體包的簽名
gpgkey= 表示gpg檔案所存放的位置,此處也可以有http方式的位置。
************************************************************
4、yum工具介紹
yum工具有很多的參數可供使用,如下:
yum install 軟體名1 [軟體名2][...]
yum update [軟體名1][軟體名2][...]
yum check-update
yum upgrade [軟體1] [軟體2][...]
yum remove | erase 軟體名1 [軟體名2][...]
yum list [...]
yum info [...]
yum provides | whatprovides feature1 [feature2][...]
yum clean [ packages | headers | metadata | dbcache |all ]
yum makecache
yum groupinstall 軟體組1 [軟體組2][...]
yum groupupdate 軟體組1 [軟體組2][...]
yum grouplist [hidden] [groupwildcard] [...]
yum groupremove group1 [group2] [...]
yum groupinfo 軟體組名 [...]
yum search 字串1 [字串2][...]
yum shell [檔案名稱]
yum resolvedep 依賴關係1 [依賴關係2] [...]
yum localinstall rpm包1 [rpm包2][...]
yum localupdate rpm包1 [rpm包2][...]
yum reinstall 軟體包1 [軟體包2][...]
yum downgrade 軟體包1 [軟體包2][...]
yum deplist 軟體包1 [軟體包2][...]
yum repolist [all|enabled|disabled]
yum help [command]
以上就是yum全部的可用參數了,自動分析依賴性關係是它最好的一個特點,也是目前最方便的安裝方法。
5、更新本地源,在倉庫所在目錄下
createrepo --update local-yum/ # 更新本地源
createrepo local-yum/ # 重建metadata
6、用的上的命令
createrepo --update:
有時候你的軟體倉庫中含有很多的軟體包,雖然只是其中的一小部分有所改動但是你卻不必為每個軟體包重新產生中繼資料,這樣做明顯太浪費時間了。這就是--update選項誕生的原因。
像之前一樣運行createrepo命令但是添加了--update選項. $createrepo--updatelocal-yum/ 現在createrepo只更新那些在上次產生中繼資料之後被改變,添加或者刪除了的項目.
verifytree 如果你剛剛做了一個repo並且你想要驗證在你的repo中的所有東西都是正確且可以完成其功能的話,你可以運行erifytree命令來檢查所有的repodata和軟體包。
7、建立基於html的更新源
7.1 安裝httpd安裝包
7.2 如上建立本地更新源
cd /var/www/html/
mkdir -p nsmc
cdnsmc
mkdir RPMS SRPMS
7.3 拷貝相關檔案到RPMS和SRPMS目錄中
7.4 在nsmc所在目錄下執行如下命令
createrepo nsmc #建立倉庫
7.5 service httpd start #啟動httpd守護進程,這是關鍵地方之一,否則在其他機器上會提示找不到相關源
7.6 編寫repo檔案
*************************************
[nsm]
name=NeoShineLinux Desktop 5 nsmc repo - i386
baseurl=http://xxx.xxx.xxx.xxx/nsmc
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release
注意:gpgcheck設定為0,則不需要認證簽名。
使用 yum 命令
1. 列表查看軟體包資訊
可以使用 list 選項查看軟體包相關的各項資訊。
[root@localhost ~]# yum list updates //查看有哪些可用於升級的軟體包
[root@ localhost ~]# yum list installed //查看本機已安裝的軟體包
[root@ localhost ~]# yum list available //查看 yum 源中所有可用的軟體包
[root@ localhost ~]# yum list available lynx* //查看 yum 源中以 lynx 開頭的軟體包
[root@ localhost ~]# yum info installed bind //查看已安裝的 bind 軟體包的資訊
2. 軟體包升級、卸載、安裝
升級(update)、卸載(remove)、安裝(install)軟體包時,系統會自動檢查並解決軟體包之間的依賴關係。開始各項操作前,系統會提示使用者按 y 鍵進行確認(如果希望系統自動回答為 y,可以在 yum 命令後增加-y 選項)。
[root@localhost ~]# yum -y update //升級所有可用的軟體包,由系統自動確認
[root@localhost ~]# yum update bind //升級 bind 軟體包
[root@localhost ~]# yum remove net-snmp-utils //卸載 net-snmp-utils 軟體包
[root@localhost ~]# yum install lynx //安裝 lynx 軟體包