Debian, update-rc.d probléma...

Fórumok

Mit csinálok rosszul nem tudom összerakni:


$ sudo update-rc.d -n rtorrent defaults 20
update-rc.d: using dependency based boot sequencing
insserv: enable service ../init.d/rtorrent -> /etc/init.d/../rc0.d/K01rtorrent
insserv: enable service ../init.d/rtorrent -> /etc/init.d/../rc1.d/K01rtorrent
insserv: enable service ../init.d/rtorrent -> /etc/init.d/../rc2.d/S01rtorrent
insserv: enable service ../init.d/rtorrent -> /etc/init.d/../rc3.d/S01rtorrent
insserv: enable service ../init.d/rtorrent -> /etc/init.d/../rc4.d/S01rtorrent
insserv: enable service ../init.d/rtorrent -> /etc/init.d/../rc5.d/S01rtorrent
insserv: enable service ../init.d/rtorrent -> /etc/init.d/../rc6.d/K01rtorrent
insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop

A cél az lenne, hogy SKxxrtorrent-ből xx-et meg tudjam adni...
Esetleg még jobb lenne a script "headerbe" ami így fest most:


#!/bin/bash
### BEGIN INIT INFO
# Provides:          rtorrent
# Required-Start:
# X-Start-Before:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:	     0 1 6
# Short-Description: run rtorrent as a given user in a screen. 
# Description:       run rtorrent as a given user in a screen.
### END INIT INFO

Előre is köszönöm.

Hozzászólások

Ezt én itt most Ubuntu-n próbáltam:
$ sudo touch /etc/init.d/rtorrent
$ update-rc.d -n rtorrent defaults 20
update-rc.d: warning: /etc/init.d/rtorrent missing LSB information
update-rc.d: see http://wiki.debian.org/LSBInitScripts
Adding system startup for /etc/init.d/rtorrent ...
/etc/rc0.d/K20rtorrent -> ../init.d/rtorrent
/etc/rc1.d/K20rtorrent -> ../init.d/rtorrent
/etc/rc6.d/K20rtorrent -> ../init.d/rtorrent
/etc/rc2.d/S20rtorrent -> ../init.d/rtorrent
/etc/rc3.d/S20rtorrent -> ../init.d/rtorrent
/etc/rc4.d/S20rtorrent -> ../init.d/rtorrent
/etc/rc5.d/S20rtorrent -> ../init.d/rtorrent

Szerintem pont az LSB infó miatt hívja meg az insserv-et és ez bírálja felül a 20-ast.
Sztem vedd ki az LSB infót és simán menni fog.

Ezek szerint ez squeeze.
Itt már máshogy működik a dolog, de ki is írja:
'update-rc.d: using dependency based boot sequencing'
Ennek a programnak nincs függősége, ezért indítja el legelőször.
A program funkciója szerint minimum a $network-nek el kéne indulnia mielőtt ez indul.

Töltsd ki rendesen a header-t!
Ezek segítenek:
/etc/init.d/README
/etc/init.d/skeleton ez egy minta
man update-rc.d

Eddig nem tudtam, hogy megváltozott :)

átírtam ilyenre, még mindig 1-lesz... olvasom a doksikat... köszönöm a segítséget.


#!/bin/bash
### BEGIN INIT INFO
# Provides:          rtorrent
# Required-Start:    $network $local_fs
# Required-Stop:
# Should-Start:
# Should-Stop:
# X-Start-Before:
# X-Stop-After:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Interactive:     false
# Short-Description: run rtorrent as a given user in a screen. 
# Description:       run rtorrent as a given user in a screen.
### END INIT INFO

Sziasztok,

betettem egy 1 soros scriptet az init.d mappáda 777 es jogokkal, és miután frissítettem ezt írja ki:

update-rc.d virtualftpserver defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'virtualftpserver' missing LSB tags and overrides

A scriptem neve virtualftpserver és ennyit tartalmaz:

#!/bin/bash

vboxmanage startvm ftpserver --type headless

Csak annyit szeretnék, hogy automatikusan induljon el boot során a virtualboxos ftp szerver masinám.

Köszönöm előre is a segítséget.

-- Zoli ---

Lenovo T400 @ Crunchbang "Waldorf"

Ezzel több probléma is van. Az első az init scripted hiányos funkciója. Az init scriptben implementálni kell a start, stop, restart, source-reload és status paraméterrel meghívhatóságot, és az ezeknek megfelelő (nem ellentmondó) működést. Lásd: Debian Policy Manual, Chapter 9 - The Operating System, 9.3.2 Writing the scripts, illetve példaként ottt van a rendszered /etc/init.d könyvtára.

A második, amire a fenti figyelmeztetést is kaptad, hogy LSB fejlécet kellene írni a scriptedhez. Lásd: LSBInitScripts, /etc/init.d/README, man insserv, ez a topic, és az /etc/init.d könytárad.

Harmadikként: felesleges a 777 jog, 755 a szokásos, lásd a többi init scriptet.

"Csak annyit szeretnék, hogy automatikusan induljon el boot során a virtualboxos ftp szerver masinám."
Ha csak elindítani akarod, ezt akár az erre a célra kitalált /etc/rc.local-ba is beleírhatnád.

tudom, hogy van erre egy 'skeleton' , de az így első blikkre túl bonyolultnak tűnik.

Csak írjam ez az indító sort az rc.local file végére?

Nekem elég lenne csak a stop és a start funkció is. El kellene mélyednem a saját init script készítésébe ugye?
Vegyem ehez alapul azt a skeleton file-t és azt módosítsam?

-- Zoli ---

Lenovo T400 @ Crunchbang "Waldorf"

Jelenleg az rc4.d ben található egy fájl, aminek a scriptem a neve. Ezt simán kitörölhetem innen, majd frissítsem le újra az rc-t?
Ez ugye a 4. run level, itt indul a slim is, ahogy nézem.

Ez az LSB warning figyelmen kívül hagyható, mert "csak" egy warning?

Ez így nem lenne már jó egy init scriptnek, ha betenném az rc4.d könyvtárba?

#! /bin/sh
# /etc/init.d/virtual_ftp_server

vm=ftpserver

case "$1" in
start)
echo "Start $vm..."
vboxmanage startvm $vm --type headless
;;
stop)
echo "Stop $vm..."
vboxmanage controlvm $vm poweroff
;;
*)
echo "Usage: /etc/init.d/virtual_ftp_server { start|stop }"
exit 1
;;
esac

exit 0

Ez a fenti működik most, de ugyanúgy egy LSB warning ot jelzett.
service virtual_ftp_server start/stop

Kíváncsi vagyok, hogy reboot után el fog e indulni magától.

-- Zoli ---

Lenovo T400 @ Crunchbang "Waldorf"