我发现 zsh 的Tab完成结果列表非常有用,但是我想稍微调整一下它们的行为:
它们应该在我Tab第一次出现时出现,然后随着每个新字母的添加而动态更新。默认行为是建议仅在您Tab再次评估时重新评估,我想保存此重复按键。(更新:但只列出可能的补全,即使只剩下一个选项,它也不应该自动修改我的实际提示行。)
有没有办法实现这种行为?
我的目标是禁止dhclient
使用通过 DHCP 接收的服务器更新我的 NTP 配置,因为它是 Debian/Ubuntu 上的默认设置。但是,我的 DHCP 服务器忽略了请求的选项列表(来自request
设置)并且它的答案总是包含一个 NTP 服务器。
所以我想在进一步处理之前删除该选项,或者至少用空值覆盖它。使用该supersede
设置可以覆盖,但我没有设法将其设为空。我也找不到完全删除选项的方法。
实际上导致空值的原因是指定了一个无效的 in supersede
(例如,包含字母,因为只允许使用数字值)。这实际上是无效的,但会导致日志文件中出现错误。有人知道更好的方法吗?
在 nftables 中配置链时,必须提供一个priority
值。几乎所有在线示例都将 a 设置piority
为 0;有时,值 100 会与某些挂钩 ( output
, postrouting
) 一起使用。
nftables wiki不得不说:
优先级可用于对链进行排序或将它们放在某些 Netfilter 内部操作之前或之后。例如,将在连接跟踪操作之前放置优先级为 -300 的 prerouting hook 上的链。
作为参考,这里是 iptables 中使用的不同优先级的列表:
- NF_IP_PRI_CONNTRACK_DEFRAG (-400):碎片整理的优先级
- NF_IP_PRI_RAW (-300):在连接跟踪操作之前放置的原始表的传统优先级
- NF_IP_PRI_SELINUX_FIRST (-225):SELinux 操作
- NF_IP_PRI_CONNTRACK (-200):连接跟踪操作
- NF_IP_PRI_MANGLE (-150): mangle 操作
- NF_IP_PRI_NAT_DST (-100):目标 NAT
- NF_IP_PRI_FILTER(0):过滤操作,过滤表
- NF_IP_PRI_SECURITY (50):例如可以设置secmark的安全表的位置
- NF_IP_PRI_NAT_SRC (100): 源 NAT
- NF_IP_PRI_SELINUX_LAST (225):包退出时的 SELinux
- NF_IP_PRI_CONNTRACK_HELPER (300):退出时的连接跟踪
这说明了priority
控件与内部 Netfilter 操作的交互,但仅提及了 iptables 使用的值作为示例。
在哪些情况下是priority
相关的(即必须设置为值?0)?仅适用于具有相同钩子的多个链条?结合 nftables 和 iptables 怎么样?哪些内部 Netfilter 操作与确定正确priority
值有关?