小编bas*_*ic6的帖子

如何在 dmesg 中禁用无用的“审核成功”日志条目

简短版本:如何在 Fedora 系统上禁用审计消息 (dmesg)?


Fedora 系统不断在 dmesg 中记录“审计:成功”消息 - 以一种极端的方式,dmesg 变得无法使用,因为它被这些消息填满(dmesg | grep -v audit为空)。这些消息完全没有用,因为它们显然想通知用户一些日常内部过程已经成功(在调试某些东西时可能会感兴趣,但在这种情况下它只是噪音)。

甚至命令行界面(切换到与非X TTY当Ctrl+ Alt+ F2)变得不可使用,因为它总是与这些审核消息混乱,这是不可能的读取实际上是由用户运行的命令的输出。例如,输入用户名(登录)后,会喷出一条审核消息(显然是告诉用户某些内容已格式化/打印成功):

审计:类型=1131审计(1446913801.945:10129):pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=fprintd comm="systemd" exe="/usr/lib/systemd/systemd" 主机名 地址=? 终端=?资源=成功'

似乎这些消息中的大多数表示“成功”,但是也有许多审核消息不包含此关键字。运行 Chromium 会触发数百个:

审计:类型=1326审计(1446932349.568:10307):auid=500 uid=500 gid=500 ses=2 pid=1593 comm="chrome" exe="/usr/lib64/chromium/chrome" sig=0 arch=c000003e系统调用=273 兼容=0 ip=0x7f9a1d0a34f4 代码=0x50000

其他消息包括:

审计:类型=1131审计(1446934361.948:10327):pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" =?地址=? 终端=?资源=成功'

审计:类型=1103 审计(1446926401.821:10253):pid=28148 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:setcred grantors=p am_env,pam_unix"exe acct/="user/usr /crond”主机名=?地址=? 终端=cron res=成功'

通常,大多数最近的审计消息(在撰写本文时)都包含关键字“ NetworkManager ”或“ chrome ”。

如何完全禁用这些消息?


附加点:

  • 如果有人可能会想“您应该阅读和分析这些审核消息,而不是禁用它们,它们可能很重要”,不,它们不重要,它们几乎完全是“成功”消息。没有人需要被告知应该有效的东西实际上有效。但是,如果记录了一条真正重要的消息,那么在成千上万条无关紧要的消息风暴中永远不会注意到它。在任何情况下,这个特定系统都不需要审计日志(无论如何它都在受控环境中运行)。 …

linux fedora networkmanager systemd audit

20
推荐指数
3
解决办法
3万
查看次数

在“停止作业正在运行”时启用 tty 控制台登录(永远停止运行,防止关机)

关机时经常会显示这样的消息:

"A stop job is running ..." (nfs mount)
Run Code Online (Sandbox Code Playgroud)

这显然即使发生在NFS服务器并没有消失。但即使与 NFS 服务器的连接丢失,systemd 也能有效地防止系统关闭。无法再通过 ssh 进入系统,也无法切换到另一个 tty。点击Ctrl+ Alt+F2确实会切换到带有光标的黑屏,但没有登录提示。用户被迫强制重新启动系统,从而冒着仍然挂载的文件系统上的数据损坏的风险。

那个时候关机过程中如何启用tty控制台登录?
应该可以以 root 身份登录并执行umount -l或执行任何可能需要的操作,以允许系统正常继续关闭过程。

(这个问题不是关于 NFS,它只是一个常见的例子。如果服务器消失了,NFS 挂载实际上会按设计挂起。这个问题是关于这样一个事实,即虽然这个“停止作业”阻止了关闭过程,但它不是可以登录并输入命令来处理这种情况。)

linux shutdown ssh systemd console

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

在 Debian 上禁用 NFSv4(服务器),允许 NFSv3

如何将 Debian 8 系统上的 NFS 服务器限制为 NFSv3?

默认情况下,可以使用 vers=3 和 vers=4 挂载共享。

/etc/default/nfs-kernel-server:

# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
#RPCMOUNTDOPTS="--manage-gids"
RPCMOUNTDOPTS="--manage-gids --no-nfs-version 4"
Run Code Online (Sandbox Code Playgroud)

