sux Geschrieben 14. August 2003 Teilen Geschrieben 14. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hommling Geschrieben 14. August 2003 Teilen Geschrieben 14. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sux Geschrieben 14. August 2003 Autor Teilen Geschrieben 14. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hommling Geschrieben 15. August 2003 Teilen Geschrieben 15. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sux Geschrieben 15. August 2003 Autor Teilen Geschrieben 15. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kinnley Geschrieben 15. August 2003 Teilen Geschrieben 15. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hommling Geschrieben 15. August 2003 Teilen Geschrieben 15. August 2003 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ß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hommling Geschrieben 15. August 2003 Teilen Geschrieben 15. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kinnley Geschrieben 15. August 2003 Teilen Geschrieben 15. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 15. August 2003 Teilen Geschrieben 15. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hommling Geschrieben 17. August 2003 Teilen Geschrieben 17. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kinnley Geschrieben 18. August 2003 Teilen Geschrieben 18. August 2003 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 18. August 2003 Teilen Geschrieben 18. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 18. August 2003 Teilen Geschrieben 18. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sux Geschrieben 19. August 2003 Autor Teilen Geschrieben 19. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 19. August 2003 Teilen Geschrieben 19. August 2003 Hallo, stimmen die Permissions: chmod 755 ./mkimage.sh? Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hommling Geschrieben 19. August 2003 Teilen Geschrieben 19. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sux Geschrieben 19. August 2003 Autor Teilen Geschrieben 19. August 2003 Hammerhart, das funzt ja wie g´schmeert. Sowas dusseliges auch, ich mußte nur den Zugriff erlauben, sonst nix. Vielen Dank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 19. August 2003 Teilen Geschrieben 19. August 2003 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
sux Geschrieben 21. August 2003 Autor Teilen Geschrieben 21. August 2003 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: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Kristian Geschrieben 21. August 2003 Teilen Geschrieben 21. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 21. August 2003 Teilen Geschrieben 21. August 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.