前々回, 前回 と、deb パッケージを作ったので、これを公開する APT リポジトリを作っていく。
コンテナ起動
APT リポジトリの構築
必須パッケージのインストール
署名用の鍵生成
鍵生成の設定ファイル作成
Please select what kind of key you want
: `(1) RSA and RSA (default)`What keysize do you want? (3072)
:4096
Please specify how long the key should be valid.
:0
Is this correct? (y/N)
:y
Real name
: mikoto2000Email address
: mikoto2000@gmail.comComment
:Athrill apt repository key.
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
:O
Passphrase
: (空)
鍵の ID をメモしておく。
(今回は 6B5F3367A3F74C173E2E83612F6719AE3DEFC0C0
だった。)
リポジトリ設定
リポジトリ設定格納用ディレクトリの作成
リポジトリ設定作成
・ /work/reprepro/conf/distributions
cat <<EOF> /work/reprepro/conf/distributions
Origin: TOPPERS/hakoniwa
Label: Athrill
Codename: bionic
Architectures: amd64
Components: main
Description: Apt repository for project Athrill
SignWith: 6B5F3367A3F74C173E2E83612F6719AE3DEFC0C0
EOF
Codename
: ディストリビューションのコードネーム。bionic
だったりbuster
だったりSignWith
:gpg
コマンドで作成した公開鍵の ID
パッケージの取り込み
署名の設定
cd /work/reprepro
gpg --armor --output athrill.gpg.key --export 6B5F3367A3F74C173E2E83612F6719AE3DEFC0C0
動作確認
Web サーバーを立ててそこからインストールしてみる。
APT リポジトリとなる nginx 起動
新しく nginx
のコンテナを立てる。
先ほど作成した reprepro
ディレクトリを /usr/share/nginx/html
にマウントする。
※ 実際は、 db/
, conf/
は見えないようにするらしい
正しくインストールできるか確認
先ほど立ち上げた nginx から、正しく apt でインストールできるかを確認する。
新たに debian:buster-slim
のコンテナを立ち上げて、 host.docker.internal
の APT リポジトリを登録する。
インストールする debian の起動
必要パッケージインストール
APT リポジトリのキー登録
APT リポジトリ登録
インストール
鍵の管理
このままだと、コンテナ終了時に秘密鍵も消えてしまうので、コンテナからエクスポートしてコピーすること。
鍵のエクスポート
cd /
gpg --list-secret-keys
gpg --export-secret-keys --output backup.sec.key mikoto2000@gmail.com
gpg --export --output backup.pub.key mikoto2000@gmail.com
0 件のコメント:
コメントを投稿