Debian系だとaptリポジトリという種類のリポジトリを使っていく。このページではaptリポジトリの作成方法についてお伝えした。
それほど実施する行為ではないが、知っておいて損はないだろう。
aptリポジトリを作成する意味
実際にパッケージをつくれるようになると「自作パッケージの管理についてどうすべきか?」という問題に直面するだろう。「同じアーキテクチャのマシンに一斉にインストールする場合」や「依存関係を自動解決してからのインストール」などそういったニーズもでてくるだろう。
その場合、Debianのaptな自己リポジトリを作成して管理することをお勧めする。しかし、リポジトリの作成にはサーバ管理の知識がとわれてくる部分も少なからずある。
今回最小限に的をしぼるため「コンピュータのローカル内で自己リポジトリを古典的な方法で作成する」というのを目標に、最短ルートを記述することにする。
ベストとしてはGPG署名をし、キーを作成、キーリングに取り込み、「mini-dinstall」などのモダンなツールを使用し、HTTPサーバ上で公開するのがベストだ。
リポジトリを取り合えず作ってみる
まずは必要なユーティリティをインストールする。基本的にデフォルトでインストールされていると思うが、もしインストールされていなかった場合以下のコマンドを使用してインストールする。
# apt-get install apt-utils
リポジトリ設置のためのディレクトリ作成
# mkdir /var/mypkg
移動して「packages」を作成する
# cd /var/mypkg
# mkdir packages
パッケージをpackagesディレクトリのなかへ放りこむ
# cp /<pkg_path>/testdpkg-sample_0.1-1_all.deb packages/
実際にリポジトリを作成する。実行して出来上がる「Packages.gz」の中にパッケージ一覧などの情報が集約されている。
# apt-ftparchive packages . | gzip > Packages.gz
aptのsources.listにローカルリポジトリを追加する。
# vi /etc/apt/sources.list
1 |
deb file:///var/mypkg/ ./ |
の記述を追加、リポジトリを追加したら
# apt-get update
を実行、いくつか「無視」という項目がでてくるが気にしなくても大丈夫だ。
動作確認をする
リポジトリに反映されているかどうか確認してみよう。
# apt-cache search testdpkg
としてみよう自分で作成したパッケージが追加されているはずだ。試しに
# apt-get install testdpkg-sample
とすると「警告: 以下のパッケージは認証されていません!」と警告がでるとおもうがこれはgpgキーの認証をおこなっていないからである。
本来全てのDebianパッケージはgpgによるサインがおこなわれており、そのためのキーを認証するための一覧をパッケージマネージャが保有している。
しかし今回自分で作成したパッケージのため、自作パッケージはgpg認証されておらず、パッケージマネージャの認証一覧に存在しないためこのような警告が表示される。
今回試験的にローカル内でリポジトリを立てたためこの警告は無視してしまっても問題ない。
最後に
# apt-get remove testdpkg-sample
などとして動きを確かめてみよう、正常に動作するはずだ。
まとめ
このページではaptリポジトリの作成方法についてお伝えした。ひとつひとつ追いかけるとそれほど難しくはないはずだ。参考にしていただければと思う。