2019年1月5日土曜日

Oracle Linux 7 のローカル Yum リポジトリを構築してみる。

Oracle Linux 7 のローカル Yum リポジトリを作成します。
今回は、Oracle OpenStack R5 の環境構築で利用するため、
ol7_openstack50 リポジトリも含めます。



YUM リポジトリの作成。

今回の Yum リポジトリにする Oracle Linux 7 では、
SELinux は無効で、firewalld(iptables)もサービスを無効にしています。
[root@infra-repo-01 ~]# cat /etc/oracle-release
Oracle Linux Server release 7.6
[root@infra-repo-01 ~]# getenforce
Disabled
[root@infra-repo-01 ~]# systemctl is-enabled firewalld
disabled

最新の Oracle Public Yum サーバの .repo ファイルをダウンロードします。
[root@infra-repo-01 ~]# curl -o /etc/yum.repos.d/public-yum-ol7.repo http://yum.oracle.com/public-yum-ol7.repo

登録してあるリポジトリの一覧です。
[root@infra-repo-01 ~]# cat /etc/yum.repos.d/public-yum-ol7.repo | grep -E "\[|enable" | xargs -n 2 | awk '{print $2, $1}'
enabled=1 [ol7_latest]
enabled=0 [ol7_u0_base]
enabled=0 [ol7_u1_base]
enabled=0 [ol7_u2_base]
enabled=0 [ol7_u3_base]
enabled=0 [ol7_u4_base]
enabled=0 [ol7_u5_base]
enabled=0 [ol7_u6_base]
enabled=1 [ol7_UEKR5]
enabled=0 [ol7_UEKR4]
enabled=0 [ol7_UEKR3]
enabled=0 [ol7_security_validation]
enabled=0 [ol7_optional_latest]
enabled=0 [ol7_addons]
enabled=0 [ol7_UEKR3_OFED20]
enabled=0 [ol7_UEKR5_RDMA]
enabled=0 [ol7_UEKR4_OFED]
enabled=0 [ol7_kvm_utils]
enabled=0 [ol7_MySQL80]
enabled=0 [ol7_MySQL57]
enabled=0 [ol7_MySQL56]
enabled=0 [ol7_MySQL55]
enabled=0 [ol7_openstack50]
enabled=0 [ol7_openstack50_extras]
enabled=0 [ol7_openstack40]
enabled=0 [ol7_openstack40_extras]
enabled=0 [ol7_openstack30]
enabled=0 [ol7_openstack_extras]
enabled=0 [ol7_openstack21]
enabled=0 [ol7_openstack20]
enabled=0 [ol7_ceph30]
enabled=0 [ol7_ceph]
enabled=0 [ol7_ceph10]
enabled=0 [ol7_software_collections]
enabled=0 [ol7_spacewalk24_server]
enabled=0 [ol7_spacewalk24_client]
enabled=0 [ol7_spacewalk26_server]
enabled=0 [ol7_spacewalk26_client]
enabled=0 [ol7_spacewalk27_server]
enabled=0 [ol7_spacewalk27_client]
enabled=0 [ol7_MODRHCK]
enabled=0 [ol7_gluster312]
enabled=0 [ol7_oracle_instantclient]
enabled=0 [ol7_preview]
enabled=0 [ol7_developer]
enabled=0 [ol7_developer_EPEL]
enabled=0 [ol7_developer_gluster310]
enabled=0 [ol7_developer_php72]
enabled=0 [ol7_developer_php71]
enabled=0 [ol7_developer_php70]
enabled=0 [ol7_developer_nodejs4]
enabled=0 [ol7_developer_nodejs6]
enabled=0 [ol7_developer_nodejs8]
enabled=0 [ol7_developer_nodejs10]
enabled=0 [ol7_developer_golang111]
enabled=0 [ol7_developer_golang110]
enabled=0 [ol7_developer_UEKR5]
enabled=0 [ol7_developer_kvm_utils]
enabled=0 [ol7_latest_archive]
enabled=0 [ol7_optional_archive]
enabled=0 [ol7_UEKR5_archive]
enabled=0 [ol7_UEKR4_archive]
enabled=0 [ol7_u6_developer]
enabled=0 [ol7_optional_developer]

yum-utils と createrepo をインストールします。
[root@infra-repo-01 ~]# yum install -y yum-utils createrepo

Yum リポジトリにするディレクトリを作成しておきます。
[root@infra-repo-01 ~]# mkdir -p /data/yum

