少しずつ少しずつ記事を 20.x に対応させていきます。
roadtoalinuxmintuser

theming

roundup
LMDE 3 : Ubunu の PPA を追加・利用する方法。でも成功することは稀。 02:39


Ubuntu(ひいては Linux Mint) は Debian の Unstable ブランチをベースに作られているため、根底にあるテクノロジーは同じものを利用しています。Ubuntu(ひいては Linux Mint)は Debian の派生ではあっても、Debian ユーザーは PPA を利用することは容易ではありません。それは PPA は Ubuntu に特有のテクノロジーだからです。Launchpad と相互に連携するためには特殊なソフトが必要です。加えて、Ubuntu は Debian の Unstable をベースに作られているため、Debian ユーザーのほとんどが PPA が求める最新のパッケージを持てません。そもそも Debian では Ubuntu の PPA が使えるようになっていません。

ならば Debian(LMDE) ユーザーはどうしたらいいのでしょうか。それは Debian(LMDE) の開発メンバーが考えることで、とりあえず Launchpad の PPA からパッケージやパッケージのソースを取得し自分のシステムにインストールを試みたり、自分のシステム向けにリビルドする方法をシェアしたいと思いますが、殆どのケースにおいてうまく行かないことを先述べておきます。

ソフトウェアソースのバックアップ


PPA を追加するには、/etc/apt/sources.list に変更を加えます。変更を加えた際不具合が起きた時に元に戻すために、このファイルのバックアップをとります。
Ctrl
+
Alt
+
T
を押して端末を起動します。
端末へコマンドをペーストするには
Ctrl
+
Shift
+
V
を押します:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
元に戻すには以下を実行します(rm コマンドを使っています。打ち間違いには気をつけます):
sudo rm /etc/apt/sources.list && sudo cp /etc/apt/sources.list.back /etc/apt/sources.list && sudo apt update

パッケージを取得しインストールを試みる


まず自分の LMDE がどのバージョンの Debian ベースなのかを調べます。以下のコマンドを使用します:
cat /etc/*release
出力例:

これで LMDE 3 Cindy は Debian 9 Stretch をベースにしていることがわかります。Stretch ベースならインストールするパッケージは Ubuntu 16.04 Xenial のものが良さそうです。というのも、Xenial 〜 Artful は Stretch ベースだからです。さらに Xenial は LTS なためサポートするパッケージも多いのです。

Launchpad でインストールしたいパッケージを選びます。今回は「kid3」にしました。因みに PPA を追加する前の状況でインストールできるバージョンは 3.4.4-1 です:

「Technical details about this PPA」をクリックし、[ Choose your Ubuntu version ] を [ Xenial ] に変えます。そしたら画像で示した部分をクリップボードにコピーします:

コピーした文字列を /etc/apt/sources.list に追記します:
xed admin:///etc/apt/sources.list

保存したらパッケージリストを更新します:
sudo apt update
以下のようなエラーが出ます。大事な部分は「NO_PUBKEY」の隣の文字列です。この文字列をコピーします:

「NO_PUBKEY」の隣の文字列の部分は上でコピーした文字列に置き換えてから実行して下さい:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 「NO_PUBKEY」の隣の文字列
これで再びパッケージリストを更新します:
sudo apt update
インストールできるバージョンとして kid3 は 3.4.4-1 から 3.8.1-0 に変わっています:

インストールを試みてみましょう:
sudo apt install kid3 kid3-core
以下のようなエラーが出ます:

そうです。依存関係の問題です。この依存関係もしかしたらココに表示されているのだけ解決すればそれで終わりなのならなんとかなるんじゃない?と思った方もいるかも知れません。しかし得てして依存関係のパッケージもまた何かに依存しているものです。

パッケージのソースを取得しリビルドしてみる


リビルドを試みる前に、当然ビルドツールが必要です。以下のパッケージをインストールしておきます:
sudo apt install -y build-essential devscripts
もちろん、依存関係はこれで充分ではありません。しかしそれは後ほどわかることです。さて、ソースを追記します。今度は「cool-retro-term」のインストールを試みます。エディターを立ち上げ:
xed admin:///etc/apt/sources.list
以下のソース(deb-src だけで OK)を /etc/apt/sources.list に追記します:
deb-src http://ppa.launchpad.net/bugs-launchpad-net-falkensweb/cool-retro-term/ubuntu xenial main 

公開鍵も追加しておきます:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys AE35216F422A42898E567E96E958E2005A4A14B5
パッケージソースを更新します:
sudo apt update
ビルドを試みます:
sudo apt source -t xenial --build cool-retro-term
するとやはり依存関係でエラーが起こしてしまいます:

単純にリストされたパッケージを apt install の後に並べて実行しても見つからないパッケージが出てきてストップしてしまいます。

おとなしくバックポートを利用する


LMDE を使って標準リポジトリのパッケージではいささか古くて嫌な場合はバックポートを使う手があります。LMDE が Stretch ベースなら以下のようにします。エディター(nano がオススメ)を立ち上げて:
sudo apt edit-sources
以下を貼り付けます。
deb http://ftp.debian.org/debian stretch-backports main contrib non-free
deb-src http://ftp.debian.org/debian stretch-backports main contrib non-free

Nano エディターの場合は
Ctrl
+
O
で保存、
Ctrl
+
X
でエディターの終了です。
バックポートからインストールするには以下のように -t フラグを使って指定してあげる必要が有ります:
sudo apt install -t stretch-backports libreoffice

結論


LMDE で PPA を利用しようとすると追加はうまく行っても、インストール過程でパッケージの依存関係の問題が解決できません。リビルドにおいてもそうです。依存関係のエラーを解決できる、あるいは依存関係のエラーが全く出ない場合に利用できそうです。しかし、パッケージのインストールを PPA に依存している方はおとなしく Ubuntu ベースの Linux Mint を使うべきというつまらない結論となっていしまいました。

参考元: addictivetips, LinuxConfig.org, Make Tech Easier
| Linux |
<< NEW | TOP | OLD>>
スポンサーサイト 02:39
| - |

Show some apps list:


miku

Follow on your feed reader:


About this blog:

Linux Mint-centric chronicle with anime girls since 2009.Best View with Google Chrome 1980x1080 dimension.
Info 更新は不定期です。

script

LinuxMint ISO 日本ミラーサーバー:




Amazon:


【最大50%還元】Kindle本ポイントキャンペーン