web-dev-qa-db-ja.com

特定の日付以降にインストールされたすべての更新プログラムを削除するにはどうすればよいですか?

更新マネージャーが200 Mibの更新プログラムをインストールすることを許可しましたが、これらの更新プログラムにより、グラフィックドライバーが問題に陥ると思います。したがって、たとえば5月12日(またはその他の日付)の30日以降にインストールされた更新プログラムを削除する方法が必要です。それらを手動で削除する必要がある場合(1つずつアンインストールする場合)、その方法の手順を教えてください。

12
creative

インストール履歴を取得するには、別のコマンドラインアプローチがあります。

パッケージマネージャーaptは、/var/log/apt/history.logおよび/var/log/apt/term.logにすべてを記録するようです(日付スタンプですべてを分離するなど)。どちらにも同様の有用な情報が含まれていますが、term.logはより冗長であり、操作を開始したものを明示的に示していません。

履歴ログ

/var/log/apt/history.logは、各apt実行の簡潔な要約を保存します。手動インストールのスニペットを次に示します。

Start-Date: 2014-08-22  17:17:52
Commandline: apt-get install nautilus-dropbox
Install: nautilus-dropbox:AMD64 (1.6.1-1), python-gpgme:AMD64 (0.3-0ubuntu3, automatic)
End-Date: 2014-08-22  17:19:13

Commandline:フィールドは、実行をトリガーしたものを示し、アップデートマネージャーによるインストールの場合、次のようになります。

Commandline: aptdaemon role='role-commit-packages' sender=':1.131'

...パッケージのリストがあり、日付、方法、アクション(インストール/アップグレード/削除)でソートされています。これらのパッケージをapt-get remove ...に戻したい場合:

  • 言及 のように、これはパッケージを元に戻すのではなく、完全に削除します。ログ内の情報を使用して、アップグレードされたパッケージを見ることができますが、それらをロールバックすることは別の問題です。
  • 好みのテキスト操作方法(例:sedvimなど)を使用して、リストから括弧、その内容、およびコンマ区切りを削除する必要があります。したがって、上記のスニペットからパッケージを削除したい場合、この行を比較的直接使用できます。

    Sudo apt-get remove nautilus-dropbox:AMD64 python-gpgme:AMD64
    

端末ログ

一般に、/var/log/apt/term.logは構造がそれほど便利ではありませんが、完全を期すために、同じ情報を取得できます。ターミナル出力はタイムスタンプによって再び区切られ、パッケージのインストールは次の形式の行から取得できます。

Selecting previously unselected package nautilus-dropbox.

以下は、ログ全体のインストール済みパッケージのリストを端末に出力する1つの方法です。

$ awk '/^Selecting/ {gsub(/\./,""); print $5}' /var/log/apt/term.log

これは、日付範囲内のインストールを取得するように調整または拡張できます。

8
Electric Head

注:Windowsとは異なり、Ubuntuで更新を削除すると、通常uninstallパッケージ/プログラムは、not単に以前のバージョンに戻します(またはダウングレードします)。

Ubuntu Software Centerを開き、履歴をクリックします

enter image description here

それが完了したら、更新をクリックして、システムにインストールされているすべての更新を表示します。削除する必要のある更新を見つけたら、手動で削除する必要があります。

enter image description here

削除するには、Synaptic Package Managerを使用できます。インストールしていない場合は、 からインストールできます。

4
Mitch