
Gostaria de remover a maioria dos pacotes da categoria X11 do meu sistema. No entanto, alguns desses pacotes dependem do pacote 'beaglebone'. Como eu poderia pedir ao aptitude para remover tudo na categoria X11, com exceção dos pacotes dos quais o 'beaglebone' depende?
Você pode ver abaixo que ele recomenda o ‘beaglebone’ como um dos pacotes que deve ser desinstalado sob risco de ser quebrado.
Como posso ter certeza de que este pacote e suas dependências serão mantidos após a remoção?
Responder1
A resposta curta é:
aptitude remove '~sX11 ! ~Rbeaglebone'
No entanto, neste tipo de situação (há umamuitode coisas que dependem do X11!), recomendo usar o resolvedor interativo. Para fazer isso, adicione a --schedule-only
opção acima e execute aptitude
novamente sem argumentos. Você também pode ter que adicionar -o Aptitude::Auto-Fix-Broken=false
um ou ambos os comandos (se ainda não estiver em suas configurações), mas não acho que você precise disso, tanto quanto Vejo que a resolução automática só acontece quando você pressiona gna interface.
Depois de ter a interface ncurses em execução, pressione epara examinar a primeira solução e ver as remoções adicionais. Se você vir algum que não deseja, use as teclas de seta para selecioná-lo e pressione rpara rejeitar a ação. Pressione .para carregar a próxima solução; agora ela deve fornecer uma solução que não inclua nenhuma de suas rejeições. Repita conforme necessário e pressione !para aceitar a solução e continuar normalmente.
Responder2
Acredito que você pode usar um dos seguintes métodos para "excluir" o pacote "beaglebone", o que deve forçar a permanência de qualquer uma de suas dependências.
$ sudo apt-mark hold <package>
ou
$ echo <package> hold | sudo dpkg --set-selections
O primeiro faz uso apt-mark
e seu hold
recurso.
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.
O segundo utiliza dpkg
para marcar um pacote como "em espera".
--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.