/etc/conf.d/local.start

После обновления перестали выполняться команды находящиеся в /etc/conf.d/local.start, пришлось сделать файл исполняемым и запускать его вручную (что б не вводить поочередно прописанные в нем команды) при каждой загрузке машины.
Чего подправить что б он опять стал выполняться автоматически?
Спасибо!

Покажите, как выглядит

Покажите, как выглядит «проблемный» файл и /etc/init.d/local

Я Gentoo & Funtoo

"Проблемный" файл и /etc/init.d/local

"Проблемный" /etc/conf.d/local.start :

modprobe lirc_serial
proftpd -c /etc/proftpd.conf
mount -o bind /mnt/svalka/Upload/ /var/ftp/upload/
mount -o bind /mnt/Disk_D/Information/Литература/ /var/ftp/pub/information/
mount -o bind /mnt/Disk_D/Music/ /var/ftp/pub/metal/
mount -o bind /mnt/Disk_D/Pictures/ /var/ftp/pub/pictures/
mount -o bind /mnt/Disk_D/Ира/Музыка/ /var/ftp/pub/music/
mount -o bind /mnt/Films/Films/Dokymentalnie_Filmi/ /var/ftp/pub/films/Dokymentalnie_Filmi/
mount -o bind /mnt/Films/Films/HDTV/ /var/ftp/pub/films/HDTV/
mount -o bind /mnt/Films/Films/Mpeg-4_\&_Other/ /var/ftp/pub/films/Mpeg-4_\&_Other/
mount -o bind /mnt/Video/DVD/ /var/ftp/pub/films/DVD/
mount -o bind /mnt/Video/Sobraniya/ /var/ftp/pub/films/Sobraniya/
mount -o bind /mnt/Disk_D/Install/ /var/ftp/pub/install/
mount -o bind /mnt/Soft.Games/Install.Games/ /var/ftp/pub/games/
mount -o bind /mnt/Disk_D/Temp.Files/ /var/ftp/pub/temp/
mount -o bind /mnt/svalka/Music\ Video/ /var/ftp/pub/music_video/
mount -o bind /mnt/Video/Myltfilmi/ /var/ftp/pub/multfilmi/
mount -o bind /mnt/Video/Serials/ /var/ftp/pub/serials/
mount -o bind /mnt/Disk_D/Other/ /var/ftp/pub/other/
mount -o bind /mnt/Disk_D/Lossless\ audio/ /var/ftp/pub/lossless/
mount -o bind /mnt/Video/Films-2/ /var/ftp/pub/films-2/

/etc/init.d/local выглядит так:

#!/sbin/runscript
# Copyright (c) 2007-2008 Roy Marples
# All rights reserved. Released under the 2-clause BSD license.

description="Executes user commands in /etc/conf.d/local"

depend()
{
after *
keyword -timeout
}

start()
{
ebegin "Starting local"

if type local_start >/dev/null 2>&1; then
local_start
fi

eend $? "Failed to start local"
}

stop()
{
ebegin "Stopping local"

if type local_start >/dev/null 2>&1; then
local_stop
fi

eend $? "Failed to stop local"
}

Систему собрал и настроил в феврале 2007 или 2008го года, дальше просто обновления, а вот после последнего перестал отрабатывать /etc/conf.d/local.start

etc/conf.d/local.start ******

etc/conf.d/local.start
******************
start()
{
ebegin "Starting local"

if type local_start >/dev/null 2>&1; then
local_start
fi

Файл должен называться одинаково.
P.S. У меня файл /etc/init.d/local выглядит так:

#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
        after *
}

start() {
        ebegin "Starting local"

        # Add any misc programs that should be started
        # to /etc/conf.d/local.start
        if [[ -e /etc/conf.d/local.start ]] ; then
                source /etc/conf.d/local.start
        fi

        eend $? "Failed to start local"
}

