Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Изменение действий в системных runlewels
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
kirill_ant
n00b
n00b


Joined: 04 Aug 2007
Posts: 6
Location: Самара

PostPosted: Sat Aug 04, 2007 10:52 am    Post subject: Изменение действий в системных ru Reply with quote

Здравствуйте!
Не подскажет ли кто, где найти ПОДРОБНУЮ документацию по загрузке/остановке системы.
Если конкретно, то:
сделал ПХЕ - загрузку бездисковой (условно бездисковой) рабочей станции.
ОК, для работы хватает пока, но хотелось всё-таки иметь своп (ну так, на всякий случай.) При этом для совместимости с ДЕЙСТВИТЕЛЬНО бездисковыми машинами своп нужен был СЕТЕВОЙ.
Ладно, прикрутил через loop и swapon. Теперь при попытке размонтировать сетевые диски получается ошибка, ессно, с сетевым своп-файлом же связан девайс, а с девайсом - своп. Соответственно на ранлевеле 0 хотелось бы выполнить swapoff и losetup -d. Да и вообще, многие стандартные процедуры init мне не нравятся для случая бездисковой станции, хочу их ковырять.. :) Подскажите, где их найти, чтобы ковырять.
Ну там, хочу на этапе загрузки примонтировать юзер-специфик части /etc ну и т.д.
Интересует именно gentoo, так как у неё, похоже, несколько специфичный процесс загрузки.
Back to top
View user's profile Send private message
ArtSh
Apprentice
Apprentice


Joined: 05 Aug 2006
Posts: 178
Location: Казань, Россия

PostPosted: Sat Aug 04, 2007 5:34 pm    Post subject: Reply with quote

Все скрипты храняться в /etc/init.d В каталогах /etc/runlevels храняться ссылки на эти скрипты, уровней загрузки - 4. В скриптах используется специальная оболочка #!/sbin/runscript в которой определены специальные функции. Простейший скрипт выглядит следующим образом:

Code:

#!/sbin/runscript

start()
{
    команды (как в bash)
}

stop()
{
    команды (как в bash)
}



Есть некоторые расширенные функции, такие как проверка зависимостей, концигурационных файлов, и т.д.

Например вот этот кусочек из /etc/init.d/xdm определяет когда будет запущен сервис.

Code:

# Start X Font Server before X
depend() {
        need localmount

        # this should start as early as possible
        # we can't do 'before *' as that breaks it
        # (#139824) Start after ypbind and autofs for network authentication
        # (#145219) Could use lirc mouse as input device
        # (#70689 comment #92) Start after consolefont to avoid display corruption
        after bootmisc consolefont modules netmount
        after readahead-list ypbind autofs openvpn gpm lircd
        before alsasound

        # Start before X
        use acpid consolekit hald xfs
}



И вобще, посмортите как написаны другие скрипты в этом каталоге
Back to top
View user's profile Send private message
kirill_ant
n00b
n00b


Joined: 04 Aug 2007
Posts: 6
Location: Самара

PostPosted: Sat Aug 04, 2007 8:25 pm    Post subject: Reply with quote

Там, куда Вы указали, лежат ПОЛЬЗОВАТЕЛЬСКИЕ ранлевелы, к которым имеет доступ, например, утилита rc-update...
Ранлевелов явственно больше четырёх.
Меня же интересуют системные, например 0. Правда у меня подозрение, что на том ранлевеле несколько другие механизмы работают, нежели в случае пользовательских, то есть уже не скипты и ссылки на них, но собственно, ведь я за этим топик и поднял, чтобы узнать :).
В мане есть что-то про то, что при переходе в ранлевел 0, бишь shutdown, init предпринимает там всякие шаги типа сначала мягко, а потом жёстко киляет все процессы, размонтирует ФС и чего-то ещё. Кто знает больше? Например, что выполняется вперёд, откуда беруться ФС для размонтирования (из /proc/mounts?), почему вполне корректно обрабатывается невозможность остановки сети у меня, просто пишется, что мол на сети весит nfs-root, и её мы останавливать не будем поэтому... Как изменить поведение init-а, добавить туда какие-то свои обработчики, либо вставить хотя-бы sh-скрипт, выполняемый перед shutdown?
Про runscript тоже неплохо бы если бы кто кинул ссылкой опять же не на старт/стоп/депенд-экземпл, а на качественную доку, которая бы полностью описывала всевозможные функции runscript и доступное окружение.
А так-то простенькие init-скрипты я и сам пишу, например для unfsd, который родом из БСДей...
Народ, ну скажите чего-нибудь про старт/стоп системы поподробнее, чем в мане,а?
Всё усложняется ещё и тем что в генте вроде-бы как используется SystemV инициализация, а вроде и не совсем?
Back to top
View user's profile Send private message
ArtSh
Apprentice
Apprentice


