PPA?
Ubuntu Linuxでaptなどを使ってパッケージインストールを行いますが、オフィシャルリポジトリにパッケージがない場合、
もしくはパッケージはあるもののバージョンが古い場合には困ったりします。
ソフトウェア提供元がサードパーティ側のリポジトリを持っていればそちらを追加することになりますが、それもない場合は
ソフトウェアによってはPPAを使ったインストール方法が見つかると思います。
たまに使っていたものの、リポジトリを追加する以上の意味をあんまり意識したことがなかったので、ちょっと調べてみました。
Packaging/PPA - Launchpad Help
What is PPA? Everything You Need to Know About PPA in Linux
PPAとは、「Personal Package Archive」の略です。
パッケージ配布側から見た場合、PPAを使うとソフトウェアを配布できるようになります。利用側から見ると、PPAを使って
公開されたパッケージを利用して、aptなどでインストールを行うことができます。
また、インストールされたパッケージの更新も、PPAでaptを使ったインストールだと追従してくれます。
ただ、PPAが「Personal」という名前から指している通り、Ubuntuディストリビューション公式に承認されたものではない
というのが注意点ですね。要は自己責任で導入しましょう、と。
PPAを探す
たいていの場合は、Googleなどでaptでインストールしたいパッケージを探した時に、「このPPAを追加してね」みたいな
手順に沿って追加することがほとんどだと思います。
PPA自体から探したい場合は、Launchpadというサイトを利用します。
こちらを使うと、PPAを検索することができます。
トップページに検索フィールドがあるので、こちらを使います。
例えば、「openjdk」で検索してみます。
だいぶわかりにくいですが、いろいろ現れました…。
今回は「“PPA for OpenJDK uploads (restricted)” team」を試しに選択して、こちらが提供しているPPAを見てみます。
OpenJDK builds (all archs) : “PPA for OpenJDK uploads (restricted)” team
対象となるUbuntu Linuxのバージョン(コードネーム)で、フィルタリングすることができます。
こうやって、目的のPPAを見つけていきます、と。
PPAを使う
PPAを使うには、該当のページの「Adding this PPA to your system」という箇所を確認しましょう。
Packaging/PPA/InstallingSoftware - Launchpad Help
「add-apt-repository」を使うことになります。
PPAを追加してみましょう。
$ sudo add-apt-repository ppa:openjdk-r/ppa ## 「apt-add-repository」でも可 # $ sudo apt-add-repository ppa:openjdk-r/ppa
こんな感じに。
$ sudo add-apt-repository ppa:openjdk-r/ppa More info: https://launchpad.net/~openjdk-r/+archive/ubuntu/ppa Press [ENTER] to continue or Ctrl-c to cancel adding it. Get:1 http://ppa.launchpad.net/openjdk-r/ppa/ubuntu bionic InRelease [15.4 kB] Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease Hit:3 http://security.ubuntu.com/ubuntu bionic-security InRelease Hit:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease Hit:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease Get:6 http://ppa.launchpad.net/openjdk-r/ppa/ubuntu bionic/main amd64 Packages [4736 B] Fetched 20.1 kB in 1s (17.9 kB/s) Reading package lists... Done
追加したら、リポジトリの情報を更新します。
$ sudo apt update
これで、追加したPPAが公開しているパッケージをインストールできるようになります。
$ sudo apt install openjdk-11-jdk
まあ、このPPAで入るOpenJDKはちょっと古かったりするんですけどね…。
$ java -version openjdk version "11.0.1" 2018-10-16 OpenJDK Runtime Environment (build 11.0.1+13-Ubuntu-3ubuntu118.04ppa1) OpenJDK 64-Bit Server VM (build 11.0.1+13-Ubuntu-3ubuntu118.04ppa1, mixed mode, sharing)
追加したPPAを削除する
追加したPPAを削除するには、「add-apt-repository --remove」を実行します。
$ sudo add-apt-repository --remove ppa:openjdk-r/ppa ## 「apt-add-repository」でも可 $ sudo apt-add-repository --remove ppa:openjdk-r/ppa
PPAを削除しても、インストール済みのパッケージがある場合は、そのパッケージそのものは削除されません。
リポジトリの情報を更新。
$ sudo apt update
もしくは、「ppa-purge」というコマンドでも削除することができます。デフォルトでは入っていないので、「ppa-purge」自体を
インストールしてから。
$ sudo apt install ppa-purge $ sudo ppa-purge ppa:openjdk-r/ppa