как получают hal, работающий на сервере человечности?

Я хочу попытаться создать очень минимизированную установку сервера, которая автоматически монтирует ее внутренние диски SATA. Таким образом я думал об использовании HAL как способ пойти. Насколько я читал, HAL является просто демоном, 'слушающим' для изменений аппаратной конфигурации, и широковещательно передает изменения, если они соответствуют .fdi файлу конфигурации через dbus его клиентам.

Какой клиент я могу использовать на установке сервера? Я читал о gnome-volume-manager как возможность, но как я вижу, это хочет открыть графический дисплей, в котором я не нуждаюсь на установке сервера (даже если это - просто дисплей программного обеспечения).

Какие-либо подсказки для дальнейшего направления или являются там какой-либо альтернативой dbus клиенты, которые могут выполнить события HAL?


Я получил его работа, но без hal/devicekit/gnome. Я использую основные правила udev и Команды выполнения для монтирования дисков

# /etc/udev/rules.d/local.rules
# /etc/udev/rules.d/89-local.rules
# ADD rule: if we have a valid ID_FS_USAGE, and it's a filesystem with a UUID, mkdir and mount

ENV{ID_FS_USAGE}=="filesystem", ENV{ID_FS_UUID_ENC}=="?*", ACTION=="add", RUN="/bin/mkdir -p /media/$env{ID_FS_UUID_ENC}" RUN+="/bin/mount -t auto /dev/%k /media/$env{ID_FS_UUID_ENC}" RUN+="/media/$env{ID_FS_UUID_ENC}/autostart.sh"

На Ubuntu, помещенной это в файл /lib/udev/rules.d/89-local.rules. На Debian это должно быть в /etc/udev/rules.d. Я также добавил возможность работать autostart.sh сценарий во время начальной загрузки, например, запустить сервисы, только доступные на определенных дисках

Автоматически смонтируйте, что внешние диски к/media/LABEL на начальной загрузке без пользователя вошли в систему? имел ответ

1
задан 20.03.2017, 12:17

2 ответа

HAL является коммуникацией и слоем передачи сообщений - я честно не уверен в том, где остановки DBus и HAL запускаются. Это главным образом используется в качестве слоя между DBus и Настольной средой, но это не имеет никакого компонента графического интерфейса пользователя, который требует, чтобы DE работал.

Для бездисплейной установки сервера Вы хотели бы использовать HALevt. HALevt является демоном, который сидит сверху HAL, во многом как Gnome-VFS делает в Gnome DE и отвечает на аппаратные события. Это может быть настроено для выполнения как демон в масштабе всей системы или как отдельный пользователь. См. ответ, который я записал в более ранний вопрос об использовании HALevt для обеспечения Gnome-VFS-like, автомонтирующегося для CD и Карт памяти на бездисплейном сервере. Это должно дать Вам основное практическое руководство, хотя Ваша ситуация, вероятно, потребовала бы некоторой тонкой настройки.

ответ whitequark - установка Вашего нормального монтирования через/etc/fstab - лучше, если внутренние диски Вашей системы не будут установкой для замены в горячем режиме. Используя HALevt для монтирования статических внутренних дисков является выполнимым, но более сложным, чем это должно быть. Но если у Вас действительно есть отсеки замены в горячем режиме, и Вы хотите использовать их, использование HALevt для автомонтирования могло бы быть хорошим вариантом для Вас.

1
ответ дан 17.12.2019, 00:52

Внутренние диски SATA не могут быть заменены в горячем режиме, т.е. включены, в то время как Ваш сервер включается. Таким образом, все, что необходимо сделать, монтируют их при включении питания. С этой целью Вы должны просто разместить их в/etc/fstab:

  1. Универсальный метод, который работает на все файловые системы:
    Добавьте строку как /dev/sdXN /path/to/mountpoint auto defaults 0 2 где/dev/sdXN является Вашим псевдофайлом устройства.
  2. Ext2/Ext3-specific метод:
    Во-первых, определите название своего файла устройств в рабочей системе. Во-вторых, доберитесь, это - UUID путем выполнения tune2fs -l /dev/sdXN | grep UUID под корнем, конечно, заменяя sdXN Вашим устройством снова. Впоследствии можно добавить строку к fstab как, я сделал в предыдущем абзаце, но замене первого значения (/dev/sdXN) (UUID=fa62e245-04bd-4cb2-a17f-5c7ee19e3574). Конечно, необходимо заменить шахту UUID Вашим. Этот метод имеет преимущество, которое, если Вы добавляете или удаляете дополнительные точки монтирования дисков SATA, не будет затронуто ядром порядка, обнаруживает эти устройства.

Также HAL, действительно не делают необходимый ни на каком сервере; это - чисто настольная утилита, которая необходима, чтобы позволить непривилегированным пользователям, выполняют некоторые привилегированные операции и через D-шину только. Вы, вероятно, хотите использовать консольные утилиты, которые намного более подходят для серверной среды.

0
ответ дан 17.12.2019, 00:52

Теги

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