
답변1
짧은 대답은 다음과 같습니다.
aptitude remove '~sX11 ! ~Rbeaglebone'
그러나 이런 상황에서는 (많은X11에 의존하는 것들!), 대화형 확인자를 사용하는 것이 좋습니다. 이렇게 하려면 --schedule-only
위에 옵션을 추가하고 aptitude
인수 없이 다시 실행하십시오. 명령 하나 또는 둘 다에 추가해야 할 수도 있지만 -o Aptitude::Auto-Fix-Broken=false
(아직 설정에 없는 경우), 아직까지는 필요하지 않다고 생각합니다. g인터페이스를 누를 때만 자동 해결이 발생하는 것을 볼 수 있습니다 .
ncurses 인터페이스가 실행되면 키를 눌러 e첫 번째 솔루션을 검사하고 추가 제거 사항을 살펴보세요. 원하지 않는 항목이 있으면 화살표 키를 사용하여 해당 항목을 선택하고 키를 눌러 r작업을 거부하세요. 다음 솔루션을 로드하려면 누르세요 .. 이제 거부 사항이 전혀 포함되지 않은 솔루션이 제공됩니다. 필요에 따라 반복하고 를 눌러 !해결책을 적용하고 평소대로 계속하십시오.
답변2
다음 방법 중 하나를 사용하여 종속성을 유지해야 하는 "beaglebone" 패키지를 "제외"할 수 있다고 생각합니다.
$ sudo apt-mark hold <package>
또는
$ echo <package> hold | sudo dpkg --set-selections
apt-mark
첫 번째는 그 기능을 활용하는 것입니다 hold
.
hold
hold is used to mark a package as held back, which will prevent the
package from being automatically installed, upgraded or removed. The
command is only a wrapper around dpkg --set-selections and the state
is therefore maintained by dpkg(1) and not affected by the --file
option.
dpkg
두 번째는 패키지를 "보류" 상태로 표시하는 데 사용됩니다 .
--set-selections
Set package selections using file read from stdin. This file should
be in the format 'package state', where state is one of install,
hold, deinstall or purge. Blank lines and comment lines beginning
with '#' are also permitted.