web-dev-qa-db-fra.com

apt-get install with '-' (minus / hyphen) supprime les paquets

Je cherchais un paquet (nautilus-terminal), et j'ai accidentellement fait ceci:

$ Sudo apt-get install nautilus-
Reading package lists... Done                                                                                                                                                                                                 
Building dependency tree                                                                                                                                                                                                      
Reading state information... Done                                                                                                                                                                                             
The following packages were automatically installed and are no longer required:                                                                                                                                               
  apturl apturl-common libgail-3-0 linux-headers-4.4.0-57 linux-headers-4.4.0-57-generic linux-image-4.4.0-57-generic linux-image-extra-4.4.0-57-generic                                                                      
Use 'Sudo apt autoremove' to remove them.                                                                                                                                                                                     
The following packages will be REMOVED:                                                                                                                                                                                       
  gnome-session-flashback nautilus nautilus-sendto nautilus-share ubuntu-desktop                                                                                                                                              
0 upgraded, 0 newly installed, 5 to remove and 69 not upgraded.                                                                                                                                                               
After this operation, 2 031 kB disk space will be freed.                                                                                                                                                                      
Do you want to continue? [Y/n] ^[[^C                                                                                                                                                                                          

C'est assez dangereux, car retirer est beaucoup plus difficile à confondre que le simple tiret d'une complétion automatique échouée.

Est-ce un équivalent de apt-get removeJe n'ai pas trouvé de documentation pour cela. Edit: sauf pour voir la page de manuel ...

22
Ondra Žižka

De man apt-get :

install 
 install est suivi d'un ou plusieurs packages souhaités pour l'installation ou la mise à niveau de 
. Chaque paquet est un nom de paquet, pas un nom de fichier complet 
 (Par exemple, dans un système Debian, 
 Apt-utils serait l'argument fourni et non 
 Apt-utils_1. 2.10_AMD64.deb). Tous les packages requis par les packages 
 Spécifiés pour l'installation seront également récupérés et 
 installés. Le fichier /etc/apt/sources.list est utilisé pour localiser les packages 
 Souhaités.  Si un trait d'union est ajouté au nom du paquet (avec 
 Sans espace intermédiaire), le paquet identifié sera supprimé s'il est installé.  De même, un signe plus peut être utilisé pour désigner un paquet 
 À installer. Ces dernières fonctionnalités peuvent être utilisées pour annuler les décisions 
 Prises par le système de résolution de conflits d'apt-get.
28
muru

Les deux suivants signifient la même chose:

# apt-get remove nautilus
# apt-get install nautilus-

Donc, si vous installez ou supprimez simplement une chose, il n’ya vraiment aucune raison de choisir l’une sur l’autre, et la commande remove peut également être utilisée.

L'opérateur "moins" est utile dans les cas où vous souhaitez supprimer un package et en installer un autre dans la même opération:

# apt-get install php5-cgi libapache2-mod-php5- 

Je ne pouvais pas penser à un meilleur exemple, mais dans certains cas, le fait d'en supprimer un et d'ajouter un autre dans des opérations distinctes pourrait entraîner d'autres installations ou suppressions inutiles, alors que les faire en une seule opération satisferait immédiatement certaines co-dépendances et le rendrait. une opération globalement plus simple.

Quant à savoir si l’ajout du signe moins facilite la suppression accidentelle de quelque chose par inadvertance, je voudrais tout d’abord vous dire à quel point il est facile de causer des dommages non intentionnels à votre système sur la ligne de commande en tout cas. Il n'a pas été conçu pour vous protéger de vous-même et des milliards de commandes encore plus simples peuvent endommager votre système. Mais deuxièmement, dans ce cas, cela vous dit exactement ce que vous allez faire et confirme que vous voulez vraiment le faire. C'est à faible risque.

0
thomasrutter