Dernièrement, j'ai vu beaucoup de gens utiliser
Sudo apt
au lieu de
Sudo apt-get
De plus, Ubuntu n'arrête pas de me demander d'installer Sudo apt
The program 'foo' is currently not installed. You can install it by typing:
Sudo apt install foo
(rappelez-vous que 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,
apt-get
par apt
?apt-get
est-il dangereux?apt-get
est de niveau inférieur et compatible avec les versions antérieures. apt
est préférable pour les utilisateurs finaux et ne nécessite ni ne contient certaines fonctionnalités supplémentaires présentes dans apt-get
.
Les deux vont parfaitement bien. apt-get
n'est pas obsolète, mais votre installation de 15.10 est :)
Edit: De la page de manuel d'apt (8)
La commande apt est conçue pour être agréable pour les utilisateurs finaux et n’a pas besoin d’être compatible avec les versions antérieures 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 de niveau supérieur et perd également certaines fonctionnalités de compatibilité et de scripting en amont.
Non, apt-get
n'est pas obsolète. La page de manuel de apt
a ceci à dire à propos de apt
par rapport à apt-get
(et apt-cache
):
UTILISATION DE SCRIPT ET DIFFÉRENCES D'AUTRES APT OUTILS
La ligne de commande apt (8) est conçue comme un outil pour l'utilisateur final et peut changer de comportement entre les versions. Bien qu’il essaie de ne pas rompre la compatibilité avec les versions antérieures, cela n’est pas garanti non plus si un changement semble avantageux pour une utilisation interactive.
Toutes les fonctionnalités d'apt (8) sont disponibles dans des outils APT dédiés, tels qu'apt-get (8) et apt-cache (8). apt (8) modifie simplement la valeur par défaut de certaines options (voir apt.conf (5) et plus précisément la portée binaire). Vous devriez donc préférer utiliser ces commandes (éventuellement avec certaines options supplémentaires activées) dans vos scripts, car elles préservent la compatibilité avec les versions antérieures autant que possible.
apt
donne également un avertissement disant
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
s'il détecte il y a 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 à tes questions,
dois-je remplacer toutes les commandes apt-get par
apt
?
Non, vous n'êtes pas obligé de remplacer apt-get
par apt
. Si vous l'utilisiez dans des scripts, vous devriez vous en tenir à apt-get
car elle possède une API CLI stable et une compatibilité en amont garantie.
apt-get
est-il dangereux?
apt
est aussi dangereux que apt-get
: vous ne devriez installer que des logiciels provenant de sources de confiance.
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 mettre à niveau vers 16.04, qui est une version LTS.
mes programmes fonctionnent-ils toujours?
Par programmes, je suppose que vous voulez dire des scripts. Oui, ils continueront de fonctionner car apt-get
n'est pas obsolète. En fait, vous devriez préférer utiliser apt-get
dans les scripts pour assurer la compatibilité ascendante, comme suggéré par la page de manuel de apt
.
apt
et apt-get
sont fondamentalement le même gestionnaire de paquets, leur fonction est la même.
Une différence est que apt
contient également des fonctionnalités, par exemple. apt-cache
et a une sortie plus jolie.
Toutefois, apt
ne doit pas encore être utilisé dans les scripts, du moins si vous souhaitez analyser sa sortie, car il est encore en développement et son format de sortie peut encore changer. De plus, Tab-autocomplete de Bash ne fonctionne pas encore avec de nombreuses commandes apt
.
Vous pouvez utiliser les deux, selon votre préférence.
Comme vous pouvez le constater dans les autres réponses, vous pouvez utiliser 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é que cela résolvait les conflits d'une manière différente de celle de apt-get
. Lorsque la situation était délicate (quelque chose devait être supprimé, un paquet avait été épinglé dans une version spécifique, j'avais rétrogradé un paquet ou j'avais utilisé un mélange de paquets de différentes versions), apt
voulait généralement supprimer des tonnes de paquets ou ne pouvait pas résoudre le conflit.
Étant donné que apt-get
était beaucoup mieux dans ces situations et qu'il n'y avait aucun inconvénient, j'ai abandonné apt
et ai continué à utiliser apt-get
à la place. C’était il ya plusieurs années, cela a peut-être changé, mais si vous vous retrouvez dans une situation similaire, vous pouvez essayer les deux et voir lequel peut le mieux résoudre le conflit.