解决内网搭建本地yum仓库。
2019獨角獸企業重金招聘Python工程師標準>>>
一、使用iso鏡像搭建本地yum倉庫;
1、掛載鏡像到/mnt目錄下:
[root@Dasoncheng ~]# mount /dev/cdrom /mnt mount: /dev/sr0 is write-protected, mounting read-only2、備份配置文件,并刪除原配置文件:
[root@Dasoncheng ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak [root@Dasoncheng ~]# rm -rf /etc/yum.repos.d/*3、創建并編輯dvd.repo文件
[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二、自定義yum本地倉庫
這種方式主要針對我們平時已經收藏了一些RPM軟件包,我們想把收集起來的RPM包做成自己的YUM倉庫,這樣便于離線安裝,非常靈活方便。
 1、創建本地rpm倉庫目錄(存放rpm包的地方):
2、 使用createrepo創建索引:
##安裝createrepo包;并創建索引。 [root@Dasoncheng ~]# yum -y install createrepo [root@Dasoncheng ~]# createrepo /usr/local/src/3、創建并編輯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只下載 不安裝!
法1:安裝插件
yum install yum-downloadonly //6以前需要安裝這個,現在自帶了;
 yum install --downloadonly --downloaddir=/usr/local/src <package-name>
 這樣,就下載到/usr/local/src目錄下面了(不安裝);
已經安裝這個包了,那就:(這樣重新安裝下載,但會提示沒有重新安裝!)
 yum reinstall -y --downloadonly --downloaddir=/usr/local/src namepackage
法2:修改yum.conf配置
vim/etc/yum.conf [main] cachedir=/var/cache/yum keepcache=1 debuglevel=2這樣,安裝和升級的rpm包 都會保存在/var/cache/yum目錄下面哦
拓展:
本地YUN源的配置
在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程序 會自動往下查找的
轉載于:https://my.oschina.net/u/3651233/blog/1616114
總結
以上是生活随笔為你收集整理的解决内网搭建本地yum仓库。的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ant更改主题色报错Inline Jav
- 下一篇: windows10 64位 JDK1.8
