2 Punkte von GN⁺ 2024-04-21 | 1 Kommentare | Auf WhatsApp teilen

Tipps zur Struktur des Home-Verzeichnisses

  • Das Strukturieren oder Aufräumen von Verzeichnissen unterscheidet sich nicht wesentlich vom Strukturieren oder Aufräumen anderer Dinge; entscheidend ist, es auf die Weise zu tun, die für einen selbst am logischsten ist.
  • Wenn es um Organisation geht, kann sehr schnell alles außer Kontrolle geraten.
  • Das Hauptziel von Ordnung ist Effizienz: Man sollte das, was man finden möchte, einfach und schnell finden können, und das, was man speichern muss, einfach und schnell ablegen können.

Versteckte Standarddateien und -verzeichnisse

  • In meinem Home-Verzeichnis befinden sich alle üblichen versteckten Standarddateien moderner Unix-Betriebssysteme wie .config, .aliases, .profile, .gnupg, .mozilla usw.
  • Ich würde es bevorzugen, wenn alle Anwendungen XDG_CONFIG_HOME respektieren würden, aber ich mische mich nicht zu sehr ein und mache mir auch nicht allzu viele Gedanken darum.
  • Früher habe ich $HOME mit Git verwaltet, und das ist eine hervorragende Methode, Dotfiles zu organisieren.
  • Ich lege weiterhin alle Dotfiles in Git ab, um die Änderungshistorie zu bewahren, lasse aber nur die Dotfiles unverändert, die auf den verschiedenen von mir genutzten Systemen identisch funktionieren.
  • Dotfiles für einzelne Konfigurationen bewahre ich im Verzeichnis dotfiles auf und verwende symbolische Links.

Allgemeine Organisation von Dateien und Verzeichnissen

  • Allgemeine Dateien und Verzeichnisse organisiere ich hauptsächlich auf zwei Arten: nach „Kategorie“ und nach „Datum“.
  • Grundlegende Verzeichnisstruktur:
    • bin
    • data
    • edata
    • mnt
    • usr/dotfiles
  • Die Verzeichnisse Desktop und Downloads lasse ich unverändert bestehen (weil die meisten Anwendungen das offenbar erzwingen).
  • Im Verzeichnis bin speichere ich Shell-Skripte und persönliche binäre ausführbare Dateien (ausgenommen alles, was über den Paketmanager installiert wurde).
  • Das Verzeichnis mnt nutze ich für verschiedene Mount-Punkte wie SD-Karten, USB-Laufwerke und gemeinsam genutzten Storage im Homelab.
  • Ich verwende niemals automatisches Mounten, sondern Shell-Skripte zum Mounten.
  • Das Verzeichnis usr/dotfiles wird zusammen mit allgemeinen Dotfiles wie .aliases per Git verwaltet und verwendet symbolische Links auf die zugehörigen Dateien im Verzeichnis dotfiles.

Organisation der Datenverzeichnisse

  • Die Verzeichnisse data und edata sind die beiden Hauptverzeichnisse, in denen ich sämtliche Materialien speichere.
  • Diese beiden Verzeichnisse sind ZFS-Datasets, die in einem gespiegelten Festplatten-Pool laufen, getrennt von der Root-Installation.
  • Mithilfe von ZFS sichere ich sie einfach auf Network Storage, indem ich regelmäßig Snapshots sowie ZFS send und receive nutze.
  • Der Unterschied zwischen data und edata besteht darin, dass edata ein standardmäßig verschlüsseltes ZFS-Dataset ist.
  • Verschlüsselung ist gut für die Privatsphäre, aber sie ist eine schreckliche zusätzliche Komplexitätsschicht über einer ohnehin schon komplexen Dateisystem-Hierarchie, und ZFS-Verschlüsselung hat Bugs.
  • Es wird dringend empfohlen, wichtige Daten immer auf mehrere unterschiedliche Speicherlösungen und an mehreren Orten zu sichern.
  • Cloud Storage wird nicht für wichtige Dinge verwendet.

Zusätzliche Tipps

  • Die Grundregel beim Benennen von Dateien und Verzeichnissen lautet, dass man allein am Namen leicht erkennen können sollte, worum es sich handelt.
  • Wenn man nicht erkennen kann, worum es in einer Datei geht, ohne sie zu öffnen, sollte man sie sofort öffnen und ihr einen aussagekräftigeren Namen geben, damit der Dateiname beim nächsten Mal sinnvoller ist.
  • Wenn man Dateien und Verzeichnisse nicht organisiert und einfach liegen lässt, wird es später sehr schwierig, das zu korrigieren.
  • Ich verwende bei Bedarf Dateinamen mit langen Beschreibungen, damit ich den Inhalt einer Datei verstehen kann, ohne sie zu öffnen.

