環境
- Ubuntu 20.04
やりたいこと
Ubuntuで公式以外のパッケージ群(PPA)を使いたい場合は add-apt-repository コマンドを使用するように公式では推奨されている。
が、add-apt-repository コマンドは標準では入っておらず、apt install software-properties-common
でインストールする必要がある。
依存パッケージが多く結構厄介なので、今回はadd-apt-repositoryコマンドを使用せずにPPAを追加するメモ
やり方
例としてNginx公式のPPAである ppa:nginx/stable を例にやってみる
通常であればリンク先に書いてあるように
sudo add-apt-repository ppa:nginx/stable sudo apt-get update
が一般的である
まずは鍵を追加する必要がある。https://launchpad.net/~nginx/+archive/ubuntu/stable より、「Adding this PPA to your system」項目の「Technical details about this PPA」をクリック
すると「Signing key」が表示されるのでそのキーのリンクをクリック
Search results for 'XXXX'と書かれたページが表示されるはずなので、keyIDを取得する。
今回だと
pub rsa1024/8b3981e7a6852f782cc4951600a6f0a3c300ee8c
と書かれてあるのでKeyIDは「8b3981e7a6852f782cc4951600a6f0a3c300ee8c」になる
そして実際にUbuntuに登録する
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv [KEYID]
今回は「apt-key adv --keyserver keyserver.ubuntu.com --recv 8b3981e7a6852f782cc4951600a6f0a3c300ee8c」になる
最後にPPAを/etc/apt/source.d/XXX.list(ファイル名は任意)に記述
# cat /etc/apt/sources.list.d/nginx.list deb https://ppa.launchpadcontent.net/nginx/stable/ubuntu focal main deb-src https://ppa.launchpadcontent.net/nginx/stable/ubuntu focal main
必要なURLはppa:nginx/stableに記載されている
コマンド一発とはいかないので面倒ちゃ面倒だがDockerイメージ構築とか軽量目指しているならおすすめ