Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: rootscript bij opstarten  (gelezen 3058 keer)

glynnyth

  • Gast
rootscript bij opstarten
« Gepost op: 2007/12/14, 16:18:16 »
Hallo,

Ik wil onderstaande commando's automatisch uitvoeren bij opstart:

sudo mii-diag -F 10baseT-HD
sudo /etc/init.d/networking restart

Hoe doe ik dat?

Alvast bedankt,

Tom

Offline Soul-Sing

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #1 Gepost op: 2007/12/14, 16:34:28 »
volgens mij kan dat via  sessies  =toevoegen=

glynnyth

  • Gast
rootscript bij opstarten
« Reactie #2 Gepost op: 2007/12/14, 17:04:09 »
ook zonder dat ik elke keer root password moet intikken?

Offline Soul-Sing

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #3 Gepost op: 2007/12/14, 17:06:01 »
Citaat van: glynnyth
ook zonder dat ik elke keer root password moet intikken?
ja toch?

Offline vanadium

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #4 Gepost op: 2007/12/14, 17:23:06 »
Je kan je commandos toevoegen aan een bestaand initialisatiescript zodat ze mee gerund worden met dat script, of je kan een nieuw script toevoegen in /etc/init.d. Dan moet je, om te zorgen dat de commandos uitgevoerd worden, wel zelf een link ernaar toevoegen in het juiste "runlevel": /etc/rc{1..6}.d. In zo een directory, staan links naar de scripts in init.d die moeten uitgevoerd worden voor dat runlevel. De S* scripts zijn de opstartscripts, de K* scripts deze die bij afsluiten uitgevoerd worden. S01 wordt eerst uitgevoerd, dan S02 enzoverder. Dit om je een idee te geven wat het equivalent is van "autoexec.bat" in Linux.

Ik vind de volgende link ./rcS.d/S40networking terug. Wellicht kan je veilig een symbolische link met naam S40onetworking toevoegen die verwijst naar je scriptje met je twee commando's. Dan worden je twee commandos bij het opstarten uitgevoerd nadat het netwerk geinitaliseerd is (onetworking komt na networking).

Je maakt dat indien nodig ongedaan door de betreffende link weer te verwijderen. Onnodig te zeggen dat de "sudo" in je script niet moet voorkomen: opstartscripts worden zowieso als root uitgevoerd.

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #5 Gepost op: 2008/01/15, 21:26:02 »
En hoe maak je symbolische links? Ik wil bijv. bij het opstarten van een systeem ervoor zorgen dat de rechten worden goedgezet, en daarvoor heb ik al een scriptje gemaakt wat ik bij het opstarten wil uitvoeren.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #6 Gepost op: 2008/01/16, 11:42:05 »
Niemand? Ik heb een 'noodoplossing' gevonden: de scriptjes in een (als root nieuw aangemaakte) directory /etc/rc.bootplaatsen.
Werkt prima, maar ik zou graag willen weten hoe je een symbolische link kunt maken naar de directory
/etc/rcS.dWant daar horen ze eigenlijk te staan. De /etc/rc.boot directory is namelijk 'obsolate' maar terwille van de backward compability nog gehandhaafd.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline vanadium

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #7 Gepost op: 2008/01/16, 21:13:44 »
Symbolische link gaat met het commando "ln" met de -s optie

ln -s

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #8 Gepost op: 2008/01/16, 21:18:52 »
Dus: ln -s /usr/bin/scriptje /etc/rcS.d/scriptje.....?
Hmmmm.. Makkelijker dan een scriptje in een /etc/rc.bootzetten.
Hoe maak je een dergelijke symlink weer ongedaan?
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline Gijsbert

  • Lid
  • Steunpunt: Ja
rootscript bij opstarten
« Reactie #9 Gepost op: 2008/01/16, 21:35:19 »
Ik heb een scriptje wat sound heet en opgestart wordt met sudo sound. Ik begrijp het niet helemaal . Ik kan niet sudo sound gewoon in sessies zetten (werkt bij mij niet), moet het ergens anders geplaatst worden? Woteb  /etc/rc.boot zie ik niet wel een rc.local

Met vriendelijke groet,

Gijs
In der Beschränkung zeigt sich der Meister.

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #10 Gepost op: 2008/01/16, 21:52:15 »
Wat ik begrepen heb is dat scriptjes die in /etc/rc.boot of als symlink in /etc/rcS.d staan, -ALTIJD- als root worden gebruikt. Dan heb je sudo niet nodig.
Ik heb vanmorgen een scriptje in /etc/rc.boot (die directory bestond niet, maar aangemaakt (als root)) gekopieerd, en het startte op bij het booten van de laptop. Dat scriptje regelt welk draadloze/interne netwerkkaart moet worden gebruikt en met welke instellingen. Nogmaals, dat startte perfect. Wat ik via google heb kunnen natrekken is dat de directory /etc/rc.boot verouderd is, maar nog wel kan worden gebruikt.

Wat jij zou kunnen doen is:

A: Een directory /etc/rc.boot aanmaken met sudo mkdir /etc/rc.booten daarna het scriptje sound daar naartoe kopiëren met sudo cp /locatie-van-het-scriptje/sound /etc/rc.bootof:

B: Een symlink maken naar dat scriptje ln -s /locatie-van-het-scriptje/sound /etc/rcS.d/soundOPLETTEN 1 !!!!! Het scriptje 'sound' moet dan wel worden ontdaan van alle sudo zaken, omdat het scriptje als root wordt uitgevoerd, en dus sudo onnodig is.
OPLETTEN 2 !!!!! De directory /etc/rc.boot moet je wel aanmaken omdat die niet bestaat. Hierboven heb ik geschreven hoe je dat moet doen.
Citaat
symlink
staat voor symbolic link, zeg maar een andere naam voor 'snelkoppeling'.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #11 Gepost op: 2008/01/16, 22:17:59 »
Aanvulling. Wanneer je een symlink naar /etc/rcS.d gaat maken, kijk dan eerst in die directory naar de bestaande symlinks. Die hebben allemaal een letter S + een getal voor de bestandsnaam. Wanneer je een symlink gaat maken, dan als waarde plus één (+1) hoger dan de bestaande.
In mijn situatie maakte ik de symlink met: sudo ln -S /usr/bin/nicmenu /etc/rcS.d/S91nicmenuen hierdoor wordt het scriptje als laatste uitgevoerd. Ik heb voor het script het getal 91 gebruikt, want het voorafgaande getal is 90, en 91 is 90 +1.
het scriptje nicmenu in mijn voorbeeld voert dus die eventuele netwerkkaart-wisseling en instellingen uit bij het opstarten van mijn laptop.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline Gijsbert

  • Lid
  • Steunpunt: Ja
rootscript bij opstarten
« Reactie #12 Gepost op: 2008/01/16, 22:22:44 »
Woteb dank je voor de duidelijke uitleg.
Straks reboot ik de computer en laat ik even weten hoe het gegaan is met de uitvoer van het scriptje.

Met vriendelijke groet,

Gijs
In der Beschränkung zeigt sich der Meister.

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #13 Gepost op: 2008/01/16, 22:30:27 »
Wel alle sudo zaakjes eruit halen hoor!!
Wat je heel makkelijk kunt doen is die regels te kopiëren en direct daaronder plakken en dan bij de ene regel sudo verwijderen, en bij de ander (waar sudo nog in staat) er een # voor zetten.

Dus dit:

# sudo uitvoeren van commando X
uitvoeren van commando X

Mocht een en ander niet bevallen, dan wissel je dat # teken gewoon om, dus dit:

sudo uitvoeren van commando X
# uitvoeren van commando X

Wanneer er een # voor een regel staat, wordt dat namelijk opgevat als commentaar, en wordt die regel NIET uitgevoerd. Heel handig dus om iets aan te passen en uit te proberen. Wanneer het script naar behoren werkt, kun je later alsnog die regels waar een # voor staat verwijderen.
Voordeel van deze werkwijze is dat je altijd terug kunt vallen op een oude situatie en regel voor regel het script kunt testen als dat nodig is.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline Gijsbert

  • Lid
  • Steunpunt: Ja
rootscript bij opstarten
« Reactie #14 Gepost op: 2008/01/16, 23:34:27 »
Woteb het werkt prima. Het scriptje sound start mijn geluid van mijn tv-kaart.
Sound:
#!/bin/bash
modprobe  -r bt878 bttv
modprobe snd_bt87x
modprobe bt878

Met vriendelijke groet,

Gijs
In der Beschränkung zeigt sich der Meister.

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #15 Gepost op: 2008/01/17, 00:08:42 »
En weer een tevreden Ubuntu gebruiker...
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

Offline markba

  • Lid
    • http://markbaaijens.nl/
  • Steunpunt: Ja
rootscript bij opstarten
« Reactie #16 Gepost op: 2008/01/17, 10:03:27 »
Als alternatief: plaats je commando in /etc/rc.local
Alles wat hier in staat, wordt uitgevoerd tijdens opstarten.
Werkt erg eenvoudig, geen gedoe met rechten, symlinks, etc.

Offline vanadium

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #17 Gepost op: 2008/01/17, 11:00:56 »
Ter verduidelijking: /etc/rc.local is een uitvoerbaar tekstbestand, een script dus. Je opent het met je editor en plaatst er je commandos in. Dit is inderdaad een stuk handiger voor dergelijke probleempjes (al net zo handig als autoexec.bat zaliger!) Bedankt, Markba!

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #18 Gepost op: 2008/01/17, 11:59:26 »
Tenzij je meerdere scriptjes hebt.... Dan is het peanuts om een aantal symlinks te maken (desnoods via een script...).Wat ook een 'nadeel' kan zijn is bij een hernieuwde installatie. Zo heb ik in mijn homedirectory dergelijke scriptjes staan en die kopieer ik dan naar /usr/bin (uiteraard met sudo of als root). Dan is het maken van symlinks natuurlijk sneller, eventueel ook via een script. Kan natuurlijk ook een kopie van /etc/rc.local terugzetten.....
Voor beide methodes is wat te zeggen, ten voordeel en ten nadeel.... ;)

En autoexec.bat is inderdaad makkelijk, maar ook niet altijd, en dan was een apart batchbestandje makkelijker.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

patd

  • Gast
rootscript bij opstarten
« Reactie #19 Gepost op: 2008/07/22, 20:44:41 »
Hoi,

Ik heb hier toch nog een vraagje over.

Ik wil graag een schijf mounten in een bepaalde map, daarvoor tik ik in: sudo mount -t smbfs -o username=username,password=password //[intern ip]/[locatie] /K-schijf
Als ik dit intik in terminal, dan gaat dat goed en wordt de schijf gemount in /K-schijf. Ik zou echter willen dat dit automatisch gebeurt, dus niet dat ik steeds die regel moet intikken. Ik heb dus het bovenstaande commando  in /etc/rc.local gezet, zonder sudo ervoor, maar er gebeurt niks.

Ik heb het ook geprobeerd door rc.boot aan te maken, en daar het commando in te zetten maar helaas. Weet iemand wat hier fout gaat?

Offline woteb

  • Lid
  • Steunpunt: Nee
rootscript bij opstarten
« Reactie #20 Gepost op: 2008/07/22, 20:51:06 »
In jouw geval zou ik met het bestandje /etc/fstab gaan werken. Dan worden samba en nfs shares automatisch gekoppeld bij het opstarten. Dat zou ik niet via een root script gaan doen.
Laptop, HP 550, Dual Core 1 GB RAM/2 Ghz:: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie) Fluxbox / IceWM / XFCE4 / Openbox / LXDE.
3 Werkstations + 1 laptop: Debian 5.0 Testing (Squeeze)  (lite-blokkendoos editie Gnome/XFCE/IceWM)
Server: Debian 5.0 Stable (Lenny)

patd

  • Gast
rootscript bij opstarten
« Reactie #21 Gepost op: 2008/08/28, 14:23:01 »
Kom ik er nog even op terug, want ik snap niet veel van /etc/fstab.
Is het de bedoeling dat ik daar het hele mount commando in opsla? Lijkt me niet toch?