溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

搭建yum倉庫

發(fā)布時間:2020-08-10 16:53:30 來源:網(wǎng)絡(luò) 閱讀:6143 作者:陳發(fā)哥007 欄目:建站服務(wù)器

1.1 導(dǎo)言

YUM英文全稱是Yellow Dog Updater Modified。

YUM主要用于自動安裝、升級rpm軟件包,它能自動查找并解決rpm包之間的依賴關(guān)系。要成功的使用YUM工具安裝更新軟件或系統(tǒng),就需要有一個包含各種rpm軟件包的repository(軟件倉庫),這個軟件倉庫我們習(xí)慣稱為yum源。網(wǎng)絡(luò)上有大量的yum源,但由于受到網(wǎng)絡(luò)環(huán)境的限制,導(dǎo)致軟件安裝耗時過長甚至失敗。特別是當(dāng)有大量服務(wù)器大量軟件包需要安裝時,緩慢的進(jìn)度條令人難以忍受。因此在優(yōu)化系統(tǒng)時,都會更換國內(nèi)的源。

相比較而言,本地YUM源服務(wù)器最大優(yōu)點是局域網(wǎng)的快速網(wǎng)絡(luò)連接和穩(wěn)定性。有了局域網(wǎng)中的YUM源服務(wù)器,即便在Internet連接中斷的情況下,也不會影響其他YUM客戶端的軟件安裝和升級。

http://mirrors.aliyun.com/ #<==阿里云開源鏡像站點

http://mirrors.163.com/   #<==網(wǎng)易開源鏡像站點


1.2 yum工作原理

實質(zhì)其實是更換下載地址而已!

當(dāng)我們用yum命令安裝apache時,工作流程如下:

1.yum -y install httpd

2.查找yum倉庫配置文件:/etc/yum.repos.d/CentOS-Base.repo,這個文件里面就有下載地址

3.CentOS系統(tǒng)默認(rèn)會到國外的軟件倉庫下載rpm軟件包

4.但是,國外的源比較慢,因此,系統(tǒng)優(yōu)化時會換成阿里云的源

5.如果內(nèi)網(wǎng)的網(wǎng)速帶寬有限時,阿里云的源下載也會慢,因此,搭建內(nèi)網(wǎng)的yum源,把公網(wǎng)的和自己做的rpm都放進(jìn)去,可以完美的解決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 創(chuàng)建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服務(wù)

可以用Apache或nginx提供web服務(wù),但用Python的http模塊更簡單,適用于內(nèi)網(wǎng)環(huán)境。

注意:必須確保80端口沒有被占用。

cd /application/yum/centos6.7/x86_64/
python -m SimpleHTTPServer 80 &>/dev/null &
lsof -i :80


用IE輸入網(wǎng)址:10.1.8.33,可看到下面的內(nèi)容,說明可提供給內(nèi)網(wǎng)用戶下載了。

搭建yum倉庫

 

1.4.4 將本地光盤的rpm包復(fù)制到對應(yīng)目錄

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 #<==清空本機(jī)已有yum緩存
yum repolist #<==列出可用的yum倉庫
yum list #<==列表顯示yum倉庫里的rpm包

[root@node4 /etc/yum.repos.d]# cat local.repo #<==自定義yum倉庫
[chen] #<==倉庫標(biāo)識
name=c6.7-repo#<==倉庫名稱
baseurl=http://10.1.8.33#<==訪問該倉庫的方式
enable=1#<==啟用這個軟件倉庫
gpgcheck=0#<==下載的rpm包不進(jìn)行g(shù)pg校驗

[root@node4 /etc/yum.repos.d]# yum repolist
倉庫標(biāo)識           倉庫名稱                 狀態(tài)
chen               c6.7-repo                18
repolist: 18


1.5.1 安裝定制好的nginx包(見證奇跡)

前面所有的操作,就是為了這一步。

yum install -y nginx
總計        6.5 MB/s | 7.7 MB     00:01   #<==內(nèi)網(wǎng)的下載速度非???!

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) #<==用戶也自動創(chuàng)建好

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不保存,默認(rèn)為0
debuglevel=2#<==調(diào)試級別(0-10),默認(rèn)為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緩存內(nèi)容           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 鏡像同步公網(wǎng)yum源

上游yum源必須要支持rsync協(xié)議,否則不能使用rsync進(jìn)行同步。

http://mirrors.ustc.edu.cn/status/ 

CentOS官方標(biāo)準(zhǔn)源: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源稱為默認(rèn)的軟件倉庫

  • epel源稱為擴(kuò)展的軟件倉庫(Extra Packages for Enterprise Linux)


1.8.1 CentOS-Base源的優(yōu)化

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源-使用系統(tǒng)ISO鏡像

如果我們的電腦上不了網(wǎng),就無法連網(wǎng)下載軟件包了,這時可以利用光盤ISO鏡像作為內(nèi)網(wǎng)的yum源。


2.1 導(dǎo)入ISO鏡像

先在虛擬機(jī)那里,導(dǎo)入ISO鏡像。

搭建yum倉庫

 

2.2 掛載光驅(qū)鏡像

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 
倉庫標(biāo)識        倉庫名稱                  狀態(tài)
chen            chen-repo                 6,518
repolist: 6,518


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI