AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-287718

Izzo's questions

Martin Hope
Izzo
Asked: 2024-02-28 04:17:14 +0800 CST

rsyslogd v3.xx 意外关闭到命名管道目标的写入连接

  • 5

我已配置 rsyslog 将某些日志消息转发到命名管道/tmp/logger.pipe。然后我有一个单独的进程从命名管道读取数据。相关部分来自/etc/rsyslog.conf

# Remote Logging (silly conditional rule needed for specific logging scenario)
$template RFC5424Format,"<%PRI%>1 %timegenerated:1:10:date-rfc3339%T%timegenerated:12:19:date-rfc3339%.%timegenerated:21:26:date-rfc3339%Z %HOSTNAME% - - -%msg%\n"
if ($msg contains 'remote="true"') then /tmp/logger.pipe;RFC5424Format

/tmp/logger.pipe 的权限

prwxrwxrwx 1 ftp root 

我正在将此应用程序部署到两台不同的机器上。一台机器配备 rsyslog v3.xx,另一台机器配备 v5.xx

在此输入图像描述

在此输入图像描述

该应用程序在使用 rsyslog v5.xx 的计算机上运行良好,但是,我在使用 rsyslog v3.xx 的计算机上遇到奇怪的行为具体来说:

  1. rsyslogd 有时需要很长时间才能在初始启动时启动(在我添加新规则之前非常快)。
  2. 当进程读取logger.pipe重新启动时,rsyslogd 似乎在侦听进程恢复后停止将数据写入命名管道。解决此问题的唯一方法是手动重新启动 rsyslogd

在使用命名管道时,我缺少 rsyslog 配置的一些技巧吗?我可能忽略的其他权限问题吗?我对该应用程序充满信心,因为它在 v5.xx rsyslog 版本中运行得非常稳定。不幸的是,我无法在遇到问题的机器上更新 v3.xx 版本。

有什么想法吗?

更新:我可能已经诊断出这个问题 - 这似乎是一个问题,如果没有读者,rsyslogd 会关闭到管道的写入连接。但是,读取器应用程序使用 fopen(),它会阻塞,直到出现相应的写入器为止。

由于某种原因,这在 rsyslog v5.xx 上不是问题:

  1. rsyslogd 和 logger.out 成功打开管道的初始状态

在此输入图像描述

  1. 在 _logger.out 上重新启动问题,rsyslogd 仍然有对管道的写入打开

在此输入图像描述

  1. _logger.out 恢复并且一切再次正常运行

但这种行为在 rsyslog v3.xx 上有所不同:

  1. rsyslogd 和 logger.out 成功打开管道的初始状态

在此输入图像描述

  1. 在 _logger.out 上重新启动问题,rsyslogd 由于某种原因关闭了与管道的连接

在此输入图像描述

pipe
  • 1 个回答
  • 16 Views
Martin Hope
Izzo
Asked: 2024-02-25 03:48:10 +0800 CST

'dpkg -i iptables' 应该安装所需的内核模块吗?

  • 5

我正在将 iptables 安装到无法访问互联网的嵌入式 Debian 8.7 armhf 计算机上。我的方法是从 Debian 档案中手动查找 .deb 软件包文件,然后将它们通过 FTP 传输到 Debian 8.7 机器并运行 dpkg。

经过一番努力,我似乎​​能够安装 iptables .deb 包及其所有依赖项。但是,当我开始尝试使用 iptables 时,出现以下错误:

modprobe: FATAL: Module ip_tables not found.
iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need insmod?)  

运行时lsmod,我实际上可以看到模块 ip_tables 没有加载,甚至没有安装在我的机器上(我在机器上的任何地方都找不到 .ko)。

所以我很好奇 - iptables 的 dpkg 是否应该安装 iptables 内核模块?或者 dpkg 只处理用户空间配置?注意 - 我不相信我的内核版本已经编译了 iptables。

debian
  • 1 个回答
  • 14 Views
Martin Hope
Izzo
Asked: 2022-04-11 06:30:24 +0800 CST

在设备驱动程序编程的上下文中,结构“cdev”和“inode”有什么区别?

  • 0

我目前正在学习操作系统课程中的设备驱动程序,并且对“inode”结构和“cdev”结构之间的区别感到困惑。有人可以澄清这两种结构之间的区别以及它们要实现的目标吗?

devices inode
  • 1 个回答
  • 86 Views
Martin Hope
Izzo
Asked: 2022-02-17 11:11:40 +0800 CST

存在哪些安全控制以使用户进程无法为自己分配最高优先级?

  • -1

我正在学习 Linux 进程调度程序并一直在阅读 pthread_setsched 函数:https ://man7.org/linux/man-pages/man3/pthread_setschedparam.3.html

让我感到惊讶的一件事是允许线程修改自己的优先级/类。我可以看到这对于配置某些多线程应用程序(例如生产者和消费者)有什么意义,但是,任何进程都可以请求设置自己的优先级,这似乎是一个系统稳定性风险。是什么阻止了我的 helloworld.out 以最高优先级请求 SCHED_FIFO?这可能会完全锁定系统。

