バックポートから手動でインストールされたパッケージのリストをインポートする必要があります。「十分に」順序apt-get upgrade && apt-get dist-upgrade
。次のコマンドは、バックポートから手動でインストールされたパッケージを一覧表示します。
$ # based on: https://serverfault.com/a/109680/261445
$ aptitude search "?narrow(~i, ~Abackports) ?not(?automatic)" | sed 's/ - .*//'
i btrfs-progs
i checkinstall
i linux-headers-5.9.0-0.bpo.2-amd64
i linux-image-5.9.0-0.bpo.2-amd64
i spl-dkms
i zfs-dkms
i zfsutils-linux
しかし、私は次のようなコマンドを出したことがありません。
apt-get install -t buster-backports linux-image-5.9.0-0.bpo.2-amd64
したがって、出力が正確ではありません。コマンドを介してカーネルをインストールしたapt-get install -t buster-backports linux-image-amd64
ので。linux-image-amd64
linux-image-5.9.0-0.bpo.2-amd64
実際に手動でインストールしたリストを取得するにはどうすればよいですか?
答え1
aptitude
コマンドはい正確さ:現在バックポートにインストールされていてサイレントインストールとしてマークされていないすべてのパッケージを一覧表示します。
これが期待した結果を出力できないという事実は、私たちが解決できないもう一つの問題です。何らかの理由でlinux-image-amd64
メタパッケージはDebian 10バージョンに戻ります。おそらく、関連するイベントでは、バックポートの実際のカーネルイメージとヘッダーパッケージは「自動」マークを失ったでしょう。これは間違いなく、現在アクティブなカーネルとメタパッケージの保護によるものです。
パッケージングシステムは現在の状態だけを知り、どのように到達したかは不明です。
根本的な問題を解決するには、以下を実行する必要があります。
sudo apt -t buster-backports install linux-{image,headers}-amd64
これにより、メタパッケージがバックポートバージョンにアップグレードされ、対応する物理パッケージがインストールされます。
その後、apt upgrade
古いバックポートはすべてアップグレードされます。いいえバックポートからどのパッケージが出てくるのかを手動で見つける必要があります。
以前のカーネルパッケージをサイレントインストールとしてマークすると、システムは希望の状態になり、このaptitude
コマンドは予想される出力を提供します。
sudo apt-mark auto linux-{headers,image}-5.9.0-0.bpo.2-amd64
何が起こっているのかを本当に知りたい場合は、ログを通して知ることができますが/var/log/apt
、apt
あなたはこの情報を直接使用することはできません。