Por que esse comando deletou todos os pacotes?

4

Eu estava tentando fazer um programa do Windows rodar no PlayOnLinux e depois que ele não funcionou eu fui remover o Wine com este comando:          sudo apt-get remove --purge wine*

e sem pensar eu concordei em remover todos os pacotes da máquina. Alguém pode me dizer por que selecionou cada pacote em vez de todos os que começam com a string "vinho"?

Estou executando o Linux Mint 16

    
por ken 03.06.2014 / 19:53

1 resposta

5

Se houver pelo menos um arquivo no diretório atual cujo nome começa com wine , então wine* no comando será expandido para a lista de arquivos cujo nome começa com wine . Se não houver tal arquivo, então

sudo apt-get remove --purge wine*

é executado. Argumentos para apt-get install e apt-get remove são expressões regulares estendidas, não curingas de shell ; wine* significa win seguido por qualquer número de e e, como isso pode corresponder a qualquer parte do nome do pacote, isso significa qualquer pacote cujo nome contenha win como substring. Além disso, é claro, qualquer pacote que dependa desses pacotes.

Se você estava usando o KDE, perdeu o pacote kde-window-manager . Se não, você deve ter perdido algum outro pacote crítico. Talvez libmate-window-settings1 , que é exigido por mate-control-center , que é exigido por mate-desktop-environment-core cuja perda tornaria a maioria dos pacotes MATE supérfluos. Eu verifiquei os nomes dos pacotes wheezy do Debian, o Mint pode ter um conjunto diferente, mas você entendeu.

Para remover apenas os pacotes cujos nomes começam com wine , use

sudo apt-get purge '^wine'

Verifique cuidadosamente a lista de pacotes antes de confirmar.

Você pode se sentir mais confortável com o Aptitude , que tem um front-end de tela cheia no modo de texto.

    
por 04.06.2014 / 01:36