
APT vs Windows Update, oui mais…

Je viens de voir que j’ai pas mal de retard sur le blog, il est vrai que ces derniers temps beaucoup de boulot de fond ou hors monde numérique donc le blog passe après. En attendant la finalisation de quelques articles un peu plus étoffés, j’aimerai apporter mon éclairage à cet article du blog de Tesla comparant les mises à jour apt Debian contre Windows. Parce qu’on ne peut pas commenter, et qu’il y a deux trois trucs à rappeler.
NB : pour les plus casses-couilles qui me penseraient vendus à Debian, la remarque vaut aussi bien pour APT que pour YUM/RPM, Pacman, et même Gentoo/emerge. Pratiquement tous les systèmes de packaging sous Linux en fait.
Il y a une différence fondamentale dans la construction des systèmes Debian et Windows : le premier est entièrement construit à partir des paquets qui sont fournis sur les dépôts, alors que Microsoft construit son image direct à partir des sources pour ensuite ne proposer que des patches.
Le mot patch est important : en fait, à chaque mise à jour d’un composant, sous Debian vous récupérez l’intégralité de ce composant comme si vous l’installiez pour la première fois. Seule votre configuration est conservée. Et ce quand bien même la mise à jour ne concerne, sous le capot, qu’une partie des fichiers du paquet en question. Microsoft, au contraire, ne va proposer au travers d’une mise à jour que le strict nécessaire à la mise à jour d’un de ses morceaux. La conséquence c’est que parfois ils font du patch de patch, donc vous devez effectivement enchaîner les mises à jour et parfois les redémarrages pour pouvoir arriver à un système à jour, ce qui est, je suis d’accord, infiniment frustrant et pénible.
La cause profonde sera difficile à corriger : sous Windows, et même si ce n’est pas toujours parfait, il y a un fort contrôle d’intégrité des fichiers de base du système, qui interdit toute modification à chaud. Ce qui impose un redémarrage pour appliquer les modifications et les tables de contrôle avant le chargement des composants à jour. Un mécanisme qui n’est pas présent par défaut sous Debian et dérivés.
Il y a un cependant un gros inconvénient aux paquets complets : la consommation de bande passante. Pour être sous Manjaro, petite fille d’ArchLinux, les mises à jour qui se produisent toutes les semaines voire tous les 15 jours pèsent en moyenne 300 à 400 Mo. En dehors des mauvais mois Microsoft vous impose une centaine de Mo le deuxième mardi de chaque mois, un peu plus certes si vous mangez cher avec Office. Si vous êtes contraint de survivre sur connexion 3g/4g, avec un forfait data particulièrement contraint vu les usages récents, c’est pas la joie (me souviens avoir mangé 4Go en une heure sur les 5 mensuels que contenait mon forfait d’alors–c’était il y a un peu plus d’un an). Et tout le monde n’a pas encore de fibre optique au niveau résidentiel, en particulier les structures disposant d’une dizaine de machines au minimum comme les écoles (bisou Cyrille, courage pour les salles infos).
D’ailleurs, ce comportement du « package complet » se retrouve sous Windows pour d’autres couches que l’OS. Les « g@merz » savent combien pèsent les nouveaux drivers de cartes graphiques de nos jours qui sont obligatoires ou presque à chaque sortie de nouveau jeu : celui pour ma carte graphique sous Windows 7 me coûtera quasiment 400Mo. Les utilisateurs de Libre office qui suivent les mises à jour se mangent 200Mo à chaque release. Et je pourrais certainement trouver masse d’autres exemples.
Mais je confirme que c’est plaisant, quand on réinstalle, de gagner un temps fou sous Linux en ayant qu’une seule passe à faire, surtout qu’elle peut être lancée en même temps, et donc on a pas l’impression d’être interrompu avant de pouvoir réellement utiliser son ordinateur. Mais à moins de passer ses journées à faire et refaire des installations, c’est un avantage qui ne se voit pas souvent.
Reste le fait qu’on installe tous ses logiciels sous Linux via le même gestionnaire de paquets, là où Windows Update est réservé aux mises à jour (il porte finalement très bien son nom). Pour le reste il faut se taper le Windows Store et donc se faire espionner par Microsoft et ses partenaires publicitaires (car ça demande un compte Microsoft, comme si nous étions sur mobile). Ou continuer à gérer ses logiciels à la main comme un grand, même si des solutions comme WAPT ou Chocolatey commencent à émerger. Elle est pas belle l’informatique « de bureau Windows » de 2017 ?
Je pourrais dire une connerie mais il me semble que yum depuis quelques temps maintenant, propose des « morceaux » de paquets avec Presto. Ça réduit pas mal la taille en faisant un différentiel paquet par paquet d’une version à l’autre.
Mes deux centimes.
Oui, et sur Fedora on a les paquets DeltaRPM !
J’avais cru lire quelque part que ça serait abandonné, c’est pour ça que je ne l’évoques pas, mais pas moyen de remettre la main sur l’article/thread :/ Ou alors c’est pour dire que ça sera jamais dans RHEL, cerveau de merde qui se souvient de rien 🙁
Tiens, je découvre WAPT grâce à toi, installation en court !
merci
Pour mes vms debian j’utilise apt-cacher qui permet de faire un cache des updates et d’éciter de re-télécharger pour chaque vm !
Très bon outils ! On est en train de le déployer à mon taff
j’ai juste eu des avis d’admins me disant de bien monitorer le apt-cacher car il semble planter de temps à autres…
Pour ma part je n’ai encore rien constaté !
tu ne parles pas de la place que ça prend Windows avec le temps et tous les desinstalleur des patchs qui sont en plus et le cumul des fichiers… qui alourdissent et prennent de la place.
Oui, mais Microsoft inclue un outil pour faire le ménage justement, d’ailleurs j’en avais parlé à sa sortie y’a 4 ans est c’est toujours d’actualité même avec Windows 10 : https://blog.seboss666.info/2013/10/recuperer-de-lespace-disque-sous-windows/ 😛
D’ailleurs aussi bien apt, yum, que pacman font la même chose avec les paquets sous Linux, tout est téléchargé en local et conservé sans suppression automatique :
[seboss666@seboss666-ltp /var/cache/pacman/pkg ]$ du -shc .
5,6G .
5,6G total
[seboss666@seboss666-ltp /var/cache/pacman/pkg ]$ sudo pkgcacheclean 1
[seboss666@seboss666-ltp /var/cache/pacman/pkg ]$ du -shc .
1,6G .
1,6G total
Alors non, apt, pacman tout ça ne font pas la même chose du tout, il n’est pas question de désinstalleurs et autres magouille interne bizarres mais tout simplement d’un cache local des packages pour éviter de les retélécharger. Et sous linux il y a un truc de dingue qui s’appelle les fichiers de conf, pour qu’apt vide tout seul son cache il suffit de lui mettre la ligne apt periodic qui va bien: APT::Periodic::AutocleanInterval « 21 » va vider le cache intelligemment toutes les 3 semaines La commande pkgcacheclean que tu utilises sert surtout quand on veut conserver plus d’historique que juste… Lire la suite »
J’ai oublié deux petites choses:
https://wiki.manjaro.org/index.php?title=Pacman_Tips#Cleaning_Packages
https://wiki.manjaro.org/index.php?title=Maintaining_/var/cache/pacman/pkg_for_System_Safety
Le reboot obligatoire sous linux n’est pas causé par apt ou autre gestionnaire de paquet, c’est une nouveauté introduite par systemd. Sous debian il est rare que je reboote immédiatement après une mise à jour apt, il peut se passer plusieurs jours ou semaine pendant lesquels je continue de me servir de ma machine sans problème (sauf si la mise à jour inclut une mise à jour de systemd). Sous Manjaro il arrive que continuer d’utiliser la machine après une mise à jour pose des problèmes mais comme les mises à jour sont décalées et cumulées par rapport à Arch… Lire la suite »
“Par contre je me passerai sans soucis de systemd qui est une source d’ennui considérable.”
Ben alors fait-le ! Il y a d’autres systèmes d’init que Systemd, libre à toi.
Ninite.com sous Windows pour les logiciels principaux.