저는 Debian 기반 배포판인 Linux Mint를 실행하고 있으며 역방향 종속성을 제거하지 않고 패키지를 제거하고 싶거나 다른 것을 제거하지 않고 패키지를 제거하고 싶습니다.
예: PACKAGE_A를 삭제하고 싶지만 (PACKAGE_X, PACKAGE_Y, PACKAGE_Z)는 PACKAGE_A에 종속되어 자동으로 삭제됩니다. X,Y,Z를 설치된 상태로 유지하고 A만 제거해야 합니다. 안타깝게도 X,Y,Z를 다시 설치하면 PACKAGE_A도 다시 설치됩니다.
제거하려는 특정 패키지에는 약 20개의 종속성이 있으며 그 중 일부는 적절한 GUI 기능에 중요한 것으로 보입니다.
아치 리눅스에서는팩맨 문서설명하다:
종속 패키지를 제거하지 않고 다른 패키지에 필요한 패키지를 제거하려면 다음을 수행하십시오.
pacman -Rdd 패키지 이름
내 Debian 기반 배포판은 pacman을 사용하지 않는데, apt-get, Aptitude 또는 Mint Software Manager를 사용하여 동일한 기능을 어떻게 얻을 수 있습니까?
편집하다: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) ...