Esiste un file system simile a git?


27

Git archivia i contenuti in modo univoco nel repository in base all'hash calcolato di qualsiasi file. Se la mia directory ha due copie dello stesso file da qualche parte al suo interno, git lo memorizzerà solo una volta.

Mi chiedo se questo stesso concetto sia stato implementato a livello di sistema operativo come una sorta di file system?

Se un file system agisse in questo modo per impostazione predefinita, sarebbe di grande aiuto con i problemi di inferno dll . Fondamentalmente, si collegherebbe automaticamente al tuo nome. Qualsiasi applicazione potrebbe essere impacchettata (come un vaso) in una directory con tutte le sue dipendenze e senza costi di archiviazione aggiuntivi.

Gli appassionati di ruby ​​condividono le biblioteche pubblicandole come rubygem. Tuttavia, questo sforzo di condivisione delle gemme ha portato a incubi di distribuzione che hanno portato al concetto Vendor Everything di copiare tutte le dipendenze nelle cartelle locali per evitare tali incubi.


2
Non sono un esperto, ma dai un'occhiata a ZFS .
ForeverWintr,

Risposte:



3

Network Appliance, Inc. ha avuto capacità di archiviazione come questa per molti anni, infatti aveva presentato denunce a Sun Microsystems per il loro file system ZFS e fa ciò che Aaron Miller sta citando nella sua risposta accettata. Per quello che vale, i reclami sono stati risolti con Oracle dopo circa 3 anni.

L'ho usato come soluzione aziendale dal 2000 e funziona bene. Il costo dell'archiviazione dopo la prima "copia" si verifica quando si verifica una modifica nel file. Altrimenti, con molte "copie" arriva solo un leggero aumento per lo spazio dei nomi.

Non credo che questo risponda alla domanda sul "livello del sistema operativo" ma piuttosto su un "livello del file system".


0

Il nuovo Apple File System (APFS, così chiamato perché esisteva già un AFS che era qualcos'altro) fa questa magia "auto hardlinking" / "deduplica". macOS 10.13 lo supporta in modo nativo (sulla maggior parte dei Mac) come iOS 11.

Detto questo, non mi sembra che sia abbastanza per renderlo "git like", poiché se fosse "git like", avrebbe anche un checksum crittografico dello stato della mia struttura di directory in determinati punti nel tempo in modo che Potevo essere sicuro che nessuno avesse violato il mio computer o modificato le mie directory di sistema. In effetti, utilizzo i repository git per tenere traccia di alcune directory di sistema critiche sui miei Mac, come i file di configurazione di Apache, LaunchDaemons, LaunchAgents e alcuni altri, in questo modo quando installo software o eseguo il mio server per un po 'posso vedere se qualcosa ha incasinato.

APFS ha anche il supporto elegante per scaricare le cose dal file system sul cloud quando non sono state utilizzate per un po ', ma sembrano ancora lì e si popoleranno di nuovo dal cloud su richiesta.

Potresti sempre costruire un Hackintosh e andare in giro con esso. BSD è divertente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.