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/12 16:29]
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*
  
-umbenenen, verschieben,​ löschen, ... ausprobieren+umbenennen, verschieben, editieren, löschen ​(Ursprungdatei), ... ausprobieren
  
-  ls -li passwd* 
-  ln passwd passwd-hardlink{1,​2,​3} 
   ls -li passwd*   ls -li passwd*
   cp -l passwd passwd-hardlink-cp   cp -l passwd passwd-hardlink-cp
   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 virtual_mailbox_maps.txt +  ln virtual_alias_maps.txt.db virtual_mailbox_maps.txt.db
-  postmap virtual_mailbox_maps.txt+
   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 68:
    `-- file9.txt    `-- file9.txt
 </​file>​ </​file>​
 +(( 
 +  mkdir -p {dir1,​dir2}/​{a,​b,​c} 
 +  touch dir1/​a/​file1.txt 
 +  touch dir1/​a/​file2.txt 
 +  touch dir1/​b/​file3.txt 
 +  touch dir1/​c/​file4.txt 
 +  touch dir2/​a/​file5.txt 
 +  touch dir2/​a/​file6.txt 
 +  touch dir2/​b/​file7.txt 
 +  touch dir2/​b/​file8.txt 
 +  touch dir2/​c/​file9.txt 
 +  touch dir2/​c/​file10.txt 
 +))
   mkdir merge   mkdir merge
   cp -rl dir1/. dir2/. merge   cp -rl dir1/. dir2/. merge
admin_grundlagen/hardlink.1452616160.txt.gz · Zuletzt geändert: 2016/01/12 16:29 von ingo_wichmann