必要なチャネルにある、最新のパッケージのみをダウンロードします。
[root@infra-repo-01 ~]# reposync --newest-only --repoid=ol7_openstack50 --download_path=/data/yum
[root@infra-repo-01 ~]# reposync --newest-only --repoid=ol7_latest --download_path=/data/yum
[root@infra-repo-01 ~]# reposync --newest-only --repoid=ol7_UEKR5 --download_path=/data/yum
[root@infra-repo-01 ~]# reposync --newest-only --repoid=ol7_addons --download_path=/data/yum
[root@infra-repo-01 ~]# reposync --newest-only --repoid=ol7_optional_latest --download_path=/data/yum

リポジトリを作成します。
[root@infra-repo-01 ~]# createrepo --update /data/yum/ol7_openstack50
[root@infra-repo-01 ~]# createrepo --update /data/yum/ol7_latest
[root@infra-repo-01 ~]# createrepo --update /data/yum/ol7_UEKR5
[root@infra-repo-01 ~]# createrepo --update /data/yum/ol7_addons
[root@infra-repo-01 ~]# createrepo --update /data/yum/ol7_optional_latest

Yum リポジトリむけ Web サーバの用意。

今回は、Oracle Linux 7 同梱の httpd を利用します。

httpd をインストールします。
[root@infra-repo-01 ~]# yum install -y httpd

httpd での公開ディレクトリのドキュメントルート配下に、
Yum リポジトリへのシンボリックリンクを作成します。
[root@infra-repo-01 ~]# ln -s /data/yum /var/www/html/yum

Auto Index でファイル名の省略を避けるため、下記の設定ファイルを追加しておきます。
[root@infra-repo-01 ~]# cat /etc/httpd/conf.d/autoindex-add.conf
IndexOptions +NameWidth=*

httpd を起動します。
[root@infra-repo-01 ~]# systemctl enable httpd
[root@infra-repo-01 ~]# systemctl start httpd
[root@infra-repo-01 ~]# systemctl is-enabled httpd
enabled
[root@infra-repo-01 ~]# systemctl is-active httpd
active

Yum クライアントでの .repo ファイルの用意。

yum コマンドを実行する Oracle Linux 7 側には、
下記のような内容の ~.repo ファイルを用意しておきます。
「infra-repo-01.go-lab.jp」の部分は、Yum リポジトリのアドレスを指定します。
[root@localhost ~]# cat /etc/yum.repos.d/*.repo
[local_ol7_UEKR5]
baseurl = http://infra-repo-01.go-lab.jp/yum/ol7_UEKR5/
gpgcheck = 0
name = Home Lab - UEK R5

[local_ol7_latest]
baseurl = http://infra-repo-01.go-lab.jp/yum/ol7_latest/
gpgcheck = 0
name = Home Lab - OL7 Latest

[local_ol7_ol7_addons]
baseurl = http://infra-repo-01.go-lab.jp/yum/ol7_addons/
gpgcheck = 0
name = Home Lab - OL7 addons

[local_ol7_openstack_r5]
baseurl = http://infra-repo-01.go-lab.jp/yum/ol7_openstack50/
gpgcheck = 0
name = Home Lab - OpenStack R5

[local_ol7_optional_latest]
baseurl = http://infra-repo-01.go-lab.jp/yum/ol7_optional_latest/
gpgcheck = 0
name = Home Lab - OL7 Optional Latest

これで、Yum リポジトリを参照できるようになります。
[root@localhost ~]# yum clean all -q
[root@localhost ~]# yum repolist
読み込んだプラグイン:ulninfo
local_ol7_UEKR5                                          | 2.9 kB     00:00
local_ol7_latest                                         | 2.9 kB     00:00
local_ol7_ol7_addons                                     | 2.9 kB     00:00
local_ol7_openstack_r5                                   | 2.9 kB     00:00
local_ol7_optional_latest                                | 2.9 kB     00:00
(1/5): local_ol7_ol7_addons/primary_db                     |  43 kB   00:00
(2/5): local_ol7_UEKR5/primary_db                          | 930 kB   00:00
(3/5): local_ol7_openstack_r5/primary_db                   |  30 kB   00:00
(4/5): local_ol7_latest/primary_db                         | 4.3 MB   00:00
(5/5): local_ol7_optional_latest/primary_db                | 2.1 MB   00:00
リポジトリー ID                    リポジトリー名                          状態
local_ol7_UEKR5                    Home Lab - UEK R5                          71
local_ol7_latest                   Home Lab - OL7 Latest                   5,271
local_ol7_ol7_addons               Home Lab - OL7 addons                      80
local_ol7_openstack_r5             Home Lab - OpenStack R5                    73
local_ol7_optional_latest          Home Lab - OL7 Optional Latest          5,139
repolist: 10,634
[root@localhost ~]#

以上、OL7 の Yum リポジトリ構築でした。

0 件のコメント:

コメントを投稿