как восстановить/etc/udev/rules.d файловую структуру?

Диагностировать драйвер выходит, я выбрал переименование

/etc/udev/rules.d

в

/etc/udev/rules.d.gold

Блестящая идея, потому что теперь я не могу вернуться свои изменения:

mkdir: cannot create directory rules.d : file exists

исходное состояние

ls -la
total 32
drwxr-xr-x   4 root root  4096 Fev  8 12:50 .
drwxr-xr-x 150 root root 12288 Fev  8 11:15 ..
drwxr-xr-x   2 root root  4096 Abr 12  2016 hwdb.d
-rw-r--r--   1 user user   435 Dez 14  2017 rules.d        <- A FILE
drwxr-xr-x   2 root root  4096 Fev  5 18:59 rules.d        <- A FOLDER
-rw-r--r--   1 root root   153 Abr 12  2016 udev.conf

текущее состояние

ls -la
total 32
drwxr-xr-x   4 root root  4096 Fev  8 12:50 .
drwxr-xr-x 150 root root 12288 Fev  8 11:15 ..
drwxr-xr-x   2 root root  4096 Abr 12  2016 hwdb.d
-rw-r--r--   1 user user   435 Dez 14  2017 rules.d        <- A FILE
drwxr-xr-x   2 root root  4096 Fev  5 18:59 rules.d.gold   <- A FOLDER
-rw-r--r--   1 root root   153 Abr 12  2016 udev.conf

Первоначально, был файл и папка с тем же именем. Я не могу воссоздать это, потому что не возможно создать файл и папку с тем же именем.

Теперь, что? Моей ОС является Ubuntu 16.04.


Править:

Изучение моей виртуальной установки Ubuntu 18.4 файл rules.d не существует.

Я не уверен, что этот файл делает в моей хост-системе, возможно, это не должно быть там. Содержание файла:

# version 0002
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0008", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0007", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0009", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="000d", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="000f", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0013", MODE="666"
ATTR{idVendor}=="03fd", ATTR{idProduct}=="0015", MODE="666"
1
задан 8 February 2019 в 16:46

1 ответ

В / и т.д. папка там является соглашением о присвоении имен - .d в именах каталогов означает каталог файлов.
Например - выдерживают сравнение /etc/apt/sources.list (файл) с /etc/apt/sources.list.d/ (каталог с *.list файлы). Такое именование используется для udev также:

$ ls /etc/udev/ -d
/etc/udev/

$ ls /etc/udev/rules.d/ -d
/etc/udev/rules.d/

Затем о восстановлении - мы можем проверить, на котором пакет устанавливает файлы /etc/udev/rules*:

$ dpkg -S /etc/udev/rules*
udev: /etc/udev/rules.d

Таким образом, мы должны переустановить udev пакет, указывающий особенный --force-confmiss опция (см. man dpkg):

--force-things...
confmiss: Если conffile отсутствует, и версия в пакете действительно изменяла, всегда устанавливала пропавших без вести conffile без запроса. Это опасно, так как это означает не сохранять изменение (удаление), сделанное в файл.

sudo mv /etc/udev /etc/udev.old
apt-get download udev
sudo dpkg --force-confmiss -i udev_*.deb 

Примечание: можно читать больше о правилах Udev о ArchLinux wiki.

2
ответ дан 7 December 2019 в 13:18

Другие вопросы по тегам:

Похожие вопросы: