58 votes

La fonction "apt-get" est-elle obsolète ?

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

sudo apt

au lieu de

sudo apt-get

De plus, Ubuntu continue de me dire d'installer des choses en 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é au sujet de l'utilisation apt 代わりに apt-get Je commence à penser qu'apt-get est déprécié et ne peut plus être utilisé dans mes programmes bash.

Dans mes programmes bash,

  • Dois-je remplacer toutes les apt-get les commandes avec apt ?
  • es apt-get dangereux ?
  • Mes programmes fonctionneront-ils toujours ?

51voto

edwinksl Points 22609

Non, apt-get n'est pas déprécié. La page de manuel de apt a ceci à dire sur apt vs. apt-get (et apt-cache ):

script UTILISATION ET DIFFÉRENCES AVEC LES AUTRES OUTILS D'APT

La ligne de commande apt(8) est conçue comme un outil pour l'utilisateur final et son comportement peut changer entre les versions. Bien qu'elle 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 disponibles dans les outils APT dédiés comme apt-get(8) et apt-cache(8). apt(8) modifie simplement le paramètre défaut valeur par défaut de certaines options (voir apt.conf(5) et plus particulièrement la portée Binary). Vous devriez donc préférer utiliser ces commandes (potentiellement avec certaines options supplémentaires activées) dans vos scripts car elles conservent la rétrocompatibilité autant que possible.

apt donne également un avertissement qui dit

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

s'il détecte la présence d'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 con apt . Au contraire, si vous l'utilisez dans des scripts, vous devriez vous en tenir à apt-get car il dispose d'une API CLI stable et d'une compatibilité ascendante garantie.

es 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 est que vous utilisez toujours Ubuntu 15.10, qui n'est plus supporté ! Veuillez passer à la version 16.04, qui est une version LTS.

Mes programmes fonctionneront-ils toujours ?

Par programmes, je suppose que vous voulez dire scripts. Oui, ils fonctionneront toujours puisque apt-get n'est pas déprécié. En fait, vous devriez préférer utiliser apt-get dans scripts pour une compatibilité ascendante comme suggéré par apt de la page de manuel.

38voto

Jeltok Points 321

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

Les deux sont parfaits. apt-get n'est pas déprécié, mais votre installation 15.10 l'est :)

Edit : De la page de manuel de apt(8)

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

Edit2 : apt a été conçu pour corriger certaines des failles fondamentales de dépendance dans apt-get . Comme il s'agit d'une enveloppe, apt est donc d'un niveau plus élevé, et perd également une partie de la rétrocompatibilité et des fonctionnalités de script.

-1voto

Zoltan Points 307

Comme vous pouvez le voir dans les autres réponses, vous pouvez utiliser soit apt ou apt-get . Ce que je voudrais ajouter c'est que lorsque j'ai essayé apt il y a quelques années, j'ai remarqué qu'il résolvait les conflits d'une manière différente de celle utilisée par les autres. apt-get a fait. Lorsque la situation était délicate (quelque chose devait être supprimé, un paquet était lié à une version spécifique, j'ai rétrogradé un paquet ou j'ai utilisé un mélange de paquets de différentes versions), apt voulaient généralement supprimer des tonnes de paquets ou ne pouvaient pas résoudre le conflit.

Depuis apt-get était bien meilleur dans ces situations et qu'il n'avait pas d'inconvénients, j'ai renoncé à la apt et a continué à utiliser apt-get à la place. C'était il y a plusieurs années, donc cela a peut-être changé, mais si vous vous trouvez dans une situation similaire, vous pouvez essayer les deux et voir lequel des deux résout le mieux le conflit.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X