標籤:centos7 yum
一、簡介
在linux系統上安裝軟體有三種方式,一、原始碼形式,絕大多數開源軟體都是直接以原始碼的形式發布,一般被打包成tar.gz的歸檔壓縮檔,這種原始碼形式的程式需要編譯成二進位形式之後才能夠運行使用,這種形式雖然相容性、可控性較好,但使用起來較為麻煩,有大量的依賴關係需要解決;二、RPM安裝包,RPM通過將原始碼基於特定平台系統編譯成可執行檔,並儲存依賴關係,簡化了開源軟體的安裝,但依然需要手工解決依賴關係;三、YUM軟體管理,YUM設計的主要目的就是自動解決RPM的依賴關係,可以對RPM進行分組,引入倉庫(repo)概念並支援多個倉庫,配置比較簡單。
YUM使用倉庫儲存管理RPM軟體包,倉庫的設定檔儲存在/etc/yum.repos.d/目錄下,CentOS內建的設定檔如下:
[[email protected] ~]# cd /etc/yum.repos.d/[[email protected] yum.repos.d]# lltotal 24-rw-r--r--. 1 root root 1664 Mar 31 15:27 CentOS-Base.repo-rw-r--r--. 1 root root 1309 Mar 31 15:27 CentOS-CR.repo-rw-r--r--. 1 root root 649 Mar 31 15:27 CentOS-Debuginfo.repo-rw-r--r--. 1 root root 290 Mar 31 15:27 CentOS-fasttrack.repo-rw-r--r--. 1 root root 1331 Mar 31 15:27 CentOS-Sources.repo-rw-r--r--. 1 root root 1002 Mar 31 15:27 CentOS-Vault.repo
將這幾個檔案刪除,rm -rf CentOS* 或則移除該檔案夾 mv CentOS* /yum。
二、手工配置YUM倉庫
1、將所有rpm軟體包拷貝到一個檔案夾下,這裡我們使用CentOS 7內建的rpm軟體包,在VMware物理機無法連網的情況下可以使用。將CentOS7安裝鏡像掛載在CentOS下,檔案預設路徑在/run/media/centostest/下,CentOS6儲存在/media/下,這裡centostest為自己的使用者名稱,rpm軟體包儲存在鏡像檔案Packages檔案夾下。
建立一個檔案夾並拷貝,拷貝時間會比較長,虛擬光碟片的話會快一點。
[[email protected] ~]# cd /[[email protected] /]# mkdir yum-packages[root[email protected] /]# cp -rv /run/media/centostest/CentOS\ 7\ x86_64/Packages/* /yum-packages/
2、通過rpm命令安裝createrepo軟體,createrepo軟體包就包含在前面拷貝的rpm檔案內。
安裝createrepo軟體,軟體名稱通過Tab鍵可以自動補全。
[[email protected] /]# cd yum-packages/[[email protected] yum-packages]# rpm -ivh createrepo-0.9.9-23.el7.noarch.rpm warning: createrepo-0.9.9-23.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEYPreparing... ################################# [100%] package createrepo-0.9.9-23.el7.noarch is already installed
3、運行createrepo命令建立索引
createrepo /yum-packages/
完成後會在yum-packages檔案夾下建立一個repodata的檔案夾,裡面儲存索引資訊。
4、添加設定檔
在/etc/yum.repos.d/檔案夾下添加設定檔。
[[email protected] yum-packages]# cd /etc/yum.repos.d/[[email protected] yum.repos.d]# vim ownyum.repo[[email protected] yum.repos.d]# cat ownyum.repo [centos]name = centos yumbaseurl = file:///yum-packages/[[email protected] yum.repos.d]#
這裡進行了最簡單的配置,[centos]、name 任意取名字就行,enabled、gpgcheck可配置也可不配置。
5、清空YUM Cache
使用yum clean all命令清空,並用yum list命令查看yum庫
[[email protected] yum.repos.d]# yum clean allLoaded plugins: fastestmirror, langpacksCleaning repos: centosCleaning up everythingCleaning up list of fastest mirrors[[email protected] yum.repos.d]# yum list
可以看到自己建立的yum倉庫資訊
xorg-x11-xbitmaps.noarch 1.1.1-6.el7 centos xpp3.noarch 1.1.3.8-11.el7 centos xrestop.x86_64 0.4-14.el7 centos xsane-common.x86_64 0.999-9.el7 centos xsane-gimp.x86_64 0.999-9.el7 centos xsettings-kde.x86_64 0.12.3-7.el7 centos xsom.noarch 0-10.20110809svn.el7 centos xterm.x86_64 295-3.el7 centos xulrunner.x86_64 31.4.0-1.el7.centos centos xz-devel.x86_64 5.1.2-9alpha.el7 centos yp-tools.x86_64 2.14-3.el7 centos ypbind.x86_64 3:1.37.1-7.el7 centos ypserv.x86_64 2.31-8.el7 centos yum-plugin-aliases.noarch 1.1.31-29.el7 centos yum-plugin-changelog.noarch 1.1.31-29.el7 centos yum-plugin-tmprepo.noarch 1.1.31-29.el7 centos yum-plugin-verify.noarch 1.1.31-29.el7 centos yum-plugin-versionlock.noarch 1.1.31-29.el7 centos zlib-devel.x86_64 1.2.7-13.el7 centos zsh.x86_64 5.0.2-7.el7 centos zziplib.x86_64 0.13.62-5.el7 centos
這裡的centos為[centos]裡面的名字。
CentOS 7手工建立自己的YUM倉庫