Zum Inhalt springen

skript


sux

Empfohlene Beiträge

Hallo Leute, ich bin neu hier und auch mit Linux habe ich erst vor 2 Tagen angefangen.

Jetzt brauch ich irgendwie eine Lösung, wie ich ein automatisiertes Skript zum Einlesen und anschließenden Mounten von CDs erstellen kann.

1. Einlesen der CD in /img/cdname.iso

2. Erstellen eines Verzeichnis mit dem Namen der .iso-Datei ohne die Dateiendung

3. Mounten der cdname.iso in /cd

Ich hoffe, ich habe mich nicht zu kompliziert ausgedrückt und auf eine Antwort. Und wenn ihr mir nur einen Link gebt, wo ich das selber nachschlagen kann.

Gruß

sux :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo !

Also, lass mich kurz klarstellen, ob ich Deine Anfrage richtig verstanden habe. Du möchtest ein Skript erstellen, welches Dir:

1. Erst einmal eine CD-ROM mountet - vorher läuft nämlich nichts!

2. Ein Inhaltsverzeichnis bzw. Abbild der CD-ROM erstellt und diese Datei im Verzeichnis /img speichert unter dem Dateinamen cdname.iso

3. Dann ein Verzeichnis erstellt, welches genauso heißt, wie cdname

4. Und jetzt kommt, was ich noch nicht verstehe, das Image im Verzeichnis /cd mountet?

Schreib mal, ob das so korrekt ist, wie ich das sehe. Auf jeden Fall benötigst Du hier entweder ein Shell-Skript oder ein Perl-Skript.

Hommling

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hoffe, dass ich mich jetzt verständlicher ausdrücke. Vorweg gesagt arbeite ich mit RedHat 9 und diese Schritte bekomme ich unter der GUI und mit dem Terminal wunderbar hin. Es geht nur um die Einfachheit für die Kollegen, es sollen ja noch etliche CDs auf den Server, da sollen die nicht so viel Zeit für verschwenden.

1. Erst einmal eine CD-ROM mounten - vorher läuft ja nichts!

2. Ein Abbild (Image) der CD-ROM erstellen (Befehl hierfür ist dd) und diese Datei im Verzeichnis /img speichern unter dem Dateinamen cdname.iso (also eine Eingabeaufforderung, in der der cdname eingegeben werden kann.)

3. Dann ein Verzeichnis im Verzeichnis /cd erstellen, welches genauso heißt, wie der zuvor eingegebene cdname (nur ohne die endung .iso!)

4. Dieses Image soll im Verzeichnis /cd/cdname(ohne.iso siehe Schritt 3) gemountet werden.

Danke für die Antwort

sux :rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier meine Perl-Version!

Hat wundernbar funktioniert...

#!/usr/bin/perl -w

# Löschen des Bildschirminhalts

system("clear");

# Einlesen des CD-Namens von der Tastatur

$cdname=<STDIN>;

# Entfernen des Zeilenumbruchs der Eingabe

chomp($cdname);

# Ausgabe am Bildschirm

printf "ISO-Image mit dem Namen \"$cdname.iso\" wird nun im Verzeichnis \"/img\" angelegt!\n";

# Mounten der CD-ROM - X gegen Deinen Buchstaben ersetzen !!!

system("mount /dev/hdc /cdrom");

# Erzeugen des Images

system("mkisofs -o /img/$cdname.iso /cdrom");

# Verzeichnis mit selbem Namen erstellen

system("mkdir /cd/$cdname");

# CD-ROM wieder umounten

system("umount /cdrom");

# Jetzt die Datei im entsprechenden Verzeichnis mounten

system("mount -o loop /img/$cdname.iso /cd/$cdname");

Viel Spaß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ach ja!

Habe noch vergessen, zu erwähnen, dass Du das die Datei, in die Du den Quellcode einfügst, noch ausführbar machst.

@Kinnley: Ich bin mir nicht sicher, ob der Kopierbefehl, den Du in Deinem Skript verwendest, den gleichen Effekt hat, wie das Erstellen einer Image-Datei?

Hommling

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Was ich nicht so recht verstehe ist warum Du Perl verwendest. Sämtliche Befehle werden per "system" ausgeführt und können damit direkt in einem "normalen" Shell-Skript (beispielsweise bash) ausgeführt werden.


#!/bin/bash

clear

echo "ISO-Image mit dem Namen $1.iso wird angelegt"

mount /dev/hdc /cdrom


usw. usf.

Nichts gegen perl, aber gerade bei diesem Skript ist es einfach nicht notwendig, da keinerlei Perl-Spezifika verwendet werden.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ehrlich, ihr seid ja alle der Hammer. Ich habe noch nie ein Skript geschrieben und ihr kommt mir mit sowas. Vielen Dank erstmal für die vielen Tips. Ich habe das Skript nach meinen Wünschen umgeschrieben und kann es dennoch nicht ausführen. Warum??? Muß ich es als root ausführen, oder ist der Benutzer egal. Oder muß ich die mkimages.sh in ein bestimmtes Verzeichnis, und nicht in / verschieben? Ich habe ein wenig herumprobiert, aber finde nicht heraus, was ich tun kann. Ich bekomme immer wieder die Antwort: bash: ./mkimage.sh: Keine Berechtigung oder bash: ./mkimage.sh: command not found

Gruß

sux

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von sux

Oder muß ich die mkimages.sh in ein bestimmtes Verzeichnis, und nicht in / verschieben?

Also natürlich bleibt es dir überlassen, wohin du deine Skripte kopierst. Ich wollte nur mal gesagt haben, damit keine Missverständnisse auftreten, dass du es nicht zwansläufig nach / kopieren muss, der Grund waren die Dateirechte. Ich persönlich schiebe meine Skripte immer nach ~/bin/

;)

Nur so ein kleiner Tipp am Rande.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Schlaubi

Also natürlich bleibt es dir überlassen, wohin du deine Skripte kopierst. Ich wollte nur mal gesagt haben, damit keine Missverständnisse auftreten, dass du es nicht zwansläufig nach / kopieren muss, der Grund waren die Dateirechte. Ich persönlich schiebe meine Skripte immer nach ~/bin/

;)

Nur so ein kleiner Tipp am Rande.

Ach Schlaubi, das verstehe ich doch noch nicht, warum man gewisse Sachen so oder anders macht, ich bin doch wirklich neu, was Linux betrifft. Ich mache das allen Ernstes erst seit 3 Tagen. Vorher habe ich noch nie was damit zu tun gehabt. Aber wenn Du so ein Schlaubi bist, kannst Du mir sicher auch erklären, warum man gewisse Sachen auf eine gewisse Art machen sollte. Dann verstehe ich das auch. Was bedeuten diese Verzeichnisse /root und / und /bin und so weiter? Ich mache so ziemlich alles im Verzeichnis /.

Gruß

sux :floet:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Damit solltest du besser aufhören...

Es gibt unter Linux ganz feste Regeln, was wo wie und von wem zu passieren hat. Diese Dinge sind im LSB (Linux Standart Base) und FHS (File Hirachy System) eindeutig (oder doch zumindest fast) geregelt.

Ne ganz gute einführung in das Thema Unix / Linux findest du hier:

http://www.netzmafia.de/skripten/unix/index.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Kristian

Damit solltest du besser aufhören...

Es gibt unter Linux ganz feste Regeln, was wo wie und von wem zu passieren hat. Diese Dinge sind im LSB (Linux Standart Base) und FHS (File Hirachy System) eindeutig (oder doch zumindest fast) geregelt.

Ne ganz gute einführung in das Thema Unix / Linux findest du hier:

http://www.netzmafia.de/skripten/unix/index.html

Dank dir ;)

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...