那么有哪些机制可以防止进程完全控制调度程序呢?似乎可以设置系统错误 EPERM,但是,这是在哪里配置的?

linux-kernel pthreads
  • 1 个回答
  • 42 Views
Martin Hope
Izzo
Asked: 2022-02-08 08:19:45 +0800 CST

为什么我们将文件系统挂载到特定位置,而不是将它们留在“/dev/..../”?

  • 1

如果我要在 Linux 机器上安装物理文件系统,为什么要将该文件系统安装到自定义位置?为什么不把文件系统放在它的设备路径上呢?“/开发/....”

filesystems mount
  • 3 个回答
  • 95 Views
Martin Hope
Izzo
Asked: 2022-01-05 12:33:53 +0800 CST

当文件系统说它已启用读写时,“写入文件时出错,只读文件系统”

  • 0

我目前正在尝试更新嵌入式 Linux 设备上的网络设置。这通常通过修改文件 /opt/etc/network/interfaces 的内容来完成。挂载在 /opt/ 的文件系统默认为 RO,但是,我们在使用命令更新文件内容时暂时将其更改为 RW

mount -o remount,rw /opt

我通过查看 /proc/mounts 的内容确认文件系统已更新为 RW

在此处输入图像描述

我相信文件系统现在是可读写的,因为我看到了 RW 字母。

但是,当我去修改文件时,我得到一个只读错误。

在此处输入图像描述

这让我很困惑。文件系统根据 /proc/mounts 是可读写的,但是,我仍然遇到文件系统错误。我不是文件系统大师,但我对正在发生的事情有三种理论:

  1. 存储设备启用了某种内存锁定(即开关)。
  2. 该文件实际上存在于嵌套文件系统中,因此它实际上并未托管在 /opt
  3. 我是个假人,缺少一些明显的东西。
files filesystems
  • 1 个回答
  • 516 Views
Martin Hope
Izzo
Asked: 2021-12-25 11:58:42 +0800 CST

SSH 使用什么来确定已知主机?

  • 0

我目前在使用 SSH 连接到远程大学 Ubuntu 机器时遇到问题(如果重要的话,我使用 VS Code 作为 SSH 客户端)。初次连接时,它会提示我信任该设备,我这样做了,并且能够连接。但是,一天后我尝试重新连接,它抛出一个错误,指出机器的主机身份已更改。

我使用 DNS 名称通过 SSH 连接到机器。因此,无论 IP 地址如何变化,它都应该始终将我引导至同一台物理机器。请注意,我通过 SSH 连接的机器是物理桌面机器,而不是虚拟机或集群。

所以我很好奇,假设我连接到同一台物理机器。为什么 SSH 会认为远程主机发生了变化?如果同一台物理机的 IP 地址发生变化,是否会导致身份发生变化?

ssh
  • 1 个回答
  • 96 Views
Martin Hope
Izzo
Asked: 2018-11-06 08:17:36 +0800 CST

您可以强制 SSH“watch”命令附加输出而不是覆盖吗?

  • 1

我正在尝试通过腻子查看我的网络统计信息,并希望每隔一秒将统计信息写入日志文件。我已将 putty 配置为将他的 ssh 会话记录到日志文件中。但是,我正在努力发出一个腻子命令,该命令重复发出命令以提取统计信息。

我的第一种方法是使用“watch”命令。这可以很好地每秒执行命令,但是,每次更新时它都会覆盖终端输出,并且日志文件不会显示历史记录。

我的问题:如何配置 watch 命令以附加会话输出而不是重复覆盖行?

ssh watch
  • 2 个回答
  • 1193 Views
Martin Hope
Izzo
Asked: 2018-05-01 13:45:52 +0800 CST

POSIX select() 什么时候真正返回?

  • 2

我正在使用 POSIX 接口进行一些套接字编程。我正在尝试使用 select() 函数来监视非阻塞套接字何时准备好进行读/写。

在使用 select() 函数时,我给了它一组读写文件描述符。具体来说,我有一个套接字 fd,我想检查它是否既可读又可写。

POSIX 文档指出,返回值是所有 fd 集中所有文件描述符的总和。

我的早期测试表明我得到了一个很好的“2”(这意味着我的套接字既可读又可写)。但是,如果文件描述符没有同时变为可读/可写,会发生什么?假设它在变得可写之前变得可读一微秒?怎么了?它只返回一个 1 吗?

posix socket
  • 1 个回答
  • 1372 Views
Martin Hope
Izzo
Asked: 2018-04-25 09:06:54 +0800 CST

哪个 Linux 进程负责响应 ping?

  • 41

我有一个基于 Linux 的进程控制器,它偶尔会锁定到无法 ping 它的地步(即我可以 ping 它,然后在不修改网络设置的情况下它变得不再可 ping)。

我很好奇,什么进程/系统负责实际响应 ping?看来这个过程正在崩溃。

network-interface ping
  • 3 个回答
  • 11695 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve