Estou em uma situação em que a lista de pacotes órfãos a serem removidos apt-get autoremove
inclui um pacote que eu quero manter. Aparentemente, removi acidentalmente um pacote que dependia dele. Como posso agora marcar o pacote como explicitamente desejado, para que apt-get autoremove
ele não seja removido?
apt
package-management
bluenote10
fonte
fonte
Respostas:
Usar
apt-mark
tão
Agora
autoremove
não o removerá.Desfazer
Agora
autoremove
, o pacote será removido se não for uma dependência de nenhum outro pacote.fonte
Mais algumas tentativas do Google trouxeram uma solução :
É possível apenas instalar explicitamente:
ou marcar como instalado manualmente via
apt
não será reinstalado, a saída será parecida com:fonte
Isso já foi respondido bem, mas eu encontrei uma situação em que não queria "marcar" muitos dos pacotes (e desmarcar depois
autoremove
).Quando a lista de pacotes que você deseja remover automaticamente é facilmente definida, você pode canalizar /
sed
/xargs
eles.Não tenho um exemplo complexo de muitos pacotes, mas se tiver o seguinte cenário:
e quero remover apenas os
linux*
pacotes, posso fazer isso:Portanto, a partir daqui, é fácil passar esses
xargs
argumentos como argumentos de linha de comando para o simplesapt-get remove -y
:Normalmente, ao usar
xargs
, eu me protegia contra espaços nos argumentos (por exemplo,find ... -print0 | xargs -0 ...
), mas como os nomes dos pacotes não têm espaços, eu me sinto à vontade usando argumentos delimitados por nova linha.(Eu acho que em outras situações, seria mais apropriado "marcar" uma retenção, desatrelar os pacotes. Isso também pode ser feito com expressões regulares e
xargs
, mas provavelmente está sobrecarregando a situação.)fonte