我是Arch Linux的新手,并且仍然习惯于它的某些范例。我从另一个发行版中吸取了很多习惯,该发行版结构化了很多,并且在某些方面可以预见。
我想在少数系统上做的一件事¹是使cron作业能够自动更新所有系统软件包。这似乎很容易,除了我还希望从系统中得到一些有意义的反馈,告诉我事情进展得不是那么冗长,以至于我最终忽略了它,直到发现系统正在运行。
- 的完整输出
pacman
是不必要的。我不在乎下载用了多长时间,或者它是否在53的更新46中。 - 在大多数情况下,我并不关心成功。
- 我确实关心错误。如果更新运行失败,我想知道它,任何特定的错误消息都应打补丁。
我确实关心安装过程中发出的“通知”。例如,今天的systemd更新说:
:: 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"
或文件系统产生此:
warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew
最后一个类别实际上是促使我问这个问题的原因,因为似乎在整个包装组中这些不一致。其中一些似乎是由生成的
post_upgrade()
,其他是由install()
等等生成的。有时将它们写入stdout,有时写入stderr。消息的格式差异很大:有时整个块以某种方式以缩进为前缀,而其他时候则只是一个裸露的回显字符串。
我想了解可能需要我干预系统但又不会打扰的事情。是否有工具可以智能地管理这些数据并简化系统管理?有什么方法可以使软件包生成的输出与安装它们的pacman进程分开吗?还是我自己编写一种解析器,以从安装日志中过滤掉良性内容?
¹在您跳到多么愚蠢的状态之前,请注意,我足够聪明,不会在生产服务器上执行此操作,并且也不会没有基于快照的完整系统备份,如果发生灾难,恢复将很容易。
checkupdates
和-Syu
唱歌一次是很琐碎的任务。我看不出您的提案需要做的所有工作有任何实际好处。
yaourt
从您的问题和概念模型中都删除该标签:尝试使用官方回购协议将非常困难,将来自AUR的随机软件包添加到组合中将使其变得不透明...