LINUX.ORG.RU

Автозапуск в OpenSUSE

 


2

1

Сегодня с утра искал, но не нашел ничего подходящего на этом сайте. Думаю, имеет смысл исправить

Задача: разовое выполнение команды при старте системы, но не в качестве демона.

Решение: Идем в /etc/rc.d

su
cd /etc/rc.d
ls|grep local
получаем
after.local
before.local
boot.local
halt.local

Правила использования этих файлов описаны в них самих, но на всякий случай

after.local - его содержимое вызывается из init по достижении заданного runlevel, после того как выполнятся все остальные скрипты. Проще говоря это прямой аналог «autoloading» в мастдае.**

before.local - его содержимое выполняется прежде любых скриптов данного runlevel**

boot.local - выполняется непосредственно после загрузки системы, до достижения runlevel 1.

halt.local - скрипты отсюда будут выполнены непосредственно перед выключением системы.

** - для этих скриптов необходима ручная обработка переменной $RUNLEVEL

Например мой after.local выглядит так

if [ $RUNLEVEL==5 ]; then {
pppd call life &
sleep 7
ntpdate by.pool.ntp.org &
}
fi
Здесь для runlevel 5 выполняется автоматический дозвон по модему, пауза в 7 секунд, и автоматическая установка времени по серверу. По скольку дохлая батарейка на маме не помнит времени. Сюда же думаю отнести команды, которыми у меня реализуется русификация раскладки клавиатуры . Они у меня лежат в /etc/bash.bashrc.local, тоесть выполняются только при ручном логине терминала (но не при старте DE), что не есть вполне по фен-шую. В одном из вышеописанных файлов им самое место, с той поправкой, что нужно выполнять их не только для пятого, но еще и первого и второго, и третьего runlevel. Пока лень этим заниматься. Еще не решил куда ткнуть. Наверное уместно будет в тот же after.local, по скольку setxkbmap по идее требует уже запущенных иксов.

P.S. Все вышесказанное проверено в OpenSUSE 13.1

Ответ на: комментарий от X10Dead

Каким образом? И чем оно лучше? Мне расписанный выше механизм в принципе показался довольно таки неплохим, гибким. К тому же, на сколько мне известно, systemd обеспечивает конкурентный запуск, тоесть, должнобыть там для упорядочивания зависимостей запуска надо много всяких движений делать.

Csandriel ()
Ответ на: комментарий от Csandriel

Алёшенька, в openSuSE уже сто лет как systemd. Твой after.local — костыль. Сделай-ка

find /usr/lib/systemd/system -type f | grep local.service
Удивись, до чего прогресс дошел!
Всё, что тебе нужно пишется за 5 минут чтения документации.

X10Dead ★★★★★ ()
Ответ на: комментарий от X10Dead

Я не понял, кто здесь «алешенька». В посте ясно прописано:

Задача: разовое выполнение команды при старте системы, но не в качестве демона.

А что ты предлагаешь?

Csandriel ()
Ответ на: комментарий от X10Dead

У меня еще вопрос. Почему я не нашел твоей живительной мудрости на ЛОРе когда искал решение своего вопроса? Твоя грамотность вылазит не тогда, когда нужна для решения вопросов, а только когда нужна для самоутверждения?

Впрочем, конечно, спасибо за хинт. Рад узнать, что этой чумой можно управлять через текстовые «конфиги».

Csandriel ()
Ответ на: комментарий от X10Dead

openSuSE

SuSE

Вариант написания же протух этот, не?

DeadEye ★★★★★ ()
Ответ на: комментарий от DeadEye

На хрена в дистре с systemd?

Не «на хрена» а «почему». Думаю потому, что sd еще крайне сыроват. Да и не нужен он. Избыточное усложнение системы, ни чем не опрадванное.

А ведь изначально его авторы обещали упрощение. Мол «цепочки скриптов это слишком сложно и ненадежно». На мой взгляд, этот ворох services/targets гораздо сложнее. Чего ради было огород городить? Думаю, исключительно ради навязывания нового стандарта, ради возврата инициативы. Именно благодаря sd сейчас RH вернулись в колею на правах если не лидера то видного деятеля в linux разработках.

Тоесть изначально, в фундаменте sd лежат только амбиции его создателей, я считаю. Тоесть нинунжно.

Csandriel ()
Ответ на: комментарий от Csandriel

Начну с цитаты.

Теперь это systemd-срач.

(c) intelfx.

сыроват

Ты серьезно? Да-да-да, конечно, конечно, все дистры в обязательном порядке всюду впиливают анстейбл для пользователей, ага. И у всех оно, конечно же, не пашет. Сидят линуксоиды по домам и воют по ночам на Луну^WЛеннарта...

упрощение

Для пользователя - да. 99% юзеров пофигу, что там внутри, им проще отредактировать 1 строчку в юните, чем копаться в огромном скрипте для sysvinit.

не нужен

Но оно у тебя стоит и юзается как основное. Что ж ты, диванный ненужнист, его так до сих пор и не выпилил из своей суси и не повел проект OpenSUVuan?

DeadEye ★★★★★ ()
Ответ на: комментарий от Csandriel

И так, ЧСХ, с каждым долбаным кукаретиком. Если послушать — все чуть ли не грёбаные системные архитекторы, гуру и мастера early userspace, самолично протестировавшие десяток реализаций оного. А потом внезапно оказывается: «ой, а что, у этого вашего systemd даже конфиги текстовые?»

Жертва телевизораЛОР-срачей, блджад. Я всё сказал.

anonymous ()
Ответ на: комментарий от Csandriel

Потому что твой вопрос, если и был вообще сформулирован в письменном виде, не был оформлен в виде топика с тегом «systemd». Я подписан на этот тег и стараюсь отвечать на каждый топик, даже если для этого приходится пнуть разрабов или написать патч. Твоего топика у меня в уведомлениях не было.

// intelfx, как и комментарий выше

anonymous ()
Ответ на: комментарий от DeadEye

его так до сих пор и не выпилил

Но уже начал выпиливание. Вместе с сюзей. Как разберусь со слакой, так сразу. Пока что-то руки не доходят.

Csandriel ()
Ответ на: комментарий от Csandriel

уже начал

Через зад, через перед, только бы выпилить!!!!1111

DeadEye ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.