天天看點

Linux軟體管理(四):yum倉庫制作

Linux軟體管理(四):yum倉庫制作

yum的配置

yum的配置一般有兩種方式:

1.全局配置檔案/etc/目錄下的yum.conf

2.子配置檔案/etc/yum.repos.d/目錄下的所有.repo檔案

vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release


vim /etc/yum.repos.d/epel.repo

           

yum倉庫制作

要先了解YUM的配置檔案中的一些參數含義

# 比如:vim /etc/yum.repos.d/CentOS-Base.repo


[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
      http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
      http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7


......




[]         //倉庫名稱
name       //倉庫描述資訊
baseurl     //YUM源url位址 ,可以是file:// ftp:// http://
enabled      //是否激活該YUM源(0代表禁用,1代表激活,預設為激活)
gpgcheck     //安裝軟體時是否檢查簽名(0代表禁用,1代表激活)           

例子1:本地yum源

#挂載
[root@localhost ~]# mount /dev/cdrom /mnt
#把原來的源打包備份
[root@localhost ~]# gzip /etc/yum.repos.d/*  
#建立新倉庫vim
[root@localhost ~]# vim /etc/yum.repos.d/自己起的名.repo  
[xxxxx]      
 name=This is local cdrom
# baseurl=file:///mnt   可以是file:// ftp:// http://   這裡位址為自己的CD光牒挂載位址/mnt
 enabled=1
 gpgcheck=0           

例子2: 一台虛拟機做yum源,另一台ftp去使用

第一台:

#安裝服務
[root@localhost /var/ftp/pub]# yum install -y vsftpd


#挂載
[root@localhost ~]# mount /dev/cdrom /mnt


# 在 /var/ftp/pub下建立一個/base一個/epel
[root@localhost ~]# cd /var/ftp
[root@localhost /var/ftp]# ll
total 0
drwxr-xr-x. 2 root root 6 Jun 10  2021 pub


[root@localhost /var/ftp/pub]# mkdir base
[root@localhost /var/ftp/pub]# mkdir epel
[root@localhost /var/ftp/pub]# ll
total 0
drwxr-xr-x. 2 root root 6 Aug 31 11:30 base
drwxr-xr-x. 2 root root 6 Aug 31 11:30 epel


#從挂載光驅複制東西過去
[root@localhost ~]# cp /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm /var/ftp/pub/base
[root@localhost /var/ftp]# cp /mnt/Packages/zip-3.0-11.el7.x86_64.rpm /var/ftp/pub/base
[root@localhost /var/ftp]# cp /mnt/Packages/gzip-1.5-10.el7.x86_64.rpm /var/ftp/pub/base
[root@localhost /var/ftp]# cp /mnt/Packages/pcre-devel-8.32-17.el7.x86_64.rpm /var/ftp/pub/epel


#看一下,已經有了
[root@localhost /var/ftp/pub/base]# ll    
total 920
-rw-r--r--. 1 root root 132636 Aug 31 19:29 gzip-1.5-10.el7.x86_64.rpm
-rw-r--r--. 1 root root  47508 Aug 31 11:41 tree-1.6.0-10.el7.x86_64.rpm
-rw-r--r--. 1 root root 266160 Aug 31 19:28 zip-3.0-11.el7.x86_64.rpm
[root@localhost /var/ftp/pub/epel]# ll
total 480
-rw-r--r--. 1 root root 491272 Aug 31 19:34 pcre-devel-8.32-17.el7.x86_64.rpm


#啟動下vsftpd服務
[root@localhost /var/ftp/pub/epel]# vsftpd
這時就可以看到           
#安裝createrepo
[root@localhost /var/ftp/pub/epel]# yum install -y createrepo
[root@localhost /var/ftp/pub/epel]# createrepo /var/ftp/pub     用createrepo指令把這個/pub目錄變成倉庫
[root@localhost /var/ftp/pub]# ll                               看一下生成了個repodata  
total 4
drwxr-xr-x. 2 root root  109 Aug 31 19:34 base
drwxr-xr-x. 2 root root   47 Aug 31 19:34 epel
drwxr-xr-x. 2 root root 4096 Aug 31 19:54 repodata           

第二台

#把原來的源打包備份
[root@localhost ~]# gzip /etc/yum.repos.d/*  
[root@localhost yum.repos.d]# ll
total 28
-rw-r--r--. 1 root root 549 Nov 23  2018 CentOS-Base.repo.gz
-rw-r--r--. 1 root root 735 Nov 23  2018 CentOS-CR.repo.gz
-rw-r--r--. 1 root root 426 Nov 23  2018 CentOS-Debuginfo.repo.gz
-rw-r--r--. 1 root root 232 Nov 23  2018 CentOS-fasttrack.repo.gz
-rw-r--r--. 1 root root 381 Nov 23  2018 CentOS-Media.repo.gz
-rw-r--r--. 1 root root 506 Nov 23  2018 CentOS-Sources.repo.gz
-rw-r--r--. 1 root root 633 Nov 23  2018 CentOS-Vault.repo.gz
#自己建一個
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/xxx.repo
#在裡面修改下:
[xxxbase_epel]
name=這是我的倉庫臭丁丁
baseurl=ftp://10.0.0.250/pub (第一台機器的位址)
gpgcheck=0
enabled=1


#拿[root@zls ~]# yum repolist看一眼


#拿tree實驗下 發現安裝時裡面Repository項變xxxbase_epel   成功。           

繼續閱讀