Fork me on GitHub

Unburden Your Home Directory

Axel Beckert

ETH Zürich

abe@noone.org
http://noone.org/abe/

Übersicht

  • Problematik, Motivation
  • Tool-Vorstellung: unburden-home-dir
  • Tool-Vorstellung: eatmydata

Vergänglicher Müll in meinem $HOME

  • .cache
  • .thumbnails
  • .mozilla/firefox/*/Cache
  • .mozilla/firefox/*/startupCache
  • .mozilla/firefox/*/Cache.Trash
  • .Trash
  • .local/Trash

Ja und?

  • $HOME auf NFS?
  • Angst vor der vorzeitigen Abnutzung teurer SSDs?
  • Langsame Backups wegen zuviel unwichtigem Zeugs?
  • Zuviele Schreibzugriffe leeren den Laptopakku zu schnell?

  • Läufst Du in Deine Quota wegen Cache- und Trash-Verzeichnissen?

Unburden (Your) Home Dir(ectory)!

  • Stellt automatisch symbolische Links (wieder) her
  • Zielverzeichnis und Zieldateinamen sind beliebig konfigurierbar
  • Kann automatisch bei grafischem Login aufgerufen werden
  • Unterstützt Workstation-Umgebungen mit gemeinsamen Home-Verzeichnissen und separaten lokalen Festplatten
  • Unterstützt tmpfs

  • Funktioniert (bisher) nicht-interaktiv

Ein fiktiver unburden-home-dir-Lauf

$ unburden-home-dir
Create directory /scratch/.unburden-abe/cache
Create parent directories for /scratch/.unburden-abe/google-chrome-thumbnails-Default
Touching /scratch/.unburden-abe/google-chrome-thumbnails-Default
Create parent directories for /scratch/.unburden-abe/google-chrome-thumbnails-Default
Touching /scratch/.unburden-abe/google-chrome-thumbnails-Default
Create parent directories for /scratch/.unburden-abe/google-chrome-thumbnails-journal-Default
Touching /scratch/.unburden-abe/google-chrome-thumbnails-journal-Default
Create parent directories for /scratch/.unburden-abe/firefox-cache-stla7cb1.default
Symlinking /scratch/.unburden-abe/firefox-cache-stla7cb1.default ->  /home/abe/.mozilla/firefox/stla7cb1.default/Cache
Create directory /scratch/.unburden-abe/thunderbird-cache-1pcvjygg.default
Create parent directories for /scratch/.unburden-abe/conkeror-cache-zzdhvpf1.default
Symlinking /scratch/.unburden-abe/conkeror-cache-zzdhvpf1.default ->  /home/abe/.conkeror.mozdev.org/conkeror/zzdhvpf1.default/Cache
Create directory /scratch/.unburden-abe/thumbnails
Create directory /scratch/.unburden-abe/trash
Create directory /scratch/.unburden-abe/local-trash
$

Eat my Data!

  • Fängt via $LD_PRELOAD fsync-Systemaufrufe ab
  • Beschleunigt je nach Anwendung Schreibzugriffe (Disk-Cache!) massiv
  • Daten sind bei Crash oder Stromausfall potentiell verloren oder inkonsistent
  • Betrifft alle Daten einer Anwendung, nicht nur die, die einem egal sind
  • Wird per Anwendung verwendet, z.B. eatmydata firefox

Links