今日インストールしたすべてのパッケージをアンインストールするにはどうすればいいですか?

今日インストールしたすべてのパッケージをアンインストールするにはどうすればいいですか?

今日、ffmpeg に musepack エンコーダー サポートを組み込もうとしていたのですが、うっかりしていくつかのものを壊してしまいました。どのパッケージをインストールしたのか正確にはわかりません。今日インストールしたパッケージをすべて削除し、もっと慎重に最初からやり直すにはどうすればよいでしょうか?

「Ubuntu ソフトウェア センター」の「履歴」の今日の日付の下にそれらのリストが表示されますが、アンインストールする項目が何百もあるため、1 つずつアンインストールするのはやりたくありません。

答え1

grep -e `date +%Y-%m-%d` /var/log/dpkg.log | awk '/install / {print $4}' | uniq | xargs apt-get -y remove

見つかったコマンドラインfu私にとってはうまくいきました

答え2

ファイルには/var/log/apt/history.log必要なものがすべて揃っています。答えを見てみましょう:削除された多数のパッケージを一度に再インストールするにはどうすればよいでしょうか?より詳しい回答です。

答え3

免責事項: Nala はまだ開発段階であり、専門的な用途には推奨されません。

aptパッケージの場合

aptコマンドラインを使用して新しいパッケージをインストールする準備ができている場合は、と呼ばれるより現代的なフロントエンドを使用して簡単に元に戻す機能を利用できますnala(22.04 では、「universe」リポジトリを有効にする必要があります)。apt注: これは/.debパッケージに対してのみ機能します。

sudo apt install nala

この時点から、次nalaのコマンドを使用してシステムに新しいパッケージをインストールします。

sudo nala install <package-name>

セキュリティアップデートなどはunattended-upgradesパッケージに任せてください。

これで、コマンドを実行するとnala history、インストールされたパッケージを含む、nala で実行されたコマンドのリストが表示されます。新しいインストールのみをフィルタリングするには、次のコマンドを使用します。

nala history | grep install

履歴機能のもう 1 つの利点は、履歴内の任意のステップを元に戻せることです。これにより、パッケージのインストール手順を簡単に元に戻すことができます。これは、次のコマンドを発行することで実行できます。

sudo nala history undo <ID>

<ID>履歴リスト内の元に戻したいトランザクションの ID 番号はどこにありますか。

snapパッケージの場合

Snap には独自の「元に戻す」機能があり、以前インストールしたバージョンに簡単に戻すことができます。これは次のようにして行います。

sudo snap revert <package-name>

スナップ パッケージの特定のリビジョンに戻したい場合も、これを指定できます。

sudo snap revert <package-name> --revision <rev ID>

スナップ写真もこちらをご覧ください

関連情報