一、掛載鏡像到/mnt目錄下:python
[root@Dasoncheng ~]# mount /dev/cdrom /mnt mount: /dev/sr0 is write-protected, mounting read-only
二、備份配置文件,並刪除原配置文件:linux
[root@Dasoncheng ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak [root@Dasoncheng ~]# rm -rf /etc/yum.repos.d/*
三、建立並編輯dvd.repo文件c++
[root@Dasoncheng ~]# vim /etc/yum.repos.d/dvd.repo [root@Dasoncheng ~]# cat /etc/yum.repos.d/dvd.repo [dvd] name=install dvd baseurl=file:///mnt enable=1 gpgcheck=0
##刷新repos生成緩存(或者清除yum緩存亦可:# yum clean all): [root@Dasoncheng ~]# yum makecache ##列出可用安裝包(後面帶@的就是已經安裝的軟件): [aming@Dasoncheng ~]$ yum list |grep @ GeoIP.x86_64 1.5.0-11.el7 @anaconda NetworkManager.x86_64 1:1.4.0-12.el7 @anaconda NetworkManager-libnm.x86_64 1:1.4.0-12.el7 @anaconda NetworkManager-team.x86_64 1:1.4.0-12.el7 @anaconda NetworkManager-tui.x86_64 1:1.4.0-12.el7 @anaconda NetworkManager-wifi.x86_64 1:1.4.0-12.el7 @anaconda OpenIPMI-libs.x86_64 2.0.19-15.el7 @base OpenIPMI-modalias.x86_64 2.0.19-15.el7 @base ##這就是沒有安裝的包: [aming@Dasoncheng ~]$ yum list |grep dvd 389-ds-base.x86_64 1.3.5.10-11.el7 dvd 389-ds-base-libs.x86_64 1.3.5.10-11.el7 dvd ElectricFence.x86_64 2.2.2-39.el7 dvd GConf2.x86_64 3.2.6-8.el7 dvd ImageMagick.x86_64 6.7.8.9-15.el7_2 dvd ImageMagick-c++.x86_64 6.7.8.9-15.el7_2 dvd ImageMagick-perl.x86_64 6.7.8.9-15.el7_2 dvd
這種方式主要針對咱們平時已經收藏了一些RPM軟件包,咱們想把收集起來的RPM包作成本身的YUM倉庫,這樣便於離線安裝,很是靈活方便。
一、建立本地rpm倉庫目錄(存放rpm包的地方):vim
##假如設/usr/local/src/ 爲咱們下載的rpm包目錄;
二、 使用createrepo建立索引:centos
##安裝createrepo包;並建立索引。 [root@Dasoncheng ~]# yum -y install createrepo [root@Dasoncheng ~]# createrepo /usr/local/src/
三、建立並編輯repo文件:緩存
[root@Dasoncheng ~]# vim /etc/yum.repos.d/src.repo [root@Dasoncheng ~]# cat /etc/yum.repos.d/src.repo [src] name=src Yum baseurl=file:///usr/local/src/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=1
##刷新repos生成緩存(或者清除yum緩存亦可:# yum clean all): [root@Dasoncheng ~]# yum makecache ##這裏就不作測試了;
yum install yum-downloadonly //6之前須要安裝這個,如今自帶了;
yum install --downloadonly --downloaddir=/usr/local/src <package-name>
這樣,就下載到/usr/local/src目錄下面了(不安裝);oop
已經安裝這個包了,那就:(這樣從新安裝下載,但會提示沒有從新安裝!)
yum reinstall -y --downloadonly --downloaddir=/usr/local/src namepackage測試
vim/etc/yum.conf [main] cachedir=/var/cache/yum keepcache=1 debuglevel=2
這樣,安裝和升級的rpm包 都會保存在/var/cache/yum目錄下面哦ui
本地YUN源的配置url
在linux上安裝軟件包的時候當遇到軟件包之間的依賴關係時,將是一個頭疼的問題。因此配置YUM源,讓其自動解決依賴關係,安裝必須的相互依賴的包。
System-config-packets 調出安裝程序。
1 把源文件的內容拷貝到一個目錄中。
2 編輯/etc/yum.repos.d/rhel-debuginfo.repo
在[]中的表示倉庫的名稱
name :指明對倉庫的描述
baseurl:倉庫的具體位置
注意:若是是本地yun源的話,前面的ftp必須改爲file:///否則會發生你意想不到的錯誤。
enable :爲0關閉yum源 爲1時開啓
gpbcheck :爲1表示開啓對軟件包的驗證。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
用命令:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
引入
createrepo -vg /yum/repodata/respon.xml /yum/
這條命令的respon.xml就是group了,具體大概就是什麼軟件對應什麼的吧。。。反正必須。
3 編輯/usr/lib/python2.4/site-packages/yum/yumRepo.py 找到remote 「remote = url + ‘/’+ relative」把/改成源文件的目錄如:/yum 配置好後先清一下緩存:yum clean all
而後測試下:yum list
安裝某個包試試:yum install httpd-xxx.rpm~
~利用鏡像文件作yum源
1 mkdir /media/iso
2 mkdir /media/yum
3 mount –t iso9660 –o loop /path/image.iso /media/cdrom
4 createrepo -o /media/yum/ -g /media/cdrom/Server/repodata/comps-rhel5-server-core.xml /media/cdrom/Server/
解釋下這句話: 主要做用是依據comps-rhel5-server-core.xml組文件建立/media.cdrom/Server軟件包依賴關係 輸出到/media/yum 中
5 在/etc/yum.repo/ 下建個repo文件
[iso]
name=local yum
baseurl=file:///media/cdrom/Server enable=1 gpgcheck=0 測試下: 先yum clean all 清下緩存 yum install bind 若是不成功 mount –bind /media/yum/repodata /media/cdrom/Server/repodata 在centos下 repodata目錄不是放在rpm包同一個目錄下的 若是你在repo文件中指定路徑到rpm包 會提示找不到repomd.xml這個文件 解決方法就是將路徑直到上一層 即repodata目錄所在的目錄。yum程序 會自動往下查找的