Ich erstelle normalerweise das Image über Links mit dem Befehl mkisofs -log-file $BRENNLOG -v -f -r -J -l -V "$BRENNLABEL" -o $BRENNDATEI $BRENNQUELLE $BRENNQUELLE ist ein Verzeichnis und enthält symbolische Links zu allen Verzeichnissen, die ich brennen will. Mkisofs gibt eine Warnung aus, dass symbol. Links Probleme machen können. Ich denke, dass zB beim Brennen von Home-Verzeichnissen mit Auflösung der Links Probleme gegeben sind. Wie erstelle ich nun am besten ein Image des Homeverzeichnisses? Geht das nur ohne Links? Auch komme ich mit der Syntax für mehrere Pfade nicht klar Aus der manpage: "pathspec is the path of the directory tree to be copied into the iso9660 filesystem. Multiple paths can be specified, and mkisofs will merge the files found in all of the specified path components to form the cdrom image." mkisofs -log-file $BRENNLOG -v -f -r -J -l -V "$BRENNLABEL" -o $BRENNDATEI /etc /var funktioniert zB nicht. -path-list file "A file containing a list of pathspec directories and filenames to be added to the ISO9660 filesystem. This list of pathspecs are processed after any that appear on the command line. If the argument is -, then the list is read from the standard input." Ich habe die gewünschten Verzeichnisse alle in Variablen. Wie übergeben ich in diesem Fall mehrere Variablen. Al
Hallo, Am Sun, 05 Oct 2003, Al Bogner schrieb:
Auch komme ich mit der Syntax für mehrere Pfade nicht klar
guckst du hier: http://lists.suse.com/archive/suse-linux/2003-Sep/1373.html -dnh -- [OE] Zusätzlich muß man auf automatischen Zeilenumbruch sowie automatisch eingefügte Signaturen verzichten und bei Antworten auf qp-codierte Artikel das Quoting manuell nachbearbeiten. Da kann man seine Artikel auch gleich per telnet localhost 119 einliefern. [Marc Haber in dcsn]
Am Sonntag, 5. Oktober 2003 19:50 schrieb David Haller:
guckst du hier: http://lists.suse.com/archive/suse-linux/2003-Sep/1373.html
Von dort: "Wer nicht viele/komplexe pathspecs verwenden will, der sollte sich ein Verzeichnis (z.B. unter /tmp) fuer das Erstellen des Images anlegen, und dann dorthinein symlinks legen bzw. die Daten kopieren und dann als pathspec nur /=/tmp/heute_basteln_wir_ein_image/ verwenden." Genau darüber bin ich mir nicht klar, ob das sinnvoll ist bzw. ob man folgende Warnung vernachlässigen kann: "mkisofs: Warning: -follow-links does not always work correctly; be careful. mkisofs 2.0.3 (i686-suse-linux)" Im Log sehe ich zB "scanning /brenndaten/homeec_c8_031005/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/Desktop", wobei ec ein User ist. Diese vielen Wiederholgungen von ec sieht man sehr oft. Zusatzfrage: Ich habe in einem Shellscript eine Abfrage, die prüft, ob das noch nicht erstellte Image auf eine CD passen wird. Das funktionierte bis jetzt ganz gut. Bei vielen Symlinks scheint es aber überhaupt nicht zu stimmen. Bei einem Test lag ich um 200MB daneben. Liegt das an du oder daran, dass das Image eventuell nicht richtig erstellt wurde? So berechne ich: BRENNMAXBYTES="$((718 * 1024 * 1024))" # rechnet falsch mit den Links! BYTESZAEHLEN=`du -Lsb $BRENNQUELLE` #falsche (zu kleine) Werte bei Links! BRENNBYTES=`echo $BYTESZAEHLEN|cut -f 1 -d' '` Al
Hallo, Am Sun, 05 Oct 2003, Al Bogner schrieb:
Am Sonntag, 5. Oktober 2003 19:50 schrieb David Haller:
guckst du hier: http://lists.suse.com/archive/suse-linux/2003-Sep/1373.html
Von dort: "Wer nicht viele/komplexe pathspecs verwenden will, der sollte sich ein Verzeichnis (z.B. unter /tmp) fuer das Erstellen des Images anlegen, und dann dorthinein symlinks legen bzw. die Daten kopieren und dann als pathspec nur /=/tmp/heute_basteln_wir_ein_image/ verwenden."
Genau darüber bin ich mir nicht klar, ob das sinnvoll ist bzw. ob man folgende Warnung vernachlässigen kann: "mkisofs: Warning: -follow-links does not always work correctly; be careful. mkisofs 2.0.3 (i686-suse-linux)"
Nein.
Im Log sehe ich zB
"scanning /brenndaten/homeec_c8_031005/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/Desktop", wobei ec ein User ist.
In so einem Fall musst du die Pathspecs selber angeben, und nicht mit symlinks verlinken. Du kannst die pathspecs ja auch mittels find und -printf erzeugen lassen. Schreib doch mal, welche Verzeichnisse / Dateien mit welcher Struktur auf die CD brennen willst.
Zusatzfrage: Ich habe in einem Shellscript eine Abfrage, die prüft, ob das noch nicht erstellte Image auf eine CD passen wird. Das funktionierte bis jetzt ganz gut. Bei vielen Symlinks scheint es aber überhaupt nicht zu stimmen. Bei einem Test lag ich um 200MB daneben. Liegt das an du oder daran, dass das Image eventuell nicht richtig erstellt wurde?
So berechne ich: BRENNMAXBYTES="$((718 * 1024 * 1024))" # rechnet falsch mit den Links! BYTESZAEHLEN=`du -Lsb $BRENNQUELLE` #falsche (zu kleine) Werte bei Links! BRENNBYTES=`echo $BYTESZAEHLEN|cut -f 1 -d' '`
BRENNBYTES="`du -Lsb \"$BRENNQUELLE\" | cut -f1`" sollte reichen. Warum da "falsche" Werte rauskommen kann ich so nicht sagen, bei mir macht das -L was es soll (z.B. ~656 MB ohne, 1444 MB mit). Stimmen die symlinks? Wie hast du die angelegt? Beschreib mal die konkrete Situation in $BRENNQUELLE etwas genauer... -dnh -- The word "sucked" conveys more passion by _far_ than can possibly be worth feeling over anything related to Harry Potter. If you feel anything stronger than a mild apathy tinged with dislike, you're wasting loathing that could be put to much better use elsewhere. -- D. Henke
Am Montag, 6. Oktober 2003 00:18 schrieb David Haller:
"scanning /brenndaten/homeec_c8_031005/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ ec/ec/ec/ec/ec/ec/ec/ec/Desktop", wobei ec ein User ist.
In so einem Fall musst du die Pathspecs selber angeben, und nicht mit symlinks verlinken. Du kannst die pathspecs ja auch mittels find und -printf erzeugen lassen. Schreib doch mal, welche Verzeichnisse / Dateien mit welcher Struktur auf die CD brennen willst.
Also die Probleme gibt es vermutlich durch die bei der Installation angelegten Symlinks in /home/user oder /etc. Mir geht es zuerst mal darum die 3 Verzeichnisse /etc, /usr/local/bin und /home/user auf CD zu brennen. Die restlichen Verzeichnisse dürften problemlos sein. Mit den Pathspecs konnte ich noch nicht experimentieren. Ich schlage mich davor noch mit vollen Partitionen rum bzw. wie ich diese Fehler am besten abfange. Grundsätzlich ist das schon klar wie das geht, nur die lokale Situation ist sehr subtil. Kannst du mir eine mkisofs-Syntax für diese 3 Verzeichnisse vorschlagen? Dann kann ich mal ausschließen, dass ich mich hierbei verirre. Dein erwähntes Posting habe ich natürlich gelesen, bin mir aber noch nicht klar, was hier am besten wäre. Kann man mit mkisofs die "Tiefe" der Symlinks definieren. Also zB den 1. Symlink auflösen und weitere nicht mehr? Die Symlinks wurden zB so gebildet: ln -s $SICHERUNGSVERZEICHNIS/ "$BRENNQUELLE"/PACKED_$pre1$pre2\_`date +%y%m%d` Hinweise, dass gebrannte tgz-Dateien problematisch sind, bitte ausklammern. Vorerst ist das nur ein Testszenario.
So berechne ich: BRENNMAXBYTES="$((718 * 1024 * 1024))" # rechnet falsch mit den Links! BYTESZAEHLEN=`du -Lsb $BRENNQUELLE` #falsche (zu kleine) Werte bei Links! BRENNBYTES=`echo $BYTESZAEHLEN|cut -f 1 -d' '`
BRENNBYTES="`du -Lsb \"$BRENNQUELLE\" | cut -f1`" sollte reichen.
Das tut es, aber ich verstehe manchmal die Situation nicht, wenn alles in einer Zeile geschrieben ist, zB: SYNCZIEL="/home/ab/Mail/" MPOINT="/""`echo \"$SYNCZIEL\" | cut -f 2 -d"/"`" echo $MPOINT /home DFCHECK=`df -T $MPOINT` FSTYPE=`echo $DFCHECK|cut -f 10 -d' '` echo $FSTYPE ext3 FSTYPE=`df -T $MPOINT|cut -f 10 -d' '` echo $FSTYPE 1035660 Warum ist da ein Unterschied im Ergebnis?
Stimmen die symlinks? Wie hast du die angelegt? Beschreib mal die konkrete Situation in $BRENNQUELLE etwas genauer...
Ich nehme schon an, dass die symlinks stimmen. Mit cd bin ich dort, wo ich hin will. Wie bereits oben gesagt, nehmen wir als Beispiel mal nur /home, /etc und /usr/local/bin an. Al
Hallo, Am Mon, 06 Oct 2003, Al Bogner schrieb:
Am Montag, 6. Oktober 2003 00:18 schrieb David Haller:
"scanning /brenndaten/homeec_c8_031005/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ec/ ec/ec/ec/ec/ec/ec/ec/ec/Desktop", wobei ec ein User ist.
In so einem Fall musst du die Pathspecs selber angeben, und nicht mit symlinks verlinken. Du kannst die pathspecs ja auch mittels find und -printf erzeugen lassen. Schreib doch mal, welche Verzeichnisse / Dateien mit welcher Struktur auf die CD brennen willst.
Also die Probleme gibt es vermutlich durch die bei der Installation angelegten Symlinks in /home/user oder /etc.
Jep. Du landest in einer Schleife...
Mir geht es zuerst mal darum die 3 Verzeichnisse /etc, /usr/local/bin und /home/user auf CD zu brennen. Die restlichen Verzeichnisse dürften problemlos sein. Mit den Pathspecs konnte ich noch nicht experimentieren. Ich schlage mich davor noch mit vollen Partitionen rum bzw. wie ich diese Fehler am besten abfange. Grundsätzlich ist das schon klar wie das geht, nur die lokale Situation ist sehr subtil.
Kannst du mir eine mkisofs-Syntax für diese 3 Verzeichnisse vorschlagen? Dann kann ich mal ausschließen, dass ich mich hierbei verirre. Dein erwähntes Posting habe ich natürlich gelesen, bin mir aber noch nicht klar, was hier am besten wäre.
Recht einfach: mkisofs ... /etc/=/etc/ \ /usr/local/bin/=/usr/local/bin/ \ /home/user/=/home/user Wenn du z.B. noch das Datum in den Verz. im Image haben willst: DATE="`date '+%Y%m%d'`" mkisofs ... /etc-${DATE}/=/etc/ \ /usr-${DATE}/local/bin/=/usr/local/bin/ \ /home/user-${DATE}/=/home/user/ Schau aber in der manpage deines mkisofs nach, ob du nicht --graft-points verwenden musst um die pathspecs derart angeben zu koennen. Ich hab hier ein aelteres mkisofs, wo das immer so ist ;) Ob das dann wie gewollt im Image landet solltest du dann kontrollieren, indem du das Image via loop mountest (mount -o loop...).
Kann man mit mkisofs die "Tiefe" der Symlinks definieren. Also zB den 1. Symlink auflösen und weitere nicht mehr?
AFAIK nein, aber such mal in der manpage (nach 'link'). [..]
BRENNBYTES="`du -Lsb \"$BRENNQUELLE\" | cut -f1`" sollte reichen.
Das tut es, aber ich verstehe manchmal die Situation nicht, wenn alles in einer Zeile geschrieben ist, zB:
SYNCZIEL="/home/ab/Mail/" MPOINT="/""`echo \"$SYNCZIEL\" | cut -f 2 -d"/"`" echo $MPOINT /home DFCHECK=`df -T $MPOINT` FSTYPE=`echo $DFCHECK|cut -f 10 -d' '` ^^^^^^^^ ungequoted => echo "komprimiert" Folgen von Leerzeichen/Tabs zu je _einem_ Leerzeichen.
echo $FSTYPE ext3
FSTYPE=`df -T $MPOINT|cut -f 10 -d' '`
Hier bekommt cut die "unkomprimierte" Version der Zeilen direkt von df.
echo $FSTYPE 1035660
Warum ist da ein Unterschied im Ergebnis?
s.o. Verwende aber besser noch 'awk' statt cut, das ist fuer sowas nicht anfaellig: FSTYPE="`df -T \"$MPOINT\" | awk '{print $2;}'`" ^^ ^^ wenn du sicher bist, dass in $MPOINT _keine_ Sonderzeichen vorkommen, dann kannst du hier die inneren "" (also \"\") auch weglassen. Achso, den mountpoint derart zu bestimmen halte ich fuer "zerbrechlich"... Ich hab mir folgendes scripterl dazu geschrieben: ==== ~/bin/on_which_fs ==== #!/bin/bash dir="$1" test -e "$dir" || { echo "No such file or directory" >&2; exit 2; } test -d "$dir" || dir="`dirname \"$dir\"`" cd "$dir" || exit 1 dir="`pwd -P`" mount="`cat /proc/mounts`" while ! echo "$mount" | grep " $dir "; do dir="`dirname \"$dir\"`" done ==== Anwendung bei dir waere dann z.B.: MPOINT="`on_which_fs \"$SYNCZIEL\" | cut -d' ' -f2`" Vorausgesetzt natuerlich, du willst wirklich den Mountpoint und nicht was anderes und hast nur die Variable etwas irrefuehrend benannt ;) -dnh -- "Napoleon trug immer Rot, damit seine Soldaten nicht sehen konnten, wenn er verwundet wurde. Die Nazis trugen braune Hosen..." -- unbekannt
Am Montag, 6. Oktober 2003 19:15 schrieb David Haller:
Kannst du mir eine mkisofs-Syntax für diese 3 Verzeichnisse vorschlagen? Dann kann ich mal ausschließen, dass ich mich hierbei verirre. Dein erwähntes Posting habe ich natürlich gelesen, bin mir aber noch nicht klar, was hier am besten wäre.
Recht einfach:
mkisofs ... /etc/=/etc/ \ /usr/local/bin/=/usr/local/bin/ \ /home/user/=/home/user
In der Art hatte ich schon eingie Kombinationen probiert. Ist der fehlende Slash bei user vernachlässigbar? mkisofs -v -r -J -l -L -V "Test" -o /burn/brennimage/cdimage.raw /etc/=/etc/ Warning: creating filesystem that does not conform to ISO-9660. mkisofs 2.0.3 (i686-suse-linux) mkisofs: No such file or directory. Invalid node - /etc/=/etc/
Schau aber in der manpage deines mkisofs nach, ob du nicht --graft-points verwenden musst um die pathspecs derart angeben zu koennen. Ich hab hier ein aelteres mkisofs, wo das immer so ist ;)
Da du eine ältere Version hast, aus meiner Manpage: "pathspec is the path of the directory tree to be copied into the iso9660 filesystem. Multiple paths can be specified, and mkisofs will merge the files found in all of the specified path components to form the cdrom image. If the option -graft-points has been specified, it is possible to graft the paths at points other than the root directory, and it is possible to graft files or directories onto the cdrom image with names different than what they have inthe source filesystem. This is easiest to illustrate with a couple of examples. Let's start by assuming that a local file ../old.lis exists, and you wish to include it in the cdrom image. foo/bar/=../old.lis will include the file old.lis in the cdrom image at /foo/bar/old.lis, while foo/bar/xxx=../old.lis will include the file old.lis in the cdrom image at /foo/bar/xxx. The same sort of syntax can be used with directories as well. -graft-points Allow to use graft points for filenames. If this option is used, all filenames are checked for graft points. The filename is divided at the first unescaped equal sign. All occurrences of '\\' and '=' characters must be escaped with '\\' if -graft-points has been specified. Syntaxvorschlag?
Verwende aber besser noch 'awk' statt cut, das ist fuer sowas nicht anfaellig:
FSTYPE="`df -T \"$MPOINT\" | awk '{print $2;}'`" ^^ ^^ wenn du sicher bist, dass in $MPOINT _keine_ Sonderzeichen vorkommen, dann kannst du hier die inneren "" (also \"\") auch weglassen.
Achso, den mountpoint derart zu bestimmen halte ich fuer "zerbrechlich"... Ich hab mir folgendes scripterl dazu geschrieben:
Was meinst du mit "zerbrechlich"? Beispiel? Hier ist zwingend gegeben, dass der Mountpoint, der aus einem Verzeichnis bestimmt wird, existiert. Eventuell existiert aber ein Subdir des Mountpoints nicht. Das Script frägt _sehr_ oft ab, ob die HD nicht voll ist. Ursprünglich hatte ich df $Verzeichnis. Wenn das Verzeichnis aber erst angelegt werden muß, ist das ein Problem und wenn die HD zu voll ist, wird das Verzeichnis gar nicht mehr angelegt, deshalb habe ich den Mountpoint bestimmt. Ich müßte dein Script also entweder x-mal reinkopieren oder eine weitere Datei aufrufen. Ich möchte aber, dass das Script nur aus _1_ Datei besteht.
Vorausgesetzt natuerlich, du willst wirklich den Mountpoint und nicht was anderes und hast nur die Variable etwas irrefuehrend benannt ;)
Es war schon der Mountpoint gemeint. Im Beispiel war das Ergebnis ja /home. Al
Hallo, Am Mon, 06 Oct 2003, Al Bogner schrieb:
Am Montag, 6. Oktober 2003 19:15 schrieb David Haller:
Kannst du mir eine mkisofs-Syntax für diese 3 Verzeichnisse vorschlagen? Dann kann ich mal ausschließen, dass ich mich hierbei verirre. Dein erwähntes Posting habe ich natürlich gelesen, bin mir aber noch nicht klar, was hier am besten wäre.
Recht einfach:
mkisofs ... /etc/=/etc/ \ /usr/local/bin/=/usr/local/bin/ \ /home/user/=/home/user
In der Art hatte ich schon eingie Kombinationen probiert. Ist der fehlende Slash bei user vernachlässigbar?
Aeh, nein, den habe ich leider vergessen. Die Unterschiede habe ich glaub in der genannten Mail beschrieben.
mkisofs -v -r -J -l -L -V "Test" -o /burn/brennimage/cdimage.raw /etc/=/etc/ Warning: creating filesystem that does not conform to ISO-9660. mkisofs 2.0.3 (i686-suse-linux) mkisofs: No such file or directory. Invalid node - /etc/=/etc/
Ahja, das ist die neue mkisofs, bei der sich das default-Verhalten veraendert hat (s.u.).
Schau aber in der manpage deines mkisofs nach, ob du nicht --graft-points verwenden musst um die pathspecs derart angeben zu koennen. Ich hab hier ein aelteres mkisofs, wo das immer so ist ;)
Da du eine ältere Version hast, aus meiner Manpage: [..] If the option -graft-points has been specified, it is possible to graft the paths at points other than the root directory, [..] -graft-points Allow to use graft points for filenames. If this option is used, all filenames are checked for graft points. The filename is divided at the first unescaped equal sign. All occurrences of '\\' and '=' characters must be escaped with '\\' if -graft-points has been specified.
Genau das ist bei mir eben noch das "default-Verhalten".
Syntaxvorschlag?
Du musst bei dir also wohl zusaetzlich das -graft-points verwenden: mkisofs ... -graft-points /etc/=/etc/ \ /usr/local/bin/=/usr/local/bin/ /home/user/=/home/user/ Die Pfade fuer die CD (die _vor_ dem '=') musst du ggfs. anpassen, je nachdem wie du die Verzeichnisse auf CD haben willst. Das ganze ist zwar umstaendlich, sollte aber auf jeden Fall funktionieren und laesst sich ja ggfs. recht einfach generieren. Aber wie sieht's denn im Image aus, wenn du nur: mkisofs ... /etc/ /usr/local/bin/ /home/user/ verwendest (mit und ohne -graft-points)? Evtl. macht auch das schon, was du willst. Symlinks musst du nicht unbedingt verwenden, bzw., wie du eben merkst, kann man dadurch in Schleifen geraten oder anderes. Hast du eigentlich ==== -F This option is similar to the -f option but it supresses loop checks. This allows symbolic links to directories. ==== verwendet? Wie gesagt: im Zweifelsfall laesst sich z.B. mit 'find ... -printf ...' eine passende Liste von Dateien / Graftpoints generieren.
Verwende aber besser noch 'awk' statt cut, das ist fuer sowas nicht anfaellig:
FSTYPE="`df -T \"$MPOINT\" | awk '{print $2;}'`" ^^ ^^ wenn du sicher bist, dass in $MPOINT _keine_ Sonderzeichen vorkommen, dann kannst du hier die inneren "" (also \"\") auch weglassen.
[Nachtrag: der folgende Satz bezog sich auf: SYNCZIEL="/home/ab/Mail/" MPOINT="/""`echo \"$SYNCZIEL\" | cut -f 2 -d"/"`" ]
Achso, den mountpoint derart zu bestimmen halte ich fuer "zerbrechlich"... Ich hab mir folgendes scripterl dazu geschrieben:
Was meinst du mit "zerbrechlich"? Beispiel?
$ SZ="/opt/mozilla/" $ MPOINT="/`echo \"$SZ\" | cut -d'/' -f2`" $ echo $MPOINT /opt $ on_which_fs "$SZ" /dev/hda10 /data2 ext3 rw 0 0 $ ls -ld /opt | awk '{print $1"\t"$9" "$10" "$11;}' lrwxrwxrwx /opt -> ./usr/local/opt $ ls -ld /usr/local/opt | awk '{print $1"\t"$9" "$10" "$11;}' drwxr-xr-x /usr/local/opt $ ls -ld /usr/local/opt/mozilla | awk '{print $1"\t"$9" "$10" "$11;}' lrwxrwxrwx /usr/local/opt/mozilla -> /data2/opt/mozilla $ ls -ld /data2/opt/mozilla | awk '{print $1"\t"$9" "$10" "$11;}' drwxr-xr-x /data2/opt/mozilla $ mount # [gekuerzt] /dev/root / ext2 rw 0 0 /dev/hda7 /usr ext3 rw 0 0 /dev/hda10 /data2 ext3 rw 0 0 Wie man sieht, hat '/opt' genau garnix mit dem realen mountpunkt zu tun, unter dem sich '/opt/mozilla/' tatsaechlich befindent... Dies ist also ein Beispiel, warum dein "naives" Vorgehen "zerbrechlich" ist, und wie -- zumindest in diesem Fall und den "naiven" Faellen -- meine Variante den "wahren" Mountpunkt herausfindet. Aber wie gesagt -- das willst oder brauchst du eventuell auch garnicht, da fuer deinen Fall der reale Mountpunkt, unter dem $SYNCZIEL liegt, irrelevant ist und dich tatsaechlich nur das '/opt' (oder /home) interessiert, unter dem die Daten anspechbar sein sollen. Da musst du noch genauer beschreiben, was du in "MPOINT" haben willst.
Hier ist zwingend gegeben, dass der Mountpoint, der aus einem Verzeichnis bestimmt wird, existiert. Eventuell existiert aber ein Subdir des Mountpoints nicht.
test -d "$subdir" || mkdir -p "$subdir"
Das Script frägt _sehr_ oft ab, ob die HD nicht voll ist. Ursprünglich hatte ich df $Verzeichnis. Wenn das Verzeichnis aber erst angelegt werden muß, ist das ein Problem und wenn die HD zu voll ist, wird das Verzeichnis gar nicht mehr angelegt, deshalb habe ich den Mountpoint bestimmt.
Hm. Schick mir doch mal das komplette script per PM... Und beschreibe dazu, was du wo machen willst (am besten fuege das script in die Mail ein und kommentiere dann in der PM was du jew. bezweckst)...
Ich müßte dein Script also entweder x-mal reinkopieren oder eine weitere Datei aufrufen. Ich möchte aber, dass das Script nur aus _1_ Datei besteht.
Fuege es als Funktion ins script ein (wenn du's brauchst, s.o.): ==== on_which_fs() { # das script ohne das #!/bin/bash } [..] MPOINT="`on_which_fs \"$SYNCZIEL\" | awk '{print $2;}'`" ==== Und/Oder du legst es als ausfuehrbares script in ~/bin/ oder /usr/local/bin/ ab, da sowas doch praktisch sein kann, wie man an obigem Beispiel von mir sehen kann *eg*
Vorausgesetzt natuerlich, du willst wirklich den Mountpoint und nicht was anderes und hast nur die Variable etwas irrefuehrend benannt ;)
Es war schon der Mountpoint gemeint. Im Beispiel war das Ergebnis ja /home.
Ahja. Aber nochmal: mein script/meine Funktion findet heraus, auf welchem Dateisystem und (wg. der kompletten /proc/mounts-Zeile) wo dieses FS gemountet ist heraus. Ob das das ist, was du willst oder brauchst ist eine andere Frage ;) -dnh -- 5: Breitbandkommunikation Porno MPEGs mit Ton (Kristian Köhntopp)
Am Dienstag, 7. Oktober 2003 01:09 schrieb David Haller:
Am Mon, 06 Oct 2003, Al Bogner schrieb:
Am Montag, 6. Oktober 2003 19:15 schrieb David Haller:
verwendest (mit und ohne -graft-points)? Evtl. macht auch das schon, was du willst.
Ja, funktioniert jetzt.
Symlinks musst du nicht unbedingt verwenden, bzw., wie du eben merkst, kann man dadurch in Schleifen geraten oder anderes. Hast du eigentlich
==== -F This option is similar to the -f option but it supresses loop checks. This allows symbolic links to directories. ====
verwendet?
Ich war mir aber selber nicht mehr sicher, was ich verwendet hatte. Zum Glück stand im Ursprungsposting, dass ich mit -f verwendet hatte. :-)
Hm. Schick mir doch mal das komplette script per PM...
Sollte bereits bei dir sein. Al
Am Montag, 6. Oktober 2003 19:15 schrieb David Haller:
Kann man mit mkisofs die "Tiefe" der Symlinks definieren. Also zB den 1. Symlink auflösen und weitere nicht mehr?
AFAIK nein, aber such mal in der manpage (nach 'link').
Damit kann ich nichts anfangen: -no-split-symlink-components Don't split the SL components, but begin a new Continuation Area (CE) instead. ... -no-split-symlink-fields Don't split the SL fields, but begin a new Continuation Area (CE) instead. ... Wie sucht man eigentlich _weiter_ nach "link", wenn man zB man -P'less "+/^ *link$"' mkisofs aufgerufen hat? Al
Hallo, Am Mon, 06 Oct 2003, Al Bogner schrieb:
Am Montag, 6. Oktober 2003 19:15 schrieb David Haller:
Kann man mit mkisofs die "Tiefe" der Symlinks definieren. Also zB den 1. Symlink auflösen und weitere nicht mehr?
AFAIK nein, aber such mal in der manpage (nach 'link').
Damit kann ich nichts anfangen: -no-split-symlink-components Don't split the SL components, but begin a new Continuation Area (CE) instead. ... -no-split-symlink-fields Don't split the SL fields, but begin a new Continuation Area (CE) instead. ...
Wie sucht man eigentlich _weiter_ nach "link", wenn man zB man -P'less "+/^ *link$"' mkisofs aufgerufen hat?
Einfach nochmal /<return>. Die '+' Option bei less bedeutet nur, dass du automatisch quasi ein '/^ *link$<return>' eingibst. Du kannst also auch einfach ganz normal 'man' aufrufen und dann im less '/^ *link$' eingeben und ganz normal weiterzusuchen, siehe die Hilfe von less... Achso, such mal nach 'link' ohne Leerzeichen davor oder dahinter, damit auch Sachen wie 'symlink' oder 'links' gefunden werden... Aber (siehe nebenan) das ist evtl. nicht relevant, wenn das mit den graft-points klappt. -dnh -- Today on Handyman's Corner, we're going to take some ordinary dice, some Bondo to fill in the holes, a Dremel tool with a pointy bit to carve the words "REBOOT", "RETRY", and "REINSTALL" in the faces, and a bit of paint to make it look pretty. ITWDFYHTSALFYH. [A. de Boer on adminning Win]
participants (2)
-
Al Bogner
-
David Haller