Je suis un peu nouveau sur Arch Linux et je m'habitue toujours à certains de ses paradigmes. Je viens avec beaucoup d'habitudes d'une autre distribution qui était un peu plus structurée et à certains égards prévisible.
Une chose que j'aimerais faire avec quelques systèmes¹ est d'activer une tâche cron pour effectuer des mises à jour automatiques de tous les packages système. Cela semble être assez facile, sauf que je veux également des commentaires significatifs du système me disant comment les choses se sont déroulées de manière moins verbeuse que je finis par l'ignorer jusqu'à ce que je découvre que le système agit.
- La sortie complète de
pacman
n'est pas nécessaire. Peu m'importe le temps que les téléchargements ont pris ou que ce soit sur la mise à jour 46 de 53. - Pour la plupart, je ne me soucie pas des succès.
- Je me soucie des erreurs. Si une mise à jour échoue, je veux en être informé et tout message d'erreur spécifique doit être corrigé.
Je me soucie des "avis" émis lors de l'installation. Par exemple, la mise à jour systemd d'aujourd'hui a déclaré:
:: coredumps are no longer sent to the journal by default. To re-enable: echo >/etc/sysctl.d/50-coredump.conf \ "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"
Ou le système de fichiers a produit ceci:
warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew
Cette dernière catégorie est en fait ce qui m'a incité à poser cette question car il semble que celles-ci soient très incohérentes dans l'ensemble de packages. Certains d'entre eux semblent être générés par
post_upgrade()
, d'autres parinstall()
, etc. Parfois, ils sont écrits sur stdout, parfois sur stderr. Le format des messages varie considérablement: parfois un bloc entier est préfixé d'une manière ou d'une autre en retrait, d'autres fois il n'y a qu'une chaîne en écho.
Je veux savoir des choses qui peuvent nécessiter mon intervention sur un système mais ne pas être dérangé autrement. Existe-t-il un outil qui gère intelligemment ces données et simplifie l'administration du système? Existe-t-il un moyen d'obtenir la sortie générée par les packages séparément du processus pacman en les installant? Ou suis-je seul à écrire une sorte d'analyseur qui filtre les éléments bénins du journal d'installation?
¹ Avant de sauter à quel point c'est stupide, veuillez noter que je suis assez intelligent pour ne pas le faire sur les serveurs de production et pas sans sauvegardes système complètes basées sur des instantanés qui rendraient la récupération facile en cas de catastrophe.
yaourt
balise, à la fois de votre question et de votre modèle conceptuel: essayer de le faire avec les dépôts officiels sera assez difficile, ajouter des packages aléatoires de l'AUR au mixage le rendra capricieux ...checkupdates
et-Syu
ing une fois par jour est une tâche assez banale; Je ne vois aucun avantage réel pour tout le travail que votre proposition impliquerait.Réponses:
Je veux être clair pour vous et pour toute autre personne qui pourrait arriver sur ce fil. Ce que vous voulez faire n'est pas possible. Arch ne cache pas le fait qu'il attend de vous que vous administriez votre système. Une partie de cette responsabilité est présente pour le cycle de mise à jour.
Maintenant, il existe des étapes du processus de mise à jour que vous pouvez automatiser de manière responsable, mais cela ne sera jamais un automatisé
-Syu
. Vous devez simplement être là pour la mise à niveau.Ce que vous pouvez faire, par exemple, est de configurer un
cron
travail qui télécharge tous les packages qui doivent être installés (mais pas les installer). Ce qui suit est un extrait de lapacman
documentation:Vous pouvez ensuite configurer un
cron
travail à exécutersudo pacman -Syuw
. Je ne connais pas très biencron
les capacités de planification. Cependant, s'il est capable d'exécuter un travail uniquement après qu'une condition particulière a été remplie (par exemple, une commande renvoyant une valeur particulière), il serait assez trivial de déclencher le téléchargement de nouveaux packages selon les besoins.J'imagine
checkupdates | wc -l
, par exemple, faire une vérification contre . S'il renvoie un nombre supérieur à zéro, vous pouvez déclencher le téléchargement. Encore une fois, cependant, cela ne remplacera pas l'exécution d'un-Syu
lorsque vous êtes présent et prêt à gérer la mise à niveau.Pour la dernière partie de votre question, où chercher la sortie de ce qui s'est passé lors d'une mise à niveau, vous cherchez
/var/log/pacman.log
. Il comprend toutes les informations d'erreur qui pourraient vous intéresser.Il existe un outil qui est destiné à rendre
pacman
un peu plus convivial pour les utilisateurs inconnus. Si je ne me trompe pas, il fournit également une notification sur les actualités en cas de mise à jour nécessitant une intervention manuelle.Cet outil pourrait vous rendre la vie un peu plus simple à court terme, mais il ne remplacera jamais le suivi judicieux et diligent des listes de diffusion.
la source
pacman
pourrait être possible. Ilyaourt
n'est pas possible de le faire avec .yaourt
fait en fait un travail légèrement meilleur que celapacman
, bien que, comme je pense que vous voulez dire, sa configuration par défaut, un peu plus qu'un assistant aur, ne ferait presque certainement pas bouger les choses à long terme. Il est cependant extrêmement configurable et peut être fait pour maintenir très efficacement les arborescences sources. Les deuxyaourt
etpacman
seulement envelopper dealpm
toute façon.yaourt
wrapspacman
et quelquesalpm
fonctionnalités etpacman
wraps supplémentairesalpm
. Dans tous les cas cependant,yaourt
s'étendpacman
.-Syuw
est potentiellement très dangereux. Il a la capacité de produire des mises à jour partielles si les mises à jour ne sont pas appliquées, et le logiciel est ensuite installé avec-S
.Il y a un vieux script qui fait un très bon travail; il s'appelle safepac .
EDIT: Ce script est toujours disponible sur github ici: https://github.com/bencahill/binfiles/blob/master/safepac
Veuillez noter que vous avez besoin d'une configuration de messagerie fonctionnelle car ce script vous envoie également un courrier de résumé (avec journal complet?), Et avec les parties saillantes de la mise à jour:
Le script est ancien, mais l'idée est bonne et fonctionne probablement avec une mise à jour mineure, le cas échéant.
la source
J'utilise ma propre aptitude à exécuter
yaourt
par cron.la source
yaourt
pendant de nombreuses années moi-même. C'était un bon outil, mais les choses qu'il a été construites pour "envelopper" ont changé de forme et cela fait plusieurs choses très mal maintenant. À ce stade, il est si problématique que les auteurs de l'outil ont dit même qu'ils ne l'utilisaient plus eux-mêmes. Si vous voulez un assistant AUR, je vous suggère d'essayer l'un des services activement maintenus. Je suis passé àyay
moi-même et je suis assez content.yay
pour moi.