Soy un poco nuevo en Arch Linux y todavía me estoy acostumbrando a algunos de sus paradigmas. Vengo con muchos hábitos de otra distribución que era bastante más estructurada y de alguna manera predecible.
Una cosa que me gustaría hacer con algunos sistemas¹ es habilitar un trabajo cron para realizar actualizaciones automáticas de todos los paquetes del sistema. Parece que sería bastante fácil, excepto que también quiero algunos comentarios significativos del sistema que me digan cómo fueron las cosas que no fueron tan detalladas que termino ignorándolo hasta que descubro que el sistema está actuando.
- La salida completa de
pacman
es innecesaria. No me importa cuánto tiempo tomaron las descargas o si está en la actualización 46 de 53. - En su mayor parte, no me importan los éxitos.
- Me importan los errores. Si falla una ejecución de actualización, quiero saberlo y cualquier mensaje de error específico debe ser revisado.
Me importan los "avisos" emitidos durante la instalación. Por ejemplo, la actualización de systemd de hoy dijo:
:: 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"
O el sistema de archivos produjo esto:
warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew
Esta última categoría es en realidad lo que me impulsó a hacer esta pregunta porque parece que son muy inconsistentes en todo el conjunto de paquetes. Algunos de estos parecen ser generados por
post_upgrade()
, otros porinstall()
, etc. A veces se escriben en stdout, a veces en stderr. El formato de los mensajes varía ampliamente: a veces un bloque completo tiene el prefijo sangrado de alguna manera, otras veces solo hay una cadena con eco desnudo.
Quiero saber sobre cosas que pueden requerir mi intervención en un sistema pero que no me molesten de otra manera. ¿Existe alguna herramienta que gestione de manera inteligente estos datos y simplifique la administración del sistema? ¿Hay alguna forma de obtener la salida generada por los paquetes por separado del proceso pacman que los instala? ¿O estoy solo para escribir algún tipo de analizador que filtre cosas benignas del registro de instalación?
¹ Antes de saltar sobre lo estúpido que es esto, tenga en cuenta que soy lo suficientemente inteligente como para no hacer esto en los servidores de producción y no sin copias de seguridad de todo el sistema basadas en instantáneas que facilitarían la recuperación en caso de una catástrofe.
yaourt
etiqueta, tanto de su pregunta y su modelo conceptual: tratando de hacer esto con los repositorios oficiales será bastante difícil, añadiendo paquetes al azar de la AUR a la mezcla hará que sea quijotesca ...checkupdates
y usar-Syu
una vez al día es una tarea bastante trivial; No veo ningún beneficio real para todo el trabajo que implicaría su propuesta.Respuestas:
Quiero ser claro tanto para usted como para cualquier otra persona que pueda encontrarse con este hilo. Lo que quieres hacer no es posible. Arch no oculta el hecho de que espera que usted administre su sistema. Parte de esa responsabilidad es estar presente para el ciclo de actualización.
Ahora, hay pasos del proceso de actualización que puede automatizar de manera responsable, pero nunca equivaldrá a una automatización
-Syu
. Simplemente necesita estar allí para la actualización.Lo que puede hacer, por ejemplo, es configurar un
cron
trabajo que descargue cualquier paquete que deba instalarse (pero no instalarlo). Lo siguiente es un extracto de lapacman
documentación:Entonces podría, configurar un
cron
trabajo para ejecutarsudo pacman -Syuw
. No estoy terriblemente familiarizado concron
sus habilidades de programación. Sin embargo, si solo es capaz de ejecutar un trabajo después de que se cumpla una condición particular (por ejemplo, un comando que devuelve un valor particular), entonces sería bastante trivial activar la descarga de nuevos paquetes según sea necesario.Me imagino ejecutar una verificación en contra
checkupdates | wc -l
, por ejemplo. Si devuelve cualquier número por encima de cero, puede activar la descarga. Una vez más, sin embargo, esto no reemplazará la ejecución de una-Syu
cuando esté presente y listo para lidiar con la actualización.Para la parte final de su pregunta, ¿dónde obtener resultados de lo que sucedió durante una actualización que está buscando
/var/log/pacman.log
? Incluye toda la información de error que pueda interesarle.Hay una herramienta que pretende hacer
pacman
un poco más amigable para usuarios desconocidos. Si no me equivoco, también proporciona una notificación sobre las noticias si debe haber una actualización que requiera intervención manual.Esta herramienta puede simplificar su vida a corto plazo, pero nunca será un reemplazo para seguir las Listas de correo de manera sensata y diligente.
fuente
pacman
podría ser posible. Hacerlo conyaourt
no es factible.yaourt
En realidad, hace un trabajo un poco mejor de esto quepacman
, sin embargo, como creo que quiere decir, su configuración predeterminada como poco más que un ayudante de aur casi seguramente arruinaría las cosas a largo plazo. Sin embargo, es extremadamente configurable y se puede hacer para mantener los árboles fuente de manera muy efectiva. Ambosyaourt
ypacman
solo envolver dealpm
todos modos.yaourt
wrapspacman
y algunasalpm
funcionalidades ypacman
wraps adicionalesalpm
. En cualquier caso, sin embargo, seyaourt
extiendepacman
.-Syuw
es potencialmente bastante peligroso. Tiene la capacidad de producir actualizaciones parciales si las actualizaciones no se aplican, y luego se instala el software con-S
.Hay un viejo script que hace un muy buen trabajo; se llama safepac .
EDITAR: Este script todavía está disponible en github aquí: https://github.com/bencahill/binfiles/blob/master/safepac
Tenga en cuenta que necesita una configuración de correo que funcione, ya que este script también le envía un correo de resumen (¿con un registro completo?) Y con partes destacadas de la actualización:
El script es antiguo, pero la idea es buena y probablemente todavía funcione con actualizaciones menores, si las hay.
fuente
Utilizo mi propia información para ejecutar
yaourt
cron.fuente
yaourt
por muchos años. Era una buena herramienta, pero las cosas para las que fue construida para "envolver" han cambiado de forma y ahora hace varias cosas bastante mal. En este punto, es tan problemático que los autores de la herramienta han dicho que incluso ellos ya no la están utilizando. Si desea un ayudante de AUR, le sugiero que pruebe uno de los que se mantienen activamente. Me cambié ayay
mí mismo y estoy bastante feliz.yay
para mí.