stop() {
        ebegin "Stopping local"

        # Add any misc programs that should be stopped
        # to /etc/conf.d/local.stop
        if [[ -e /etc/conf.d/local.stop ]] ; then
                source /etc/conf.d/local.stop
        fi

        eend $? "Failed to stop local"
}


# vim:ts=4

Я Gentoo & Funtoo

Начнем с начала. Итак что из

Начнем с начала.

Итак что из вашего local.start необходимо и идеологически верно туда совать?
В первой строке загрузка модуля. Убираем, добавляем в /etc/modules.autoload/kernel-2.6 (или 2.4?)
Во второй строке загрузка сервиса proftpd. Собсно этот фтп сервис имеет свой стартовый скрипт, и весьма неплохой, возможно файл параметров демона в /etc/conf.d и скорей всего файлы его настройке в /etc/proftpd. Убираем, добавляем как и положено нормальному сервису.
Остальные строки езь некая чехарда с маунтом в режиме связывания. Возможно очень даже необходимая. Возможно это нельзя раз и навсегда поправить симлинками и в обязаловку необходимо монтирование. Только все операции монтирования можно перенести в специально преназначенный для этого дела фстаб. В итоге в нерабочем /etc/conf.d/local.start остается девственная чистота.

Теперь отчего же это не работает. Судя по всему проблема в стартовом скрипте. Где вы такой достали? А надо достать из сурса baselayout

Спасибо! Будем разбираться.

Спасибо! Будем разбираться.
З.Ы. Gentoo на компе плод банального любопытства, собранный по хендбуку из stage3. Комп используется для: Кино посмотреть, музыку послушать, в инете по бродить, загрузить винду и поиграть в игрушку если она в wine не запустилась. Еще с компа выложена файлопомойка в виде ftp.
1) Модуль. Пошел по пути найменьшего сопротивления и сделал автозагрузку таким образом. Самодельный ИК-приемник+лентяйка от видика.
2) proftpd. Про собственный стартовый скрипт не знал, ушел в google.
3) куча монтирований потому что 4 винта в компе, для ftp выложенны определенные каталоги с этих винтов.
З.З.Ы. /etc/modules.autoload/kernel-2.6 нету, есть только:
$ /etc/mod
modprobe.d/ modules.d/

$ emerge --info
Portage 2.1.9.35 (default/linux/x86/10.0, gcc-4.5.2, glibc-2.12.2-r0, 2.6.37-gentoo i686)
sys-apps/baselayout: 2.0.1-r1
sys-apps/openrc: 0.7.0

/etc/conf.d/modules

Туда и суваем модули для запуска ;)

sam0delkin написал(а): 3)

sam0delkin написал(а):
3) куча монтирований потому что 4 винта в компе.

а /etc/fstab на что?

evadim написал(а): а

evadim написал(а):
а /etc/fstab на что?

До gentoo пользовался мандривой, помню она тогда ругалась что монтируется папка, а не устройство. Не долго думая сделал таким образом и забыл.

С proftpd разобрался, с монтированием тоже. С модулем никак. В /etc/conf.d/modules вписал modules="lirc_serial" и при загрузке идет ругань что порт занят и модуль не подгружает, хотя modprobe lirc_serial догружает модуль без каких либо вопросов.

P.S. И всетаки, чего файл не исполняется? У меня там еще прописана команда для запуска pppoe соединения, но она закоментирована так как пока роутер инетом рулит...

Запустите из

Запустите из консоли

/etc/init.d/local --debug start

...и покажите вывод.

Я Gentoo & Funtoo

Lupo Alberto

Lupo Alberto написал(а):
Запустите из консоли

/etc/init.d/local --debug start

...и покажите вывод.

Сразу после старта системы:

# /etc/init.d/local --debug start
 * WARNING: local has already been started

После остановки и повторного запуска:

# /etc/init.d/local --debug start
 * Caching service dependencies ...                                                   [ ok ]
