Re: Symbolischer Link und Parent-Verzeichnis

2004-11-16 Diskussionsfäden Rüdiger Noack
Rolf Leggewie wrote:
Bislang habe ich also mit symbolischen Links
gearbeitet.  Gibt es aber auch eine Lösung, bei der ich nicht ständig an 
den Unterschied zwischen 'ls ..' und 'cd ..' denken muß?
Ja ja - die symbolischen Links... ;-)
Ich versuche sie (ich denke aus gutem Grund) zu vermeiden. So angenehm 
wie sie beim ersten Hinsehen erscheinen, so tückisch sind sie in 
Wirklichkeit. Sie haben zwar ihre Daseinsberechtigung (Realisierung der 
Abwärtskompatibilität, Notlösung bei Platzproblemen, ...), aber sie sind 
und bleiben IMHO eine Krücke (wenn es um ganze Verzeichnisbäume geht).

Die bessere Lösung? Sich ein bisschen Gedanken machen über sinnvolles 
Einhängen von Dateisystemen. Erspart ganz, ganz viele potentielle Probleme.

--
Gruß
Rüdiger
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Symbolischer Link und Parent-Verzeichnis

2004-11-15 Diskussionsfäden Walter Saner
Rolf Leggewie schrieb:

> Laut manpage könnte 'mount --bind' funktionieren.  Allerdings verstehe
> ich nicht, wie ich das reboot-fest realisieren würde.  'man fstab'
> schweigt sich zu dem Thema aus.

#   

# /olddir   /newdir nonebind
/mnt/hdc1/src   /usr/srcnonebind

Übersichtlicher wird dein System dadurch aber nicht. Besser wäre eine
sinnvolle Partitionierung und das Einhängen der Partitionen.


Ciao
Walter


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Symbolischer Link und Parent-Verzeichnis

2004-11-15 Diskussionsfäden Rolf Leggewie
Stefan Bund wrote:
Hm.  Warum aber wechselt dann "cd .." nach /usr/src/ und nicht nach
/mnt/hdc1/src/?  

[gute Erklärung]
Vielen Dank.
Jetzt frage ich mich, wie ich damit sinnvollerweise umgehe.  Es ist so,
daß in meinem Computer eine kleine Bootplatte und eine große
"Daten"-Platte laufen.  Aus dem Verzeichnisbaum möchte ich mehrere Dinge
auf die Datenplatte auslagern (/home/, /usr/src/,
/var/spool/wwwoffle/,...).  Bislang habe ich also mit symbolischen Links
gearbeitet.  Gibt es aber auch eine Lösung, bei der ich nicht ständig an 
den Unterschied zwischen 'ls ..' und 'cd ..' denken muß?

Laut manpage könnte 'mount --bind' funktionieren.  Allerdings verstehe
ich nicht, wie ich das reboot-fest realisieren würde.  'man fstab'
schweigt sich zu dem Thema aus.  Wer kann helfen oder hat vielleicht
sogar eine bessere Idee als mount?
Schöne Grüße
Rolf

--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Symbolischer Link und Parent-Verzeichnis

2004-11-15 Diskussionsfäden Matthias Julius
Michael Hierweck <[EMAIL PROTECTED]> writes:

> Rolf Leggewie wrote:
>> Hallo,
>> bei mir ist /usr/src/linux ein symbolischer Link zu
>> /mnt/hdc1/src/kernel-source-2.4.26.  Warum zeigt mir 'ls
>> /usr/src/linux/../' den Inhalt von /mnt/hdc1/src/ und nicht von
>> /usr/src/?  Soll das so sein oder habe ich etwas falsch gemacht?
>>
>
> ".." referenziert das in der Hioerarchie darÃber liegende
> Verzeichnis. Also stimmt das so.

Etwas inkonsistent ist nur, dass 'ls /usr/src/linux/../' den Inhalt von
'/mnt/hdc1/src/' anzeigt und 'cd /usr/src/linux/../' nach '/usr/src/'
wechselt.

Matthias


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: Symbolischer Link und Parent-Verzeichnis

2004-11-15 Diskussionsfäden Stefan Bund
Rolf Leggewie <[EMAIL PROTECTED]> writes:
> Hm.  Warum aber wechselt dann "cd .." nach /usr/src/ und nicht nach
> /mnt/hdc1/src/?  

cd .. wird auf der Shell-ebene implementiert. Es wird so
interpretiert, das im aktuellen Pfad eine Ebene nach oben gegangen
wird. Wenn der aktuelle Pfad also /usr/src/linux ist, wird einfach das
letzte weggelassen. Das ist ja auch das, was man üblicherweise haben
will.

