Est-ce que 'apt-get' est obsolète? [dupliquer]

47

Dernièrement, j'ai vu beaucoup de gens utiliser

sudo apt

au lieu de

sudo apt-get

De plus, Ubuntu continue de me dire d'installer les choses par sudo apt

The program 'foo' is currently not installed. You can install it by typing:
sudo apt install foo

(rappelez-vous, foo est un espace réservé, pas une application)

Donc, après cette popularité dans la communauté d'utiliser apt au lieu de apt-get , je commence à penser qu'apt-get est obsolète et ne peut plus être utilisé dans mes programmes bash.

Dans mes programmes bash,

  • dois-je remplacer toutes les commandes apt-get par apt ?
  • est apt-get dangereux?
  • mes programmes fonctionneront-ils toujours?
posée Skybbles 26.09.2016 - 15:15
la source

4 réponses

33

apt-get est le niveau inférieur et rétrocompatible. apt est meilleur pour les utilisateurs finaux et ne nécessite ni ne contient certaines fonctionnalités supplémentaires présentes dans apt-get .

Les deux sont parfaitement bien. apt-get n'est pas obsolète, mais votre installation 15.10 est:)

Modifier: à partir de la page de manuel d’apt (8)

  

La commande apt est destinée à être agréable pour les utilisateurs finaux et n’a pas besoin de          être rétrocompatible comme apt-get (8).

Edit2: apt a été conçu pour corriger certaines des failles de dépendance fondamentales dans apt-get . Comme il s’agit d’un wrapper, apt est donc un niveau plus élevé et perd également certaines fonctionnalités de compatibilité et de script.

    
réponse donnée negusp 26.09.2016 - 15:18
la source
45

Non, apt-get n'est pas obsolète. La page de manuel de apt dit ceci à propos de apt vs. apt-get (et apt-cache ):

  

UTILISATION DE SCRIPT ET DIFFERENCES AVEC D'AUTRES OUTILS APT

     

La ligne de commande apt (8) est conçue comme un outil d’utilisateur final et peut modifier le comportement entre les versions. Alors qu'il essaie de ne pas casser          Compatibilité ascendante, cela n'est pas garanti non plus si un changement semble bénéfique pour une utilisation interactive.

     

Toutes les fonctionnalités d'apt (8) sont également disponibles dans des outils APT dédiés tels que apt-get (8) et apt-cache (8). apt (8) change simplement le   défaut          valeur de certaines options (voir apt.conf (5) et plus précisément la portée binaire). Donc, vous devriez préférer utiliser ces commandes (potentiellement   avec          certaines options supplémentaires activées) dans vos scripts, car ils permettent une compatibilité descendante autant que possible.

apt donne également un avertissement indiquant

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

s'il détecte un tuyau. Par exemple:

$ apt show python | grep Package

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Package: python
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Quant à vos questions,

  

dois-je remplacer toutes les commandes apt-get par apt ?

Non, vous n'avez pas à remplacer apt-get par apt . Plutôt si vous l'utilisiez dans des scripts, vous devriez vous en tenir à apt-get car il possède une API CLI stable et une compatibilité descendante garantie.

  

est apt-get dangereux?

apt est aussi dangereux que apt-get : vous ne devez installer que des logiciels provenant de sources fiables.

  

puis-je utiliser apt dans Ubuntu 15.10?

Oui, vous pouvez. Le problème ici est que vous utilisez toujours Ubuntu 15.10, qui n'est plus pris en charge! Veuillez passer à la version 16.04, qui est une version LTS.

  

mes programmes fonctionneront-ils toujours?

Par programmes, je suppose que vous voulez dire des scripts. Oui, ils fonctionneront toujours car apt-get n'est pas obsolète. En fait, vous devriez préférer utiliser apt-get dans les scripts pour la compatibilité descendante, comme suggéré par la page de manuel de apt .

    
réponse donnée edwinksl 26.09.2016 - 15:24
la source
7

apt et apt-get sont fondamentalement le même gestionnaire de paquets, ce qu'ils font est le même.

Une différence est que apt contient également des caractéristiques provenant, par exemple, de apt-cache et a une sortie plus belle.

Cependant, apt ne doit pas encore être utilisé dans les scripts, du moins si vous souhaitez analyser ses résultats, car il est encore en développement et que son format de sortie peut encore changer. La saisie semi-automatique de Bash ne fonctionne pas encore avec de nombreuses commandes apt .

Vous pouvez utiliser les deux, selon vos préférences.

    
réponse donnée Byte Commander 26.09.2016 - 15:24
la source
0

Comme vous pouvez le voir sur les autres réponses, vous pouvez utiliser apt ou apt-get . Ce que j'aimerais ajouter, c'est que lorsque j'ai essayé apt il y a quelques années, j'ai remarqué que cela résolvait les conflits différemment de apt-get . Lorsque la situation était délicate (il fallait supprimer quelque chose, certains paquets étaient épinglés à une version spécifique, j'ai déclassé un paquet ou utiliser un mélange de paquets de différentes versions), apt voulait généralement supprimer des tonnes de paquets ou t résoudre le conflit.

Comme apt-get était bien meilleur dans ces situations et qu’il n’y avait pas d’inconvénients, j’ai abandonné apt et je n’ai pas utilisé apt-get à la place. C'était il y a plusieurs années, donc cela a peut-être changé, mais si vous rencontrez une situation similaire, vous pouvez essayer les deux et voir lequel peut mieux résoudre le conflit.

    
réponse donnée Zoltan 26.09.2016 - 21:02
la source

Lire d'autres questions sur les étiquettes