CentOS上でローカルエリアネットワーク(ローカルを含む)YUMソースを構築する

9653 ワード

文書ディレクトリ
  • 構築前準備
  • rpm格納ディレクトリ
  • を作成する.
  • rpmパック
  • を準備する
  • 方式一
  • 方式二
  • repoライブラリ
  • を作成する
  • createrepoコマンド
  • をインストールする
  • repo倉庫
  • を作成する
  • repoファイル作成
  • OpenResty取付
  • 構成nginx.confファイル
  • repoファイル
  • の構成
  • 検査
  • 構築前の準備
    rpm保存ディレクトリの作成
    [root@localhost ~]# mkdir -p /data1/centos/8
    

    rpmパックの準備
    方式一
    reposyncを使用してミラーライブラリをローカルに同期します.
    方式2
    ミラーファイルをマウントするには、次の手順に従います.
  • 使用可能なデバイスを表示する
  • [root@localhost ~]# lsblk
    NAME                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sr0                          11:0    1   3.5G  0 rom  /mnt
    sda                           8:0    0     8G  0 disk
    ├─sda1                        8:1    0   500M  0 part /boot
    └─sda2                        8:2    0   7.5G  0 part
      ├─VolGroup-lv_root (dm-0) 253:0    0   5.6G  0 lvm  /
      └─VolGroup-lv_swap (dm-1) 253:1    0     2G  0 lvm  [SWAP]
    sdb                           8:16   0 133.3G  0 disk /data1
    
  • マウント装置
  • [root@localhost ~]# mount /dev/sr0 /mnt/
    mount: block device /dev/sr0 is write-protected, mounting read-only
    
  • rpmパケット
  • をコピー
    [root@localhost ~]# cp -R /mnt/AppStream/Packages/* /data1/centos/8/
    [root@localhost ~]# cp /mnt/Packages/* /data1/centos/6/
    

    repoライブラリの作成
    createrepoコマンドのインストール
    [root@localhost ~]# rpm -ivh /data1/centos/8/createrepo_c-0.11.0-3.el8.x86_64.rpm
    error: Failed dependencies:
    	createrepo_c-libs = 0.11.0-3.el8 is needed by createrepo_c-0.11.0-3.el8.x86_64
    	libcreaterepo_c.so.0()(64bit) is needed by createrepo_c-0.11.0-3.el8.x86_64
    	libdrpm.so.0()(64bit) is needed by createrepo_c-0.11.0-3.el8.x86_64
    [root@localhost ~]# rpm -ivh /data1/centos/8/drpm-0.3.0-14.el8.x86_64.rpm
    Verifying...                          ################################# [100%]
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:drpm-0.3.0-14.el8                ################################# [100%]
    [root@localhost ~]# rpm -ivh /data1/centos/8/createrepo_c-libs-0.11.0-3.el8.x86_64.rpm
    Verifying...                          ################################# [100%]
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:createrepo_c-libs-0.11.0-3.el8   ################################# [100%]
    [root@localhost ~]# rpm -ivh /data1/centos/8/createrepo_c-0.11.0-3.el8.x86_64.rpm
    Verifying...                          ################################# [100%]
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:createrepo_c-0.11.0-3.el8        ################################# [100%]
    

    repo倉庫の作成
    [root@localhost ~]# createrepo /data1/centos/8/
    

    repoファイルの作成
    [root@localhost ~]# yum clean all
    [root@localhost ~]# cd /etc/yum.repos.d/
    [root@localhost yum.repos.d]# mkdir repo_bak
    [root@localhost yum.repos.d]# mv *.repo repo_bak/
    [root@localhost yum.repos.d]# touch CentOS-Base.repo
    

    CentOS-Base.repoファイルの内容は次の通りです.
    [base]
    name=CentOS-$releasever - Base
    baseurl=///data1/centos/8
    enabled=1
    gpgcheck=0
    

    yum repolistコマンドをうまく使えば次のような出力になります
    [root@localhost yum.repos.d]# yum repolist
    CentOS-8 - Base                                                                                                                             216 MB/s | 7.4 MB     00:00
    Last metadata expiration check: 0:00:01 ago on Fri 10 Apr 2020 10:10:48 PM CST.
    repo id                                                                        repo name                                                                              status
    base                                                                           CentOS-8 - Base                                                                        6,774
    
    

    ここまでローカルのyumソースが使用可能になりましたので、OpenRestyを利用してローカルエリアネットワークyumソースを構築します.
    OpenRestyインストール
    OpenRestyコンパイルインストール
    nginx.confファイルの構成
    [root@localhost ~]# cd /usr/local/openresty/nginx/conf/
    [root@localhost conf]# mkdir online
    [root@localhost conf]# cp nginx.conf mime.types online/
    [root@localhost online]# mv nginx.conf repo.conf
    

    repo.confのlocationコンテンツを次のコードブロックの内容に変更します.
            location / {
                root   /data1;
                autoindex on;
            }
    

    repoファイルの構成
    CentOS-Base.repoファイルのbaseurlの変更
    [root@localhost online]# cat /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base
    #baseurl=/data1/centos/8
    baseurl=http://192.168.3.9:80/centos/$releasever
    enabled=1
    gpgcheck=0
    

    けんさ
    パッケージをインストールするか、次のようにチェックできます.
    [root@localhost online]# yum clean all
    5 files removed
    [root@localhost online]# yum makecache
    CentOS-8 - Base                                                                                                                             171 MB/s | 7.4 MB     00:00
    Last metadata expiration check: 0:00:02 ago on Fri 10 Apr 2020 10:32:16 PM CST.
    Metadata cache created.
    [root@localhost online]# yum repolist
    Last metadata expiration check: 0:00:11 ago on Fri 10 Apr 2020 10:32:16 PM CST.
    repo id                                                                        repo name                                                                              status
    base                                                                           CentOS-8 - Base                                                                        6,774