[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Umgang mit Dubletten
[Thread Prev] | [Thread Next]
- Subject: Re: Umgang mit Dubletten
- From: Werner Holtfreter <Holtfreter@xxxxxx>
- Date: Mon, 24 Aug 2009 00:42:10 +0200
- To: uugrn@xxxxxxxxxxxxxxx
Hallo Raphael, am Samstag, 2009-08-22 20:50:53 schrieb Raphael Becker: > > Aber mein Ziel war doch, Dubletten im Home durch Links zu > > ersetzen! > > Ja, aber Du willst moeglicherweise ausserdem sicherstellen, dass > das Linkziel immer den Inhalt behaelt, den es beim Setzen des > Links hatte. Ausgehend von meinem Beispiel waere z.B. sowas > machbar: Statt der Datei > /home/rabe/UUGRN/Aufnahmeantrag_UUGRN.pdf ein Symlink setzen: > > /home/rabe/UUGRN/Aufnahmeantrag_UUGRN.pdf --> > /.repo/e/55/e55d56d38035824cf1e2ead96e7688a72f3dac068d97e98d25fa8 >19349a0cfae > > Uebertragen auf Deinen Anwendungsfall: > > 1. Wiederholt vorkommende Dokumente, etwa PDF-Dokumente legst Du > in das beschriebene Repository. Du hast damit nicht einen > Dateinamen sondern einen ganz bestimmten Inhalt archiviert. Der > Inhalt wird durch die Checksumme (Hash) repraesentiert. > > 2. Du verlinkst diesen Inhalt unter verschiedenen Arbeits- oder > Projektverzeichnissen durch einen Symlink in das Repository. Das Repository mit den md5-Namen ist ja nicht gerade uebersichtlich. Man wird also auch den Vorgang der Verlinkung automatisieren muessen. Das gaebe dann folgenden Ablauf: Der Benutzer erstellt einfach neue Projektverzeichnisse und kopiert die dort benoetigten Datenblaetter hinein, ohne sich um Dubletten-Vermeidung zu kuemmern. Ein regelmaessiger Job tut folgendes, moeglicherweise ist dazu dein Index notwendig oder zweckmaessig: Er untersucht alle (oder ausgewaehlte) Verzeichnisse und legt fuer alle noch nicht im Repository vorhandenen Dateien Hardlinks in das Repository. Jede Datei wird dort benannt mit ihrer md5-Summe. Dann werden die Verzeichnisse erneut durchsucht, diesmal nach Hardlinks ins Repository. Diese Hardlinks werden geloescht und durch Softlinks ersetzt. Anschliessend (oder besser zu allererst) wird fuer jede Datei im Repository untersucht, ob noch mindestens 1 Softlink auf sie weist. Wenn nicht, wird die Datei im Repository geloescht. Allerding muss der Nutzer durch Entzug der Schreibrechte an einer Modifikation der Datei gehindert werden! Er kann ggf. eine Kopie anlegen, modifizieren und den urspruenglichen Link loeschen. Da das aber fuer *alle* vom geschilderten Job erfassten Dateien gilt (auch fuer die nicht-Dubletten) ist das letztlich nicht praktikabel... Entspricht diese Zusammenfassung deiner Intention? -- Viele Gruesse Werner Holtfreter -- http://mailman.uugrn.org/mailman/listinfo/uugrn Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste Archiv: http://lists.uugrn.org/