изменить ориентацию монитора

Существует как минимум три «подходящих» способа запуска в Ubuntu (предполагая, что вы просто не хотите его монтировать), перечисленные здесь в порядке убывания предпочтения:

/etc/init/*.conf ( Upstart) /etc/init.d/* (sysvinit) /etc/rc.local (сценарий изменения уровня запуска)

Также существует возможность использования правил udev, но он будет запутан. Я рекомендую против этого. Сисвинит-скрипт слишком мал для такой маленькой вещи, поэтому я сосредоточусь на двух других вариантах. Сценарий изменения уровня запуска простейший (хотя и наименее предпочтительный), поэтому я начну там.

Файл /etc/rc.local просто выполняется скриптом sysvinit /etc/init.d/rc.local, который (по умолчанию) выполнен последним при переключении на любой нормальный уровень «на» (например, при нормальной загрузке, но не при выключении или в режиме восстановления). Чтобы реализовать настройку загрузочного устройства, просто добавьте это в конец /etc/rc.local, считая, что ваш файл называется /srv/diskimage, и вы хотите использовать /dev/loop0 в качестве устройства цикла:

losetup /dev/loop0 /srv/diskimage
[d7 ] Это действительно все, что нужно. Конечно, замените имена файлов тем, что лучше всего работает в вашей настройке.

Если вы хотите быть более конкретным в этом вопросе, вы можете создать для него задание Upstart, которое устанавливает его, как только файловая система, был установлен. Примером может быть следующее: предполагается, что /srv является точкой монтирования, содержащей ваш файл diskimage:

description     "Setup loop devices after filesystems are mounted"

start on mounted MOUNTPOINT=/srv
task
exec losetup /dev/loop0 /srv/diskimage

Это должно быть достаточно простым, чтобы следовать концептуально: первая строка - это просто комментарий для читателей, а также инструкции Upstart ждать, пока файловая система /srv будет смонтирована, выполните процесс losetup и рассмотрим, что вы закончили, когда процесс завершается успешно («задача», а не постоянная служба). Просто поместите это содержимое в файл, соответствующий /etc/init/*.conf. Я бы выбрал /etc/init/losetup.conf, сам.

Преимущества работы Upstart над /etc/rc.local для такой простой вещи небольшие, но важные. Во-первых, /etc/rc.local устарел, и его использование в качестве «грязной песочницы для достижения цели» в наши дни нахмурилось почти всеми. Среди других причин недовольства его использованием некоторые программы, которые используют этот файл, просто перезаписывают содержимое, и трудно скомбинировать различные сценарии, которые нужно переходить в один и тот же файл. Во-вторых, Upstart на самом деле обрабатывает проверку зависимостей для вас (убедитесь, что файловая система смонтирована в первую очередь), поэтому, если есть проблема с монтированием файловой системы, она не будет пытаться настроить устройство цикла .... но как только вы разрешите и смонтировал его. В-третьих, Upstart намного более гибкий: вы можете, например, достаточно уметь найти неиспользуемое устройство цикла и «испускать» это устройство цикла для использования в других задачах upstart, подобно тому, как мы использовали переменную «MOUNTPOINT» в этом примере выше.

131
задан 27 July 2017 в 13:16

0 ответов

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

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