小编Dan*_*iel的帖子

如果我使用 udevadm 触发器,为什么我的 udev 规则会运行,但不会在启动时运行?

我遇到了 udev 规则未运行的问题。下面是一个例子:

我有一个规则/etc/udev/rules.d/99-test.rules,其中包含:

ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", RUN+="/sayhi"
Run Code Online (Sandbox Code Playgroud)

并且sayhi只有:

#!/bin/bash
date +"%Y-%m-%d %H:%M:%S,%3N" >> /saidhi
Run Code Online (Sandbox Code Playgroud)

这是一台英特尔机器,我显然有许多供应商 0x8086 PCI 设备:

root@imtrobot:~# lspci -n |grep 8086
00:00.0 0600: 8086:2770 (rev 02)
00:02.0 0300: 8086:2772 (rev 02)
00:1d.0 0c03: 8086:27c8 (rev 01)
[ etc. 12 lines total ]
Run Code Online (Sandbox Code Playgroud)

然而,当我启动时,/saidhi要么根本不创建,要么里面有 1 或 2 个日期行。

如果在启动后,我运行udevadm trigger --action=add --subsystem-match=pci 然后 /saidhi将获得添加到它的正确数量的日期。

为什么这在启动过程中不起作用?

udev

7
推荐指数
2
解决办法
2万
查看次数

如何配置 preseed 以仅使用驱动器(如果存在)?

我配置的一些机器有一个单独的/dev/sdb用于/home,而一些只有一个磁盘。

有没有一种方法可以设置 preseed,以便如果/dev/sdb存在,它会使用 100% 的 for /home,但如果没有,它会在/home上进行分区/dev/sda

partitioning preseed

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

回到以前的 Ubuntu 状态

15 年前,GoBack出现,它允许 Windows 用户恢复更改并将计算机恢复到以前的状态。它通过在操作系统下面强加一个日志系统来做到这一点——在块级别,而不是文件级别——并让你回滚更改。

Linux 有类似的东西吗?在 VirtualBox 中很容易做到这一点,但我希望这适用于我的主要顶级机器。

让虚拟机成为普通机器有多容易?怎么办呢?

backup snapshot

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

如何在 deb 包列表中查找顶级依赖项?

假设我有一个包列表:

foo
libfoo
bar
baz
quux
Run Code Online (Sandbox Code Playgroud)

并假设foo需要libfoobar,并且baz需要quux

我想要一种方法来放入那个列表,然后取出这个列表:

foo
baz
Run Code Online (Sandbox Code Playgroud)

即 - 我想要安装的最小包列表 - 在依赖解析后 - 导致安装整个包列表。

package-management apt dependencies deb

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

为什么是 'source' 和 '.' 不总是相同的,什么时候它们应该是相同的?

我的印象是它source.bash的同义词。但是,似乎在.profile文件中,source不起作用。该 youtube 视频演示了当source用于~/.profile获取文件时foo,该文件中定义的变量不会导出到后续 shell。但是,如果文件是使用 获取的.,则变量将按预期导出。

请注意,当我使用时source,环境变量不会被导出,但是当我使用.它时。

bash environment-variables

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