mit ls .. ist das was anderes. '..' ist nämlich ein hard-link auf das
Parent-Verzeichnis, in diesem Fall also auf /mnt/hdc1/src. ls '..'
listet das Verzeichnis '..'. 

Letzteres Verhalten ist z.Bsp. dann *sehr* wichtig, wenn in dem
Verzeichnis weitere relative Links auftauchen. Beispiel:

  /usr/src/linux -> /mnt/hdc1/src/linux-1.2.3
  /mnt/hdc1/src/lionux-1.2.3/test -> ../../../hdc3/foo/bar/test

Eine Referenz auf /usr/src/linux/test referenziert dann
/mnt/hdc3/foo/bar/test. Wenn er die '..' allerdings relativ zum
aktuellen Pfad interpretieren würde, würde er versuchen auf
/foo/bar/test zuzugreifen, was es wahrscheinlich nicht
gibt. Stattdessen werden die '..' einfach als hardlink gelesen, das
funktioniert dann immer.

Bin mal über dieses Problem in einem meiner eigenen Skripte gestolpert
... hoffe, das ist so verständlich und korrekt :-)

Stefan.


pgpKQsl0nIxUt.pgp
Description: PGP signature


Re: Symbolischer Link und Parent-Verzeichnis

2004-11-15 Diskussionsfäden Rene D. Obermueller
Hallo Rolf,
Hm.  Warum aber wechselt dann "cd .." nach /usr/src/ und nicht nach
/mnt/hdc1/src/?  Das hat mich schon manches mal verblüfft, wenn nach
einem ls .. und anschließendem cd .. die Dateien, die mir eben noch
angezeigt wurden, nicht mehr da waren.  Irgendwie erscheint mir das
inkonsistent.
ich lasse mich mal zu einer Vermutung hinreissen. ;-)
"cd" ist shell-builtin, während "ls" normalerweise "/bin/ls" ist.
Anhand von pwd kann man sehen, dass sich die bash builtin befehle in
Bezug auf einen durch einen symbolischen Link angesteuerten Pfad
gegenüber den in /bin angesiedelten Pendants unterschiedlich verhalten
können.
Du hast recht, das ist inkonsistent, aber ich glaube, je nach Situation
will man mal den "belogenen" Pfad haben, als auch die Möglichkeit,
den echten herauszubekommen.
Sofern ich jetzt keinen Unfug erzählt habe, ist das Problem also nicht die
Inkosistenz zwischen /bin und builtin commands, sondern eher dass
es kein /bin/cd und kein builtin ls gibt.
MfG
R.D.Obermüller


Re: Symbolischer Link und Parent-Verzeichnis

2004-11-15 Diskussionsfäden Rolf Leggewie
zunächst erst einmal meine Entschuldigung an Rene Obermüller, der auf 
meine Frage schon vor einigen Tagen geantwortet hatte.  Irgendwie zickt 
mein Thunderbird rum und zeigt mir den Thread nicht an, es sei denn, ich 
such explizit nach "Parent" im Subject, dann taucht der Thread vom 
13.11. plötzlich auf. ~:-|

Michael Hierweck wrote:
bei mir ist /usr/src/linux ein symbolischer Link zu 
/mnt/hdc1/src/kernel-source-2.4.26.  Warum zeigt mir 'ls 
/usr/src/linux/../' den Inhalt von /mnt/hdc1/src/ und nicht von 
/usr/src/?  Soll das so sein oder habe ich etwas falsch gemacht?

".." referenziert das in der Hioerarchie darüber liegende Verzeichnis. 
Also stimmt das so.
Hm.  Warum aber wechselt dann "cd .." nach /usr/src/ und nicht nach
/mnt/hdc1/src/?  Das hat mich schon manches mal verblüfft, wenn nach
einem ls .. und anschließendem cd .. die Dateien, die mir eben noch
angezeigt wurden, nicht mehr da waren.  Irgendwie erscheint mir das
inkonsistent.
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: Symbolischer Link und Parent-Verzeichnis

2004-11-15 Diskussionsfäden Michael Hierweck
Rolf Leggewie wrote:
Hallo,
bei mir ist /usr/src/linux ein symbolischer Link zu 
/mnt/hdc1/src/kernel-source-2.4.26.  Warum zeigt mir 'ls 
/usr/src/linux/../' den Inhalt von /mnt/hdc1/src/ und nicht von 
/usr/src/?  Soll das so sein oder habe ich etwas falsch gemacht?

".." referenziert das in der Hioerarchie darüber liegende Verzeichnis. 
Also stimmt das so.

Viele Grüße
Michael
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)