Автор Тема: Rc.local в debian lenny  (Прочетена 6066 пъти)

winman

  • Напреднали
  • *****
  • Публикации: 311
    • Профил
Rc.local в debian lenny
« -: Apr 15, 2008, 19:50 »
/etc/rc.local в Debian Lenny не се изпълнява при стартиране на системата. Може ли някой да ми помогне как да реша проблема?

Иначе /etc/init.d/rc.local start си работи. Явно трябва да активирам  изпълнението на rc.local при стартиране на системата, но не знам как. Досега не съм имал този проблем с Mandriva, Fedora, Vector и т.н.
Активен

The more you know about Linux the less likely girls will want to know about you!

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Rc.local в debian lenny
« Отговор #1 -: Apr 15, 2008, 20:25 »
apt-get install sysv-rc-conf
sysv-rc-conf --level $RUNLEVELS rc.local on
Активен

winman

  • Напреднали
  • *****
  • Публикации: 311
    • Профил
Rc.local в debian lenny
« Отговор #2 -: 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



Активен

The more you know about Linux the less likely girls will want to know about you!

winman

  • Напреднали
  • *****
  • Публикации: 311
    • Профил
Rc.local в debian lenny
« Отговор #3 -: Apr 16, 2008, 00:11 »
Хм, като кажа, че Мандрива е по-добрата дистрибуция, тука такъв крясък настава. Сега тишина...
Активен

The more you know about Linux the less likely girls will want to know about you!

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Rc.local в debian lenny
« Отговор #4 -: Apr 16, 2008, 00:44 »
Има едни папки в /etc с имена rc*.d, в които се поставят файловете, които трябва да се изпълняват при зареждане и изключване на системата. При стартиране системата гледа в папките от rc2.d до rc5.d, а точно коя, зависи кой init си избрал да се зареди. По подразбиране е init 5 и папка rc5.d (погледни /etc/inittab за по-точни данни). За да се зареди даден файл при стартиране на системата, трябва да се сложи symlink към него в съответната папка. Имената на symlink-овете за стартиране започват с буква S, следва двуцифрено число, посредством което файлът се подрежда на определена позиция по ред за изпълнение и следва името на файла. На едно число могат да седят толкова файла, колкото реални конзоли ти зарежда системата (по подразбиране шест). Т.е., в случая трябва да изпълниш
Примерен код
ln -s /etc/rc.local /etc/rc5.d/S90rc.local

Двуцифреното число тук е примерно. Погледни какви номерации имаш в /etc/rc5.d и избери подходящото за теб '<img'>
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

winman

  • Напреднали
  • *****
  • Публикации: 311
    • Профил
Rc.local в debian lenny
« Отговор #5 -: Apr 16, 2008, 00:54 »
neter,
Странното е, че всичко това го имам направено. Точно както го описваш. Нещо друго има. Обикновено се оказва накрая няква тъпня. От сутринта се боря с тва rc.local.

Благодаря, все пак, за подробното обяснение и вниманието.
Активен

The more you know about Linux the less likely girls will want to know about you!

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Rc.local в debian lenny
« Отговор #6 -: Apr 16, 2008, 01:01 »
Дай тогава да ти видим съдържанието на /etc/inittab файла, защото може да има нещо оплетено там с указателите за различните init-и.
А, и погледни symlink-а в rc5.d дали води към /etc/rc.local или към /etc/init.d/rc.local, защото по подразбиране води към втория.



Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

winman

  • Напреднали
  • *****
  • Публикации: 311
    • Профил
Rc.local в debian lenny
« Отговор #7 -: 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 (-'B)' 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
Активен

The more you know about Linux the less likely girls will want to know about you!

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Rc.local в debian lenny
« Отговор #8 -: Apr 16, 2008, 01:43 »
От твоя /etc/inittab се вижда, че по подразбиране влизаш в init 2. Виж дали symlink-a за rc.local присъства и в /etc/rc2.d, за да продължим нататък. Грешки в /etc/inittab не се забелязват, само ми е чудно защо само реалната конзола tty1 ти се зарежда във всички init-и, а останалите се зареждат само в init-и 2 и 3?
Цитат
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

Това не е грешка, но помисли така ли искаш да бъде и, ако не, го нагласи както ти е нужно.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

