自前のyumリポジトリサーバを構築し、そのリポジトリからインストールできるようにする。

参考

(CentOS7)プライベート環境に必要なパッケージのみ提供するyumリポジトリサーバを構築する - zaki work log S3にyumリポジトリを作成してプライベートサブネットから参照する | Awstut

手順

ディレクトリを作成

とりあえず /tmp/repo に作る

mkdir -p /tmp/repo/

配置したいrpmパッケージをダウンロード

curlやwgetでも良いが、今回は yumdownloader を使う。入っていなければ yum install yum-utils zstdのrpmを入れてみる

$ cd /tmp/repo
$ yumdownloader zstd

リポジトリ作成

createrepoをインストールして使う

$ yum install createrepo
 
$ createrepo -v /tmp/repo
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Worker 0: reading zstd-1.5.2-1.amzn2.x86_64.rpm
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

S3へアップロード

$ aws s3 cp /tmp/repo s3://my-bucket/repos/ --recursive

利用側の手順

リポジトリを設定

$ vi /etc/yum.repos.d/myprivate.repo
[myprivate]
enabled=1
gpgcheck=0
name=my repo
baseurl=https://myrepository.example.com/repos

更新

$ yum makecache fast

確認

$ yum repolist all
 
myprivateが存在する

インストール

一時的に設定済みのrepoを無効化して、これだけが使われるようにしてみる

$ yum --disablerepo=* --enablerepo=myprivate install zstd