+ _conf_d=/etc/init.d/../conf.d
+ _c=local
+ '[' -n local -a local '!=' local ']'
+ unset _c
+ sourcex -e /etc/init.d/../conf.d/local.default
+ '[' -e = -e ']'
+ shift
+ '[' -e /etc/init.d/../conf.d/local.default ']'
+ return 1
+ sourcex -e /etc/init.d/../conf.d/local
+ '[' -e = -e ']'
+ shift
+ '[' -e /etc/init.d/../conf.d/local ']'
+ . /etc/init.d/../conf.d/local
+ unset _conf_d
+ sourcex -e /etc/rc.conf
+ '[' -e = -e ']'
+ shift
+ '[' -e /etc/rc.conf ']'
+ . /etc/rc.conf
++ rc_shell=/sbin/sulogin
++ unicode=YES
++ rc_sys=
++ rc_tty_number=12
+ '[' -n '' ']'
+ sourcex /etc/init.d/local
+ '[' /etc/init.d/local = -e ']'
+ . /etc/init.d/local
++ description='Executes user commands in /etc/conf.d/local'
+ unset _d
+ unset _f
+ '[' -n start ']'
+ '[' start = depend ']'
+ for _cmd in describe start stop status '${extra_commands:-$opts}' '$extra_started_commands'
+ '[' describe = start ']'
+ for _cmd in describe start stop status '${extra_commands:-$opts}' '$extra_started_commands'
+ '[' start = start ']'
++ command -v start
+ '[' start = start ']'
+ yesno
+ '[' -z '' ']'
+ return 1
+ unset _cmd
++ command -v start_pre
+ '[' '' = start_pre ']'
+ start
+ ebegin 'Starting local'
 * Starting local ...
+ type local.start
+ eend 0 'Failed to start local'                                                      [ ok ]
++ command -v start_post
+ '[' '' = start_post ']'
+ shift
+ continue 2
+ '[' -n '' ']'

Вы привели в соответствие имя

Вы привели в соответствие имя скрипта, как я рекомендовал?

Я Gentoo & Funtoo

Lupo Alberto,

может быть стоит слегка изменить Ваш скрипт:

if [ -s /etc/conf.d/local.start ]; then
    . /etc/conf.d/local.start
fi

То есть: если файл /etc/conf.d/local.start не пуст, то - запустим;
иначе - нефиг нафиг...
У меня это дело работает именно таким образом.

Так у меня всё работает, в

Так у меня всё работает, в начале сообщения я указывал на несоответствия в конфигурации у топикстартера, затем привел пример своего скрипта, где этих несоответствий нет.

Я Gentoo & Funtoo

Да я не про это

Я не имел ввиду, что Ваш вариянт плохой, ну а мой - кручее некуда.
У меня как бэ неявный вопрос: "а как лучше"?

А в чём принципиальная

А в чём принципиальная разница между вашей конструкцией

if [ -s /etc/conf.d/local.start ]; then
    . /etc/conf.d/local.start
fi

и используемой мной

if [[ -e /etc/conf.d/local.start ]] ; then
     source /etc/conf.d/local.start
fi

Я Gentoo & Funtoo

Да никакой

принципиальной разницы...
Извиняюсь за то, что спровоцировал некий флуд.

Загрузка ядерных модулей для

Загрузка ядерных модулей для openrc описывается в /etc/conf.d/modules
http://www.gentoo.org/doc/en/openrc-migration.xml для справки

Все сетевые настройки, включая процедуру подключения pppoe, должны находиться в /etc/conf.d/net, согласно общепринятому синтаксису.

Не грусти, товарищ! Всё хорошо, beautiful good!

Всем спасибо за помощь,

Всем спасибо за помощь, вопрос решен! С модулем разобрался, на роутере окончательно поселилась OpenWRT c DС++ хабом, файл start.local больше не нужен:).

l2tpv3

Подскажите мне пожалуйста, а команды для поднятия l2tpv3 туннеля, куда можно раскидать, сейчас у меня они local.d хотелось бы по инит скриптам раскидать и не городить велосипед.

Перестань заниматься

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

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".