Apt versus apt-get

Salut :wink:

Ce matin j’ai mis à jour jeelink en beta et dans les logs j’ai cela :

0000|+ echo '*******************Begin of package installation******************'
0001|*******************Begin of package installation******************
0002|+ sudo apt update
0003|WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Or si j’ai bien compris apt c’est en ligne de commande et apt-get pour les script…

apt 's output is not well usable in scripts. For example, apt install (compared to apt-get install ) displays a progress bar that’s useless for scripts and can throw errors when the output is parsed. apt show firefox shows a hint for an additional record, which is also totally useless in a script, you want it to simply output every record there – that’s what apt-cache show firefox does. Let’s see what man apt has to say about that:

1 « J'aime »

Hello.

Donc au pire un apt-get qui marche partout. Facile !
Un exemple de mélanges : le script d’installation

4 touches en moins quand même …

Sauf qu’apt affiche la barre de progression et que ça fait des conflits avec les scripts… Donc dans jeedom, c’est moins sympa d’avoir les warning et ça n’apporte rien de gagner 4 touches.
En usage manuel, pourquoi pas

1 « J'aime »

Y a d’autres subtilité entre les deux mais effectivement les commandes principales sont équivalentes.
Je n’ai jamais trop compris pourquoi apt a été introduit j’avoue et effectivement ce n’est pas à utiliser dans un script.

Oui. Pour un usage manuel/humain ça a du sens de grouper apt-cache et les barres de progression. C’est la seule explication que je conçoit. Encore que apt-cache, je l’exploite rarement.
En soit c’est juste un question d’habitude après. Il y a déjà dnf qu’il a fallu se farcir mais la fin de centos 8 en licence gratuite va y mettre un frein donc de ce côté là je pense que c’est réglé

@Alexandre qu’en penses-tu ?

Passes-tu l’info à Jeedom SAS, doit on faire des PR ?
Une comm pour l’ensemble des dev ?

@+

Bonjour,

Je voulais créer un sujet mais je suis tombé sur celui-ci.

Effectivement apt est à utiliser en ligne de commande et pas dans des scripts.
Il introduit une progress bar inutile en script et les éventuels retour ne sont pas garanti d’une version à l’autre.

Voilà la doc debian:
apt is for the terminal and gives beautiful output while apt-getandapt-cache are for scripts and give stable, parsable output.

Je viens d’installer la version beta du plugin openzwave et je constate dans le log d’installation des dépendances ceci :

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

Je vois que certains ici ont déjà débattu du sujet mais je ne vois pas de retour d’un membre de l’équipe Jeedom savoir si ils prennent en compte ou pas.

Edit : Je pense que le tag n’est pas bon car c’est plus général que sur un plugin c’est dans tout qu’il faut vérifier

Si @prfalken ou un modérateur peut mettre à jour :wink:

Le nouveau système de gestion des dépendances du core 4.2 utilise apt et pas apt-get donc effectivement on va avoir ces warnings partout…
ca pollue pas mal les logs

Sachant que la doc préconise apt-get pour les scripts pourquoi ce choix ?