即使我从当前登录会话注销, Linuxat
命令也会执行该作业,对吗?即使系统重新启动?
如果是,那么其背后的后台服务是什么?如果作业一旦安排好,可以在注销和/或重新启动后继续运行,则需要某种守护进程/服务。
即使我从当前登录会话注销, Linuxat
命令也会执行该作业,对吗?即使系统重新启动?
如果是,那么其背后的后台服务是什么?如果作业一旦安排好,可以在注销和/或重新启动后继续运行,则需要某种守护进程/服务。
我和许多人一样,使用 VS Code 进行开发。如今,我的大多数客户都需要在现有项目上完成工作,不用说,我默认不信任这些项目。
因此,为了避免必须在我的计算机上运行他们的代码,我运行虚拟机,在其中部署他们的项目并使用 SFTP 将虚拟机安装到主机,然后/run/user/1000/gvfs/...
在 VS Code 中打开并完成工作。
这很好,但像深度搜索(或无论它叫什么,我说的是ctrl++ )或文件搜索(+ )这样的函数需要很长时间。显然,vscode 需要索引项目,然后它们才能按预期工作,但问题shift是下次我安装虚拟机时,它需要再次索引它。fctrlp
有什么方法可以告诉 VS Code 保留索引吗?或者实际上还有其他方法可以实现我的目标,即能够像在本地开发一样进行开发,而无需承担在我的计算机上运行项目的风险?
我的网络上的一个节点突然无法通过我的笔记本电脑和手机访问,但可以通过其他节点访问。它也无法访问我的笔记本电脑或手机,但可以访问其他节点并访问互联网。
这件事突然发生 - 这是一个相当新的系统,我不记得改变过任何东西,但它可能与在相关计算机上安装 docker 有关。
网络概述:
192.168.1.1
- 路由器192.168.1.10
- 无线中继器192.168.1.20
-家庭影院电脑。192.168.1.90
- 笔记本电脑。HTPC 和笔记本电脑都连接到主 Wi-Fi。
HTPC可以ping通其他节点:
root@htpc:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=59 time=13.9 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=59 time=8.35 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 8.351/11.147/13.943/2.796 ms
root@htpc:~# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=3.05 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=3.87 ms
^C
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 3.045/3.456/3.868/0.411 ms
root@htpc:~# ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=63 time=4.74 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=63 time=5.26 ms
^C
--- 192.168.1.10 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 4.738/5.001/5.264/0.263 ms
但是,它无法 ping 笔记本电脑:
root@htpc:~# ping 192.168.1.90
PING 192.168.1.90 (192.168.1.90) 56(84) bytes of data.
From 192.168.1.20 icmp_seq=1 Destination Host Unreachable
From 192.168.1.20 icmp_seq=2 Destination Host Unreachable
From 192.168.1.20 icmp_seq=3 Destination Host Unreachable
From 192.168.1.20 icmp_seq=4 Destination Host Unreachable
From 192.168.1.20 icmp_seq=5 Destination Host Unreachable
From 192.168.1.20 icmp_seq=6 Destination Host Unreachable
^C
--- 192.168.1.90 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6145ms
pipe 4
root@htpc:~#
它的路由表如下所示,并且 ufw 防火墙被禁用:
root@htpc:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 600 0 0 wlo1
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-a221f258ed7f
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlo1
root@htpc:~# ufw status
Status: inactive
其IP表规则:
root@htpc:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (2 references)
target prot opt source destination
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (2 references)
target prot opt source destination
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
其 ARO 表:
_gateway (192.168.1.1) at d4:24:dd:5d:22:9d [ether] on wlo1
? (192.168.1.10) at 30:23:03:dc:1c:19 [ether] on wlo1
从笔记本电脑 ping htpc 不起作用,但笔记本电脑当然可以与所有其他节点通信:
kopf@prkbook ~ ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20): 56 data bytes
ping: sendto: Host is down
ping: sendto: Host is down
Request timeout for icmp_seq 0
ping: sendto: Host is down
Request timeout for icmp_seq 1
ping: sendto: Host is down
Request timeout for icmp_seq 2
ping: sendto: Host is down
Request timeout for icmp_seq 3
ping: sendto: Host is down
Request timeout for icmp_seq 4
ping: sendto: Host is down
Request timeout for icmp_seq 5
ping: sendto: Host is down
Request timeout for icmp_seq 6
^C
--- 192.168.1.20 ping statistics ---
8 packets transmitted, 0 packets received, 100.0% packet loss
kopf@prkbook ~ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=5.044 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=10.624 ms
^C
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 5.044/7.834/10.624/2.790 ms
笔记本电脑的 ARP 表:
? (192.168.1.1) at d4:24:dd:5d:22:9d on en0 ifscope [ethernet]
? (192.168.1.10) at 30:23:3:dc:1c:19 on en0 ifscope [ethernet]
? (192.168.1.20) at (incomplete) on en0 ifscope [ethernet]
? (192.168.1.255) at ff:ff:ff:ff:ff:ff on en0 ifscope [ethernet]
mdns.mcast.net (224.0.0.251) at 1:0:5e:0:0:fb on en0 ifscope permanent [ethernet]
有人知道这里还可能存在什么问题吗?
我昨天收到了我的联想 430-16i LSI SAS3416 9400-16i 三模式 HBA 控制器 12G IT 模式 NAS AU PCIe 卡,从物理上讲,安装进展顺利。
固件已更新,控制器在 JBOD 模式下运行(其他一些控制器上为 IT 模式)。
我使用的唯一电缆是这样的:Mini SAS/SFF-8643 至 4x 7mm SATA 电缆。
但是,Linux 和 Windows 都无法识别我连接的临时 SATA HDD。我读完了所有能找到的手册,这个控制器上应该有一个 Ctrl-R 实用程序,但在启动过程中按住 Ctrl 或按Ctrl-组合键都无法R调出Ctrl-R实用程序。
我能检查什么?HDD 没问题 - 它可以通过普通 SATA-SATA 电缆直接连接到主板。
我尝试运行storcli64
并可以获得大量有关控制器的信息,因此肯定检测到了它。Linux lspci
中的显示控制器原样。甚至 Windows 也自动安装了正确的驱动程序。但有趣的是,帮助说storcli64
我应该能够运行如下内容:
storcli64 /c0 show personality
并返回当前模式(RAID|JBOD),但显示“不支持的命令”。
我也尝试过 LSI Storage Authority,它能毫无问题地识别控制器。不同的电缆,同样的问题。不过所有电缆都是同一型号。
我甚至尝试按照此处的建议刷新英特尔固件。 HBA 仍能正常工作并被正常检测到,但仍然没有驱动器。 唯一的区别是对 NVMe 的支持,而我不需要它。
根据我对安全启动的理解,它大概是这样运作的:
我的问题是,为什么 Debian 在其源代码中直接提供 .der 文件和公钥?这意味着如果攻击者以某种方式获得系统的 root 访问权限,他们就可以使用 Debian 的公钥对修改后的内核进行签名,从而破坏安全模型。现在,通过远程执行攻击获取 root 访问权限肯定很困难,但并非完全不可能。
我对安全启动机制的理解可能是错误的,或者公开这些密钥另有目的。请纠正我的理解。
它做什么curl --interface tun0
?根据 man:Perform an operation using a specified interface. You can enter interface name, IP address or host name.
它似乎使用 SO_BINDTODEVICE 来实现这一点。这是我感到困惑的地方:根据我的理解,当程序想要将数据包发送到特定目的地时,由路由表决定使用哪个接口作为源。此选项似乎以某种方式覆盖了它。那么如果路由表中没有路由会使用该接口并到达该目的地,会发生什么?
案例一(由sing-box设置的隧道):
ip a:
tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 9000 qdisc fq state UNKNOWN group default qlen 500
link/none
inet 172.18.0.1/30 brd 172.18.0.3 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::717d:757a:23db:789b/64 scope link stable-privacy
valid_lft forever preferred_lft forever
ip route:
172.18.0.0/30 dev tun0 proto kernel scope link src 172.18.0.1
curl example.com --interface tun0
按照预期进行操作(但是怎么做到的?)并通过 tun0 请求 example.com。
情况二(wireguard接口):
ip a:
wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet 10.230.116.1/24 scope global wg0
valid_lft forever preferred_lft forever
ip route:
10.230.116.0/24 dev wg0 proto kernel scope link src 10.230.116.1
结果是:connect to 142.44.215.161 port 80 failed: No route to host
它怎么知道那里实际上没有路线?
我理解这些隧道是由用户空间(或内核空间)程序操作的。这是否像 FuseFS 一样,当这些程序不喜欢目标 IP 时,它们可以简单地返回“不,不允许”(或“是的,无论如何我都可以这样做”,即使根据路由表,它们不应该发送到那里)?这是否意味着在使用 SO_BINDTODEVICE 时完全忽略路由表?如果我使用 eth0 而不是 tun0 会怎样?它是一个物理接口,它会使用路由表来确定是否可以路由此数据包吗?最后,可以这样做curl example.com --interface 172.18.0.1
。令人惊讶的是,这并不等同于--interface tun0
,并且不会成功。这是为什么?
我正在使用 TCP 连接通过从 SYN-ACK 响应中提取 MSS 来确定路径 MTU (PMTU)。
但是,我不确定在我的端点和服务器之间的路由不对称的情况下这种方法是否仍然可靠。
据我所知,SYN-ACK 中的 MSS 反映了连接目标的 MTU,如果返回路径上的任何节点具有较小的 MTU,则可以减少 MSS。
但是,当转发和返回路径不同时,由于它们可能经过具有不同 MTU 的不同跳数,因此我可能会得到不准确的结果。有没有办法将整个转发和返回旅程包含在 SYN_ACK 收到的 MSS 值中?
谢谢
我有一个使用 GPT 的磁盘,上面只有 1 个分区(Ext4),根据UEFI,第一个16 Bytes
应该GPT Partition Entry Array
是Partition Type GUID
。所以我提取了我的分区Partition Type GUID
并读取了它的第一个32 Digits
,因为它是十六进制形式。然后我得到了 GUID ,在与维基百科af3dc60f838472478e793d69d8477de4
上的列表进行核对后,我发现这个特定的 GUID 没有任何意义。因此,这引发了一个问题:谁决定类型 GUID 及其对应的类型?是否有类型及其 GUID 的完整列表,或者我的列表根本不存在?以零结尾的列表被截断:GPT Partition Entry Array
af3dc60f838472478e793d69d8477de4e18058ef52250344ba2f0ae31c057fa60008000000000000ffb7c0d10100000000000000000000006500780074003400740062
我不记得正确的术语是什么,但我的系统确实会以随机间隔奇怪地冻结视频和鼠标 3-10 秒。视频中的音频继续不间断,我从未在玩游戏时遇到过这种情况。我有一个新的,在我看来,是顶级的系统,是我在 2024 年末构建的。16 个 AMD 核心、64GB DDR5 RAM、第 5 代 NVMe、RTX 4090。我不是想炫耀,但似乎我的硬件不是问题所在。
我正在运行 Fedora SilverBlue 41,这种情况通常在启动后几天内发生,并经常挂起。重新启动系统似乎会将问题重置几天,直到它再次启动。我认为它通常每小时发生 4-5 次,但可能更多或更少。我不确定。它并不总是在播放视频时发生。我上一个运行 Fedora SilverBlue 40 的系统/旧系统没有这个问题。我查看了日志(但可能错过了正确的日志)、dmesg、资源使用情况、对 NVMe 进行了压力测试、运行了 MemTest,但无法确定根本原因。
我不知道这是否可能是我无法理解的硬件问题,或者它是一个配置选项,或者是 Linux 特有的东西,或者是 Fedora 或 SilverBlue 特有的东西。
更新:似乎在大约 12 小时的正常运行时间后开始。
由于某种原因,按下显示器的电源按钮时,X11 / lightdm 会崩溃。相反,运行时xset dpms force off
会让显示器进入低功耗模式,这很好,并且可以解决按下有问题的电源按钮的问题。
运行 Arch Linux。
按下某个键将显示器切换回工作状态后,计算机闲置几分钟后屏幕将变为空白。我想禁用该行为。
你会如何编写一个 bash 别名(例如off
):
例如:
alias off='xset dpms force off ; wait until keypress ; xset -dpms'
有没有更简单的解决方案?