Pourquoi cette command a-t-elle supprimé tous les packages?

J'essayais d'get un programme Windows pour fonctionner sur PlayOnLinux et après ça ne fonctionnait pas je suis allé supprimer Wine avec cette command: sudo apt-get remove --purge wine*

et sans penser que j'ai accepté d'enlever chaque package sur la machine. Quelqu'un peut-il me dire pourquoi il a sélectionné chaque package au lieu de tous ceux qui commencent par la string "vin"?

Je cours Linux Mint 16

S'il y a au less un file dans le directory courant dont le nom commence par wine , alors wine* dans la command s'étend à la list des files dont le nom commence par wine . S'il n'y a pas un tel file, alors

 sudo apt-get remove --purge wine* 

est exécuté. Les arguments d' apt-get install et apt-get remove sont des expressions régulières étendues, et non des jokers shell ; wine* signifie win suivi d'un nombre quelconque de e , et comme cela peut correspondre à n'importe quelle partie du nom du package, cela signifie que tout package dont le nom contient win tant que sous-string. De plus, bien sûr, tout package qui dépend de ces packages.

Si vous utilisiez KDE, vous avez perdu le package kde-window-manager . Sinon, vous devez avoir perdu un autre package critique. Peut libmate-window-settings1 être que libmate-window-settings1 est requirejs par mate-control-center ce qui est requirejs par mate-desktop-environment-core dont la perte rendrait la plupart des packages MATE superflus. J'ai vérifié les noms des packages Debian Wheezy, Mint pourrait avoir un set différent, mais vous avez l'idée.

Pour supprimer uniquement les packages dont le nom commence par le wine , utilisez

 sudo apt-get purge '^wine' 

Vérifiez attentivement la list des packages avant de confirmer.

Vous pouvez être plus à l'aise avec Aptitude , qui a un frontal plein écran en mode text.