web-dev-qa-db-ja.com

特定の日付/時刻の後にインストールされたすべてのパッケージを削除するにはどうすればよいですか?

11月9日、BasKet Note Padsの最新の安定版リリースをインストールしようとしましたが、どうやらQT4とKDE 4に移植する必要があるため、明らかにバットからサポートされていません。このプログラムは移植されましたが、2010年の時点ではベータ段階にあり、基本的にバグがあり、必要な機能が欠けています。

そのため、QT3と私があまり知らない他の多くを必要とするBasKet v1.xをインストールしようとしました。それらをインストールしようとすると、15 GBのハードドライブの20%を使用してしまいました。もちろん、私はBasKetを動作させることはありませんでしたが、インストールしたパッケージはまだ残っているので、その日インストールしたすべてのものを効果的にアンインストールする必要があります。

特定の日付(私の場合は11月9日)にインストールされたすべてのパッケージをアンインストールするコマンドはありますか?

6
user1841330

特定の日付%d-%m-%dはここで置き換え、

grep "2015-12-19.*.install " /var/log/dpkg.log | awk '{ print $4 }' | cut -d: -f1

パッケージのリストを取得し、

libck-connector0
libgssrpc4
libkadm5clnt-mit9
libkdb5-7
libkadm5srv-mit9
libgnutlsxx27
....
....

xargsを使用して、Aptコマンド引数のリストにそれらを追加します。

grep "2015-12-19.*.install " /var/log/dpkg.log | awk '{ print $4 }' | cut -d: -f1 | xargs Sudo apt-get purge
3
Jay Patel

これらのパッケージをインストールした日付がわかっている場合、それらを自動的に削除する最善の方法は、以下のコマンドです:

grep "2015-12-19.*.install " /var/log/dpkg.log | awk '{ print $4 }' | cut -d: -f1 

上記は、コマンドの日付にインストールされたすべてのパッケージをリストします。最後のコマンドは次のとおりです。

grep "2015-12-19.*.install " /var/log/dpkg.log | awk '{ print $4 }' | cut -d: -f1 | Sudo apt-get remove -y

日付を必要に応じて置き換えれば、準備完了です!

2
Tragaknight

次の操作を行うことで、インストールしたパッケージを時系列順に確認できます。

grep install /var/log/dpkg.log

(最後のエントリは最新のものになります)

左側に、インストールの日付と時刻があります。

アンインストールして実行するものを選択してください

Sudo apt-get remove package-name

また、小さなハードディスクがあるため、プログラムのインストールに使用したDebパッケージをディスクから削除することをお勧めします。

Sudo apt-get clean

これにより、/var/cache/apt/archives/からdebファイルが削除されます

1
hytromo