我有一些 TCP 流只通过我的 Linux 机器。理论上,它只转发数据包。现在出现了一些新的想法,现在我认为,最好也改变它们的内容。
我的想法是转发的 tcp 流应该像传入流一样处理,然后由我自己的工具处理。
这有可能吗?我认为,在处理传入数据包的早期阶段,应该以某种方式处理数据包,就好像它已发送到机器而不是转发一样。
我有一些 TCP 流只通过我的 Linux 机器。理论上,它只转发数据包。现在出现了一些新的想法,现在我认为,最好也改变它们的内容。
我的想法是转发的 tcp 流应该像传入流一样处理,然后由我自己的工具处理。
这有可能吗?我认为,在处理传入数据包的早期阶段,应该以某种方式处理数据包,就好像它已发送到机器而不是转发一样。
我们有一个很好的工具dpkg-reconfigure
来重新询问单个软件包的安装配置问题。例如,dpkg-reconfigure -plow something
我可以重新配置包的某些内容,即重新运行其安装脚本。
我们还拥有apt
从存储库下载包及其递归依赖结构的工具,并以正确的顺序安装和配置它们。因此,例如,apt install something
将“某些东西”及其所有依赖项安装到我的系统中,并且所有内容都将根据需要以正确的顺序下载(如果需要)并安装。
我想将它们结合起来。
我想用 apt 安装一个包,而所有的问题都是向我提出的。
我可以用一个(也许很棘手的)apt 标志或更改配置来做一些事情吗?
我的经验是,尝试使用空字符串文件名执行任何操作都会导致找不到文件 ( ENOENT
),包括ls -ld ''
,touch ''
或mkdir ''
. 但我只能尝试 ext4。
虽然这对我来说看起来很合乎逻辑,但 Posix 中是否有什么东西会禁止这样做呢?
调试 X 的一种方法是启动一个 X 服务器 ( X -ac :0
),然后在其上启动一个 xterm ( DISPLAY=:0 xterm
) 和一个 WM ( DISPLAY=:0 icewm
)。
当出现显示问题时,它的用处是难以想象的。
我可以用 Wayland 做什么?我绝对不想要一个完整的 gnome,我只想要一个终端和一个虚拟机 - 并从错误输出中查看是否有任何问题。
如果可能的话,我也会想念 dbus。
我拥有一个运行良好的 USB WiFi 设备,直到我尝试连接到任何加密的设备。
我想将此 USB 设备用作 AP,最好与nmcli
. 我该怎么做?
我找到的所有来源都清楚地显示了如何创建(WPA 或 WPA2)加密的 AP。我没有找到任何可以创建没有任何加密的 AP 的方法。
令人惊讶的是,谷歌在这个话题上保持沉默。
我有一个文件喜欢有连续的空行(更清楚地说,只有空白行)。我想用一个来代替所有的。
我更愿意sed
(恕我直言,这个任务是awk
微不足道的)。
我有这个:
.PHONY: check
check:
script-returning-nearly-always-zero
obj2.img: obj1.img check
make-obj2-from-obj1
所以,逻辑是我想重新生成obj2.img
,如果它比 obj1 更旧(或者它甚至不存在)。但是,如果“检查”目标失败,我想要一个错误。
现在我的问题是 的生成器obj2.img
总是运行。我想,可能是check
因为.PHONY
。
obj2.img
我可以以某种方式要求 make仅在obj1.img
更新时重新生成吗?
我正在尝试启动 Linux 内核而不切换到任何 vga 模式。所以,我只想要字符显示。我能以某种方式做到这一点吗?事实上,一些类似的东西vga=off
就很好了。
我这里的存储不支持最重要的元数据(权限、所有者等)。
我认为,如果我能以某种方式解决从外部源向系统注入某种类型的元数据的问题,那将会有很大帮助。上次我看到类似的文件系统,那是几十年前的今天真正古老的umsdos文件系统。它将 posix 所有权和权限信息存储在 fat16 文件系统所有目录中的小数据库文件中。
这次我没有任何话要改变存储。而且我对其给出的权限标志没有影响。但我想在本地模仿他们。
在 Linux 下有可能吗?
我正在尝试开发一个在 zsh 和 bash 中运行的脚本(即,执行相同的操作:-))。问题是,在某个时刻,zsh 特定部分包含一个带有 的模式(N)
。所以:this_pattern*(N)
。在 zsh 中,如果没有匹配项,则模式不存在。
Bash 对此表示,“意外符号导致语法错误”。请注意,bash 上的执行永远不会发生在这个 zsh 特定部分上,并且此错误消息是由解析代码引起的!
我可以以某种方式帮助 bash 吃掉它,例如不解析它吗?
fstrim
需要挂载Linux块设备,而且不是很冗长。blkdiscard
可以告诉,但也需要写操作。
我可以以某种方式判断块设备是否支持修剪/丢弃,而无需实际尝试修剪/丢弃上面的东西吗?
仔细检查:您可以简单地从 Stretch repo 安装 java8。它在几个月前的生产环境中运行良好。没有理由为此延迟升级。(@彼得)
Debian 的最新稳定版本 Debian Buster 不再具有 Java 8。
然而,Java 8 仍然广泛用于生产环境,在任何升级之前这样做是一个巨大的后备。
任何人都更了解 Debian 邮件列表的内部结构以及他们的沟通方式,他们这样做的理由是什么?
有没有希望,Java 8 会以某种升级的形式重新出现?
当然,从不同的源(Oracle、Ubuntu)甚至从 Stretch 包存储库安装 Java 8 是一种可行的选择。但是这样做,我们完全失去了官方回购的优势。
我在多台显示器上使用鼠毒。
目前,我唯一能找到将窗口移动到另一台显示器的方法,如果我先关闭其当前显示器(xrandr --output ... --off
),然后在我想使用的显示器上按ctrl/t + num 。然而,这显然是一个非常次优的解决方案。
有更好的存在吗?
我不想删除该服务,我只想避免它在启动时启动。我仍然需要稍后手动启动它的选项(使用systemctl start <service>
命令)。
我尝试使用systemctl disable <service>
. 它不起作用,因为它删除了服务。
还有另一种可能。在其服务文件中,
[Install]
#WantedBy=multi-user.target
可以被注释掉(然后,systemctl daemon-reload
)。它适用于我自己的服务,因为他们的服务文件是由我编写的。
但是,属于分发的服务文件位于/lib/systemd/system
. 此目录中的文件由操作系统管理,即它们将被更新覆盖,系统的其他部分可能会假定这些文件未修改,等等。简单地编辑系统文件/etc
是一种不好的做法,我不想这样做。我不想在我的/lib
.
该怎么办?
我可以想象实际上有两个位置:
[kswapd0]
但是,深入研究 kswapd 源代码 ( mm/vmscan.c
, init/main.c
),我可以发现:kswapd 是单线程的,并且是在单线程上启动的。(NUMA 系统除外,所有内存区域都有不同的 kswapd。但大多数普通 PC 都不是 NUMA 系统。)
但是,从现在开始,我们有一个问题。我们可以假设,磁盘比内存慢得多,这就是我们不需要多线程 kswapd 来处理磁盘 I/O 的原因。但如果我们还需要使用内部 zswap 层,情况就不是这样了。特别是从更高的压缩率(放气)中,cpu 可以并且很可能会成为瓶颈。
但是kswapd 是单线程的。
这是真的吗?
是否计划进行任何多线程 kswapd?真的需要吗?
Ps 我在 linux 内核邮件列表中找到了这个线程。这是关于一个被拒绝的补丁建议,什么可以在非 NUMA 系统上启用多线程 kswapd。他们在谈论一切,除了这个 zswap 问题。也许是无关的。
PS2。语境:
[kswapd0]
单个内核线程完成。我正在研究利用所有 CPU 内核进行压缩/解压缩的选项。从本质上讲,这将是一种转换剩余 CPU 容量以弥补物理内存不足的方法。我想从 VG 中分离 PV,但保留其上的数据,并有可能在未来重新附加。
LV 在其上完全分离(没有 LV 在 PV 和其余部分上都有 LE)。
这样做很容易丢失 PV 上的数据(pvmove,vgreduce),但这与我想要的相反。
有可能吗?
在配置中我看到选项
Unattended-Upgrade::Mail
in /etc/apt/apt.conf.d/50-unattended-upgrades
)/etc/apt/apt.conf.d/20auto-upgrade
.但是,我想要的是:
可以以某种方式设置吗?