Linux網路服務之部署YUM倉庫
1 YUM簡介
1.1 YUM簡介
1.2 yum工作原理
#檢視光碟中自帶的Yum倉庫,可以看到Packages資料夾和repodata資料夾: [root@localhost ~]# mount /dev/sr0 /mnt //將光碟掛載到/mnt/目錄下 mount: /dev/sr0 防寫,將以只讀方式掛載 [root@localhost ~]# ls /mnt //檢視光碟內的包資料夾和後設資料資料夾 CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL
1.3 如何實現安裝服務
2 yum客戶端配置
/etc/yum.conf #為所有倉庫提供公共配置 /etc/yum.repos.d/*.repo #每個倉庫的配置檔案
2.1 yum主配置檔案
[root@localhost ~]# vim /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever //yum下載的RPM包的快取目錄, $basearch代表硬體架構,$releasever系統版本比如7 keepcache=0 //是否儲存快取 0代表不儲存,1代表儲存 debuglevel=2 //除錯級別(0-10),預設為2 logfile=/var/log/yum.log //日誌檔案位置 exactarch=1 //是否允許不同版本的rpm安裝 obsoletes=1 //這是一個update的引數,是否允許舊版本的執行 gpgcheck=1 //是否驗證GPG(GNU Private Guard)金鑰,1表示驗證 plugins=1 //是否允許外掛,1代表允許 installonly_limit=5 //儲存幾個核心 bugtracker_url= distroverpkg=centos-release # yum的repo配置檔案中可用的變數: $releasever: 當前OS的發行版的主版本號,如:8,7,6 $arch: CPU架構,如:aarch64, i586, i686,x86_64等 $basearch:系統基礎平臺;i386, x86_64 $contentdir:表示目錄,比如:centos-8,centos-7 $YUM0-$YUM9:自定義變數
2.2 yum倉庫配置檔案
2.2.1 倉庫配置檔案說明
[root@localhost yum.repos.d]# ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost yum.repos.d]# vim yuji.repo //yum倉庫配置檔案格式 [yuji] name=yuji #設定名稱 baseurl=file:///mnt #設定連結地址,file://是本地源的固定格式 enabled=1 #開啟此yum源 gpgcheck=0 #是否驗證公鑰,0表示無需驗證
# 本地源 本地目錄 file:// # 網路源 FTP服務 ftp:// HTTP服務 http:// 外網環境 https://
2.2.2 baseurl 指向的路徑
#阿里雲
#阿里雲
2.3 日誌檔案
[root@localhost yum.repos.d]# head -5 /var/log/yum.log //檢視日誌檔案 Jan 19 10:55:29 Installed: tree-1.6.0-10.el7.x86_64 Feb 21 23:21:53 Installed: finger-0.17-52.el7.x86_64 Mar 19 17:10:29 Updated: 32:bind-license-9.11.4-26.P2.el7_9.9.noarch Mar 19 17:10:30 Updated: 32:bind-libs-lite-9.11.4-26.P2.el7_9.9.x86_64 Mar 19 17:10:30 Updated: 32:bind-libs-9.11.4-26.P2.el7_9.9.x86_64
3 yum命令詳解
命令 | 不加關鍵字 | 加入關鍵詞、軟體包、軟體包組 |
---|---|---|
yum list | 顯示所有可用包 | 單個的可安裝包 |
yum info | 顯示所有可用包的資訊 | 單個具體的資訊 |
yum search | \ | 模糊查詢所有的相關資訊 |
yum whatprovides | \ | 精確查詢 |
yum install | \ | 安裝具體軟體包 |
yum update | 所有軟體升級,更新核心 | 具體軟體升級 |
yum upgrade | 只更新軟體包,但不更新核心 | 具體軟體更新 |
yum remove | \ | 解除安裝具體軟體 |
yum history | 檢視當前yum操作歷史 | \ |
yum history info | \ | 加序號列出某次事務的詳細資訊 |
yum history undo | \ | 加序號解除安裝序號裡安裝的軟體 |
yum history redo | \ | 加序號重新執行序號裡的操作 |
命令 | 不加關鍵字 | 加入關鍵詞、軟體包、軟體包組 |
---|---|---|
yum grouplist | 顯示所有可用包組 | 顯示具體的包組 |
yum groupinfo | 顯示所有的包組具體資訊 | 顯示具體的包組的具體資訊 |
yum groupinstall | \ | 安裝具體軟體包組 |
yum group update | 所有包組升級 | 具體包組升級 |
yum groupremove | \ | 解除安裝具體包組軟體 |
4 yum倉庫搭建方式
4.1 搭建本地yum倉庫
[root@localhost ~]# mount /dev/sr0 /mnt //將光碟掛載到/mnt目錄下 mount: /dev/sr0 防寫,將以只讀方式掛載 [root@localhost ~]# df -Th //檢視掛載是否成功 檔案系統 型別 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 10G 4.0G 6.1G 40% / devtmpfs devtmpfs 897M 0 897M 0% /dev tmpfs tmpfs 912M 0 912M 0% /dev/shm tmpfs tmpfs 912M 9.1M 903M 1% /run tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sdb5 xfs 2.0G 33M 2.0G 2% /data/bb /dev/sda1 xfs 1014M 179M 836M 18% /boot /dev/sdb1 xfs 10G 33M 10G 1% /data/aa /dev/mapper/vg01-lvmail xfs 13G 33M 13G 1% /data/mail tmpfs tmpfs 183M 12K 183M 1% /run/user/42 tmpfs tmpfs 183M 0 183M 0% /run/user/0 /dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
[root@localhost ~]# cd /etc/yum.repos.d/ //切換至/etc/yum.repos.d/目錄 [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost yum.repos.d]# mkdir aaa //建立一個名為aaa的新目錄 [root@localhost yum.repos.d]# mv *.repo aaa //將yum倉庫中以.repo結尾的檔案移動到aaa中 [root@localhost yum.repos.d]# ls aaa
[root@localhost yum.repos.d]# vim yuji.repo //新建yum倉庫檔案 [yuji] name=yuji #設定名稱 baseurl=file:///mnt #設定連結地址,file://是固定格式,指向/mnt enabled=1 #開啟此yum源 gpgcheck=0 #無需驗證公鑰
[root@localhost yum.repos.d]# yum clean all //清理yum快取 [root@localhost yum.repos.d]# yum makecache //重新建立後設資料 [root@localhost yum.repos.d]# yum list //檢視可安裝的軟體列表 [root@localhost yum.repos.d]# yum install dhcp -y //yum安裝dhcp測試是否成功
4.2 搭建阿里雲倉庫(http方式外網環境)
[root@localhost ~]# cd /etc/yum.repos.d/ //切換至/etc/yum.repos.d/目錄 [root@localhost yum.repos.d]# mkdir aaa [root@localhost yum.repos.d]# mv *.repo aaa //將yum倉庫中以.repo結尾的檔案移動到aaa中 [root@localhost yum.repos.d]# ls aaa
[root@localhost yum.repos.d]# vim ali.repo [ali] name=aliyun #baseurl=開啟哪個版本都可以正常使用,這邊主要解釋變數的作用 baseurl=os/$basearch/ gpgcheck=0 [epel] //epel源倉庫 name=epel baseurl= gpgcheck=0 [update] //更新包倉庫 name=update baseurl= gpgcheck=0
[root@localhost yum.repos.d]# yum clean all //清理yum快取 [root@localhost yum.repos.d]# yum makecache //重新建立後設資料 [root@localhost yum.repos.d]# yum list //檢視可安裝的軟體列表 [root@localhost yum.repos.d]# yum install tree -y //yum安裝tree測試是否成功
4.3 http方式搭建雲倉庫
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# cd /var/www/html //切換目錄 [root@localhost html]# ls [root@localhost html]# mkdir centos7 //新建目錄centos7 [root@localhost html]# mount /dev/sr0 ./centos7 //將光碟機掛載到centos7目錄下 mount: /dev/sr0 防寫,將以只讀方式掛載 [root@localhost html]# ls ./centos7 CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL
[root@localhost html]# systemctl stop firewalld [root@localhost html]# setenforce 0 setenforce: SELinux is disabled [root@localhost html]# systemctl start httpd
[root@192 ~]# cd /etc/yum.repos.d //客戶端切換目錄 [root@192 yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@192 yum.repos.d]# mkdir bak //新建資料夾 [root@192 yum.repos.d]# mv *.repo bak //將預設的倉庫檔案移動到該資料夾下 [root@192 yum.repos.d]# ls bak [root@192 yum.repos.d]# vim http.repo //編寫新的倉庫檔案 [http] name=http baseurl=http://192.168.72.10/centos7 enabled=1 gpgcheck=0
[root@192 yum.repos.d]# yum clean all && yum makecache 已載入外掛:fastestmirror, langpacks 正在清理軟體源: ftp Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors 已載入外掛:fastestmirror, langpacks ftp | 3.6 kB 00:00:00 (1/4): ftp/group_gz | 156 kB 00:00:00 (2/4): ftp/primary_db | 3.1 MB 00:00:00 (3/4): ftp/other_db | 1.2 MB 00:00:00 (4/4): ftp/filelists_db | 3.1 MB 00:00:00 Determining fastest mirrors 後設資料快取已建立 [root@192 yum.repos.d]# yum install ftp -y //測試yum安裝,可以成功安裝。
4.4 ftp方式搭建雲倉庫
[root@localhost html]# yum install vsftpd -y
[root@localhost html]# cd /var/ftp //切換到/ftp/var/目錄 [root@localhost ftp]# ls pub [root@localhost ftp]# mkdir centos //建立centos目錄 [root@localhost ftp]# [root@localhost ftp]# mount /dev/sr0 ./centos //將光碟機掛載到centos目錄下 mount: /dev/sr0 防寫,將以只讀方式掛載 [root@localhost ftp]# ls ./centos CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7 EFI images Packages RPM-GPG-KEY-CentOS-Testing-7 EULA isolinux repodata TRANS.TBL
[root@localhost ~]# systemctl start vsftpd [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# setenforce 0
[root@192 ~]# yum install ftp -y //安裝ftp程式 [root@192 ~]# ftp 192.168.72.10 //測試ftp服務能否正常訪問服務端 Connected to 192.168.72.10 (192.168.72.10). 220 (vsFTPd 3.0.2) Name (192.168.72.10:root): ftp 331 Please specify the password. Password: 230 Login successful. //可以正常訪問 Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (192,168,72,10,85,22). 150 Here comes the directory listing. drwxr-xr-x 8 0 0 2048 Sep 05 2017 centos drwxr-xr-x 2 0 0 6 Jun 09 2021 pub 226 Directory send OK. ftp> bye 221 Goodbye.
[root@192 ~]# cd /etc/yum.repos.d //切換目錄 [root@192 yum.repos.d]# ls bak2 CentOS-Debuginfo.repo CentOS-Sources.repo CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo CentOS-CR.repo CentOS-Media.repo [root@192 yum.repos.d]# mkdir bak1 //新建資料夾 [root@192 yum.repos.d]# mv *.repo bak1 //將預設的倉庫檔案移動到該目錄下 [root@192 yum.repos.d]# ls bak1 bak2 [root@192 yum.repos.d]# vim ftp.repo //編寫新的倉庫檔案 [ftp] name=ftp baseurl=ftp://192.168.72.10/centos //路徑指向服務端的/var/ftp/centos/目錄 enabled=1 gpgcheck=0
[root@192 yum.repos.d]# yum clean all && yum makecache 已載入外掛:fastestmirror, langpacks 正在清理軟體源: ftp Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors 已載入外掛:fastestmirror, langpacks ftp | 3.6 kB 00:00:00 (1/4): ftp/group_gz | 156 kB 00:00:00 (2/4): ftp/primary_db | 3.1 MB 00:00:00 (3/4): ftp/other_db | 1.2 MB 00:00:00 (4/4): ftp/filelists_db | 3.1 MB 00:00:00 Determining fastest mirrors 後設資料快取已建立 [root@192 yum.repos.d]# yum install httpd -y //測試yum安裝,可以成功安裝。
4.5 搭建本地epel源倉庫
[root@localhost ~]# yum install epel-release //安裝epel源 [root@localhost ~]# mkdir centos7 //新建centos7目錄 [root@localhost ~]# reposync -r epel -p /centos7/ & //下載同步epel源軟體包,下載到/centos7/目錄下,&表示放到後臺下載 [root@localhost ~]# ls /centos7 epel
[root@localhost ~]# yum -y install createrepo //安裝createrepo命令 [root@localhost ~]# createrepo -v /centos7/epel //建立後設資料(軟體目錄、依賴關係) [root@localhost ~]# cd /centos7/epel //切換到centos7/epel 目錄下 [root@localhost epel]# ls //檢視軟體包和後設資料 Packages repodata
[root@localhost ~]# cd /etc/yum.repos.d/ //切換至/etc/yum.repos.d/目錄 [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost yum.repos.d]# mkdir aaa //建立一個名為aaa的新目錄 [root@localhost yum.repos.d]# mv *.repo aaa //將yum倉庫中以.repo結尾的檔案移動到aaa中 [root@localhost yum.repos.d]# ls aaa [root@localhost yum.repos.d]# vim epellocal.repo //新建yum倉庫檔案 [epellocal] name=epellocal #設定名稱 baseurl=file:///centos7/epel #設定連結地址,路徑指向/centos7/epel目錄 enabled=1 #開啟此yum源 gpgcheck=0 #無需驗證公鑰
baseurl=http://192.168.72.10/centos7/epel //http方式 baseurl=ftp://192.168.72.10/centos7/epel //ftp方式
5 小貼士
5.1 使用命令方式生成倉庫檔案
wget -O /etc/yum.repos.d/name.repo(自定義以repo結尾的檔名) 源路徑
wget -O /etc/yum.repos.d/Centos-7.repo
yum-config-manager --add-repo=file:// yum-config-manager --add-repo=ftp://
yum-config-manager --add-repo=file:///mnt //使用本地源 yum-config-manager --add-repo=ftp://192.168.72.10/centos7 //ftp方式搭建
5.2 下載依賴包到本地(但不安裝)
yum install --downloadonly +軟體名稱 --downloaddir=指定rpm包存放路徑
yum install nginx --downloadonly --downloaddir=/mnt/nginx
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2883695/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux網路-Yum倉庫Linux
- Linux部署YUM倉庫Linux
- 部署YUM倉庫及NFS共享服務NFS
- linux之frp服務部署(內網穿透)LinuxFRP內網穿透
- RHEL6搭建網路yum源軟體倉庫
- yum倉庫搭建
- CentOS自建yum倉庫CentOS
- 如何配置Yum倉庫?
- linux yum 源部署Linux
- 搭建私有YUM倉庫與內網映象站內網
- Firewalld共享上網及本地yum倉庫搭建
- Linux 部署 Nginx 服務LinuxNginx
- 建設yum源倉庫
- yum配置及倉庫搭建
- 使用nexus搭建yum倉庫
- Linux-DHCP服務部署Linux
- Linux系統學習(四)Linux網路服務Linux
- 使用OSS搭建私有云內網yum倉庫的方法內網
- 在Linux系統上部署docker私有倉庫LinuxDocker
- RDP服務之GoldBrute殭屍網路Go
- YUM倉庫配置及命令詳解
- linux就該這麼學第8章使用 iSCSI 服務部署網路儲存Linux
- linux之nfs服務LinuxNFS
- linux之lsync服務Linux
- 如何在Linux下部署Samba服務?LinuxSamba
- rhel 7.6使用映象做本地yum倉庫
- 用Apache服務部署網站Apache網站
- Linux構建Git程式碼倉庫與自動部署LinuxGit
- Docker構建服務之部署和備份Jekyll網站Docker網站
- 簡要介紹Linux網路服務的種類Linux
- Linux 網路通訊管理和系統服務管理Linux
- Linux下cifs公用網際網路系統和samba服務LinuxSamba
- Linux雲服務部署Spring boot專案LinuxSpring Boot
- linux安裝nodejs及服務部署(二)LinuxNodeJS
- 微服務Consul系列之服務部署、搭建、使用微服務
- CentOS部署Harbor映象倉庫CentOS
- linux 基於YUM方式部署MYSQL8.0LinuxMySql
- linux之網路配置Linux