[root@localhost ~]# ls /var/ftp/
pub rhel5 rhel6
[root@localhost ~]#
YUM倉庫有兩個rhel5、rhel6
YUM客戶端的配置如下:
[root@s2 ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[root@s2 ~]# cat /etc/yum.repos.d/rhel.repo
[rhel]
name=Red Hat
baseurl=ftp://192.168.1.29/rhel5
enabled=1
gpgcheck=0
1.使用 yum 緩存
默認情況下,yum客戶端在成功下載和安裝軟包後會把下載的文件刪掉而不進行緩存。這樣可以減少磁盤空間的佔用。需要時可以啓用緩存功能,這樣yum可以將rpm數據緩存到YUM的緩存目錄中。
緩存的好處:提高YUM的性能;可以離線運行YUM操作,只使用緩存;也可以複製緩存中的軟件包以備用。
存放下載的軟件包、倉庫信息等數據
2. 啓用 yum 緩存 客戶端的/etc/yum.conf中的keepcache=1
打開緩存後,每個 yum
操作都可從倉庫下載軟件包數據。要保證緩存包含了軟件包數據,在啓用緩存後需要運行一個操作,例如 list
或 search
來下載軟件包數據而不影響系統。
修改keepcache=1後:
[root@s2 ~]# ls /var/cache/yum/
[root@s2 ~]#
[root@s2 ~]# yum -y install httpd
……
[root@s2 ~]# ls /var/cache/yum/
rhel
[root@s2 ~]# ls /var/cache/yum/rhel/
cachecookie headers packages primary.xml.gz primary.xml.gz.sqlite repomd.xml
[root@s2 ~]# ls /var/cache/yum/rhel/packages/
httpd-2.2.3-6.el5.i386.rpm
[root@s2 ~]#
[root@s2 ~]# ls /var/cache/yum/rhel/headers/
httpd-2.2.3-6.el5.i386.hdr[root@s2 ~]# du -sh /var/cache/yum/rhel/packages/httpd-2.2.3-6.el5.i386.rpm
1.1M /var/cache/yum/rhel/packages/httpd-2.2.3-6.el5.i386.rpm
3.在只使用緩存的模式下使用 yum
要在沒有網絡的情況下執行 yum
,只要啓用了緩存,就可以用 -C
選項。這樣 yum
就不會檢查網絡上的倉庫,只使用緩存。在這個模式中,yum
只能安裝已下載並緩存的軟件包。[root@localhost ~]# service vsftpd stop
Shutting down vsftpd: [ OK ]
[root@localhost ~]#
因爲客戶端緩存的有httpd的rpm包,所以[root@s2 ~]# yum -y remove httpd可以執行成功。緩存中沒有dhcp的rpm包,所以[root@s2 ~]# yum -y install dhcp這條命令不能正確執行。
4.清空yum緩存
dhcp-3.0.5-3.el5.i386.hdr httpd-2.2.3-6.el5.i386.hdr
[root@s2 ~]# yum clean headers
Loading "installonlyn" plugin
Loading "rhnplugin" plugin
This system is not registered with RHN.
RHN support will be disabled.
2 headers removed
[root@s2 ~]# ls /var/cache/yum/rhel/headers/
[root@s2 ~]#
[root@s2 ~]# ls /var/cache/yum/rhel/packages/
dhcp-3.0.5-3.el5.i386.rpm httpd-2.2.3-6.el5.i386.rpm
[root@s2 ~]# yum clean packages
Loading "installonlyn" plugin
Loading "rhnplugin" plugin
This system is not registered with RHN.
RHN support will be disabled.
2 packages removed
[root@s2 ~]# ls /var/cache/yum/rhel/packages/
[root@s2 ~]#