Meinung von GN⁺

  • Dieser Artikel bietet praktische Tipps dazu, wie man Verzeichnisstrukturen aufräumt und organisiert. Besonders interessant ist die Methode, ZFS-Datasets zu nutzen und in verschlüsselte und unverschlüsselte Verzeichnisse getrennt zu verwalten.

  • Ich persönlich halte es für sinnvoll, wichtige Daten verschlüsselt zu speichern. Allerdings gibt es auch Nachteile wie Leistungsabfall oder erhöhte Komplexität durch Verschlüsselung, daher scheint ein selektiver Einsatz je nach Situation sinnvoll zu sein.

  • Außerdem halte ich es für wichtig, den Zugang zu verschlüsselten Daten mit Familienmitgliedern zu teilen. So lässt sich vermeiden, dass Daten verloren gehen, falls man selbst durch einen Unfall oder aus anderen Gründen nicht mehr darauf zugreifen kann.

  • Für das Management persönlicher Daten ist es sehr wichtig, wie der Autor eine systematische Backup-Strategie zu etablieren. Dabei kann es eine gute Methode sein, der 3-2-1-Backup-Regel zu folgen und statt Cloud Storage physisch verteilte lokale Speicher zu nutzen.

  • Nützliche Open-Source-Tools für die Verwaltung persönlicher Daten sind unter anderem Syncthing oder Nextcloud. Wenn man solche Tools gut nutzt, dürfte eine systematische und sichere Verwaltung persönlicher Daten möglich sein.

1 Kommentare

 
GN⁺ 2024-04-21
Hacker-News-Kommentare

Im Folgenden eine Zusammenfassung der Hacker-News-Kommentare:

  • Es gibt Beschwerden darüber, dass das Home-Verzeichnis durch Anwendungen unübersichtlich wird. Besonders ~/go, das Standardverzeichnis für Go-Module, wird als problematisch genannt. Das lässt sich zwar über die Einstellung von GOPATH lösen, gilt aber als schlechter Standardwert.
  • Mit dem Tool xdg-ninja lassen sich die meisten Anwendungen so konfigurieren, dass sie dem XDG-Standard folgen, was beim Aufräumen des Home-Verzeichnisses hilft.
  • Einige Anwendungen speichern in .config Sitzungsdaten im Gigabyte-Bereich, was Backups erschwert. Konfigurations- und Sitzungsdaten sollten getrennt werden, so die Meinung.
  • Die Vorlieben für Dateistrukturen unterscheiden sich von Person zu Person. Manche halten ihr Home-Verzeichnis fast leer und nutzen stattdessen Cloud-Speicher oder separate Partitionen. Auch das Speichern von SSH-Schlüsseln in einem Passwortmanager kann eine Option sein.
  • Fotos nach EXIF-Schlüsselwörtern zu klassifizieren, kann eine gute Methode sein, um Duplikate zu vermeiden. Für Dokumentdateien können Formate wie Datum-Beschreibung.txt oder Schlüsselwort-Titel-Datum.txt verwendet werden.
  • Es ist sinnvoll, Ordnernamen für GUI in Großbuchstaben und für CLI in Kleinbuchstaben zu unterscheiden. ~/dotfiles kann als Git-Repository zur Verwaltung von Dotfiles dienen, mit symbolischen Links im Home-Verzeichnis.
  • ~/projects kann mit Unterverzeichnissen pro Projekt verwaltet werden, und ~/tmp eignet sich als Speicherort für temporäre Dateien. Auch das Organisieren von Notizen über eine Website oder in Markdown kann eine gute Methode sein.
  • Viele Verzeichnisnamen beginnen mit „D“, was verwirrend sein kann. Projektordner nach Jahr und Datum anzulegen und nur eine Ebene tief zu verschachteln, erleichtert die Navigation.
  • In Datei- und Verzeichnisnamen sind Bindestriche statt Unterstriche vorteilhaft, sowohl für Suchmaschinenoptimierung als auch für die Arbeit im Terminal.
  • Für Backups kann es sinnvoll sein, mehrere Dienste wie Time Machine, Backblaze und iCloud parallel zu nutzen; auch die Archivierung komprimierter Dateien in S3 kann eine gute Methode sein.