Титла: Rc.local в debian lenny Публикувано от: winman в Apr 15, 2008, 19:50 /etc/rc.local в Debian Lenny не се изпълнява при стартиране на системата. Може ли някой да ми помогне как да реша проблема?
Иначе /etc/init.d/rc.local start си работи. Явно трябва да активирам изпълнението на rc.local при стартиране на системата, но не знам как. Досега не съм имал този проблем с Mandriva, Fedora, Vector и т.н. Титла: Rc.local в debian lenny Публикувано от: Hapkoc в Apr 15, 2008, 20:25 apt-get install sysv-rc-conf
sysv-rc-conf --level $RUNLEVELS rc.local on Титла: Rc.local в debian lenny Публикувано от: winman в Apr 15, 2008, 20:57 Наркос, благодаря!
Всичко изпълних, като войник, обаче резултата е все същия, не се изпълнява. Дай друг акъл. А ето и самия rc.local. Този опшън -е в началото не ми е ясно какво казва, обаче и с него, и без него все тая. localhost:/home/winman$ ls -l /etc/rc.local -rwxr-xr-x 1 root root 318 Apr 15 20:50 /etc/rc.local localhost:/home/winman$ cat /etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. /usr/bin/tpb exit 0 Титла: Rc.local в debian lenny Публикувано от: winman в Apr 16, 2008, 00:11 Хм, като кажа, че Мандрива е по-добрата дистрибуция, тука такъв крясък настава. Сега тишина...
Титла: Rc.local в debian lenny Публикувано от: neter в Apr 16, 2008, 00:44 Има едни папки в /etc с имена rc*.d, в които се поставят файловете, които трябва да се изпълняват при зареждане и изключване на системата. При стартиране системата гледа в папките от rc2.d до rc5.d, а точно коя, зависи кой init си избрал да се зареди. По подразбиране е init 5 и папка rc5.d (погледни /etc/inittab за по-точни данни). За да се зареди даден файл при стартиране на системата, трябва да се сложи symlink към него в съответната папка. Имената на symlink-овете за стартиране започват с буква S, следва двуцифрено число, посредством което файлът се подрежда на определена позиция по ред за изпълнение и следва името на файла. На едно число могат да седят толкова файла, колкото реални конзоли ти зарежда системата (по подразбиране шест). Т.е., в случая трябва да изпълниш
Двуцифреното число тук е примерно. Погледни какви номерации имаш в /etc/rc5.d и избери подходящото за теб Титла: Rc.local в debian lenny Публикувано от: winman в Apr 16, 2008, 00:54 neter,
Странното е, че всичко това го имам направено. Точно както го описваш. Нещо друго има. Обикновено се оказва накрая няква тъпня. От сутринта се боря с тва rc.local. Благодаря, все пак, за подробното обяснение и вниманието. Титла: Rc.local в debian lenny Публикувано от: neter в Apr 16, 2008, 01:01 Дай тогава да ти видим съдържанието на /etc/inittab файла, защото може да има нещо оплетено там с указателите за различните init-и.
А, и погледни symlink-а в rc5.d дали води към /etc/rc.local или към /etc/init.d/rc.local, защото по подразбиране води към втория. Титла: Rc.local в debian lenny Публикувано от: winman в Apr 16, 2008, 01:27 Symlink-а в rc5.d води към /etc/init.d/rc.local, обаче това не е проблема, защото:
/etc/init.d/rc.local start стартира всичко записано в /etc/rc.local. Ето и изхода на cat /etc/inittab: # /etc/inittab: init(8) configuration. # $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ # The default runlevel. id:2:initdefault: # Boot-time system configuration/initialization script. # This is run first except when booting in emergency (- mode. si::sysinit:/etc/init.d/rcS # What to do in single-user mode. ~~:S:wait:/sbin/sulogin # /etc/init.d executes the S and K scripts upon change # of runlevel. # # Runlevel 0 is halt. # Runlevel 1 is single-user. # Runlevels 2-5 are multi-user. # Runlevel 6 is reboot. l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 # Normally not reached, but fallthrough in case of emergency. z6:6:respawn:/sbin/sulogin # What to do when CTRL-ALT-DEL is pressed. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now # Action on special keypress (ALT-UpArrow). #kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." # What to do when the power fails/returns. pf::powerwait:/etc/init.d/powerfail start pn::powerfailnow:/etc/init.d/powerfail now po::powerokwait:/etc/init.d/powerfail stop # /sbin/getty invocations for the runlevels. # # The "id" field MUST be the same as the last # characters of the device (after "tty"). # # Format: # <id>:<runlevels>:<action>:<process> # # Note that on most Debian systems tty7 is used by the X Window System, # so if you want to add more getty's go ahead but skip tty7 if you run X. # 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6 # Example how to put a getty on a serial line (for a terminal) # #T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 #T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100 # Example how to put a getty on a modem line. # #T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3 Титла: Rc.local в debian lenny Публикувано от: neter в Apr 16, 2008, 01:43 От твоя /etc/inittab се вижда, че по подразбиране влизаш в init 2. Виж дали symlink-a за rc.local присъства и в /etc/rc2.d, за да продължим нататък. Грешки в /etc/inittab не се забелязват, само ми е чудно защо само реалната конзола tty1 ти се зарежда във всички init-и, а останалите се зареждат само в init-и 2 и 3?
Това не е грешка, но помисли така ли искаш да бъде и, ако не, го нагласи както ти е нужно. Титла: Rc.local в debian lenny Публикувано от: winman в Apr 16, 2008, 02:00 Symlink-a за rc.local присъства и в /etc/rc2.d, /etc/rc3.d и т.н до /etc/rc5.d - @S99rc.local и сочи към ../init.d/rc.local.
Титла: Rc.local в debian lenny Публикувано от: neter в Apr 16, 2008, 02:09 Между другото, нямам вземане-даване с въпросния tpb (доколкото виждам, става дума за ThinkPad Buttons), но народът го стартира с -d опция при зареждане на системата, за да застане като демон. Не съм наясно с разликата при него при изпълнение като клиент и като демон, но пробвай. Още нещо, във въпросната статия го зареждат със скрипт в /etc/X11/xinit, а не в rc.local. Поради липсата ми на опит с tpb, не мога да кажа и за това има ли значение. Това е статията, за която говоря, нищо че става дума за Fedora.
edit: Оп, тук си става дума за Debian и скриптът се намира в /etc/X11/Xsession.d/ (в дъното на статията). edit1: Прегледай и /var/log/syslog за нещо по въпроса. Може tpb да се изпълнява, но да дава някаква грешка и да умира. Титла: Rc.local в debian lenny Публикувано от: lisik в Apr 16, 2008, 10:45 winman, не те подценявам, но да не би скрипт файла ти да не е изпълним. Може просто да си забравил
Титла: Rc.local в debian lenny Публикувано от: winman в Apr 16, 2008, 14:03 Проблема се оказа комплексен. Освен, че rc.local не се изпълняваше, ами и tpb (ThinkPadButtons) не иска да работи. Тъй като винаги съм ползвал безпроблемно tpb, не обърнах внимание.
Наркос, благодаря! Благодарение на теб rc.local вече се изпълнява. Neter, благодаря! В тъмна доба твоето предположение се оказа вярно и полезно. А и подробното ти обеснение със сигурност ще помогне на някой друг в бъдеще. lisik, и на теб благодаря. Такива наивни грешки винаги се откриват най-трудно, та не е лошо да се напомнят. Въпреки, че в моя случай не беше така. Затварям темата, rc.local проблема е решен. Остава да разбера защо tpb в Debian не работи. Титла: Rc.local в debian lenny Публикувано от: edmon в Apr 16, 2008, 17:02 така е написал един другар в нета:
http://modular.fas.harvard.edu/t42/ Thinkpad Buttons I installed the tpb package: apt-get install tpb chmod a+rw /dev/nvram To start it I use this script: #!/bin/bash exec tpb --osd=on --verbose --thinkpad="/usr/bin/konqueror" --wireless="/usr/bin/konsole -e /home/was/bin/hibernate" & I have a script with those lines in my .kde/Autostart folder. Титла: Rc.local в debian lenny Публикувано от: tolostoi в Apr 16, 2008, 17:53 Все пак за протокола, откъде мислиш, че е проблема? На стабилният Дебиан си работи, имам тук нестабилен и при него работи rc.local, току що го пробвах понеже не ми се беше налагало да го ползвам. И на 2-те места си работи без да е правено каквото и да е. А при дебиан гледам че доста приложения си имат конфиг скрипт в /etc/default/ например
Титла: Rc.local в debian lenny Публикувано от: winman в Apr 16, 2008, 18:13 tolostoi
Ако питаш мен, на много места в нета прочетох, че трябва да активирам изпълнението на rc.local Не знаех как, но благодарение на Наркос, научих. Защо преди това не е работило, не знам. Всъщност вече знам, но тогава и като гледах, не виждах. Все пак Дебиан ми е нова ОС и още се уча. edmon, Това съм го чел. Обаче проблема е друг. TPB при инсталация си инсталира всякакви скриптове и конфигурационни файлове. Винаги и навсякъде е работило от раз (понеже дефолт конфигурацията е това, което ползвам). Тук има проблем. Може би по-късно, или утре, ще пусна точно какво се инсталира и как. Има някакъв бъг, но не е свързан с хардуера ми, понеже същата версия на tpb работи на същата машина под Mandriva. Ще те помоля да хвърляш по едно око на темата. Може и да видиш пробл;ема, когато пусна подробностите. |