linux 搭建局域網YUM源倉庫服務器


 yum簡介

  Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。

  借助於YUM軟件倉庫,可以完成安裝、卸載、自動升級rpm軟件包等任務,能夠自動查找並解決rpm包之間的依賴關系,而無需管理員,手工去安裝每個rpm包,使管理員在維護大量Linux服務器時更加輕松自如。特別是擁有大量Linux主機的本地網絡中,構建一台源服務器可以大大緩解軟件安裝、升級等對lnterner的依賴。

  yum服務器搭建

  yum服務器概述

  yum軟件倉庫通常借助HTTP或FTP協議來進行發布,這樣可以面向網絡中的所有客戶機提供軟件源服務。為了便於客戶機查詢軟件包,獲取依賴關系等信息,在軟件倉庫中需要提供倉庫數據(Repodata),其中收集了目錄下所有rpm包的頭部信息。

  准備網絡安裝源(服務器端)

  (1)准備軟件倉庫目錄

  光盤中的軟件包拷貝CentOS6.5第一張光盤內容到本地FTP服務器匿名訪問用戶的根目錄下

  [root@localhost ~]# cd /var/ftp/

  [root@localhost ftp]# mkdir centos6

  [root@localhost ftp]# cp -rf /media/CentOS_6.5_Final/* /var/ftp/centos6/ &

  [1] 45717

  [root@localhost ftp]# jobs

  [1]+ Done cp -i -rf /media/CentOS_6.5_Final/* /var/ftp/centos6/

  [root@localhost ksh]# cp /media/CentOS_6.5_Final/Packages/ksh-20120801-10.el6.x86_64.rpm /var/ftp/ksh/

  [root@localhost ksh]# cp /media/CentOS_6.5_Final/Packages/mksh-39-7.el6_4.1.x86_64.rpm /var/ftp/ksh/

  [root@localhost ksh]# ls

  ksh-20120801-10.el6.x86_64.rpm mksh-39-7.el6_4.1.x86_64.rpm

  未安裝createrepo包需要先安裝

  [root@localhost ksh]# yum -y install createrepo

  [root@localhost ksh]# createrepo -v ./

  Spawning worker 0 with 2 pkgs

  Worker 0: reading ksh-20120801-10.el6.x86_64.rpm

  Worker 0: reading mksh-39-7.el6_4.1.x86_64.rpm

  Workers Finished

  Gathering worker results

  Saving Primary metadata

  Saving file lists metadata

  Saving other metadata

  Generating sqlite DBs

  Starting other db creation: Thu May 31 18:20:51 2018

  Ending other db creation: Thu May 31 18:20:51 2018

  Starting filelists db creation: Thu May 31 18:20:51 2018

  Ending filelists db creation: Thu May 31 18:20:51 2018

  Starting primary db creation: Thu May 31 18:20:51 2018

  Ending primary db creation: Thu May 31 18:20:51 2018

  Sqlite DBs complete

  [root@localhost ksh]# ls

  ksh-20120801-10.el6.x86_64.rpm mksh-39-7.el6_4.1.x86_64.rpm repodata

  安裝並啟動vsftpd服務(詳見FTP服務內容)

  [root@localhost ksh]# service vsftpd restart

  關閉 vsftpd: [確定]

  為 vsftpd 啟動 vsftpd: [確定]

  [root@localhost ksh]# chkconfig vsftpd on

  [root@localhost ksh]# chkconfig vsftpd --list

  vsftpd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉

  配置yum軟件倉庫位置(客戶機端)

  典型倉庫配置

  內網YUM源

  [root@n2 ~]# cd /etc/yum.repos.d/

  [root@n2 yum.repos.d]# ls

  CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo

  [root@n2 yum.repos.d]# mkdir bak

  [root@n2 yum.repos.d]# mv *o ./bak/

  [root@n2 yum.repos.d]# ls

  bak

  [root@n2 yum.repos.d]# vim amber.repo

  [yum]

  name=centos 6.5

  baseurl=ftp://192.168.28.128/centos6/

  gpgcheck=0

  enabled=1

  [ksh]

  name=ksh

  baseurl=ftp://192.168.28.128/ksh/

  gpgcheck=0

  enabled=1

  ~

  [root@n2 ~]# yum -y clean all

  Loaded plugins: fastestmirror, refresh-packagekit, security

  Cleaning repos: ksh yum

  Cleaning up Everything

  Cleaning up list of fastest mirrors

  [root@n2 ~]# yum makecache

  Loaded plugins: fastestmirror, refresh-packagekit, security

  Determining fastest mirrors

  ksh | 2.9 kB 00:00

  ksh/filelists_db | 1.1 kB 00:00

  ksh/primary_db | 3.3 kB 00:00

  ksh/other_db | 2.2 kB 00:00

  yum | 4.0 kB 00:00

  yum/group_gz | 220 kB 00:00

  yum/filelists_db | 5.8 MB 00:00

  yum/primary_db | 4.4 MB 00:00

  yum/other_db | 2.7 MB 00:00

  Metadata Cache Created

  查看yum緩存是否生成

  [root@n2 ~]# ls /var/cache/yum/x86_64/6/

  base extras ksh timedhosts.txt updates yum

  [root@n2 ~]# ls /var/cache/yum/x86_64/6/yum/

  0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c-primary.sqlite

  594d4bb4a79ed01d66635adbcf76c45ca4a85b30fc3e3c3c28316e64f0a83f21-filelists.sqlite

  ca525c73086186bfcb81ad9edd45796026dac7e4e50524e0f2daf901532aaf66-c6-x86_64-comps.xml.gz

  cachecookie

  fdd542ef36b0cde54ee0521fae90b98911db06483163aa1c049995b6d109349b-other.sqlite

  gen

  packages

  repomd.xml

  [root@n2 ~]# ls /var/cache/yum/x86_64/6/ksh

  046862454d1aa798eb72c70668a54e25905c276a613fd0cc15abdf13fc20d6de-filelists.sqlite

  38c945c0799d8cfb481c6145b8c227b1f2ef91100f3b7bc8cad97645594f4643-primary.sqlite

  cachecookie

  fe7ae063ad2b6e2c4bcdbc676581ac33eb74c0645132fb0c4bac78f24300ffb5-other.sqlite

  packages

  repomd.xml

  測試

  [root@n2 ~]# yum -y install dhcp

  Loaded plugins: fastestmirror, refresh-packagekit, security

  Loading mirror speeds from cached hostfile

  Setting up Install Process

  Resolving Dependencies

  --> Running transaction check

  ---> Package dhcp.x86_64 12:4.1.1-38.P1.el6.centos will be installed

  --> Finished Dependency Resolution

  Dependencies Resolved

  ========================================================================================================================================================

  Package Arch Version Repository Size

  ========================================================================================================================================================

  Installing:

  dhcp x86_64 12:4.1.1-38.P1.el6.centos yum 817 k

  Transaction Summary

  ========================================================================================================================================================

  Install 1 Package(s)

  Total download size: 817 k

  Installed size: 1.9 M

  Downloading Packages:

  dhcp-4.1.1-38.P1.el6.centos.x86_64.rpm | 817 kB 00:00

  Running rpm_check_debug

  Running Transaction Test

  Transaction Test Succeeded

  Running Transaction

  Warning: RPMDB altered outside of yum.

  Installing : 12:dhcp-4.1.1-38.P1.el6.centos.x86_64 1/1

  Verifying : 12:dhcp-4.1.1-38.P1.el6.centos.x86_64 1/1

  Installed:

  dhcp.x86_64 12:4.1.1-38.P1.el6.centos

  Complete!

  注意;因為ksh包在光盤中存在,所以需先修改repo文件后重建yum緩存再進行安裝測試,否則安裝的是光盤中的包。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM