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

nogajun
nogajun

_ 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  [check-valid-until=no] 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 upgradeapt full-upgradeする。問題が出たら、aptitudeを使って手で問題を解決する。
  • 問題なくパッケージをダウングレードできたら/etc/apt/preferences.dに作ったファイルを削除。/etc/apt/sources.listの追加したapt-lineは削除して、コメントアウトのコメントを外し、/etc/apt/sources.list.d以下のリストをもとに戻して再起動する