解決內網搭建本地yum倉庫。

1、使用iso鏡像搭建本地yum倉庫;

一、掛載鏡像到/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

2、自定義yum本地倉庫

這種方式主要針對咱們平時已經收藏了一些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只下載 不安裝!

法1:安裝插件

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測試

法2:修改yum.conf配置

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程序 會自動往下查找的

相關文章
相關標籤/搜索