5 berichten aan het bekijken - 1 tot 5 (van in totaal 5)
  • Q:
    Bijdrager
    iDeMi

    inode veranderd na opslaan bestand

    Het is me opgevallen dat wanneer een bestand met bv TextEdit wordt gewijzigd en opgeslagen dat met inode nummer van het bestand wijzigd wanneer ik een listing opvraag met het commando

    ls -i

    Het open van dat bestand via de hard link resulteerd in het oude bestand. Met andere woorden, het bestand is dus, na het opslaan van de wijziging, dubbel aanwezig op disk.

    De functionaliteit van de hard link gaat hierdoor verloren. Het is niet altijd wenselijk om een soft link of een alias te gebruiken.

    Wanneer een bestand wordt gewijzigd door bv het commando

    datetime > file.txt

    dan blijft het inode nummer gelijk.

    Ik werk met OS X 10.6.7

    Kan iemand dit verklaren?

    Groetjes,

    Dennis

    Bijdrager
    madcat

    een inode bevat alleen de meta data van het bestand, het zal dus niet dubbel aanwezig zijn op de hard disk.
    Het zou kunnen zijn dat je door het gebruik te maken van een hardlink een verwijzing\versie te pakken hebt van timemachine.

    Een tijdje geleden wilde apple ook ZFS gebruiken voor dit soort grapjes, echter door patenten & licenties hebben ze dit toch niet gedaan en waarschijnlijk zelf wat zitten maken om dit toch mogelijk te maken.

    ps: w00t mijn 1000e post

    Bijdrager
    Jakko Westerbeke

    Zou dit kunnen liggen aan de manier waarop Cocoa-programma’s bestanden bewaren? Die maken namelijk eerst een tijdelijk bestand — als ik het goed herinner ergens diep in /var/tmp/ — en lijken daarna het originele bestand door het tijdelijke te vervangen.

    Bijdrager
    iDeMi
    madcat op 13 april 2011

    een inode bevat alleen de meta data van het bestand, het zal dus niet dubbel aanwezig zijn op de hard disk.

    Na het opslaan van het bron bestand krijgt dit bestand een nieuw inode nummer. Het inode nummer van de hard link is gelijk gebleven. Van het bron bestand zijn dus nu twee versie op disk. Een gewijzigd en een ongewijzigd (de hard link).

    madcat op 13 april 2011

    Het zou kunnen zijn dat je door het gebruik te maken van een hardlink een verwijzing\\versie te pakken hebt van timemachine.

    De folder waar dit in getest is is excluded van Time Machine.

    madcat op 13 april 2011

    ps: w00t mijn 1000e post

    Gebak:-)

    Bijdrager
    tinus_omt

    Je kunt met bestaande bestanden maar drie dingen doen: Dingen aan het einde toevoegen, dingen vanaf het einde verwijderen of bepaalde karakters overschrijven. Je kunt niet gewoon ergens in het midden een letter toevoegen, zoals dat bijvoorbeeld in TextEdit kan. Als je dat wilt doen zul je het hele bestand opnieuw moeten wegschrijven.

    Als je een applicatie vraagt een bestand op te slaan, wordt over het algemeen eerst een heel nieuw bestand gemaakt met een tijdelijke naam. Als dat klaar is wordt het oude bestand in een keer vervangen door het nieuwe. Zo weet je toch zeker dat je, als het op de helft misgaat, altijd de hele oude, of de hele nieuwe versie overhoudt. Als de applicatie het originele bestand gaat herschrijven en het gaat op de helft mis, kan het zomaar zijn dat je alleen nog maar een half nieuw bestand hebt. Daarom kiezen de mensen die applicaties maken over het algemeen voor de eerste aanpak.

    Het nieuwe bestand is dan echter wel een geheel nieuw bestand, en dus ook met een ander nummer.

    Zo werken vrijwel alle unix applicaties; het is niet specifiek Apple die het zo gebouwd heeft.

    Wat probeer je precies te bereiken met een hardlink?

5 berichten aan het bekijken - 1 tot 5 (van in totaal 5)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.