这个选项似乎没有任何效果(rpcinfo 仍然显示 nfs 接受版本 4)。

debian nfs mount

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

可以在 Linux 中禁用硬盘超时吗(尝试任务中止)

不幸的是,当硬盘驱动器(通常是虚拟驱动器)很慢时,Linux 会在超时后中止对该驱动器的请求,这可能会导致数据损坏。

上次发生在我身上时,我在存储上运行了 2 个虚拟机(Linux 和 FreeBSD),该存储存在连接问题并且冻结了一个多小时。存储本身很好,没有错误,在修复连接后,虚拟机(显然也被冻结了)似乎又开始工作了。

然而,Linux 虚拟机决定中止请求,导致该系统无法使用(大多数目录上的 ls 卡住了,没有选项的挂载也是如此,许多其他事情不再起作用);重新启动是必要的。这些是错误(dmesg):

...
[86707.916728] Write(10): 2a 00 02 4c 9e 38 00 03 c0 00
[86707.916732] mptscsih: ioc0: task abort: SUCCESS (rv=2002) (sc=ffff880036865500)
[86707.916734] mptscsih: ioc0: attempting task abort! (sc=ffff880036866100)
[86707.916735] sd 2:0:0:0: [sda] CDB: 
[86707.916736] Write(10): 2a 00 02 4c a1 f8 00 03 c0 00
[86707.916739] mptscsih: ioc0: task abort: SUCCESS (rv=2002) (sc=ffff880036866100)
[86707.916741] mptscsih: ioc0: attempting task abort! (sc=ffff880036865c80)
[86707.916742] sd 2:0:0:0: [sda] CDB: 
[86707.916743] Write(10): 2a 00 …
Run Code Online (Sandbox Code Playgroud)

linux kernel timeout crash

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

Chrome/Chromium 崩溃(“噢,啪!”,段错误):“资源暂时不可用”

Chrome/Chromium 不会加载任何网站,只会显示“噢,啪!出了问题......”页面。一些子进程出现段错误。

当在终端中启动时,它将显示很多这些:

[...错误:platform_thread_posix.cc(126)] pthread_create:资源暂时不可用

当 Chrome 仍在运行时,启动另一个程序有时会触发相同的错误:Resource temporarily unavailable

这是在带有 systemd 229 的 Arch Linux 上,但在 Fedora Linux 上也报告了类似的行为。

是什么导致了这些崩溃?


乍一看,进程限制似乎不是问题:

$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 23870
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time …
Run Code Online (Sandbox Code Playgroud)

linux arch-linux chrome limit

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

如何修复调整大小/收缩后的 BTRFS 超级块错误(BTRFS:无法获取 bytenr 274877906944 的超级缓冲区头)

具有 2 500 GB 硬盘的 BTRFS RAID1 阵列,无错误。这是根文件系统,因此每个驱动器上有 3 个分区:1 = /boot (ext4)、2 = / (btrfs)、3 (swap)

/boot 是 ext4,因为如果 /boot 是 btrfs 文件系统(安装了新内核,但 grub 配置未更新),则升级内核并不总是有效。

现在,该镜像已移至较小的驱动器,新驱动器为 120 GB,因此必须调整 btrfs 文件系统的大小。例如,可以使用 GParted 来调整两个 btrfs 分区的大小。调整大小后,可以将带有分区信息的 MBR 从旧的 500 GB 驱动器复制到新的 120 GB 驱动器 ( dd if=/dev/sda of=/dev/sdb bs=512 count=1),以及 btrfs 分区 ( dd if=/dev/sda2 of=/dev/sdb2)。(忽略交换分区,必须将其移动到 120 GB 以内。)

尽管系统启动并且新的 120 GB 驱动器没有问题,但会记录一条错误消息 (dmesg):

BTRFS:无法获取 bytenr 274877906944 的超级缓冲区头

并且擦洗发现“超级”错误(但没有数据错误):

“错误详细信息:超级=1”

此错误是否存在数据损坏的风险?
如何解决这个问题?

由于 274877906944 是 256 GB,旧的 btrfs 分区 …

linux dd hard-disk superblock btrfs

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