↓ Skip to main content

UbuntuやDebianでアップグレードしたパッケージを戻す

apt-get upgradeなどでアップグレードしたパッケージを元のバージョンに戻したい場合があります。例えばGoogle Chromeは頻繁にアップグレードしますが、時々バグを導入してしまっていることがあります。

こういうときの戻しかたについて、色々試した結果一番手っ取り早そうな方法を説明します。

これはUbuntuで試したものですが、Debianでも同様だと思われます。

1. 直前のバージョンを探す
#

これは /var/log/apt/history.log を見てください。今回の例では

Upgrade: ... google-chrome-stable:amd64 (140.0.7339.207-1, 141.0.7390.54-1), ...

というのを見つけ、141.0.7390.54-1を140.0.7339.207-1に戻します。

2. 情報収集
#

% apt-cache madison google-chrome-stable

としてパッケージの配布元を見ます。

google-chrome-stable | 141.0.7390.54-1 | https://dl.google.com/linux/chrome/deb stable/main amd64 Packages

というのが得られます。次に、

apt-cache show google-chrome-stable | grep "^Filename"

としてパッケージのファイル名を探します。

Filename: pool/main/g/google-chrome-stable/google-chrome-stable_141.0.7390.54-1_amd64.deb

のようなものが得られます。

3. アップグレード前のパッケージのダウンロードとインストール
#

上で調べた情報を使ってURLを構築し、パッケージをダウンロードします。

wget https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_1140.0.7339.207-1_amd64.deb

とします。パッケージ配布元のURLとファイル名をくっつけて、バージョンの部分を古いものに置き換えます。これで古いパッケージがダウンロードできるはずです(場合によっては古いものが消されている可能性もありますが、大概の場合はそのまま残っていると思われます)。

あとは dpkg -i でインストールします。

dpkg -i google-chrome-stable_1140.0.7339.207-1_amd64.deb

とします。

ちなみに私が直面した「新しく導入された問題」は https://issues.chromium.org/issues/449370049 のようです。