Joined: 05 Aug 2006
Posts: 178
Location: Казань, Россия

PostPosted: Sun Aug 05, 2007 6:05 pm    Post subject: Reply with quote

Специально для тех, кто забанен в гугле и у кого интернет по талонам:

http://www.opennet.ru/docs/RUS/gentoo_init/ http://www.sdteam.com/?tid=1326

Это соответственно первая и последняя ссылка на первой странице гугла по запросу "runscript gentoo". Я надеюсь, после прочтения у Вас отпадёт вопрос почему никто не скажет какой порядок запуска сервисов.
Back to top
View user's profile Send private message
kirill_ant
n00b
n00b


Joined: 04 Aug 2007
Posts: 6
Location: Самара

PostPosted: Sun Aug 05, 2007 7:27 pm    Post subject: Reply with quote

Вы упорно не желаете замечать, что информация как приводимая Вами, так и по ссылкам, как бы это сказать...
куцая, вот! Вместо ваших ссылок можно с успехом использовать
http://www.gentoo.org/doc/ru/handbook/hb-working-rcscripts.xml?glang=ru
Думаете, я там не был?
Ах какие все тупые, забаненые в гугле и т.д. и какой Вы красивый и сведующий, да?
Попробуйте тогда, коль не желаете общаться в общем, решить задачку частную, которую я приводил раньше уже.
Вот есть у вас на запущенной системе swap на /dev/loop0, который связан с файлом /swap в директории, примонтированой по nfs. Соответственно хочу, чтобы при каждом shutdown/halt/reboot выполнялись два действия - swapoff и losetup -d /dev/loop0.
Вас с вашими знаниями это не должно затруднить, насколько я понял? :)
Back to top
View user's profile Send private message
calculator
Apprentice
Apprentice


Joined: 16 Oct 2006
Posts: 183
Location: Russia, Moscow

PostPosted: Sun Aug 05, 2007 8:44 pm    Post subject: Reply with quote

Ладно, прикрутил через loop и swapon.
...
Соответственно на ранлевеле 0 хотелось бы выполнить swapoff и losetup -d

Мне послышалось "откусил себе голову, помогите выплюнуть" ;-)

По "gentoo PXE swap" полно линков
Вот к примеру http://gentoo-wiki.com/TIP_automount_swap не то что нужно?
Back to top
View user's profile Send private message
kirill_ant
n00b
n00b


Joined: 04 Aug 2007
Posts: 6
Location: Самара

PostPosted: Mon Aug 06, 2007 3:23 am    Post subject: Reply with quote

Хм... Тоже не по теме, но теплее.
Вы знаете, я например, когда меня мучал этот вопрос, делал поиск по "NFS swap" и получил ответ, что под это надо патчить ядро, и т.д. и т.п. Поэтому плюнул на всё и сделал через loop, и честно говоря, очень обрадовался, что заработало.
То что вы привели - второй этап эксперимента, то есть изготовление свопа на месте и автомонтирование его потом.
Но ДОЛЖНА быть возможность сетевого свопа для ДЕЙСТВИТЕЛЬНО БЕЗДИСКОВЫХ клиентов.
А по теме: кто-нибудь знает, зачем по ссылке выше провайдится метод "СТОП"?
Code:
stop() {
   ebegin "Remove swap from"
   do_swap /sbin/swapoff
   eend $?
}

Означает ли это, что при остановке вот того процеса /etc/init.d/my-autoswap система воспользуется данным методом стоп?
Для меня это архиважно, т.к. здесь система и так отмонтирует своп, операция-то стандартная. А вот в моём случае мне точно надо экспортировать свой метод "СТОП", несколько отличный от стандартного.
Я-то пока запускаю монтирование shell-скриптом, и только ещё планирую перейти на runscript.
Back to top
View user's profile Send private message
calculator
Apprentice
Apprentice


Joined: 16 Oct 2006
Posts: 183
Location: Russia, Moscow

PostPosted: Mon Aug 06, 2007 11:45 am    Post subject: Reply with quote

Сам я бездисковые системы не ставил, но может ты хотел увидеть как в обычной системе делается и после под себя сделать проще будет?
Code:
# grep -r -E "losetup|swap" /etc/init.d/

stop() при остановке обязательно будет задействован - об этом в хандбуке вроде написано.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum