溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

自建YUM倉庫

發(fā)布時(shí)間:2020-07-26 17:52:52 來源:網(wǎng)絡(luò) 閱讀:469 作者:hucsxz 欄目:系統(tǒng)運(yùn)維

一、自建YUM倉庫

當(dāng)網(wǎng)絡(luò)不好時(shí),或者說根本鏈接不上官方y(tǒng)um倉庫,以及第三方y(tǒng)um倉庫(zabbix源)等,我們就需要自建一個(gè)yum倉庫來滿足我們需要。除了網(wǎng)絡(luò)條件以外,還有我們生產(chǎn)環(huán)境需要發(fā)布,更新自己軟件,我們可以將這些軟件打包成RPM包,放到自己的倉庫,然后在各個(gè)機(jī)器執(zhí)行yum更新。

1.1 使用一些RPM包自建一個(gè)YUM倉庫

  1. 在目錄/data/yum/repo/custom準(zhǔn)備了如下的RPM包。根據(jù)自己的需求準(zhǔn)備RPM包

    $ pwd
    /data/yum/repo/custom
    $ tree .
    .
    ├── dos2unix-3.1-37.el6.x86_64.rpm
    └── iftop-1.0-0.21.pre4.el7.src.rpm
    
    0 directories, 2 files
  2. 創(chuàng)建repodata

    $ yum install -y createrepo
    $ createrepo /data/yum/repo/custom/
    Spawning worker 0 with 2 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    $ ls /data/yum/repo/custom/
    dos2unix-3.1-37.el6.x86_64.rpm  iftop-1.0-0.21.pre4.el7.src.rpm  repodata

    createrepo完成之后能夠看到在/data/yum/repo/custom目錄多出一個(gè)repodata目錄

至此yum倉庫已經(jīng)搭建完成,剩下的操作為將這個(gè)倉庫發(fā)布出去,讓其他用戶能夠訪問。發(fā)布的方式有http, ftp, rsync, filesystem。當(dāng)發(fā)布完成之后之后,用戶配置好yum源即可訪問了。

二、發(fā)布我們的YUM倉庫

2.1 使用HTTP方式發(fā)布

  1. 在yum倉庫所在機(jī)器搭建Nginx

    $ yum install -y nginx
  2. /etc/nginx/nginx.conf內(nèi)容替換成如下

    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
            root /data/yum/repo/custom;
            autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;
        }
    }
  3. 重啟nginx

    $ systemctl restart nginx

此時(shí)在瀏覽器中訪問http://your_host, 應(yīng)能夠看到我們yum倉庫的兩個(gè)包。

至此yum倉庫已經(jīng)發(fā)布完成,剩下需要用戶配置yum源,指向自建的倉庫。

三、配置yum源

這一步屬于用戶的操作,當(dāng)用戶需要使用我們的yum源時(shí),應(yīng)當(dāng)做此步操作。

假定我們yum倉庫的地址為http://192.168.30.10, 名稱為loveshell,那么我們需要在/etc/yum.repos.d/目錄下創(chuàng)建文件lovezsh.repo, 其內(nèi)容如下:

[lovezsh]
name=lovezsh
baseurl=http://192.168.30.10
enable=1
gpgcheck=0
priority=1

然后,我們需要執(zhí)行

$ yum clean all
$ yum makecache

添加完成之后我們執(zhí)行yum repolist能夠開到一個(gè)名叫lovezsh的yum源

$ yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.cn99.com
 * updates: mirror.bit.edu.cn
lovezsh                                                                                                                    | 2.9 kB  00:00:00     
lovezsh/primary_db                                                                                                         | 2.3 kB  00:00:00     
repo id                                                repo name                                                                            status
base/7/x86_64                                          CentOS-7 - Base                                                                      10,097
epel/x86_64                                            Extra Packages for Enterprise Linux 7 - x86_64                                       13,517
extras/7/x86_64                                        CentOS-7 - Extras                                                                       323
lovezsh                                                lovezsh                                                                                   2
updates/7/x86_64                                       CentOS-7 - Updates                                                                    1,115
repolist: 25,054

不同發(fā)布方式,我們需要使用不同baseurl, 如使用文件系統(tǒng),則是 file:///data/yum/repo/custom

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI