Veröffentlicht 14. August 200322 j 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
14. August 200322 j 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
14. August 200322 j 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
15. August 200322 j Moin! Also ich glaube, ich verstehe den vierten Schritt immer noch nicht. Vielleicht sagst Du es mir ja später noch. Was bezweckst Du damit, eine gedumpte Datei zu mounten? Naja, wie auch immer. Ich versuche mal eben sowas zu basteln und melde mich gleich wieder. Hommling
15. August 200322 j Ich will einen CD-Server aufsetzen. Es funzt auch alles, Rechner ist im Netz, auf die CDs kann zugegriffen werden und ich brauche jetzt nur noch ein Skript, um das Einlesen, Imaging und Mounten zu automatisieren. sux
15. August 200322 j Du meinst sowas in der Richtung: /dev/hdd ist das CD-ROM /img enthalt images und die gemounteten Images -> am besten nachher freigabe über samba Skript: mkcdimg.sh #!/bin/bash mkdir /img/$1 cp /dev/hdd > /img/$1.iso mount /img/$1.iso /img/$1 Aufruf: ./mkimage.sh imagename
15. August 200322 j 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ß
15. August 200322 j 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
15. August 200322 j Hmm. Ist noch ein Fehler drin in der Zeile mit dem cp ist das > zuviel Aber ansonsten spricht da nix gegen, so ein ISO zu erzeugen
15. August 200322 j 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
17. August 200322 j Hey NIC ! Klar ist die Sachlichkeit eines Shell-Skripts hier dem Perl-Skript vorzuziehen. Ist halt bei mir reine Gewohnheit, ein Perl-Skript zu verwenden. Hommling
18. August 200322 j Sicherlich werden sowohl die Shell- als auch die Perlvariante zum Ziel führen. Entscheide dich für die, die du am einfachsten nachvollziehen und somit später leicht erweitern kannst.
18. August 200322 j Gibt es eigentlich Geschwindigkeitsunterschiede bei der Erstellung des Images mit mkisofs bzw. mit cp?? Bzw. ist es wirklich unproblematisch ein iso mit cp zu erstellen??? *grübel
18. August 200322 j Hallo, da habe ich gar nicht drauf geachtet. cp ist natürlich nicht die Lösung, da hier nur das Device-File kopiert wird. Um die Partition zu kopieren, sollte man "dd" verwenden. Nic
19. August 200322 j 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
19. August 200322 j Wenn das Skript nach Änderung der Dateirechte immer noch nicht funktioniert, stimmt eventuell an der Syntax etwas nicht. In diesem Fall poste Dein abgeändertes Skript doch noch mal hier Hommling
19. August 200322 j Hammerhart, das funzt ja wie g´schmeert. Sowas dusseliges auch, ich mußte nur den Zugriff erlauben, sonst nix. Vielen Dank
19. August 200322 j 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.
21. August 200322 j 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:
21. August 200322 j 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
21. August 200322 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.