私はDebianベースのディストリビューションであるLinux Mintを実行していますが、逆の依存関係を削除せずにパッケージを削除したい、または他のものを削除せずにパッケージを削除したいと思います。
例:PACKAGE_Aを削除したいのですが(PACKAGE_X、PACKAGE_Y、PACKAGE_Z)は、PACKAGE_Aに依存して自動的に削除されます。 X、Y、Zを取り付けたままにしてAのみを取り外す必要があります。残念ながら、X、Y、Zを再インストールすると、PACKAGE_Aも再インストールされます。
削除する特定のパッケージには約20の依存関係があり、その一部は適切なGUI機能にとって重要であるようです。
Arch Linuxではパックマン文書説明する:
依存パッケージを削除せずに他のパッケージに必要なパッケージを削除するには、次の手順を実行します。
pacman -Rdd パッケージ名
私のDebianベースのディストリビューションはpacmanを使用していません。
編集する:Faheem Mithaの答えは、私が望んでいたまさにその答えでした。
dpkg -r --force-dependents foo
これにより問題のあるパッケージは削除されましたが、apt-getとMint Software Managerの不平を言う依存関係は削除されませんでした。ありがとうございます!
答え1
私が正しく理解したなら、他のパッケージを削除せずに他のパッケージが依存するパッケージを削除したいということです。これはおそらく良い考えではないかもしれないことに注意してください。これを行うことができます。
dpkg -r --force-depends foo
パッケージを削除するために使用されます(confファイルは削除されません)。
dpkg -P --force-depends foo
パッケージを消去する(confファイルはい削除済み)。
使用例:
root@orwell:/home/faheem# dpkg -P --force-depends gcc-4.6-base:amd64
dpkg: gcc-4.6-base:amd64: dependency problems, but removing anyway as you requested:
gcc-4.6 depends on gcc-4.6-base (= 4.6.3-14).
libstdc++6-4.6-dev depends on gcc-4.6-base (= 4.6.3-14).
g++-4.6 depends on gcc-4.6-base (= 4.6.3-14).
cpp-4.6 depends on gcc-4.6-base (= 4.6.3-14).
(Reading database ... 454279 files and directories currently installed.)
Removing gcc-4.6-base:amd64 ...
Processing triggers for ccache ...
Updating symlinks in /usr/lib/ccache ...
時々これを行うと便利です。もちろん、システムをこのような損傷または一貫性のない状態に長時間放置することは非常に望ましくない。しかし、機会が与えられると、aptは次のように宇宙のバランスを復元します。
root@orwell:/home/faheem# apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
libavdevice53 libavfilter2 libglade2-dev python-cairo-dbg python-cairo-dev python-gnupginterface python-gobject-2-dev
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
gcc-4.6-base
The following NEW packages will be installed:
gcc-4.6-base
0 upgraded, 1 newly installed, 0 to remove and 62 not upgraded.
Need to get 142 kB of archives.
After this operation, 159 kB of additional disk space will be used.
Do you want to continue [Y/n]?
Get:1 http://debian.lcs.mit.edu/debian/ wheezy/main gcc-4.6-base amd64 4.6.3-14 [142 kB]
Fetched 142 kB in 7s (19.1 kB/s)
Selecting previously unselected package gcc-4.6-base:amd64.
(Reading database ... 454274 files and directories currently installed.)
Unpacking gcc-4.6-base:amd64 (from .../gcc-4.6-base_4.6.3-14_amd64.deb) ...
Processing triggers for ccache ...
Updating symlinks in /usr/lib/ccache ...
Setting up gcc-4.6-base:amd64 (4.6.3-14) ...