首頁 > 軟體

CentOS7建立yum源

2020-06-16 16:52:53

yum: Yellowdog Updater Modified,具體命令請man yum

yum採用C/S架構,依靠yum倉庫,可以通過ftp,web,file來建立yum源,主要步驟:

建立yum源資料目錄
在yum ( /etc/yum/repos.d ) 倉庫中設定repo檔案

yum源資料目錄包含以下幾部分(可以通過createrepo工具和iso系統映象檔案中Packages目錄下的軟體包建立):

primary.xml.gz        所有rpm檔案列表;依賴關係;軟體包安裝列表
filelists.xml.gz      包含所有rpm包的所有列表
other.xml.gz          包含軟體包其他資訊,比如更改記錄
repomd.xml            包含primary/filelist/other時間戳和檢驗
comps.xml              包含軟體包組的列表

yum倉庫中含有多個以.repo結尾的yum原始檔,repo檔案的格式:

[name]
name=        //名稱
baseurl=          //yum源(或mirrorlist=)
enabled=      //是否啟用該yum倉庫
gpgcheak=        //是否進行完整性校驗和檢測
gpgkey=          //完整性檢驗和檢測檔案路徑(通常為/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever)

以下建立在虛擬機器上進行

    file:在本地建立yum源

建立yum源資料目錄

#mkdir /media/cdrom                //建立掛載點<br>#mount /dev/cdrom /media/cdrom          //掛載相應的iso映象檔案<br>#mkdir /opt/repo                        //在/opt目錄下建立yum源,作為源資料目錄<br>#cp /media/cdrom/Packages/* /opt/repo    //把軟體包複製到yum源資料目錄下<br>#yum -y install createrepo              //下載createrepo工具<br>#createrepo /opt/repo                    //使用createrepo工具建立yum源資料目錄<br><em>//createrepo會把/opt/repo目錄下原來的軟體包製作為yum源資料<br><br></em>//即primary.xml.gz  filelists.xml.gz  other.xml.gz  repomd.xml  comps.xml檔案

 

刪除原來存在的repo檔案,方便後面的檢測

#tar -cvf repos.tar /etc/yum.repos.d/*  //把/etc/yum.repos.d目錄下的repo檔案打包,作為備份
#rm -f CentOS*                          //刪除/etc/yum.repos.d目錄下的repo檔案

建立repo檔案 

#vim /etc/yum.repos.d/file.repo             
    [file]     
    name=file_repo
    baseurl=file:///opt/repo
    enabled = 1
    gpgcheck = 1
    gpgkey = file:///etc/pki/rpm_pgp/RPM-GPG-KEY-CentOS-7   

檢測

#yum -y install httpd vsftpd  //檢查能否成功安裝httpd與vsftpd工具

ftp:使用ftp在另外一台虛擬機器上(同網段)建立yum源 ( Linux中ftp的預設共用目錄:/var/ftp )

//host_01:yum源,host_01為存放yum源的主機
#mount /dev/cdrom /media
#yum -y install vsftpd
#systemctl start vsftpd
#cp -rf /media /var/ftp
//host_02:yum用戶端
#vim /etc/yum.repos.d/ftp.repo
  [ftp]
  name=ftp_repo
  baseurl=ftp://host_01_IP/media  //host_01_IP為yum源所在主機的IP地址
  enabled = 1
  gpgcheck = 1
  gpgkey = file:///etc/pki/rpm_pgp/RPM-GPG-KEY-CentOS-7 

web:使用httpd工具在另外一台虛擬機器上(同網段)建立yum源( Linux中httpd的預設共用目錄:/var/www/html )

//host_01:yum源,host_01為存放yum源的主機
#mount /dev/cdrom /media
#yum -y install httpd
#systemctl start httpd
#cp -rf /media/ /var/www/html
//host_02:yum用戶端
#vim /etc/yum.repos.d/http.repo
  [http]
  name=http_repo
  baseurl=http://host_01_IP/media      //host_01_IP為yum源所在主機的IP地址
  enabled = 1
  gpgcheck = 1
  gpgkey = file:///etc/pki/rpm_pgp/RPM-GPG-KEY-CentOS-7     

附國內yum源:

搜狐開源映象站: 
http://mirrors.sohu.com/
網易開源映象站:
htpp://mirrors.163.com/
北京理工大學: 
http://mirror.bit.edu.cn(IPv4 only)
http://mirror.bit6.edu.cn(IPv6 only)
北京交通大學:
http://mirror.bjtu.edu.cn(IPv4 only)
http://mirror6.bjtu.edu.cn(IPv6 only)
http://debian.bjtu.edu.cn(IPv4+IPv6)
蘭州大學:
http://mirror.lzu.edu.cn
廈門大學:
http://mirrors.xmu.edu.cn
清華大學:
http://mirrors.tuna.tsinghua.edu.cn(IPv4+IPv6)
http://mirrors.6.tuna.tsinghua.edu.cn(IPv6 only)
http://mirrors.4.tuna.tsinghua.edu.cn(IPv4 only)
天津大學:
http://mirror.tju.edu.cn
中國科學技術大學:
http://mirrors.ustc.edu.cn(IPv4+IPv6)
http://mirrors4.ustc.edu.cn(IPv4 only)
http://mirrors6.ustc.edu.cn(IPv6 only)
東北大學:
http://mirror.neu.edu.cn(IPv4 only)
http://mirror.neu6.edu.cn(IPv6 only)
電子科技大學:
http://Ubuntu.uestc.edu.cn

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-04/151968.htm


IT145.com E-mail:sddin#qq.com