Provided by: manpages-de_4.15.0-9_all bug

BEZEICHNUNG

       hardlink - mehrere Kopien einer Datei verlinken

ÜBERSICHT

       hardlink [Optionen] [Verzeichnis|Datei] …

BESCHREIBUNG

       hardlink ist ein Werkzeug, das Kopien einer Datei entweder durch harte Links oder durch
       Kopieren-beim-Schreiben-Clones (copy-on-write clones) ersetzt und dadurch Platz spart.

       hardlink erstellt zunächst einen Binärbaum aus Dateigrößen und vergleicht anschließend den
       Inhalt von Dateien gleicher Größe. Es gibt zwei grundlegende Methoden zum Vergleichen der
       Inhalte. Die memcmp-Methode liest Datenblöcke direkt aus den Dateien und vergleicht sie.
       Die andere Methode basiert auf Checksummen (wie SHA256); in diesem Fall wird für jeden
       Datenblock die Checksumme mit Hilfe der Crypto-API des Linux-Kernels errechnet und diese
       Checksumme im Anwenderbereich gespeichert und für Dateivergleiche verwendet.

       Für jede Datei wird auch ein »intro«-Puffer (32 bytes) zwischengespeichert. Dieser Puffer
       wird unabhängig von der Vergleichsmethode und angeforderten »cache-size« und »io-size«
       verwendet. Der »intro«-Puffer reduziert Operationen mit Dateninhalten erheblich, da
       Dateien am Anfang oft sehr unterschiedlich sind.

OPTIONEN

       -h, --help
           zeigt einen Hilfetext an und beendet das Programm.

       -V, --version
           zeigt die Versionsnummer an und beendet das Programm.

       -v, --verbose
           aktiviert die ausführliche Ausgabe, wobei der Benutzer darüber informiert wird, was
           geschieht. Falls dies einmal angegeben ist, wird jede hart verlinkte Datei angezeigt.
           Bei zweimaliger Angabe wird auch jeder Vergleich angezeigt.

       -q, --quiet
           unterdrückt die Ausgaben.

       -n, --dry-run
           führt nichts aus, sondern gibt nur aus, was geändert werden würde.

       -y, --method Name
           legt die Dateivergleichsmethode fest. Gegenwärtig werden sha256, sha1, crc32c und
           memcmp unterstützt. Die Vorgabe ist sha256, oder memcmp, falls die Linux-Crypto-API
           nicht verfügbar ist. Die auf Checksummen basierenden Methoden sind ohne Kopiervorgänge
           implementiert. In diesem Fall werden Dateiinhalte nicht in den Anwenderbereich kopiert
           und sämtliche Berechnungen im Kernel ausgeführt.

       --reflink[=wann]
           erstellt Copy-on-write-Clones (sogenannte Reflinks) anstelle von harten Links. Die so
           erstellten Dateien haben lediglich die gleichen Inhalte, doch Dateimodus und
           -eigentümerschaft können unterschiedlich sein. Es wird empfohlen, dies mit den
           Optionen --ignore-owner und --ignore-mode zu verwenden. Diese Option impliziert
           --skip-reflinks, um bereits geklonte Dateien zu ignorieren.

           Das optionale Argument wann kann never, always oder auto sein. Falls das Argument wann
           weggelassen wird, ist auto die Voreinstellung. In diesem Fall prüft hardlink den
           Dateisystemtyp und verwendet Reflinks nur auf BTRFS und XFS und fällt auf harte Links
           zurück, wenn die Erstellung von Reflinks unmöglich ist. Das Argument always
           deaktiviert die Erkennung des Dateisystemtyps und das Ausweichen auf harte Links,
           wobei in diesem Fall nur Reflinks erlaubt sind.

       --skip-reflinks
           ignoriert bereits geklonte Dateien. Diese Option kann beim Erstellen klassischer
           harter Links ohne --reflink verwendet werden.

       -f, --respect-name
           versucht, nur Dateien mit dem gleichen Namen (Basisnamen) zu verlinken. Es wird
           ausdrücklich empfohlen, statt -f besser lange Optionen zu verwenden, da dies von
           anderen hardlink-Implementierungen anders interpretiert wird.

       -p, --ignore-mode
           verlinkt und vergleicht Dateien selbst dann, wenn deren Modi unterschiedlich sind. Die
           Ergebnisse könnten schwer vorhersehbar sein.

       -o, --ignore-owner
           verlinkt und vergleicht Dateien selbst dann, wenn deren Eigentümer (Benutzer und
           Gruppe) unterschiedlich sind. Die Ergebnisse könnten schwer vorhersehbar sein.

       -t, --ignore-time
           verlinkt und vergleicht Dateien selbst dann, wenn deren Änderungszeiten
           unterschiedlich sind. Dies ist üblicherweise eine gute Wahl.

       -c --content
           berücksichtigt beim Bestimmen, ob zwei Dateien gleich sind, nur den Dateiinhalt,
           jedoch keine Attribute. Gleichbedeutend mit -pot.

       -X, --respect-xattrs
           versucht, nur Dateien mit den gleichen erweiterten Attributen zu verlinken.

       -m, --maximize
           behält von gleichen Dateien diejenige mit der größten Anzahl der Links.

       -M, --minimize
           behält von gleichen Dateien diejenige mit der kleinsten Anzahl der Links.

       -O, --keep-oldest
           behält von gleichen Dateien die älteste Datei (diejenige mit der neuesten
           Änderungszeit). Standardmäßig wird die neueste Datei behalten. Falls --maximize oder
           --minimize angegeben ist, hat die Anzahl der Links Vorrang vor der Änderungszeit.

       -x, --exclude regulärer_Ausdruck
           gibt einen regulären Ausdruck an, der Dateien von Vergleichen oder Verlinkungen
           ausschließt.

       -i, --include regulärer_Ausdruck
           gibt einen regulären Ausdruck zur Einbeziehung von Dateien an. Falls die Option
           --exclude angegeben ist, bezieht diese Option Dateien ein, die ansonsten
           ausgeschlossen werden würden. Falls die Option ohne --exclude verwendet wird, werden
           nur Dateien einbezogen, die mit dem Muster übereinstimmen.

       -s, --minimum-size Größe
           gibt die minimale zu berücksichtigende Größe an, die standardmäßig 1 ist, so dass
           leere Dateien nicht verlinkt werden. Dem Argument Größe darf eines der multiplikativen
           Suffixe KiB (=1024), MiB (=1024*1024) und so weiter für GiB, TiB, PiB, EiB, ZiB und
           YiB folgen (das »iB« ist optional, zum Beispiel ist »K« gleichbedeutend mit »KiB«).

       -S, --maximum-size Größe
           gibt die maximale zu berücksichtigende Größe an, die standardmäßig 0 ist, was
           unbegrenzt bedeutet. Dem Argument Größe kann eines der multiplikativen Suffixe KiB
           (=1024), MiB (=1024*1024) und so weiter für GiB, TiB, PiB, EiB, ZiB und YiB folgen
           (das »iB« ist optional, zum Beispiel ist »K« gleichbedeutend mit »KiB«).

       -b, --io-size Größe
           gibt die Größe des read(2)- oder sendfile(2)-Puffers beim Vergleichen von
           Dateiinhalten an. Dem Argument Größe kann eines der multiplikativen Suffixe KiB, MiB
           und so weiter folgen (das »iB« ist optional, zum Beispiel ist »K« gleichbedeutend mit
           »KiB«). Die Vorgabe ist 8KiB für die memcmp-Methode und 1MiB für die anderen Methoden.
           Die Nur-memcmp-Methode verwendet Prozessspeicher für den Puffer, während die anderen
           Methoden ohne Kopiervorgänge arbeiten und die E/A-Operationen im Kernel ausgeführt
           werden. Die Größe kann im laufenden Betrieb geändert werden, um eine Reihe von
           zwischengespeicherten Inhalts-Checksummen anzupassen.

       -r, --cache-size Größe
           gibt die Größe des Zwischenspeichers für Inhalts-Checksummen an. Alle
           Nicht-memcmp-Methoden berechnen die Checksumme für jeden Block des Dateiinhalts (siehe
           --io-size), wobei diese Checksummen für den nächsten Vergleich gespeichert werden. Die
           Größe ist für große Dateien oder große Anzahlen gleich großer Dateien bedeutsam. Die
           Vorgabe ist 10MiB.

