Systém souborů verze - Versioning file system

Systém souborových verzí je jakýkoli počítačový souborový systém, který umožňuje existenci počítačového souboru v několika verzích současně. Jedná se tedy o formu kontroly revizí . Nejběžnější souborové systémy pro správu verzí uchovávají řadu starých kopií souboru. Některé omezují počet změn za minutu nebo za hodinu, aby se vyhnuly ukládání velkého počtu triviálních změn. Jiní místo toho pořizují pravidelné snímky, k jejichž obsahu lze přistupovat s podobnou sémantikou jako běžný přístup k souborům.

Podobné technologie

Záloha

Systém souborů verze je podobný periodickému zálohování s několika klíčovými rozdíly.

  • Zálohování se obvykle spouští na časovaném základě, zatímco k verzování dochází, když se soubor změní.
  • Zálohy jsou obvykle v celém systému nebo v celém oddílu, zatímco k verzování dochází nezávisle na jednotlivých souborech.
  • Zálohy se obvykle zapisují na samostatná média, zatímco verze souborových systémů se zapisují na stejný pevný disk (a obvykle do stejné složky, adresáře nebo místního oddílu).

Ve srovnání se systémy kontroly revizí

Systémy verzí souborů poskytují některé funkce systémů kontroly revizí . Na rozdíl od většiny systémů pro kontrolu revizí jsou však pro uživatele transparentní a pro záznam nové revize nevyžadují samostatný krok „potvrzení“.

Systém souborů deníku

Systémy verzí souborů by neměly být zaměňovány s systémy souborů deníku . Zatímco souborové systémy pro ukládání do deníku fungují tak, že před provedením změn v daném systému souborů (a přepsáním předchozí verze) uchovávají protokol o změnách provedených v souboru, systém souborů s verzí uchovává při ukládání nových změn předchozí kopie souboru. Tyto dvě funkce slouží různým účelům a vzájemně se nevylučují.

Úložiště objektů

Některé implementace úložiště objektů nabízejí správu verzí objektů, například Amazon S3 .

Implementace

SVÉ

Časná implementace správy verzí, možná první, byla v ITS MIT . V ITS se název souboru skládal ze dvou šestimístných částí; pokud byla druhá část číselná (skládala se pouze z číslic), považovala se za číslo verze. Při určování souboru, který se má otevřít pro čtení nebo zápis, lze zadat druhou část „>“; při čtení to znamenalo otevřít verzi souboru s nejvyšším číslem; při psaní to znamenalo zvýšit nejvyšší existující číslo verze a vytvořit novou verzi pro zápis.

Další časná implementace verzí byla v TENEXu , který se stal TOPS-20 .

Soubory-11 (RSX-11 a OpenVMS)

Výkonný příklad systému pro správu verzí souborů je zabudován do operačního systému RSX-11 a OpenVMS od společnosti Digital Equipment Corporation . V podstatě, kdykoli aplikace otevře soubor pro zápis, souborový systém automaticky vytvoří novou instanci souboru s připojeným číslem verze k názvu. Čísla verzí začínají na 1 a počítají se směrem nahoru při vytváření nových instancí souboru. Když aplikace otevře soubor ke čtení, může buď zadat přesný název souboru včetně čísla verze, nebo pouze název souboru bez čísla verze, v takovém případě se otevře nejnovější instance souboru. Příkaz DCM / CCL „čištění“ lze kdykoli použít ke správě počtu verzí v konkrétním adresáři. Ve výchozím nastavení budou odstraněny všechny verze všech souborů v aktuálním adresáři kromě nejvyššího počtu; toto chování lze přepsat přepínačem / keep = n a / nebo zadáním cest k adresářům a / nebo vzorů souborů. Systémy VMS jsou často skriptovány tak, aby pravidelně čistily adresáře uživatelů; toto je někdy nesprávně chápáno koncovými uživateli jako vlastnost systému správy verzí.

Linux

8. února 2004 navrhli Kiran-Kumar Muniswamy-Reddy, Charles P. Wright, Andrew Himmer a Erez Zadok (všichni z univerzity Stony Brook ) aplikaci, která je uživatelsky přívětivá pro mnoho uživatelů, kteří aplikaci testovali. Systém byl vyvinut se softwarem Linux, takže byl nejprve provozován na Linuxu.

  • NILFS - systém souborů strukturovaný podle protokolů, který podporuje správu verzí celého systému souborů a nepřetržité vytváření snímků. V tomto seznamu je to jediný stabilní a zahrnutý do jádra hlavní řady.
  • Tux3 - Poslední změna proběhla v roce 2014. [1]
  • Next3 - Nejnovější aktualizace proběhla v roce 2012.
  • ext3cow - Poslední vydání bylo v roce 2005.

LMFS

