基于HTTP 構(gòu)建本地YUM 源
YUM 軟件包管理
概述
前端軟件包管理器(Yellow Updater Modified,YUM)適用于Cent OS、Fedora、Red Hat及SUES中的Shell命令行
主要用于管理RPM包,于RPM工具使用范圍類似,YUM工具能夠從指定的服務器自動下載RPM包并且安裝,還可以自動處理依賴性關(guān)系。
使用RPM工具管理和安裝軟件時,會發(fā)現(xiàn)rpm包有依賴,需要逐個手動下載安裝
YUM工具的最大便利就是可以自動安裝所有依賴的軟件包,從而提升效率,節(jié)省時間。
工作原理
YUM正常運行,需要依賴兩個部分,一是YUM源端,二是YUM客戶端,也即用戶使用端。
YUM客戶端安裝的所有RPM包都是來自YUM服務端,YUM源端通過HTTP或者FTP服務器發(fā)布。
而YUM客戶端能夠從YUM源端下載依賴的RPM包是由于在YUM源端生成了RPM包的基準信息,包括RPM包版本號、配置文件、二進制信息、依賴關(guān)系等。
YUM客戶端需要安裝軟件或者搜索軟件,會查找/etc/yum.repos.d下以.repo結(jié)尾文件, CentOS Linux默認的.repo文件名為CentOS-Base.repo,該文件中配置了YUM源端的鏡像地址,所以每次安裝、升級RPM包,YUM客戶端均會查找.repo文件。
YUM客戶端如果配置了CentOS官方repo源,客戶端操作系統(tǒng)必須能聯(lián)外網(wǎng),滿足網(wǎng)絡條件,才能下載軟件并安裝,如果沒有網(wǎng)絡,也可以構(gòu)建光盤源或者內(nèi)部YUM源。在只要YUM客戶端時,YUM客戶端安裝軟件,默認會把YUM源地址、Header信息、軟件包、數(shù)據(jù)庫信息、緩存文件存儲在/var/cache/yum中,每次使用YUM工具,YUM優(yōu)先通過Cache查找相關(guān)軟件包,Cache中不存在,然后在訪問外網(wǎng)YUM源。
企業(yè)案列演練
由于YUM工具的使用簡便、快捷、高效,在企業(yè)中得到廣泛的使用,得到眾多IT運維、程序人員的青睞,要能熟練使用YUM工具,需要先掌握YUM命令行參數(shù)的使用
YUM 常用命令參數(shù):
[root@hbs ~]# yum makecache 緩存 [root@hbs ~]# yum -y install httpd 安裝httpd軟件包 [root@hbs ~]# yum search lrzsz YUM搜索lrzsz軟件包 [root@hbs ~]# yum list httpd 顯示指定程序包安裝情況httpd [root@hbs ~]# yum list all 顯示所有已安裝及可安裝的軟件包 [root@hbs ~]# yum remove httpd 刪除程序包httpd [root@hbs ~]# yum erase httpd 刪除程序包httpd [root@hbs ~]# yum update httpd 升級httpd 服務 [root@hbs ~]# yum provides ifconfig 列出ifconfig命令是那個軟件包提供的 [root@hbs ~]# yum grouplist 查詢可以用安裝的組 [root@hbs ~]# yum update 內(nèi)核升級或者軟件更新(慎用)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
配置本地源
1、進入到/etc/yum.repos.d/目錄中(因為該目錄存放yum倉庫的配置文件。)
2、 使用vim命令創(chuàng)建一個后綴名.repo的新配置文件逐行添加配置參數(shù)
[media] :Yum軟件倉庫唯一標識符,避免與其他倉庫沖突。 name=localhost:Yum軟件倉庫的名稱描述,易于識別倉庫用處。 baseurl=file:///mnt/cdrom:提供的方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)。 enabled=1:設(shè)置此源是否可用;1為可用,0為禁用。 gpgcheck=0:設(shè)置此源是否校驗文件;1為校驗,0為不校驗。 gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release:若上面參數(shù)開啟校驗,那么請指定公鑰文件地址。(ll /mnt/RPM-GPG-KEY-CentOS-7) priority=1 priority 越小表示優(yōu)先級越高
1
2
3
4
5
6
7
8
基于ISO 構(gòu)建本地YUM 源
[root@hbs ~]# cat /etc/yum.repos.d/hbs.repo [xx] name=hbs baseurl=file:///mnt enabled=1 gpgcheck=0 gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7 指定載目錄下的GPG-KEY文件驗證。 [root@hbs ~]#
1
2
3
4
5
6
7
8
3、 掛載光盤步驟
[root@hbs ~]# mount /dev/cdrom /mnt/ 掛在光盤 mount: /dev/sr0 is write-protected, mounting read-only [root@hbs ~]# [root@hbs ~]# df -h 查看掛在情況 Filesystem Size Used Avail Use% Mounted on /dev/sda3 20G 1.6G 18G 8% / devtmpfs 901M 0 901M 0% /dev tmpfs 912M 0 912M 0% /dev/shm tmpfs 912M 9.0M 903M 1% /run tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 197M 121M 77M 62% /boot tmpfs 183M 0 183M 0% /run/user/0 `/dev/sr0 4.3G 4.3G 0 100% /mnt` [root@hbs ~]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
4、開啟開機自啟動掛載
方式一:vim /etc/fstab
方式二:vim /etc/rc.local
[root@hbs ~]# cat /etc/fstab |grep iso9660 在/etc/fstab文件下面添加 /dev/cdrom /mnt iso9660 defaults 0 0 [root@hbs ~]# 添加:/dev/cdrom /mnt iso9660 defaults 0 0 [root@hbs ~]# cat /etc/rc.local |grep /mnt 在/etc/rc.local下面添加 /dev/cdrom /mnt [root@hbs ~]# 添加:/dev/cdrom /mnt
1
2
3
4
5
6
7
8
9
10
11
12
13
配置163的網(wǎng)絡源
網(wǎng)絡源地址
網(wǎng)易倉庫:http://mirrors.163.com/.help/centos.html
Centos7:http://mirrors.163.com/.help/CentOS7-Base-163.repo
Centos6:http://mirrors.163.com/.help/CentOS6-Base-163.repo
阿里倉庫:http://mirrors.aliyun.com/repo/
Centos7:http://mirrors.aliyun.com/repo/Centos-7.repo
Centos6: http://mirrors.aliyun.com/repo/Centos-6.repo
openstack: http://mirrors.aliyun.com/repo/Centos-openstack.repo
基于HTTP 構(gòu)建局域 網(wǎng)絡源
YUM光盤源默認只能本機使用,局域網(wǎng)其他服務器無法使用YUM光盤源,如果想使用的話,需要在每臺服務器上構(gòu)建YUM本地源,該方案在企業(yè)中不可取,所以需要構(gòu)建HTTP局域網(wǎng)YUM源解決,可以通過CreateRepo創(chuàng)建本地YUM源端,repo即為Repository。
構(gòu)建HTTP局域網(wǎng)YUM源方法及步驟如下:
1、掛載光盤鏡像文件至/mnt
[root@hbs ~]# mount /dev/cdrom /mnt/ mount: /dev/sr0 is write-protected, mounting read-only
1
2
2、 拷貝/mnt/Packages目錄下所有軟件包至/var/www/html/centos/
[root@hbs ~]# mkdir -p /var/www/html/centos/ [root@hbs ~]# cp -R /mnt/Packages/* /var/www/html/centos/
1
2
3
3、使用Createrepo創(chuàng)建本地源,執(zhí)行如下命令會在Centos目錄生成repodata目錄
[root@hbs ~]# yum -y install createrepo* 先安裝 createrepo 軟件包 [root@hbs ~]# cd /var/www/html/ [root@hbs html]# ls centos [root@hbs html]# createrepo centos/ 生成網(wǎng)絡源
1
2
3
4
5
6
7
8
4、利用HTTP發(fā)布YUM本地源
本地YUM源通過CreateRepo搭建完畢,需要借助HTTP WEB服務器發(fā)布/var/www/html/centos/中所有軟件,YUM或者RPM安裝HTTP WEB服務器,并啟動httpd服務。
[root@hbs html]# yum -y install httpd-devel [root@hbs ~]# getenforce 關(guān)閉selinux,建議關(guān)閉后重啟下 Disabled [root@hbs ~]# [root@hbs ~]# systemctl stop firewalld 關(guān)閉防火墻 [root@hbs ~]# systemctl stop httpd [root@hbs ~]# systemctl start httpd 重新啟動httpd [root@hbs ~]# ps -e|grep httpd 查看HTTPD進程是否啟動 17340 ? 00:00:00 httpd 17341 ? 00:00:00 httpd 17342 ? 00:00:00 httpd 17343 ? 00:00:00 httpd 17344 ? 00:00:00 httpd 17345 ? 00:00:00 httpd [root@hbs ~]#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
5、在YUM客戶端,創(chuàng)建/etc/yum.repos.d/http.repo文件,寫入如下內(nèi)容
[root@localhost yum.repos.d]# cat http.repo [http] name="CentOS7 HTTP YUM" baseurl=http://192.168.10.11/centos/ gpgcheck=0 enabled=1 [updates] name="CentOS7 HTTP YUM" baseurl=http://192.168.10.11/centos gpgcheck=0 enabled=1 [root@localhost yum.repos.d]# yum -y install vim Loaded plugins: fastestmirror http | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/2): http/primary_db | 3.0 MB 00:00:00 (2/2): updates/primary_db | 3.0 MB 00:00:00 Determining fastest mirrors
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CentOS HTTP yum
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。