Debian Sidでうっかりアップデートしたパッケージを巻き戻す

Posted by nogajun - 2021/08/18

_

Debian Bullseyeがリリースされました。リリースされたということは、Sidに怒涛のパッケージ更新が来るという合図です。 この時期はパッケージが揃わないので、すぐにパッケージを更新してはいけないのですが、やってしまいました。パッケージを更新して再起動したら起動しません。

いや、起動するけれどsddmのところで弾かれてログインできません。しかし、Waylandに変更するとログインできる。ということで3日前のパッケージまで巻き戻して復旧したので、その手順のメモです。

  • /etc/apt/sources.list.d以下にリポジトリのリストがあったら一時退避しておく

  • snapshot.debian.orgにアクセスする。左側のArchiveにあるDebianのリンクをたどり、自分が戻したい日のリポジトリまでアクセスして、URLをメモする

  • エディタで/etc/apt/sources.listを開いたら既存のリポジトリを「#」でコメントアウトして、メモしたURLのapt-lineを追加する。たとえばこんな感じ。古すぎると期限切れになるけど3日前ぐらいなら、そのまま追加してOK

    deb http://snapshot.debian.org/archive/debian/20210815T204244Z/ sid main contrib non-free

  • /etc/apt/preferences.dに以下の内容で強制ダウングレード用のファイルを作る。名前は何でもいいです。自分はdowngradeにしました

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

  • apt updateして、apt upgradeとapt full-upgradeする。問題が出たら、aptitudeを使って手で問題を解決する。

  • 問題なくパッケージをダウングレードできたら/etc/apt/preferences.dに作ったファイルを削除。/etc/apt/sources.listの追加したapt-lineは削除して、コメントアウトのコメントを外し、/etc/apt/sources.list.d以下のリストをもとに戻して再起動する