winman

  • Напреднали
  • *****
  • Публикации: 311
    • Профил
Rc.local в debian lenny
« Отговор #9 -: Apr 16, 2008, 02:00 »
Symlink-a за rc.local присъства и в /etc/rc2.d, /etc/rc3.d и т.н до /etc/rc5.d - @S99rc.local и сочи към ../init.d/rc.local.
Активен

The more you know about Linux the less likely girls will want to know about you!

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Rc.local в debian lenny
« Отговор #10 -: 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 да се изпълнява, но да дава някаква грешка и да умира.



Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

lisik

  • Напреднали
  • *****
  • Публикации: 153
  • Distribution: Kubuntu
  • Window Manager: KDE
    • Профил
    • WWW
Rc.local в debian lenny
« Отговор #11 -: Apr 16, 2008, 10:45 »
winman, не те подценявам, но да не би скрипт файла ти да не е изпълним. Може просто да си забравил '<img'>



Активен

winman

  • Напреднали
  • *****
  • Публикации: 311
    • Профил
Rc.local в debian lenny
« Отговор #12 -: Apr 16, 2008, 14:03 »
Проблема се оказа комплексен. Освен, че rc.local не се изпълняваше, ами и tpb (ThinkPadButtons) не иска да работи. Тъй като винаги съм ползвал безпроблемно tpb, не обърнах внимание.

Наркос, благодаря! Благодарение на теб rc.local вече се изпълнява.

Neter, благодаря! В тъмна доба твоето предположение се оказа вярно и полезно. А и подробното ти обеснение със сигурност ще помогне на някой друг в бъдеще.

lisik, и на теб благодаря. Такива наивни грешки винаги се откриват най-трудно, та не е лошо да се напомнят. Въпреки, че в моя случай не беше така.

Затварям темата, rc.local проблема е решен. Остава да разбера защо tpb в Debian не работи.
Активен

The more you know about Linux the less likely girls will want to know about you!

edmon

  • Гост
Rc.local в debian lenny
« Отговор #13 -: 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.



Активен

tolostoi

  • Напреднали
  • *****
  • Публикации: 1337
  • Distribution: Ubuntu
  • Window Manager: Unity
  • левел: авераж :)
    • Профил
Rc.local в debian lenny
« Отговор #14 -: Apr 16, 2008, 17:53 »
Все пак за протокола, откъде мислиш, че е проблема? На стабилният Дебиан си работи, имам тук нестабилен и при него работи rc.local, току що го пробвах понеже не ми се беше налагало да го ползвам. И на 2-те места си работи без да е правено каквото и да е. А при дебиан гледам че доста приложения си имат конфиг скрипт в /etc/default/ например
Примерен код
cat /etc/default/openvpn
# This is the configuration file for /etc/init.d/openvpn

#
# Start only these VPNs automatically via init script.
# Allowed values are "all", "none" or space separated list of
# names of the VPNs. If empty, "all" is assumed.
#
#AUTOSTART="all"
#AUTOSTART="none"
#AUTOSTART="home office"
#
# Refresh interval (in seconds) of default status files
# located in /var/run/openvpn.$NAME.status
# Defaults to 10, 0 disables status file generation
#
#STATUSREFRESH=10
#STATUSREFRESH=0

cat /etc/default/apache2
### htcacheclean settings ###

## run htcacheclean: yes, no, auto
## auto means run if /etc/apache2/mods-enabled/disk_cache.load exists
## default: auto
HTCACHECLEAN_RUN=auto

## run mode: cron, daemon
## run in daemon mode or as daily cron job
## default: daemon
HTCACHECLEAN_MODE=daemon

## cache size
HTCACHECLEAN_SIZE=300M

## interval: if in daemon mode, clean cache every x minutes
HTCACHECLEAN_DAEMON_INTERVAL=120

## path to cache
## must be the same as in CacheRoot directive
HTCACHECLEAN_PATH=/var/cache/apache2/mod_disk_cache

## additional options:
## -n : be nice
## -t : remove empty directories
HTCACHECLEAN_OPTIONS="-n"
и т.н. Първо там проверих дали не пише нещо, но нямаше  '<img'>
Активен


... в Столичен инспекторат една година след миграцията, продължават да работят под Linux. Което, май прави "експеримента" успешен
by entusiast