小编Ten*_*ken的帖子

如何在 apt 中启用详细输出?

我遇到了一个奇怪的 apt 问题,因为它在apt update. 我想启用详细输出以查看究竟是什么导致了这个问题,或者至少是在哪里发生。的联机帮助页apt-get似乎不包含任何相关内容。

如何为 启用详细输出apt

debian apt

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

如何在自己的 tty 中运行程序?

我正在搞乱 TIOCSTI,它将数据推送到终端的输入缓冲区。我希望能够在这些数据到达 shell 或将其重定向到文件之前捕获它。

为了更好地说明我正在尝试做的事情:

gcc -x c -o pusher.bin - <<PUSHER
#include <unistd.h>
#include <sys/ioctl.h>
#include <termios.h>

int main() {
  char *c = "echo 'Catch me if you can'\n";
  while(*c) ioctl(0, TIOCSTI, c++);
}
PUSHER
./pusher.bin
Run Code Online (Sandbox Code Playgroud)

如果在我的终端中运行,./pusher.bin将注入echo 'Catch me if you can'\n我的 shell 将立即执行的 tty。如果我运行setsid ./pusher.bin, echo 将不会注入我的终端,但我也无法捕获它。

我想./pusher.bin用一些东西来包装,这样我就可以检查在我的 tty 的输入缓冲区中注入了什么推送器,如果它是裸运行的。

澄清:我知道注入的输入可以在到达我的 shell 的标准输入后被捕获。这种方法虽然在捕获注入的输入方面很有效,但也将捕获正常的用户输入。此外,如果 stdin 已关闭或进程未附加到 tty,则此方法将不起作用。仅这些缺点就使得捕获 stdin 作为通用解决方案不可行。

shell bash terminal tty ioctl

5
推荐指数
0
解决办法
181
查看次数

如何向 qemu 添加四个以上的磁盘映像?

当我尝试使用 .qemu 添加超过 4 个磁盘映像时,Qemu 失败-drive file=...,index={0..3},media=disk,format=raw。我为每个附加驱动器收到的错误类似于以下内容:

qemu-system: -drive ....: machine type does not support if=ide,bus=2,unit=X
Run Code Online (Sandbox Code Playgroud)

如何让 qemu 接受额外的驱动器?

linux kvm virtual-machine qemu

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

基于脚本的服务将具有优先级的消息记录到其自己的 systemd 日志中的正确方法是什么?

我有一个作为 systemd 服务运行的 shell 脚本,我想将具有粒度优先级的消息记录到该服务的 systemd 日志中。

当我使用 时logger(1),journald 仅记录一些消息并丢弃其余消息。哪条消息最终被记录到服务日志中似乎是完全随机的;有时只记录一两条消息,有时根本不记录任何消息。

起初我以为这是启动顺序/依赖性问题,但情况似乎并非如此,因为所有消息确实出现在系统日志(即)中,journalctl --system但不是服务日志(即journalctl -u SERVICE.service)中。我也尝试过systemd-cat,但不幸的是它的行为很相似。

基于脚本的服务将具有优先级的消息记录到其自己的 systemd 日志中的正确方法是什么?

linux logs shell-script systemd systemd-journald

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

如何自动替换 nftables 规则?

我正在尝试自动替换 nftables 规则。Nftables 的官方 wiki指出-f 是实现此目的的推荐方法。然而,当我nft -f /path/to/new/rules在 Debian Buster 上运行时,新规则会添加到当前规则中,而不是替换它们,最终我会得到一个同时执行两个规则集的系统。

当我尝试通过systemd's重新加载配置时,也会发生同样的事情nftables.service

如何nft在单个原子操作中丢弃当前规则集,同时添加新规则集?

linux firewall debian nftables

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