web-dev-qa-db-ja.com

メタパッケージを使用して以前にインストールされたパッケージを個別にアンインストールすることは可能ですか?

Gnomeがgnome-Shellに組み込んだヘルプユーティリティ、ドキュメントビューア、連絡先アプリなどは必要ありません。

それらのパッケージを削除することは可能ですかちょうど?試すたびに、gnome3をまとめて削除する必要があります。

これは可能であるはずであり、何かが足りないような気がします。

2
Andrew

メタパッケージによってプルされたパッケージのアンインストールは 不可能ではないにしても常に難しい です。ただし、手動で推測しても、必死にそれらを削除する必要があるので、良い代替案を提案できます。

インストール、アップグレード、または削除されたパッケージは、/var/log/apt/history.logファイルに記録されます。関連するセクションからパッケージ名をコピーして手動でアンインストールする方が比較的簡単です。

これがファイルのセクションのサンプルです

Start-Date: 2016-12-12  19:15:40
Commandline: aptdaemon role='role-commit-packages' sender=':1.293'
Install: libva-tpi1:AMD64 (1.7.1-2~Gd~x), intel-gpu-tools:AMD64 (1.15-1intel1), libva-egl1:AMD64 (1.7.1-2~Gd~x), vainfo:AMD64 (1.7.1-2~Gd~x), libva-glx1:AMD64 (1.7.1-2~Gd~x)
Upgrade: libgles2-mesa:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libdrm-nouveau2:AMD64 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libdrm-nouveau2:i386 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libegl1-mesa-dev:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libgles1-mesa:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libglapi-mesa:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libglapi-mesa:i386 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), mesa-common-dev:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libxatracker2:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libegl1-mesa-drivers:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libegl1-mesa:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libgbm1:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libdrm-amdgpu1:AMD64 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libdrm-amdgpu1:i386 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libwayland-egl1-mesa:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libgles2-mesa-dev:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libdrm2:AMD64 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libdrm2:i386 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libgl1-mesa-dev:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libgl1-mesa-dri:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libgl1-mesa-dri:i386 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libosmesa6:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libosmesa6:i386 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libgl1-mesa-glx:AMD64 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libgl1-mesa-glx:i386 (13.1~git1611130730.151aec~Gd~x, 13.1~git1612120730.609216~Gd~x), libdrm-intel1:AMD64 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libdrm-intel1:i386 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libdrm-radeon1:AMD64 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libdrm-radeon1:i386 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x), libdrm-dev:AMD64 (2.4.73+git1611221830.1924b6~Gd~x, 2.4.74+git1612060630.082579~Gd~x)
End-Date: 2016-12-12  19:16:59

必要なパッケージ名は、Install:フィールドの値から見つけることができます。たぶん、それからパッケージ名を引き出すためにいくつかのテキスト解析を採用することさえあります。

これが少なくとも少し役立つことを願っています。

更新

後で削除できるように、コマンドでパッケージがインストールされるのを確認するためのRubyスクリプトを作成しました。ただし、後でインストールするパッケージも依存する可能性があるため、注意が必要です。まだ完成していないので、拡張したいのですが、とにかくここで確認してください https://github.com/AnwarShah/apt-remove-meta

  1. Zipファイルをダウンロードするか、リポジトリのクローンを作成します
  2. cdディレクトリと
  3. Ruby search-apt-log.rbを実行します。それは検索語を求め、それを与えます。次に、その用語に関連するすべての適切なイベントの履歴が表示されます。次に、インストールされているパッケージを確認し、名前をコピーして削除できます。
3
Anwar

apt-getを呼び出すときにこれらのパッケージ用に解放されるインストールサイズ/スペースが数MBであることがわかったので、弾丸を噛んでapt-getに任せましたが、すべて問題ありませんでした。

したがって、他の誰かがパッケージの削除について確信が持てない場合は、インストール/アンインストールのサイズがパッケージに適していることを確認してください。すべてが問題ないはずです。数百MBと表示された場合は、ヒットしないでください Y

1
Andrew

少し前に、これを実現するapt-holepunchというshスクリプトを作成しました( http://www.mail-archive.com/[email protected]/msg900702/apt-holepunch )。警告:このスクリプトは非常に危険です。

ここでの完全なコンテキスト: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625801

はい、メタパッケージからすべてのパッケージをインストールするのではなく、メタパッケージをインストールしたままにして、将来追加されるパッケージがインストールされるようにするのには十分な理由があります。どういうわけか、開発チームはこれを理解していません。

0
Joshua