1

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

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

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


Я получил его работать, но без Hal / DeviceKit / GNOME. Я использую основные правила udev и команды RUN для монтирования дисков.

# /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 при загрузке без входа пользователя? был ответ

2 ответа2

1

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

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

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

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .