Zum Inhalt springen

Shellscript beim Systemstart ausführen


Ulturasepp

Empfohlene Beiträge

Hallo,

ich habe vor mit Linux einen CD-Rom Server ins Netz zu stellen. Dazu habe ich mit dd if= / of= Images der gewünschten CDs erstellt und diese Dateien in /home/User abgelegt. Gemountet hab ich sie dann mit

mount /home/user/image/test home/user/image/c't-CD -o loop,unhide

Geht auch alles wunderbar. Um das ganze noch zu beschleunigen, habe ich mir ein Shell Skript geschrieben, das alle Images an der richtigen Stelle mountet. Jetzt weiss ich aber nimma weiter, bin noch neu in Linux.

Wie bekomme ich es hin, dass dieses Shellskript beim Systemstart automatisch ausgeführt wird?? Ich mag net jedesmal manuell mounten, bzw. das Skript ausführen. Bin mir eben nicht ganz sicher und frag lieber mal nach!

Die andere Sache ist, das Skript lässt sich nur als root ausführen, wenn ich es als User versuche, bekomme ich immer die Meldung "nur root kann dies tun" - und das stimmt leider auch. Wie muss ich also die Rechtevergabe gestalten, um als User dieses Skript ausführen zu können.

Ich denke mal es geht nicht direkt um das Ausführen eines Skriptes, sondern ich denke dass Linux den User net Mounten lassen will. Denn die Meldung "nur root kann dies tun" kommt so oft wie ich mount-befehle im Skript habe.

Ich hoffe ihr könnt mir helfen!

Ich benutze Suse 8.2!!

Mfg Ulturasepp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

was beinhaltet das Shellskript?? Nur das gemounte? Wenn das so ist, dann seh dir erstmal die /etc/fstab bzw. man fstab an, diese Datei ist dafür verantwortlich Dateisysteme bei booten automatisch zu mounten.

Falls es nicht der Fall ist und du in deinem Shellskript noch irgendwas anderes tust außer mounten gibts noch (min.) 2 Möglichkeiten:

1. die nicht sehr saubere Lösung - da es ja zum booten passieren soll (eher unschlau, aber ne Möglichkeit):

Du richtest dir nen Cronjob ein, der das Shellskript sagen wir mal, alle 2 Stunden ausführt. (wirklich keine richtige Lösung, da du aber Neuling bist - für dich auch mal interessant ;) )

2. die bessere Lösung:

Du schaust mal bei google.de unter "init.d Skripte", beim hochfahren werden z.B. alle Skripte die unter /etc/init.d/ liegen der Reihe nach ausgeführt, ABER auch nur wenn du angibst, in welchem Runlevel (google - runlevel unter Linux) das passieren soll. Dazu gibts unter /etc/init.d/ mehrere Verzeichnisse, ich glaube in deinem Fall

interessant /etc/init.d/rc3.d/ und /etc/init.d/rc5.d/. Du packst dein Skript z.B. und schmeist es in den Ordner /etc/init.d/

wechselst zu rc3.d/ oder rc5.d/ und machst dort mit "ln -s" (man ln <--hilft dir hier weiter) einen symbolischen Link auf dein Skript (je nach Anfangsnr. startet das Skript z.B. S99mountISO wird als letzes Skript beim booten gestartet. Nun wenn du deinen Rechner mit "init 1; init 3 bzw. init 1; init 5" re-bzw. bootest, dann werden deine ISOs autom. gemountet sein.

Nachtrag: WICHTIG! Wenn du Skripte in init.d einhängst, dann sollten sie immer so gestartet werden, dass sie auch alles haben was sie brauchen - auf deutsch gesagt.

Wenn du z.B. ein Skript hast, dass mit wget irgendein File downloaded, du es aber vor dem Skript startest, dass das Netzwerk hochfährt - wirst du damit Probleme bekommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es in die fstab zu schreiben wäre natürlich die eleganteste Lösung! Hab das auch schon versucht gehabt bin aber net ganz klar gekommen!

Im Skript sind nur Mountbefehle, sonst nix!

Der Mountbefehl in meinem fall lautet:

mount /home/Beispiel/CD-Images/LinuxDisk1 /home/Beispiel/Mount/LinuxDisk1 -o loop,unhide

dass also das Image mit dem Namen LinuxDisk1 in den Ordner LinuxDisk1 gemountet wird!

Hab leider net gecheckt wie ich diesen Befehl in die fstab bringe, dass es auch hinhaut! Wenn da jemand weiss wies geht, nur her mit Vorschlägen!

Werd morgen mal Deine zweite Lösung probieren Schlaubi, die scheint mir am besten.

Morgen weiss ich mehr

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Ulturasepp

Wohin mit loop, unhide ?

In der fstab Dokumentation hab ich nix gefunden!

Geht das denn überhaupt mit fstab?

Ich hatte mir mal eine Suse CD als ISO abgelegt, in der fstab , wird diese wie folgt gemountet :

ablage/suse8.1.iso /ablage/suse iso9660 loop,auto 0 0

Gruß

Terran Marine

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...