自己動手製作一個本地的yum倉庫
阿新 • • 發佈:2019-01-06
製作本地yum源有兩種方式,第一種是使用光碟映象,然後在本地進行安裝。第二種是我們自己建立一個本地yum倉庫,然後使用file的形式來向本地提供yum repo(也可以使用http的方式向外部提供,我們這裡就自己給自己建立yum倉庫)
1、把從網上下載的rpm包放在本地的某個資料夾裡面
我們可以這樣子下載,使用yum下載rpm包但是並不安裝
yum groupinstall "Development tools" --downloadonly --downloaddir=./
[[email protected] yum]# pwd /data/yum #我是把RPM包放在了/data/yum目錄下 [[email protected] yum]# ls autoconf-2.69-11.el7.noarch.rpm intltool-0.50.2-7.el7.noarch.rpm automake-1.13.4-3.el7.noarch.rpm libquadmath-devel-4.8.5-36.el7.x86_64.rpm bison-3.0.4-2.el7.x86_64.rpm libtool-2.4.2-22.el7_3.x86_64.rpm byacc-1.9.20130304-3.el7.x86_64.rpm patch-2.7.1-10.el7_5.x86_64.rpm cscope-15.8-10.el7.x86_64.rpm patchutils-0.3.3-4.el7.x86_64.rpm ctags-5.8-13.el7.x86_64.rpm perl-Git-1.8.3.1-20.el7.noarch.rpm diffstat-1.57-4.el7.x86_64.rpm rcs-5.9.0-5.el7.x86_64.rpm doxygen-1.8.5-3.el7.x86_64.rpm redhat-rpm-config-9.1.0-87.el7.centos.noarch.rpm flex-2.5.37-6.el7.x86_64.rpm rpm-build-4.11.3-35.el7.x86_64.rpm gcc-4.8.5-36.el7.x86_64.rpm rpm-sign-4.11.3-35.el7.x86_64.rpm gcc-c++-4.8.5-36.el7.x86_64.rpm subversion-1.7.14-14.el7.x86_64.rpm gcc-gfortran-4.8.5-36.el7.x86_64.rpm swig-2.0.10-5.el7.x86_64.rpm gettext-devel-0.19.8.1-2.el7.x86_64.rpm systemtap-3.3-3.el7.x86_64.rpm git-1.8.3.1-20.el7.x86_64.rpm systemtap-devel-3.3-3.el7.x86_64.rpm indent-2.2.11-13.el7.x86_64.rpm
2、下載製作本地yum的命令程式包
建立倉庫需要特定的程式包來完成。我們下載這個程式包
yum install createrepo
3、確保防火牆關閉狀態
4、開始建立yum倉庫,在rpm包存放的所在的目錄下執行createrepo命令。
[[email protected] yum]# createrepo ./ Spawning worker 0 with 29 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
建立完成後我們會看到這個目錄repodata,這個目錄很是關鍵,
5、在/etc/yum.repos.d目錄下建立配置檔案。(我這裡是以本地file的形式給自己的主機提供yum源,如果你要在區域網內的其他主機可以訪問到,則使用http或ftp的形式進行,比如:base=http://{當前yum源所在主機的IP}/{RPM軟體包目錄})
[[email protected] yum.repos.d]# cat CentOS-BenDi.repo [Centos-BenDi] name=centos yum repo baseurl=file:///data/yum enabled=1 gpgcheck=0 priority=1
7、更新本地快取即可
yum clean all
yum makecache
8、嘗試安裝一個本地存在的軟體包gcc
[[email protected] yum.repos.d]# yum install gcc 已載入外掛:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * epel: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.163.com * updates: centos.mirrors.estointernet.in 正在解決依賴關係 --> 正在檢查事務 ---> 軟體包 gcc.x86_64.0.4.8.5-36.el7 將被 安裝 --> 解決依賴關係完成 依賴關係解決 ======================================================================================================== Package 架構 版本 源 大小 ======================================================================================================== 正在安裝: gcc x86_64 4.8.5-36.el7 Centos-BenDi 16 M 事務概要 ======================================================================================================== 安裝 1 軟體包 總下載量:16 M 安裝大小:37 M Is this ok [y/d/N]: y
上面我們可以看到下載gcc包使用的正是我們剛剛我們製作的本地yum源。
9、我們還可以這樣子檢測是否使用了本地yum源
[[email protected] yum]# yum repolist 已載入外掛:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * epel: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.163.com * updates: centos.mirrors.estointernet.in 源標識 源名稱 狀態 Centos-BenDi centos yum repo 29 base/7/x86_64 CentOS-7 - Base 10,019 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 12,851 extras/7/x86_64 CentOS-7 - Extras 321 updates/7/x86_64 CentOS-7 - Updates 625 repolist: 23,845
你看第一個就是我們自己製作的本地yum源。