Linux MintユーザはUbuntuのPPA追加手順を流用するときlsb_releaseが無いことを確認しよう
Mintを使っているとUbuntuのPPAを追加してアプリインストールすることがあると思います
ただその手順がUbuntu前提で書かれている時稀に
lsb_release -cs
このコマンドを使って/etc/apt/sources.list.d/配下に~.listを作る手順が載ってる時があるのですが
これで追加するとエラーになることが良くあります。
具体的には
sudo sh -c 'echo "deb https://aaa/bbbb/ccc/$(lsb_release -cs) xxxxx main" > /etc/apt/sources.list.d/xxxx.list'
こんな感じの手順ですね
なぜ失敗するかというと
lsb_release -csで取得される値はOSのコードネームが返ってくるからです
Ubuntuのコードネーム前提で手順が書かれているのでそこにMintのコードネームが入ってきて予期せぬURLが生成された結果apt updateでエラーが出てアプリが追加できなくなります。
じゃあどうするのって話なんですがMintはUbuntuベースに開発されてるので元になったUbuntuのコードネームを直に埋め込むことで対応出来ます
でそれはどこみたらわかるの?って話ですが
ここです
$ cat /etc/os-release
NAME="Linux Mint"
VERSION="20.1 (Ulyssa)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 20.1"
VERSION_ID="20.1"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=ulyssa
UBUNTU_CODENAME=focal
まんまの名前が出てますね
UBUNTU_CODENAME=focal
これです
なので先程の例に出したコマンドの
$(lsb_release -cs)
の部分をfocalに書き換えれば動くようになります。
以上、ちょっとしたトリビアでした〜
P.S.
ここからただの愚痴なので読む必要はないです
直近でいうとpgadmin4お前のことやぞ!
インストール手順はこの際どうでもいいけど
3まではただの単体実行出来るアプリやったのに4で急に色気出して
ローカルで実行されるapacheの上で動き出すWEBアプリ化
とか謎の挙動しだすのおかしいやろ?
それ最早別アプリやんけ
てかデフォルトで入れれるpgadmin3のバグが辛すぎるSQL実行画面が動かないとか結構致命的なバグ早く直して4もう使いたくないから
Discussion