rsync может сохранить подстановочные имена (возможно, использующий переменную)?

Я знаю, что modprobe может быть использован для загрузки модулей, но как он решает какие модули загружать?

Когда ядру нужна возможность, которая не является резидентной в ядре, демон модуля ядра [119441]kmod1[119444] выполняет [119445]modprobe[119446] для загрузки модуля. [119447]modprobe[119448] передаёт строку в одной из двух форм. Имя модуля типа softdog или ppp.Более общий идентификатор типа char-major-10-30Итак, позвольте мне объяснить, что я нашёл в своей системе, а не вставлять из ссылки.

cat /proc/modules[119454] - Эта команда перечисляет, какие модули загружены и список довольно большой.

Теперь, во время запуска системы, как я уже упоминал, демон [119455]kmod[119456] выполняет [119457]modprobe[119458] для загрузки модулей. Как уже было сказано, мы могли указать модуль для загрузки любым из 2 способов. Если мы указали общий идентификатор, то он будет искать эту запись в [119459]/etc/modprobe.conf[119460] для псевдонима. Итак, в моей [119461]/etc/modprobe.conf[119462], у меня есть псевдоним, как показано ниже. Итак, я выполнил команду ниже, чтобы проверить, что такое tg3 в моей системе.

kill -s SIGHUP [pid]

Далее, [119463]modprobe[119464] просматривает файл [119465]/lib/modules/version/modules.dep[119466], чтобы посмотреть, должны ли быть загружены другие модули до того, как запрошенный модуль может быть загружен. Этот файл создан [119467]depmod -a[119468] и содержит зависимости от модуля.

Наконец, [119469]modprobe[119470] использует [119471]insmod[119472], чтобы сначала загрузить все необходимые модули в ядро, а затем в запрошенный модуль. [119473]modprobe[119474] направляет [119475]insmod[119476] в [119477]/lib/modules/version/

, стандартную директорию для модулей. [119479]insmod[119480] предназначен для того, чтобы быть достаточно тупым о расположении модулей, в то время как [119481]modprobe[119482] знает о расположении модулей по умолчанию, знает, как вычислить зависимости и загрузить модули в правильном порядке.

Но как определяется новое аппаратное обеспечение?

Эти кольца создаются процессором, а не операционной системой. Любое ядро операционной системы работает в Ring 0, который является наиболее привилегированным уровнем и может напрямую взаимодействовать с аппаратным обеспечением и процессором. Кольца 1 и 2 обычно используются для драйверов устройств. А кольцо 3 используется для приложений пользовательского пространства (медиаплееры, веб-серверы и все остальное, с чем пользователь может взаимодействовать напрямую). Драйверы устройств являются "мостом" между приложениями пользовательского пространства и аппаратным обеспечением.

Ядро Linux постоянно сканирует всю компьютерную шину на предмет изменений и нового аппаратного обеспечения. Как только обнаруживаются изменения на любой шине, начинается "волшебство".

Волшебство

ЭКСПОРТНОЕ ЖЕСТКОЕ ОБЕСПЕЧЕНИЕ ПОЛЬЗОВАТЕЛЯ (SYSFS)*НЕОБХОДИМЫЕ ИНФОРМАЦИИ ПОЛЬЗОВАТЕЛЯ, ЧТО ЖЕСТКОЕ ОБЕСПЕЧЕНИЕ ДОСТУПЛЕННО (УВЕДОМЛЕНИЕ И УДЕВД) Да, ваше предположение верно. Удев имеет какое-то отношение к магии :)*УВЕНЬТЫ ПРОЦЕССА, СООТВЕТСТВУЮЩИЕ ПРАВИЛАМЫ СОГЛАШЕНИЯ В /ETC/UDEV/RULES.D/ AND ДИРЕКТОРИЯ НАСЕЛЕНИЯ / ДИРЕКТОР ОБРАЗОВАНИЯ (УДЕВД И УДЕВД)ДИРЕКТОР ОБРАЗОВАНИЯ УДЕВИДА (УДЕВД, МОДПРОБЛЕЙ)

NOTIFY USERSPACE APPLICATIONS (THROUGH D-BUS)

$ ls -l
drwx------- 1 root  root [...] root_only

Udevd - всего лишь демон, стоящий между ядром и всем УДЕВДОМ. и выполнять некоторые важные функции (о них я расскажу позже). Демон udev (udevd) запускается при запуске, затем читает и разбирает все правила, найденные в /etc/udev/rules.d/, и хранить их в память (база данных udev) для дальнейшего использования udev. Позже udevd начнет прослушать сетевую ссылку на события из ядра драйвера ядра.

$ ls -l root_only
-rw-rw-rw-- 2 root  root [...] hopefully_private_file

Ссылки

http://www.tldp.org/LDP/lkmpg/2.6/html/x44.html

$ ls -l root_only
-rw-rw-rw-- 2 root  root [...] hopefully_private_file
            ^
            |

http://blogas.sysadmin.lt/?p=141

2
10.06.2014, 22:14
1 ответ

Это можно сделать с помощью правил включения / исключения. Что-то вроде (непроверено):

rsync -a --include=*/foo/*** --exclude=* user@remote:/usr/ /foo-1.2.3/usr

*** введен в rsync 2.6.7 . Без него вам понадобится одно включение для каталога ( foo / ), а другое - для содержимого ( foo / ** ). Обратите внимание, что когда вы используете подобное включение, вам необходимо иметь подходящее широкое исключение в качестве последнего правила, поскольку все включается по умолчанию, а файлы включаются / исключаются в соответствии с первым совпадением в списке правил (добавление - -exclude = * сначала ничего не копирует).

1
27.01.2020, 22:22

Теги

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