Souborový systém Lisp Machine podporuje správu verzí. To bylo zajištěno implementacemi od MIT, LMI, Symbolics a Texas Instruments. Takovým operačním systémem byl Symbolics Genera .

Operační Systém Mac

Počínaje Lionem (10.7) má macOS funkci nazvanou Versions, která umožňuje aplikacím napsaným pro použití verzí ukládání a procházení minulých verzí dokumentů jako Time Machine . Tato funkce však probíhá na aplikační vrstvě, nikoli na vrstvě souborového systému; Lion a novější verze neobsahují skutečný systém souborů verzí.

SCO OpenServer

HTFS , který byl přijat jako primární souborový systém pro SCO OpenServer v roce 1995, podporuje správu verzí souborů. Správa verzí je povolena pro každý adresář nastavením bitu setuid adresáře, který se zdědí při vytváření podadresářů. Pokud je povolena správa verzí, vytvoří se nová verze souboru při odebrání souboru nebo adresáře nebo při otevření existujícího souboru se zkrácením. Neaktuální verze zůstávají v oboru názvů souborového systému pod názvem původního souboru, ale s připojenou příponou skládající se z středníku a pořadového čísla verze. Všechny kromě aktuální verze jsou skryty z čtení adresáře (pokud není nastavena proměnná prostředí SHOWVERSIONS), ale verze jsou jinak přístupné pro všechny běžné operace. Proměnná prostředí a obecná přístupnost umožňují správu verzí pomocí obvyklých obslužných programů souborového systému, existuje však také příkaz „undelete“, kterým lze vyčistit a obnovit soubory, povolit a zakázat správu verzí adresářů atd.

Ostatní

  • Subversion má funkci nazvanou „autoversioning“, kdy lze zdroj WebDAV se subversion backendem připojit jako souborový systém v systémech podporujících tento druh připojení (Linux, Windows a další) a ukládá do tohoto systému souborů generovat nové revize na systém kontroly revizí.
  • Komerční software pro správu a kontrolu verzí Clearcase podporuje také „MVFS“ (souborový systém s více verzemi) na HP-UX, AIX a Windows od počátku 90. let.

Související software

Následující verze nejsou verzí souborových systémů, ale umožňují podobné funkce.

  • APFS a ZFS podporují okamžité snímky a klony.
  • Btrfs podporuje snímky.
  • HammerFS v DragonFlyBSD má schopnost ukládat revize do souborového systému.
  • NILFS , který podporuje fotografování .
  • Plán 9 ‚S Fossil souborový systém může poskytnout podobnou funkci, přičemž pravidelné momentky (často za hodinu) a jejich zpřístupnění v / n / snap . Fossil může navždy archivovat snímek do Venti (obvykle jeden snímek každý den) a zpřístupnit je v / n / dump . Pokud se během intervalu mezi snímky v souboru provede několik změn, do dalšího snímku se zaznamená pouze nejnovější.
  • Rozvržení souboru Write Anywhere - Řešení úložiště NetApp implementují souborový systém s názvem WAFL, který využívá technologii snímků k udržení různých verzí všech souborů v objemu.
  • pdumpfs, jehož autorem je Satoru Takabayashi, je jednoduchý denní zálohovací systém podobný plánu 9 / n / dump implementovaný v Ruby . Funguje jako nástroj pro vytváření snímků, který umožňuje kopírovat celý adresář do jiného umístění pomocí pevných odkazů. Při pravidelném používání to může mít podobný efekt jako správa verzí.
  • Microsoft Windows
    • Stínová kopie - je funkce zavedená společností Microsoft se systémem Windows Server 2003. Stínová kopie umožňuje pořizovat ruční nebo automatické záložní kopie nebo snímky souboru nebo složky na určitém svazku v určitém okamžiku.
    • RollBack Rx - umožňuje pořizovat snímky diskových oddílů. Každý snímek obsahuje pouze rozdíly mezi předchozími snímky a jeho vytvoření trvá jen několik sekund. Lze jej spolehlivě použít k udržení stabilního a / nebo chráněného operačního systému Windows před malwarem.
    • GoBack (ukončeno) - Software GoBack pro Windows od společnosti Symantec umožňuje návrat souborů, adresářů nebo disků do předchozích stavů. Může zaznamenat maximálně 8 GB změn a dočasně zastaví nahrávání každé změny v případě vysoké aktivity I / O.
    • Versomatic - Software Versomatic od společnosti Acertant automaticky sleduje změny souborů a preventivně archivuje kopii souboru před jeho úpravou.
  • Cascade File System vystavuje úložiště Subversion nebo Perforce prostřednictvím ovladače systému souborů. Uživatel musí stále výslovně rozhodnout, kdy provést změny.
  • Dokumenty implementace git volají git „obsahový adresovatelný souborový systém s nad ním napsaným uživatelským rozhraním VCS.“

Viz také

Reference

externí odkazy