linux:存放yum源的位置:/etc/yum.repos.d/,該目錄下全是一些yum源html
1、網絡yum源:linux
如圖:下面所有都是yum源,後綴是".repo"都是合法的yum源,默認的是啓動的CentOS-Base.repo這個yum源(網絡yum源)centos
[root@study yum.repos.d]# ls -l total 28 -rw-r--r--. 1 root root 1664 Dec 9 2015 CentOS-Base.repo --- 網絡yum源 -rw-r--r--. 1 root root 1309 Dec 9 2015 CentOS-CR.repo -rw-r--r--. 1 root root 649 Dec 9 2015 CentOS-Debuginfo.repo --- debug修復工具yum源 -rw-r--r--. 1 root root 290 Dec 9 2015 CentOS-fasttrack.repo -rw-r--r-- 1 root root 661 Jun 29 09:41 CentOS-Media.repo --- 本地光盤yum源 -rw-r--r--. 1 root root 1331 Dec 9 2015 CentOS-Sources.repo -rw-r--r--. 1 root root 1952 Dec 9 2015 CentOS-Vault.repo ---虛擬yum源
要使用CentOS-Base.repo這個yum源,linux必需要能鏈接外網,不然是用不了網絡yum源的服務器
接下來看下CentOS-Base.repo這個網絡yum源文件的內容:網絡
# geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
解釋:less
[base] : 容器名稱,必須放在[]中工具
name : 描述,容器說明網站
mirrorlist : 鏡像網站,這個能夠註釋掉(網站在國外,有點慢)this
baseurl : 咱們的yum源服務器地址,默認是centos官方的yum源服務器,可使用url
enabled : 此容器是否生效,不寫或者寫成enabled=1都表明生效,寫成enabled=0表示不生效
gpgcheck : 若是是1是指RPM的數字證書生效,若是是0則不生效
gpgkey : 數字證書的公鑰文件保存位置。不用修改
其實咱們可使用yum list查看一下yum能夠安裝的列表:
yum-plugin-tsflags.noarch 1.1.31-34.el7 base yum-plugin-upgrade-helper.noarch 1.1.31-34.el7 base yum-plugin-verify.noarch 1.1.31-34.el7 base yum-plugin-versionlock.noarch 1.1.31-34.el7 base yum-rhn-plugin.noarch 2.0.1-5.el7 base yum-updateonboot.noarch 1.1.31-34.el7 base zenity.x86_64 3.8.0-5.el7 base zlib.i686 1.2.7-15.el7 base zlib-devel.i686 1.2.7-15.el7 base zlib-static.i686 1.2.7-15.el7 base zlib-static.x86_64 1.2.7-15.el7 base zsh.x86_64 5.0.2-14.el7_2.2 updates zsh-html.x86_64 5.0.2-14.el7_2.2 updates zziplib.i686 0.13.62-5.el7 base zziplib.x86_64 0.13.62-5.el7 base zziplib-devel.i686 0.13.62-5.el7 base zziplib-devel.x86_64 0.13.62-5.el7 base zziplib-utils.x86_64 0.13.62-5.el7 base [root@study yum.repos.d]#
上面的列表分爲三部分(從左到右說明):包名(跟包全名不一樣,注意區分)、版本號(發現次數,適用的系統之類的)、右邊這個熟悉吧!就是yum源內的容器了(base、updates...)
使用yum來進行安裝軟件,不須要咱們本身解決安裝軟件包的依賴性,它會直接在yum源服務器把該軟件的相關依賴包所有下載並進行安裝,很方便
可是當咱們不能鏈接外網的時候,咱們就使用不了網絡yum源了,這時該怎麼辦呢?那就是要本地光盤yum源,也就是:CentOS-Media.repo
2、製做本地光盤yum源
第一步:掛載光盤(/dev/cdrom這個可使用/dev/sr0均可以同樣的,/mnt/cdrom這個cdrom目錄不存在就直接建立)
掛載光盤以前,須要把光盤放入虛擬機中(linux中),就是你安裝linux時的鏡像就行
mount /dev/cdrom /mnt/cdrom/
[root@study yum.repos.d]# mount /dev/sr0 /mnt/cdrom/ mount: /dev/sr0 is write-protected, mounting read-only mount: /dev/sr0 is already mounted or /mnt/cdrom busy /dev/sr0 is already mounted on /mnt/cdrom
由於我以前掛在過了,因此它提示/dev/sr0或者/mnt/cdrom很忙,也就是已經掛載了的意思
第二步:修改/etc/yum.repos.d/目錄下的yum源的名稱,以下代碼,使用mv命令修更名稱,由於咱們製做本地光盤yum源,因此CentOS-Media.repo不作修改
[root@study yum.repos.d]# ls -l total 28 -rw-r--r--. 1 root root 1664 Dec 9 2015 CentOS-Base.repo.bak -rw-r--r--. 1 root root 1309 Dec 9 2015 CentOS-CR.repo.bak -rw-r--r--. 1 root root 649 Dec 9 2015 CentOS-Debuginfo.repo.bak -rw-r--r--. 1 root root 290 Dec 9 2015 CentOS-fasttrack.repo.bak -rw-r--r-- 1 root root 661 Jun 29 09:41 CentOS-Media.repo -rw-r--r--. 1 root root 1331 Dec 9 2015 CentOS-Sources.repo.bak -rw-r--r--. 1 root root 1952 Dec 9 2015 CentOS-Vault.repo.bak
而後就是修改CentOS-Media.repo文件了,先看下該文件的內容:
# CentOS-Media.repo # # This repo can be used with mounted DVD media, verify the mount point for # CentOS-7. You can use this repo and yum to install items directly off the # DVD ISO that we release. # # To use this repo, put in your DVD and use it with the other repos too: # yum --enablerepo=c7-media [command] # # or for ONLY the media repo, do this: # # yum --disablerepo=\* --enablerepo=c7-media [command] [c7-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
其實跟上面的CentOS-Base.repo文件的配置項同樣,只是配置的內容有點不一樣,最大的不一樣在於baseurl:
網絡yum源的baseurl後面跟着url地址,而CentOS-Base.repo本地光盤yum源的baseurl後面則是光盤掛載的地址
此時咱們要使本地光盤yum源生效,須要改baseurl和enabled的配置,容器名稱隨便寫,name描述也隨便寫,只要你本身記得認識就行:
baseurl=file:///mnt/cdrom/(你剛纔光盤掛載的位置),其餘的幾個位置直接註釋點就行,不註釋也行,可是每次執行的時候會報錯提示找不到
enabled=1(這個很重要,在上面講網絡yum源的時候講到過,這就是個開關,設置爲1(或者直接這個配置項不寫)表示yum源生效,寫成0表示不生效)
修改後的文件內容以下:
[c7-media] name=CentOS-$releasever - Media baseurl= file:///mnt/cdrom/ # file:///media/CentOS/ # file:///media/cdrom/ # file:///media/cdrecorder/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
這個時候本地光盤yum源就製做好了,接下來可使用yum list獲取yum源安裝的列表看一下咱們製做的本地光盤yum源是否生效:
yum-plugin-show-leaves.noarch 1.1.31-34.el7 c7-media yum-plugin-tmprepo.noarch 1.1.31-34.el7 c7-media yum-plugin-tsflags.noarch 1.1.31-34.el7 c7-media yum-plugin-upgrade-helper.noarch 1.1.31-34.el7 c7-media yum-plugin-verify.noarch 1.1.31-34.el7 c7-media yum-plugin-versionlock.noarch 1.1.31-34.el7 c7-media yum-rhn-plugin.noarch 2.0.1-5.el7 c7-media yum-updateonboot.noarch 1.1.31-34.el7 c7-media zenity.x86_64 3.8.0-5.el7 c7-media zlib.i686 1.2.7-15.el7 c7-media zlib-devel.i686 1.2.7-15.el7 c7-media zlib-static.i686 1.2.7-15.el7 c7-media zlib-static.x86_64 1.2.7-15.el7 c7-media zsh.x86_64 5.0.2-14.el7 c7-media zsh-html.x86_64 5.0.2-14.el7 c7-media zziplib.i686 0.13.62-5.el7 c7-media zziplib.x86_64 0.13.62-5.el7 c7-media zziplib-devel.i686 0.13.62-5.el7 c7-media zziplib-devel.x86_64 0.13.62-5.el7 c7-media zziplib-utils.x86_64 0.13.62-5.el7 c7-media [root@study yum.repos.d]#
這個列表我在上面講過,咱們就看最右邊的就行"c7-media",你們發現沒,由原來的base、updates變成了 c7-media,這個容器名稱你們屬性吧!就是咱們剛纔製做的本地光盤yum源的容器名稱,說明這些yum源安裝的軟件列表都是從咱們製做的本地光盤yum源裏面獲取到的,說製做成功了!
可是本地光盤yum源有2個問題:
1.那就是不能獲取最新的軟件,比較是從咱們的光盤中獲取的的軟件,不過沒事,等咱們能夠鏈接外網了,使用yum工具來升級
2.那就是每次當你開機時,想要使用都必須把光盤添加到虛擬機,而後手動掛載,或者開機前把光盤放進去,而後能夠把掛載命令寫到/etc/rc.d/rc.local中,開啓自動掛載
3、yum經常使用的命令
選項-y是自動回答yes
1.升級:update
格式:yum -y update 包名(注意這裏說的是包名不是包全名)
注意:千萬不能只寫yum -y update,沒寫包名就執行了,那這樣就是升級整個linux系統的因此軟件,包括內核都會升級,一旦所有升級了,那麼你的服務器就不能被遠程鏈接,不少問題就都出來了
2.卸載:remove
格式:yum -y remove 包名(注意這裏說的是包名不是包全名)
注意:千萬不要隨便的去卸載一個軟件,由於它不僅是卸載這個軟件自己這麼簡單,你們都知道,linux的軟件都有依賴性的,可能好幾個軟件都依賴同一個安裝包,一旦你卸載其中一個軟件,那麼對應的依賴包也都跟着一塊兒卸載,就會形成某些軟件沒法正常使用
3.安裝:install
格式:yum -y install 包名(注意這裏說的是包名不是包全名)
4.查詢:list、search
格式:yum list
格式:yum search 關鍵字
5.yum軟件組管理命令
獲取軟件組命令:yum grouplist
安裝:yum groupinstall 軟件組名
卸載:yum groupremove 軟件組名