답변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.