最新の記事は、以下に記載しました。
https://hana-shin.hatenablog.com/entry/2023/03/29/234856
#1 環境
ゲストマシンはサーバとクライアントの2台構成です。
サーバ、クライアントともに下記設定です。
[root@server ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@server ~]# uname -r
3.10.0-514.el7.x86_64
[root@server ~]# cat /etc/hosts
192.168.0.10 server
192.168.0.110 client
192.168.0.0/24
client ---------------------------- server(yumリポジトリサーバ)
.110 .10
#2 事前準備
server(yumリポジトリサーバ)で下記設定を行います。
httpdパッケージをインストールする。
[root@server ~]# yum install httpd
yumdownloaderコマンドを使うため、yum-utilsパッケージをインストールする。
[root@server ~]# yum install yum-utils
createrepoパッケージをインストールする。
[root@server ~]# yum install createrepo
[root@server ~]# createrepo --version
createrepo 0.9.9
#3 ローカルディスク経由でyumリポジトリサーバにアクセスする方法
ここで使うマシンは、serverの1台だけです。
serverの/tmp/repo配下にリポジトリを作成してみます。
リポジトリ用のディレクトリを作成する。
[root@server ~]# mkdir /tmp/repo
repoファイルを作成する。
[root@server ~]# vi /etc/yum.repos.d/local.repo
[root@server ~]# cat /etc/yum.repos.d/local.repo
[local]
name=Test Repo
baseurl=file:///tmp/repo
gpgcheck=0
データベースを作成する。
[root@server ~]# createrepo --database /tmp/repo
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
/tmp/repoに移動する。
[root@server ~]# cd /tmp/repo/
ディレクトリを確認する。repodataディレクトリが生成されたことがわかる。
[root@server repo]# ls -F
repodata/
テスト用のrpmパッケージをダウンロードする。
[root@server repo]# yumdownloader --disablerepo=* --enablerepo=base bc
[root@server repo]# ls -F
bc-1.06.95-13.el7.x86_64.rpm repodata/
ファイルを追加したので、データベースを更新する。
[root@server repo]# createrepo --update /tmp/repo/
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Spawning worker 2 with 0 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
yumキャッシュをクリアする。
[root@server repo]# yum clean all
localリポジトリのパッケージを確認する。bcパッケージ(★)が存在することがわかる。
[root@server repo]# yum --disablerepo=* --enablerepo=local --showduplicates list bc
読み込んだプラグイン:fastestmirror, priorities
local | 2.9 kB 00:00:00
local/primary_db | 2.2 kB 00:00:00
Determining fastest mirrors
インストール済みパッケージ
bc.x86_64 1.06.95-13.el7 @test
利用可能なパッケージ
★bc.x86_64 1.06.95-13.el7 local
#4 ネットワーク経由でyumリポジトリサーバにアクセスする方法
ここで使うマシンは、serverとclientの2台です。
clientからserver(yumリポジトリサーバ)にyumコマンドでアクセスしてみます。
##4.1 server側の設定
httpdを起動する。
[root@server ~]# systemctl start httpd
ポート番号を確認する。
[root@server ~]# lsof -i:80 -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 1386 root 4u IPv6 21626 0t0 TCP *:80 (LISTEN)
httpd 1408 apache 4u IPv6 21626 0t0 TCP *:80 (LISTEN)
httpd 1410 apache 4u IPv6 21626 0t0 TCP *:80 (LISTEN)
httpd 1411 apache 4u IPv6 21626 0t0 TCP *:80 (LISTEN)
httpd 1412 apache 4u IPv6 21626 0t0 TCP *:80 (LISTEN)
httpd 1413 apache 4u IPv6 21626 0t0 TCP *:80 (LISTEN)
httpd 1949 apache 4u IPv6 21626 0t0 TCP *:80 (LISTEN)
80番ポートへのアクセスを許可する。
[root@server ~]# firewall-cmd --add-port=80/tcp
success
リポジトリ用のディレクトリを作成する。
[root@server ~]# mkdir /var/www/html/repo
リポジトリを作成する。
[root@server ~]# createrepo --database /var/www/html/repo/
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
/var/www/html/repoに移動する。
[root@server ~]# cd /var/www/html/repo/
[root@server repo]# pwd
/var/www/html/repo
ディレクトリを確認する。repodataディレクトリが作成されたことがわかる。
[root@server repo]# ls -F
repodata/
テスト用のrpmパッケージをダウンロードする。
[root@server repo]# yumdownloader --disablerepo=* --enablerepo=base bc
ファイルを確認する。bcパッケージがダウンロードできたことがわかる。
[root@server repo]# ls -F
bc-1.06.95-13.el7.x86_64.rpm repodata/
リポジトリをアップデートする。
[root@server repo]# createrepo --update /var/www/html/repo/
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Spawning worker 2 with 0 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
##4.2 client側の設定
repoファイルを作成する。
[root@client ~]# vi /etc/yum.repos.d/remote.repo
[root@client ~]# cat /etc/yum.repos.d/remote.repo
[remote]
name=Remote Repo
baseurl=http://192.168.0.10/repo
gpgcheck=0
yumキャッシュをクリアする。
[root@client ~]# yum clean all
remoteリポジトリにbcパッケージがあるかどうかを確認する。remoteリポジトリにbcパッケージ(★)があることがわかる。
[root@client ~]# yum --disablerepo=* --enablerepo=remote --showduplicates list bc
読み込んだプラグイン:fastestmirror, priorities
Loading mirror speeds from cached hostfile
インストール済みパッケージ
bc.x86_64 1.06.95-13.el7 @base
利用可能なパッケージ
★bc.x86_64 1.06.95-13.el7 remote
#X 参考情報
yum リポジトリを作成する
6.3.6. YUM リポジトリの作成
ローカル環境内に yum リポジトリを作成する
第4回:yumレポジトリサーバの設定