CLOVER🍀

That was when it all began.

Ubuntu LinuxのPPAって?(Launchpad)

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というサイトを利用します。

Launchpad

こちらを使うと、PPAを検索することができます。

トップページに検索フィールドがあるので、こちらを使います。

f:id:Kazuhira:20190310220928p:plain

例えば、「openjdk」で検索してみます。

f:id:Kazuhira:20190310221004p:plain

だいぶわかりにくいですが、いろいろ現れました…。

今回は「“PPA for OpenJDK uploads (restricted)” team」を試しに選択して、こちらが提供しているPPAを見てみます。

OpenJDK builds (all archs) : “PPA for OpenJDK uploads (restricted)” team

対象となるUbuntu Linuxのバージョン(コードネーム)で、フィルタリングすることができます。

f:id:Kazuhira:20190310221242p:plain

こうやって、目的のPPAを見つけていきます、と。

PPAを使う

PPAを使うには、該当のページの「Adding this PPA to your system」という箇所を確認しましょう。

f:id:Kazuhira:20190310221343p:plain

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