| tags:linux debian categories:computing

最新版のFirefoxをデビアンでつかう

オススメ・ディストロの一つ、デビアン環境がなかな良いです。 ただ安定志向のためなのかFirefoxのバージョンが一昔前のバージョン68.xがインストールされます。 Firefox自体は頻繁に更新され新しい機能も次々追加されています。 セキュティーパッチも迅速に対応されているので最新版に入れ替えても問題はないだろうと、入れ替える事にします。

Mozilla.orgよりバイナリーを持ってきたり、Ubuntu向けのPPA登録、AppImageやSnapを使う方法もあるようですが、 DebianのAptでできない訳でないのでこちらでインストールする。アップデートも楽だしね。

ただちょっとした設定が必要で Apt Pinning と言われる方法を使います。


デビアンでは安定版から開発版までいくつかのパッケージリスト(ディストリビューションと呼ばれてますが混乱を避ける為、とりあえずパッケージリストと呼びます。)に分かれています。安定板で使われているアプリのメジャーアップグレードは時間が掛かる。(次のマイナーアップデート時?)

Stable(buster) < Backports < Testing(bullseye) < Unstable < Experiment

てな感じ。新しいバージョンはExperiment/Unstableに入り検証を経てだんだん左に移動していくパスになっています。 次のメジャーアップグレード(bullsey)時にはパッケージが固定され左にスライドします。

パッケージ(ソフトウェア)情報は

https://packages.debian.org/

にて細かい情報を確認する事ができます。

そして最新版のFirefoxはUnstableのパッケージリストに入っています。
https://packages.debian.org/search?searchon=names&keywords=firefox

Apt Pinning

ポリシー(優先順位)が設定されています。 デフォルトの設定は以下、 パッケージリストの安定版が500、バックポートが100 になっています。

バックポートでインストールしたもの以外は安定版のパッケージがアップデートされていくということになります。

jin@debian:~$ apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 100 http://deb.debian.org/debian buster-backports/main amd64 Packages
     release o=Debian Backports,a=buster-backports,n=buster-backports,l=Debian Backports,c=main,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian buster-updates/main amd64 Packages
     release o=Debian,a=stable-updates,n=buster-updates,l=Debian,c=main,b=amd64
     origin deb.debian.org
 500 http://security.debian.org/debian-security buster/updates/main amd64 Packages
     release v=10,o=Debian,a=stable,n=buster,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
 500 http://deb.debian.org/debian buster/main amd64 Packages
     release v=10.2,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin deb.debian.org
Pinned packages:

Pinningによりパケージごとの設定もできますが、 今回はパッケージリスト毎のPinningの設定をします。

Firefox最新版をインストール

最新版(v72)をインストールす作業の流れは以下になります。

  1. unstableの apt-source の追加
  2. 各パッケージリストのポリシー設定
  3. aptの更新
  4. パッケージを unstable よりインストール

unstable版のAptソースファイル /etc/apt/sources.list.d/unstable.listを作成します。 ご自分の環境に合わせて修正してください。 あちこち国境を越える人はその先々でミラーを選んでくれる http://deb.debian.org/debian/ が良いです。

$ sudo vi /etc/apt/sources.list.d/unstable.list

deb http://deb.debian.org/debian/ unstable main contrib non-free
# deb-src http://deb.debian.org/debian/ unstable main contrib non-free

ポリシーの設定は/etc/apt/preferences.d/内にstableとunstableの二つのファイルを追加。 安定版はデフォルトの500に設定しました。

$ sudo vi /etc/apt/preferences.d/stable

Package: *
Pin: release a=stable
Pin-Priority: 500

buster-backportsのプライオリティがどっから来ているのか100になっているので、 unstableはそれより少ない値:90にします。 もしtestingも使うのならば同様のファイルを作り、 プライオリティはその間の95にすればよい。

sudo vi /etc/apt/preferences.d/unstable

Package: *
Pin: release a=unstable
Pin-Priority: 90

ポリシーを覗いて確認。

jin@debian:~$ apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
  90 http://deb.debian.org/debian unstable/main amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=main,b=amd64
     origin deb.debian.org
 100 http://deb.debian.org/debian buster-backports/main amd64 Packages
     release o=Debian Backports,a=buster-backports,n=buster-backports,l=Debian Backports,c=main,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian buster-updates/main amd64 Packages
     release o=Debian,a=stable-updates,n=buster-updates,l=Debian,c=main,b=amd64
     origin deb.debian.org
 500 http://security.debian.org/debian-security buster/updates/main amd64 Packages
     release v=10,o=Debian,a=stable,n=buster,l=Debian-Security,c=main,b=amd64
     origin security.debian.org
 500 http://deb.debian.org/debian buster/main amd64 Packages
     release v=10.2,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin deb.debian.org
Pinned packages:

パッケージを更新して、UnstableよりFirefoxをインストールします。 ちなみにsudo apt install firefox/unstableのコマンドだと古いのかうまくいきません。

jin@debian:~$ sudo apt update
jin@debian:~$ sudo apt install -t unstable firefox

依存しているソフトも同時にインストールされます。 これから先もアップデートも通常と同じようにsudo apt update/upgradeできます。

まぁあとは同時に使っているManjaroでのアプリとバージョンを合わせるのに使うくらいかな。 (ときにアプリによってバージョンアップで保存データの更新があったりするので、)

これで自由度が少し高まったような感じがします。あとは開発版からきになるSwayでもインストールするかな。

See Also