Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:hardlink

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:hardlink [2016/01/14 10:12]
ingo_wichmann
admin_grundlagen:hardlink [2023/12/12 13:07] (aktuell)
Zeile 1: Zeile 1:
-====== ​Hardlinks ​======+====== ​Links ====== 
 + 
 +Zur Unterscheidung zu [[symbolische Links|symbolischen Links]] werden die gewöhnlichen Links manchmal auch Hard Links genannt. 
 ===== einfache Beispiele ===== ===== einfache Beispiele =====
   cp /etc/passwd .   cp /etc/passwd .
   ls -li passwd*   ls -li passwd*
   ln passwd passwd-hardlink   ln passwd passwd-hardlink
 +  ls -li passwd*
  
-editieren, ​umbenennen, verschieben,​ löschen (Ursprungdatei),​ ... ausprobieren+umbenennen, verschieben, editieren, löschen (Ursprungdatei),​ ... ausprobieren
  
   ls -li passwd*   ls -li passwd*
Zeile 11: Zeile 15:
   ls -li passwd*   ls -li passwd*
  
 +===== Wo befinden sich auf meinem System Hardlinks? ====
 +  find / -xdev -type f -links +1 -ls
 +  find / -xdev -type f -links +1 -printf '​%h\n'​ | uniq -c
 ===== Datei umbenennen ohne Ausfallzeit ===== ===== Datei umbenennen ohne Ausfallzeit =====
   cd /​etc/​postfix/​maps   cd /​etc/​postfix/​maps
   ln virtual_alias_maps.txt.db virtual_mailbox_maps.txt.db   ln virtual_alias_maps.txt.db virtual_mailbox_maps.txt.db
   postconf -e '​virtual_mailbox_maps = hash:/​etc/​postfix/​maps/​virtual_mailbox_maps.txt'​   postconf -e '​virtual_mailbox_maps = hash:/​etc/​postfix/​maps/​virtual_mailbox_maps.txt'​
-  rm virtual_alias_maps.txt ​virtual_alias_maps.txt.db+  rm virtual_alias_maps.txt.db
  
 ===== Backup ===== ===== Backup =====
 (( Das Beispiel hier ist nicht sehr praxisnah. Eine bessere Variante beschreibe ich unter [[admin_grundlagen:​rsync|rsync]] )) (( Das Beispiel hier ist nicht sehr praxisnah. Eine bessere Variante beschreibe ich unter [[admin_grundlagen:​rsync|rsync]] ))
 +(( Todo: das selbe mit ''​cp --reflink''​ testen. Reflink-Kopien benötien ähnlich wenig Platz wie Hardlinks, haben aber ihre eignen Inodes inkl. Berechtigungen,​ Eigentümer usw. Reflinks benötigen BTRFS, ZFS oder eine aktuelle Version von XFS (xfsprogs 5.1 und Linux 5.4) ))
 === 1. Backup === === 1. Backup ===
-  cp -a /usr/share/doc sonntag+  ​mkdir /​tmp/​backup 
 +  ​cp -a ~/ /tmp/backup/sonntag
  
 +----
 +
 +Änderungen im Arbeitsverzeichnis (z.B. anlegen, löschen und bearbeiten von Dateien)
 === 2. Backup === === 2. Backup ===
-  cp -al sonntag montag +  cp -al /​tmp/​backup/​sonntag ​/​tmp/​backup/​montag 
-  rsync -a --del /usr/share/doc/ montag+  rsync -a --del ~/ /tmp/backup/montag 
 + 
 +----
  
 +Änderungen im Arbeitsverzeichnis (z.B. anlegen, löschen und bearbeiten von Dateien)
 === 3. Backup === === 3. Backup ===
-  cp -montag dienstag +  cp -al /​tmp/​backup/​montag ​/​tmp/​backup/​dienstag 
-  rsync -a --del /usr/share/doc/ dienstag+  rsync -a --del ~/ /tmp/backup/dienstag
  
-...+… 
 +  ​
 ===== Verzeichnisse zusammenführen ===== ===== Verzeichnisse zusammenführen =====
 <​file>​ <​file>​
Zeile 55: Zeile 71:
   mkdir -p {dir1,​dir2}/​{a,​b,​c}   mkdir -p {dir1,​dir2}/​{a,​b,​c}
   touch dir1/​a/​file1.txt   touch dir1/​a/​file1.txt
-  touch dir1/a/file3.txt+  touch dir1/a/file2.txt
   touch dir1/​b/​file3.txt   touch dir1/​b/​file3.txt
-  touch dir1/b/file4.txt+  touch dir1/c/file4.txt
   touch dir2/​a/​file5.txt   touch dir2/​a/​file5.txt
   touch dir2/​a/​file6.txt   touch dir2/​a/​file6.txt
   touch dir2/​b/​file7.txt   touch dir2/​b/​file7.txt
   touch dir2/​b/​file8.txt   touch dir2/​b/​file8.txt
- touch dir2/​c/​file9.txt+  ​touch dir2/​c/​file9.txt 
 +  touch dir2/​c/​file10.txt
 )) ))
   mkdir merge   mkdir merge
admin_grundlagen/hardlink.1452766320.txt.gz · Zuletzt geändert: 2016/01/14 10:12 von ingo_wichmann