小编ygo*_*goe的帖子

initramfs 将尝试从 /dev/dm-1 恢复

我正在设置一个新的 Ubuntu 18.04 服务器,并且已经完成了一个备份/恢复循环。因此,整个系统已从备份中恢复,并使用新的 RAID 和 LVM 卷。

最近,无人值守升级报告了这一点:

Processing triggers for initramfs-tools (0.130ubuntu3.8) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-66-generic
I: The initramfs will attempt to resume from /dev/dm-1
I: (/dev/mapper/vg0-swap)
I: Set the RESUME variable to override this.
Run Code Online (Sandbox Code Playgroud)

我试图找出这实际上意味着什么,但没有成功。它在那里恢复什么?一些生成引导文件的过程?我知道这样做可能需要一段时间。跟RAID有关系吗?它的重新同步早就完成了。我不明白。而实际上有什么问题?那条消息要我做什么?我一窍不通。如果我不需要它,我怎样才能让它消失?

该消息后服务器确实成功重新启动了两次,因此它并不重要。(如果那个“我”应该是这样的意思。)

如果有帮助,这里有一些命令:

> lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root vg0 -wi-ao---- 400.00g
  swap vg0 -wi-ao----   8.00g

> cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 nvme1n1p2[0] …
Run Code Online (Sandbox Code Playgroud)

boot lvm raid

13
推荐指数
2
解决办法
2万
查看次数

journald 和 rsyslog 的日志消息在哪里

在 Ubuntu 18.04 上同时安装了 journald 和 rsyslog。两者都用于收集日志消息并存储它们的相同目的。所以我们有两个程序在这里做同样的工作。

我能发现的是,journald 只将日志消息保存在它自己的日志文件中,可以使用该journalctl命令进行查询。没有写入可读文件。此外,journal 将始终从 systemd 启动的所有服务中收集日志输出,这些服务应该始终是所有服务,因为最终 systemd 甚至从较旧的方案(如 init 脚本)启动所有进程。

Rsyslog 还通过一些套接字接收日志消息,就像过去 50 年左右的 syslog 一样工作。应用程序必须将它们的消息发送到该套接字,而 rsyslog 将接收它们。不确定 journald 实际如何接收任何东西。然后 rsyslog 根据其配置将这些接收到的消息转发到不同的可读文件中。

在 Ubuntu 中,两者都安装了但似乎没有连接。至少 rsyslog 不会加载“imjournal”模块,它可以用来“读取”journald 中的日志消息。我不明白 rsyslog 如何(主动)读取任何东西,我认为它只是(被动)接收消息。但无论如何它都没有使用它。

文件 /var/log/syslog 包含的内容与 显示的大致相同journalctl,只是sudo文件中缺少的输出。但我还没有全部比较。

那么这是如何工作的呢?谁将日志消息发送到哪里,谁接收它们以及将它们转发到哪里?如果两个目的地都填满了,是否每个应用程序都必须分别向 syslog 和 journald 发送消息?如果它们是相互关联的,为什么没有消息重复?是不是又被过滤掉了?哪个位置更完整,如果我想要完整的图片应该在哪里看?

如果这在较新版本的 Ubuntu 中发生了任何变化,我也会对此感兴趣,因为明年我要将旧服务器切换到 20.04。

编辑:以下是有关该主题的更多资源:

所有这些信息让我有点困惑。似乎日志首先从系统调用接收所有系统日志数据(我的 /dev/log 指向 /run/systemd/journal/dev-log),并且 rsyslog 通过一个看起来像套接字的套接字从日志中获取它在有日志之前使用过的(可能是 …

server logging rsyslog syslog systemd-journald

6
推荐指数
1
解决办法
2995
查看次数

升级后保留“卸载”软件包

我已将 Ubuntu 14.04 服务器升级到 16.04(LTS 升级)。现在,输出中有两页带有“deinstall”状态的包dpkg。这是否意味着仍然安装了软件包?这是否也意味着我现在可以运行新旧版本的软件,即 PHP 5.5 和 7.0,或 MySQL 5.6 和 5.7?升级过程后是否需要清理,或者一段时间后会自动发生?如果旧包在同一路径中,清除旧包是否也会删除新版本的配置文件?

sudo do-release-upgrade
...
dpkg --get-selections |grep deinstall
Run Code Online (Sandbox Code Playgroud)

upgrade package-management dpkg

1
推荐指数
1
解决办法
1793
查看次数