共計(jì) 10454 個(gè)字符,預(yù)計(jì)需要花費(fèi) 27 分鐘才能閱讀完成。
這篇文章主要介紹了 rhel6.3 中 yum 源如何配置,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
環(huán)境:RHEL6.3
創(chuàng)建本地 yum 源步驟如下:
1、首先檢查是否有 YUM 命令,如果沒有請(qǐng)安裝
#rpm -ivh yum-3.2.29-30.el6.noarch.rpm
再次檢查是否有 createrepo,如果沒有請(qǐng)安裝 createrepo 包,裝這個(gè)包之前先裝以下兩個(gè)包;
[root@localhost Packages]# rpm -ivh deltarpm-3.5-0.5.20090913git.el6.i686.rpm
warning: deltarpm-3.5-0.5.20090913git.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing… ########################################### [100%]
1:deltarpm ########################################### [100%][root@localhost Packages]# rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm
warning: python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing… ########################################### [100%]
1:python-deltarpm ########################################### [100%][root@localhost Packages]#rpm -ivh createrepo-0.9.8-5.el6.noarch.rpm
2、新建本地源目錄
#mkdir /Packages # 存放本地 YUM 所需的文件
將光盤上的 Packages 下的所有安裝包都放置到這個(gè)目錄中,還有把光盤上的 RPM-GPG-KEY-redhat-release 也拷貝到這個(gè)目錄中
3. 在 /Packages 目錄下,執(zhí)行 createrepo /Packages
2842/2842 – xorg-x11-fonts-misc-7.2-9.1.el6.noarch.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
會(huì)生成 repodata 目錄,并有四個(gè)關(guān)鍵文件,現(xiàn)在查看一下
[root@localhost Packages]# ls -d */
HighAvailability/ images/ isolinux/ LoadBalancer/ repodata/
[root@localhost Packages]# cd repodata
[root@localhost repodata]# ls
filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml
注:repodata 作為軟件的倉(cāng)庫(kù),其目錄下有四個(gè)必要文件:filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml(md 意思是 metadata),其中最主要的是 repomd.xml 文件。一般出現(xiàn)的找不到 repodata 目錄或文件的錯(cuò)誤的原因通常有三個(gè):一是路徑問(wèn)題;二是沒有生成 repodata 目錄;三是 *.repo 配置文件沖突(這個(gè)需要特別注意,需要將 /etc/yum.repos.d 下的其他 repo 文件的 enabled= 0 設(shè)置或者刪除其他的 repo 文件)。以上四個(gè)文件要建立 yum 庫(kù)后才會(huì)出現(xiàn),在下面的示例中,路徑為:/Packages /repodata/
4. 在 /etc/yum.repos.d 下新建一個(gè) yum.repo。內(nèi)容如下:
[RHEL]
name=rhel6.3
baseurl=file:///Packages
gpgcheck=1
gpgkey=file:///Packages/RPM-GPG-KEY-redhat-release
enabled=1
解釋:
[….] 代表這個(gè)庫(kù)的名字,必須是唯一的,不可以重復(fù)。
name= 是這個(gè)庫(kù)的說(shuō)明,沒有太大的實(shí)際意義,只是一個(gè)字段說(shuō)明。
baseurl= 說(shuō)明采取什么方式傳輸,具體路徑在哪里,可以使用的方式有,file://,ftp://,http:// 等
enabled=1 說(shuō)明啟用這個(gè)更新庫(kù),0 表示不啟用。
gpgcheck=0 表示不使用 gpg 文件來(lái)檢查軟件包的簽名 1 表示使用簽名
gpgkey= 表示 gpg 文件所存放的位置,此處也可以有 http 方式的位置。
到此就可以測(cè)試 yum 庫(kù)創(chuàng)建是否成功了。
5、測(cè)試一下
[root@localhost /]# yum -y install telnet*
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Setting up Install Process
Resolving Dependencies
— Running transaction check
— Package telnet.i686 1:0.17-47.el6 will be installed
— Package telnet-server.i686 1:0.17-47.el6 will be installed
— Processing Dependency: xinetd for package: 1:telnet-server-0.17-47.el6.i686
— Running transaction check
— Package xinetd.i686 2:2.3.14-34.el6 will be installed
— Finished Dependency Resolution
Dependencies Resolved
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
telnet i686 1:0.17-47.el6 RHEL 57 k
telnet-server i686 1:0.17-47.el6 RHEL 36 k
Installing for dependencies:
xinetd i686 2:2.3.14-34.el6 RHEL 121 k
Transaction Summary
===============================================================================================
Install 3 Package(s)
Total download size: 214 k
Installed size: 409 k
Downloading Packages:
Error Downloading Packages:
1:telnet-0.17-47.el6.i686: failure: Packages/telnet-0.17-47.el6.i686.rpm from RHEL: [Errno 256] No more mirrors to try.
2:xinetd-2.3.14-34.el6.i686: failure: Packages/xinetd-2.3.14-34.el6.i686.rpm from RHEL: [Errno 256] No more mirrors to try.
1:telnet-server-0.17-47.el6.i686: failure: Packages/telnet-server-0.17-47.el6.i686.rpm from RHEL: [Errno 256] No more mirrors to try.
發(fā)現(xiàn)安裝失敗,沒有自己發(fā)現(xiàn)軟件包之間的依賴關(guān)系。更新一下
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Cleaning repos: RHEL
Cleaning up Everything
然后再裝,就可以了
[root@localhost yum.repos.d]# yum -y install telnet*
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
RHEL | 1.3 kB 00:00 …
RHEL/primary | 1.3 MB 00:00 …
RHEL 2842/2842
Setting up Install Process
Resolving Dependencies
— Running transaction check
— Package telnet.i686 1:0.17-47.el6 will be installed
— Package telnet-server.i686 1:0.17-47.el6 will be installed
— Processing Dependency: xinetd for package: 1:telnet-server-0.17-47.el6.i686
— Running transaction check
— Package xinetd.i686 2:2.3.14-34.el6 will be installed
— Finished Dependency Resolution
Dependencies Resolved
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
telnet i686 1:0.17-47.el6 RHEL 57 k
telnet-server i686 1:0.17-47.el6 RHEL 36 k
Installing for dependencies:
xinetd i686 2:2.3.14-34.el6 RHEL 121 k
Transaction Summary
===============================================================================================
Install 3 Package(s)
Total download size: 214 k
Installed size: 409 k
Downloading Packages:
———————————————————————————————–
Total 4.1 MB/s | 214 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 2:xinetd-2.3.14-34.el6.i686 1/3
Installing : 1:telnet-server-0.17-47.el6.i686 2/3
Installing : 1:telnet-0.17-47.el6.i686 3/3
Installed products updated.
Verifying : 1:telnet-server-0.17-47.el6.i686 1/3
Verifying : 2:xinetd-2.3.14-34.el6.i686 2/3
Verifying : 1:telnet-0.17-47.el6.i686 3/3
Installed:
telnet.i686 1:0.17-47.el6 telnet-server.i686 1:0.17-47.el6
Dependency Installed:
xinetd.i686 2:2.3.14-34.el6
Complete!
做一下 YUM 的緩存,方便加速
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
RHEL | 1.3 kB 00:00 …
RHEL/filelists | 2.9 MB 00:00 …
RHEL/other | 1.3 MB 00:00 …
RHEL 2842/2842
RHEL 2842/2842
Metadata Cache Created
提醒注意:yum install [軟件名] 這里最好不要用全名,雖然有些包的安裝也是可以的。但是本人測(cè)試,遇到安裝失敗的麻煩。
一些有用的 YUM 命令:
yum remove | erase 軟件名 1 [軟件名 2] […]
yum list […]
yum info […]
yum provides | whatprovides feature1 [feature2] […]
yum clean [packages | headers | metadata | dbcache | all]
yum makecache
自動(dòng)分析依賴性關(guān)系是 YUM 最好的一個(gè)特點(diǎn),也是目前最方便的安裝方法。
用的上的命令
createrepo –update /Packages/ # 更新本地源, 如果新增了 RPM 包
createrepo /Packages/ # 重新生成 metadata
createrepo –update:
有時(shí)候你的軟件倉(cāng)庫(kù)中含有很多的軟件包,雖然只是其中的一小部分有所改動(dòng)但是你卻不必為每個(gè)軟件包重新產(chǎn)生元數(shù)據(jù),這樣做明顯太浪費(fèi)時(shí)間了。createrepo 只更新那些在上次產(chǎn)生元數(shù)據(jù)之后被改變,添加或者刪除了的項(xiàng)目.
使用 ftp 做 yum 源
上面的設(shè)置只能使本機(jī)使用 yum 源,為了使其他機(jī)器也可以使用,所以在源機(jī)器上配置 ftp server
1. yum install vsftpd
2. 在其他機(jī)器上通過(guò) ftp 命令訪問(wèn)測(cè)試,如果出現(xiàn) 500 OOPS: cannot change directry, 那么在源機(jī)器執(zhí)行 setsebool -P ftp_home_dir on,然后 service vsftpd restart
3. 在 /var/ftp/pub 下面做 mount, 而不是做符號(hào)鏈接,因?yàn)槿绻欠?hào)鏈接那么從瀏覽器訪問(wèn)會(huì)出現(xiàn) 550 Failed to change directory. 當(dāng)然也可以把 /Packages 下的所有拷貝到 pub 下。
#mkdir /rh75
#umount /dev/sr0
# mount /dev/sr0 /rh75
cd /var/ftp/pub , mkdir yum, mount –bind /rh75 yum
4. 設(shè)置 yum ftp 連接方式(包括源機(jī)器也可以這樣設(shè)置,兩邊的 repo 可以一樣)
/etc/yum.repos.d 下修改一下 yum.repo
[RHEL1]
name=rhel6.3
baseurl=ftp://192.168.1.130/pub/yum/
gpgcheck=0
enabled=1
使用 HTTP 做 YUM 源
1 安裝 httpd 安裝包 #yum -y install httpd
2 如上創(chuàng)建本地更新源
#cd /var/www/html/
#mkdir yum
# mount –bind /rh75 /yum
或者比如 yum 文件都在 /rh75 下
[root@localhost html]# vi /etc/yum.repos.d/yum.repo
[root@localhost html]# cat /etc/yum.repos.d/yum.repo
[RHEL]
name=rhel6.3
baseurl=http://192.168.1.130/yum/
gpgcheck=0
enabled=1
3 service httpd start # 啟動(dòng) httpd 守護(hù)進(jìn)程,否則在其他機(jī)器上會(huì)提示找不到相關(guān)源
4 測(cè)試一下
[root@localhost yum.repos.d]# rpm -qa|grep telnet
[root@localhost yum.repos.d]# yum -y install telnet*
Installed:
telnet.i686 1:0.17-47.el6 telnet-server.i686 1:0.17-47.el6
Dependency Installed:
xinetd.i686 2:2.3.14-34.el6
Complete!
使用 ISO 光盤直接掛成本地 YUM 源
1、先把 ISO 光盤掛接到系統(tǒng),然后 mount 看一下
[root@localhost network-scripts]# mount
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext= system_u:object_r:tmpfs_t:s0)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/sr0 on /media/RHEL_6.3 i386 Disc 1 type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)
2、接著在根下或在其他目錄建一個(gè)目錄
#cd /
#mkdir rhel6
#umount /dev/sr0
# mount /dev/sr0 /rhel6
3、編輯 REPO 文件
#cd /etc/yum.repos.d
#vi yum.repo
[RHEL]
name=rhel6.3
baseurl=file:///rhel6 (如果是 rhel5, 則是 file:///rhel5/Server, 因?yàn)?repodata/repomd.xml 不在光盤根下)
enabled=1
# service iptables stop
# setenforce 0
# yum -y install telnet
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
RHEL | 4.0 kB 00:00 …
RHEL/primary_db | 2.5 MB 00:00 …
Setting up Install Process
Resolving Dependencies
— Running transaction check
— Package telnet.i686 1:0.17-47.el6 will be installed
— Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
telnet i686 1:0.17-47.el6 RHEL 57 k
Transaction Summary
================================================================================
Install 1 Package(s)
Total download size: 57 k
Installed size: 102 k
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Public key for telnet-0.17-47.el6.i686.rpm is not installed
注意這是出現(xiàn) NOKEY 錯(cuò)誤,檢查 YUM.REPO 文件沒有問(wèn)題,那么需要看 yum.conf 主配文件
#cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
將 /etc/yum.conf 中的 gpgcheck= 1 改為 gpgcheck=0(不檢查軟件包簽名)即可。
注:在做 YUM 源時(shí),確保源和使用源的 LINUX 主機(jī)的 REPO 文件和 yum.conf 文件配置一致。
最后再試就正常了
#yum -y install telnet
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 1:telnet-0.17-47.el6.i686 1/1
Installed products updated.
Verifying : 1:telnet-0.17-47.el6.i686 1/1
Installed:
telnet.i686 1:0.17-47.el6
Complete!
vim /etc/udev/rules.d/70-persistent-net.rules
vim /etc/sysconfig/network-scripts/ifcfg-eth0
感謝你能夠認(rèn)真閱讀完這篇文章,希望丸趣 TV 小編分享的“rhel6.3 中 yum 源如何配置”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!