ubuntu関連

メインで使っているGetntoo LinuxのRStudioパッケージのメンテナンスが滞っており、1.3系と古く、とうとうビルドもできなくなってしまったので仕方なくRStudio Serverを動かすためだけにubuntuを仮想マシンにいれて運用して始めた。慣れないOSなのでまだ枠組みが理解できないが、とりあえず躓いたところを解決したメモ。

libssl1.1がない

RStudioは、libssl1.0.0とかlibssl1.1に依存しているようだが、これらは少し古いらしく22.04では標準でインストールできない。そこで、リポジトリを登録してパッケージを探せるようにしてインストールする。ソースからビルドしても動いたが、やはりパッケージで管理したい。

リポジトリの追加。

 # /etc/apt/sources.list.dに適当な名前でファイル(ここではsecurity-ubuntu-com.listとした)を作成し以下を記入
 deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/security-ubuntu-com.gpg ] http://security.ubuntu.com/ubuntu impish-security main

これで、apt updateすればパッケージリストが取得できるはずだが、公開鍵がないと怒られる。公開鍵の登録方法を検索するとapt-keyを使う方法が出てくるが、どうも既に非推奨のようなので正しそうな方法を調べる。厳密にはきちんとIDなどを確認すべきだが、とりあえず公開鍵をインストールして使えるようにするところまで。まだよくわかっていない。

# gpgコマンドで鍵サーバから公開鍵を取得する。--recv-keyにはapt updateで表示されるIDを指定
# これでホームディレクトリにgpg用ディレクトリが作成されてその中のキーリングに保存される
> gpg --keyserver keyserver.ubuntu.com --recv-key XXXXXXXXXXX

# キーリングから先ほどの公開鍵を取り出して/etc/apt/trusted.gpg.dに適当な名前で保存する
# ファイル名は上記のリポジトリのアドレスの前の「signed-by」と合わせる。これで、リポジトリを検証する鍵が対応付けられる。
> gpg --export XXXXXXXXXXX | tee /etc/apt/trusted.gpg.d/security-ubuntu-com.gpg >/dev/null

# あとはupdate、installする
> apt update
> apt install libssl1.1