ARGUMENTE

       hardlink akzeptiert ein oder mehrere Verzeichnisse, die nach zu verlinkenden Dateien
       durchsucht werden sollen.

FEHLER

       Die ursprüngliche hardlink-Implementierung verwendet die Option -f, um die Erzeugung
       harter Links über Dateisystemgrenzen hinweg zu erzwingen. Diese kaum sinnvoll nutzbare
       Funktion wird vom aktuellen hardlink nicht mehr unterstützt.

       hardlink geht davon aus, dass sich die Verzeichnisbäume, in denen es agiert, während der
       Programmausführung nicht verändern. Falls dies dennoch geschieht, ist das Ergebnis nicht
       definiert und potenziell gefährlich. Wenn beispielsweise eine reguläre Datei durch eine
       Gerätedatei ersetzt wird, könnte hardlink damit beginnen, von diesem Gerät zu lesen. Falls
       eine Pfadkomponente durch einen symbolischen Link ersetzt wird oder sich
       Dateizugriffsrechte ändern, könnte die Sicherheit beeinträchtigt werden. Führen Sie
       hardlink niemals in einem sich ändernden Verzeichnisbaum aus oder in einem, über den ein
       anderer Benutzer die Kontrolle hat.

AUTOR

       Es gibt mehrere hardlink-Implementierungen. Die allererste Implementierung stammt von
       Jakub Jelinek für die Fedora-Distribution; diese Implementierung wurde in Util-linux von
       den Versionen 2.34 bis 2.36 genutzt. Die gegenwärtige Implementierung basiert auf der
       Debian-Version von Julian Andres Klode.

FEHLER MELDEN

       Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem auf
       https://github.com/util-linux/util-linux/issues.

VERFÜGBARKEIT

       Der Befehl hardlink ist Teil des Pakets util-linux, welches heruntergeladen werden kann
       von: Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann
       <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.