您好,登錄后才能下訂單哦!
1.1 導言
YUM英文全稱是Yellow Dog Updater Modified。
YUM主要用于自動安裝、升級rpm軟件包,它能自動查找并解決rpm包之間的依賴關系。要成功的使用YUM工具安裝更新軟件或系統,就需要有一個包含各種rpm軟件包的repository(軟件倉庫),這個軟件倉庫我們習慣稱為yum源。網絡上有大量的yum源,但由于受到網絡環境的限制,導致軟件安裝耗時過長甚至失敗。特別是當有大量服務器大量軟件包需要安裝時,緩慢的進度條令人難以忍受。因此在優化系統時,都會更換國內的源。
相比較而言,本地YUM源服務器最大優點是局域網的快速網絡連接和穩定性。有了局域網中的YUM源服務器,即便在Internet連接中斷的情況下,也不會影響其他YUM客戶端的軟件安裝和升級。
http://mirrors.aliyun.com/ #<==阿里云開源鏡像站點
http://mirrors.163.com/ #<==網易開源鏡像站點
1.2 yum工作原理
實質其實是更換下載地址而已!
當我們用yum命令安裝apache時,工作流程如下:
1.yum -y install httpd
2.查找yum倉庫配置文件:/etc/yum.repos.d/CentOS-Base.repo,這個文件里面就有下載地址
3.CentOS系統默認會到國外的軟件倉庫下載rpm軟件包
4.但是,國外的源比較慢,因此,系統優化時會換成阿里云的源
5.如果內網的網速帶寬有限時,阿里云的源下載也會慢,因此,搭建內網的yum源,把公網的和自己做的rpm都放進去,可以完美的解決rpm包下載慢的問題了。
1.3 獲取rpm軟件包的三種方法
1.自己制作
2.yumdownloader pcre-devel #<==只下載軟件不安裝
3.平時yum安裝軟件時不刪除安裝包,需要修改配置文件
[root@backup ~]# cat /etc/yum.conf#<==修改yum源配置文件 #cachedir=/var/cache/yum/$basearch/$releasever#<==yum緩存目錄 cachedir=/application/yum/centos6.7/x86_64/#<==yum緩存目錄 keepcache=0#<==值為1,代表開啟yum緩存
1.4 制作yum倉庫
1.4.1 創建yum倉庫目錄
yum -y install createrepo mkdir -p /application/yum/centos6.7/x86_64/ cd /application/yum/centos6.7/x86_64/ rz -y tar xf nginx_yum.tar.gz
上傳定制的 nginx rpm包到此目錄,此目錄下面還可以包括文件夾
[root@m01 /application/yum/centos6.7/x86_64]# ll 總用量 7260 -rw-r--r-- 1 root root 2273466 2017-05-30 13:40 nginx-1.6.3-1.x86_64.rpm -rw-r--r-- 1 root root 5153058 2017-05-30 13:26 nginx_yum.tar.gz
1.4.2 初始化repodata索引文件
createrepo -pdo /application/yum/centos6.7/x86_64/ /application/yum/centos6.7/x86_64/ #每加入一個rpm包就要更新一下 createrepo --update /application/yum/centos6.7/x86_64/
1.4.3 提供yum服務
可以用Apache或nginx提供web服務,但用Python的http模塊更簡單,適用于內網環境。
注意:必須確保80端口沒有被占用。
cd /application/yum/centos6.7/x86_64/ python -m SimpleHTTPServer 80 &>/dev/null & lsof -i :80
用IE輸入網址:10.1.8.33,可看到下面的內容,說明可提供給內網用戶下載了。
1.4.4 將本地光盤的rpm包復制到對應目錄
mount /dev/cdrom /mnt/ df -h \cp /mnt/Packages/* /application/yum/centos6.7/x86_64/base/packages/ du -sh /application/yum/centos6.7/x86_64/base/packages/ createrepo --update /application/yum/centos6.7/x86_64/
1.5 客戶端配置
cd /etc/yum.repos.d mkdir repo-bak && mv CentOS-* repo-bak/ cat >>local.repo<<EOF [chen] name=c6.7-repo baseurl=http://10.1.8.33 enable=1 gpgcheck=0 EOF yum clean all #<==清空本機已有yum緩存 yum repolist #<==列出可用的yum倉庫 yum list #<==列表顯示yum倉庫里的rpm包 [root@node4 /etc/yum.repos.d]# cat local.repo #<==自定義yum倉庫 [chen] #<==倉庫標識 name=c6.7-repo#<==倉庫名稱 baseurl=http://10.1.8.33#<==訪問該倉庫的方式 enable=1#<==啟用這個軟件倉庫 gpgcheck=0#<==下載的rpm包不進行gpg校驗 [root@node4 /etc/yum.repos.d]# yum repolist 倉庫標識 倉庫名稱 狀態 chen c6.7-repo 18 repolist: 18
1.5.1 安裝定制好的nginx包(見證奇跡)
前面所有的操作,就是為了這一步。
yum install -y nginx 總計 6.5 MB/s | 7.7 MB 00:01 #<==內網的下載速度非常快! ll /application/ lrwxrwxrwx 1 root root 25 2017-05-30 16:57 nginx -> /application/nginx-1.6.3/ #<==軟鏈接也有 drwxr-xr-x 6 root root 4096 2017-05-30 16:57 nginx-1.6.3#<==文件目錄已定制好 id nginx uid=888(nginx) gid=888(nginx) 組=888(nginx) #<==用戶也自動創建好
1.6 yum配置文件及命令
1.6.1 yum配置文件詳解
[root@m01 ~]# head -5 /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever#<==yum下載的RPM包的緩存目錄 keepcache=1#<==緩存是否保存,1保存,0不保存,默認為0 debuglevel=2#<==調試級別(0-10),默認為2 logfile=/var/log/yum.log#<==yum的日志文件所在的位置
1.6.2 yum命令詳解
功能 命令
安裝軟件包 yum install lrzsz -y
列出軟件包 yum list lrzsz
搜索軟件包 yum search lrzsz
查找某個特定文件屬于哪個軟件包 yum provides /etc/my.cnf
列出所有可用包組 yum grouplist
安裝包組 yum groupinstall 'Web Server' -y
列出啟用的yum倉庫 yum repolist
列出所有的yum倉庫 yum repolist all
清除yum緩存內容 yum clean all
生成緩存 yum makecache
查看yum歷史記錄※ yum history
安裝來自特定軟件庫的軟件包 yum --enablerepo=local install LNMP
不安裝來自特定軟件庫的軟件包 yum--enablerepo=local --disablerepo=base,extras,updates install LNMP
1.7 鏡像yum源
1.7.1 鏡像同步公網yum源
上游yum源必須要支持rsync協議,否則不能使用rsync進行同步。
http://mirrors.ustc.edu.cn/status/
CentOS官方標準源:rsync://mirrors.ustc.edu.cn/centos/
epel源:rsync://mirrors.ustc.edu.cn/epel/
1.7.2 同步命令
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/centos/6/os/x86_64/ /usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/ /data/yum_data/centos/6/extras/x86_64/ /usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ /data/yum_data/centos/6/updates/x86_64/ # epel源 /usr/bin/rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/
1.8 epel源
yum源稱為默認的軟件倉庫
epel源稱為擴展的軟件倉庫(Extra Packages for Enterprise Linux)
1.8.1 CentOS-Base源的優化
1、備份Base源
2、下載新的CentOS-Base.repo 到/etc/yum.repos.d/(阿里云)
3、之后運行yum makecache生成緩存
mv /etc/yum.repos.d/CentOS-Base.repo{,.ori} wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo yum clean all yum makecache
1.8.2 epel源的配置
1、備份(如有配置其他epel源)
2、下載新repo 到/etc/yum.repos.d/
mv /etc/yum.repos.d/epel.repo{,.ori} mv /etc/yum.repos.d/epel-testing.repo{,.ori} wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
2. 配置本地yum源-使用系統ISO鏡像
如果我們的電腦上不了網,就無法連網下載軟件包了,這時可以利用光盤ISO鏡像作為內網的yum源。
2.1 導入ISO鏡像
先在虛擬機那里,導入ISO鏡像。
2.2 掛載光驅鏡像
mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom/ df -h
2.3 自定義yum倉庫文件
cat /etc/yum.repos.d/chen.repo #<==注意這里的baseurl寫法! [chen] name=chen-repo baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0
2.4 測試
yum repolist 倉庫標識 倉庫名稱 狀態 chen chen-repo 6,518 repolist: 6,518
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。