Hardlinks funktionieren gar nicht

Dieses Thema im Forum "Mac OS X - Unix & Terminal" wurde erstellt von maceis, 19.03.2007.

  1. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Hallo zusammen,

    ich musste gerade feststellen, dass Hardlinks bei mir unter Mac OS X 10.4.9 gar nicht funktionieren.

    Ich habe eine Datei, die aus zwei Verzeichnisseinträgen heraus aufgerufen werden muss. Also dachte ich mir, ich erstelle einen Hardlink wie folgt:
    Code:
    ln ../070319/test.txt test.txt
    ls -l test.txt
    -rw-r--r-- [b]2[/b] maceis maceis .... test.txt
    Problem ist nur, dass sich die mit dem ln Befehl erzeugte Datei wie eine Kopie verhält. Änderungen auf der einen Seite, werden auf der anderen ignoriert.
    Steh ich jetzt ganz auf der Leitung? Mach' ich was falsch?
    Kann das mal jemand bei sich überprüfen?
     
  2. Darii

    Darii MacUser Mitglied

    Beiträge:
    2.066
    Zustimmungen:
    110
    MacUser seit:
    24.02.2004
    Die 2 bei ls zeigt ja an, dass da ein Link besteht. Sicher, dass alle Pfade etc stimmen?

    Code:
    $ echo "blub" > dat1
    $ ln dat1 dat2
    $ echo "blub2" > dat1
    $ cat dat2
    blub2
    $ ls -l
    total 16
    -rw-r--r--   2 test  test  6 Mar 19 19:55 dat1
    -rw-r--r--   2 test  test  6 Mar 19 19:55 dat2
     
    Zuletzt bearbeitet: 19.03.2007
  3. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    MacUser seit:
    03.10.2006
    kann ich bestätigen. Das ist ein Widerspruch zur "2", die bei ls angezeigt wird.

    :noplan:
     
  4. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    MacUser seit:
    03.10.2006
    Hab's heute noch mal unter Linux probiert. Dort verhält es sich genau so. Also kein Widerspruch.

    Ich muss dazusagen, ich arbeite, wenn mit "ln", dann nur mit Softlinks. Daher hatte mich dieses Verhalten bei Hardlinks etwas "überrascht".
     
  5. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Hab jetzt wenigstens eine teilweise Erklärung für meine Misserfolge.

    Ich hatte testweise kleine Textdateien erstellt und davon einen Hardlink in einem anderen Verzeichnis erstellt (Softlinks sind für meine Zwecke nicht geeignet).
    Nun habe ich bemeerkt, dass die Hardlinks erwartungsgemäß funktionieren, wenn ich die Dateien mit vim editiere und bearbeite.

    Wenn ich eine solche Textdatei aber mit Textedit ändere und sichere, erstellt Textedit beim Sichern eine neue Datei und überschreibt damit die alte. Der Link ist damit unterbrochen.
    Das ist natürlich ein Riesenkäse Apple!

    Außerdem habe ich noch ein anderes sehr seltsames Verhalten bemerkt.
    Wenn ich CAD Dateien, mit zwei Linkeinträgen bearbeite, führen Änderung unter dem einen Eintrag zunächst nich zu einer Aktualisierung der Änderungszeit bei dem anderen Eintrag. Erst wenn ich das 'ln' Kommando (mit dem Schalter -f) erneut ausführe, werden die Änderungszeiten aktualisiert.

    Auch das ist ein Riesenkäse!
    Ich erwarte, wenn ich eine Datei unter dem einen Namen ändere, dass sich auch bei dem anderen Namen die Änderungszeit ändert. Ist doch schließlich die selbe Datei, oder?

    Edit:
    Grade nochmal getestet; mit vi funktioniert das auch. Nur mit dem CAD Programm wird die Änderung eines Linkeintrages erst bei neu erstellen der Links auch beim anderen Zweig übernommen. Sehr eigenartig!
     
    Zuletzt bearbeitet: 20.03.2007
  6. Darii

    Darii MacUser Mitglied

    Beiträge:
    2.066
    Zustimmungen:
    110
    MacUser seit:
    24.02.2004
    Das mit Textedit ist in der Tat seltsam, imho ein Riesenbug. Ist vermutlich noch keinem aufgefallen, da keine gehardlinkte Dateien mit Textedit bearbeitet. Scheint aber irgendwie ein generelles Problem mit den entsprechenden cocoa-Funktionen zu sein. SubEtha zickt auch rum und verlangt Administratorrechte
     
  7. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    MacUser seit:
    03.10.2006
    Von einem Bug kann man eigentlich nicht sprechen. Es ist auch kein Plattform-spezifisches Problem, sondern einfach davon abhängig, ob der Texteditor nach Änderungen in die Originaldatei schreibt oder in eine Kopie, bzw. das Original umbenennt.

    Habe es heute noch mal unter OS X, suse und debian ausprobiert.
    Hardlinks funktionieren bei vi und vim, aber nicht mit emacs oder dem Textedit auf dem Mac.
     
  8. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Was? emacs mach auch so einen Krampf?
    Ein Glück, dass ich mit vim arbeite ;).

    Ob man es jetzt als ausgesprochenen Bug bezeichnen möchte, sei jetzt einmal dahin gestellt.
    Ich finde es aber ausgesprochen schlecht, weil auf diese Art Strukturen zerstört werden - wenn ich's mir recht überlege: Doch, das sind Bugs!
    Werd' ich wohl auch mal bei Apple melden - mal seh'n was draus wird.
     
  9. dpr

    dpr MacUser Mitglied

    Beiträge:
    519
    Zustimmungen:
    0
    MacUser seit:
    04.04.2006
    Das kommt drauf an: Carbon Emacs 22.0.95 (auch: .50) und emacs 21.2.1 verhalten sich korrekt.
     
  10. MacMännchen

    MacMännchen MacUser Mitglied

    Beiträge:
    2.877
    Zustimmungen:
    213
    MacUser seit:
    03.10.2006
    Wenn ich ein Datei hard verlinke und dann mit GNU Emacs 21.2.1 (powerpc-apple-darwin8.0) das Original verändere, wird die hard verlinkte Datei nicht mit verändert. Im Unterschied zu vim.
     
Die Seite wird geladen...
Ähnliche Themen - Hardlinks funktionieren gar
  1. mj
    Antworten:
    2
    Aufrufe:
    1.279
  2. Teutone
    Antworten:
    12
    Aufrufe:
    2.995
    bernie313
    21.11.2010
  3. 23tux
    Antworten:
    4
    Aufrufe:
    1.551
    xentric
    26.11.2008
  4. tuxlookalike
    Antworten:
    6
    Aufrufe:
    699
    maceis
    24.04.2008
  5. maceis
    Antworten:
    0
    Aufrufe:
    807
    maceis
    19.03.2007