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 09:55]
ingo_wichmann [Datei umbenennen ohne Ausfallzeit]
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, umbenenen, 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 52: 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.1452765358.txt.gz · Zuletzt geändert: 2016/01/14 09:55 von ingo_wichmann