Dotfiles synchronisieren mit Dropbox

Unter Linux werden Pro­gramm­kon­fi­gu­ra­tio­nen übli­cher­weise in ver­steck­ten Dateien gespei­chert; der Datei­name beginnt mit einem Punkt – für das System ist dies der Hin­weis, dass die Datei ver­steckt ist – und so hat sich auch der Begriff Dot­file für eben diese Kon­fi­gu­ra­ti­ons­da­teien ver­brei­tet.

Der Grund warum ich so weit aus­hole, ist fol­gende Idee: Anstatt meine Linux-Pro­gramme auf ein­zeln auf Desk­top-PC und Note­book zu kon­fi­gu­rie­ren, soll nur eine Kon­fi­gu­ra­ti­ons­da­tei in der Drop­box liegen. Auf jedem syn­chron­sier­ten Rech­ner wird dann nur noch per Ver­knüp­fung auf diese Datei zuge­grif­fen.

Das sorgt für eine ein­heit­li­che Benut­zung der betrof­fe­nen Pro­gramme und ist auch für Details wie etwa Recht­schreib­prü­fungs­wör­ter­bü­cher inter­es­sant.

So geht’s

Ich nehme mal an, dass Drop­box bereits instal­liert und kon­fi­gu­riert ist – andern­falls bitte diesen Schritt bitte jetzt nach­ho­len.

Dann wird zunächst ein Ver­zeich­nis in der Drop­box ange­legt, in wel­cher die Ori­gi­nal-Kon­fi­gu­ra­ti­ons­da­teien abge­legt werden, z.B.:

mkdir ~/Dropbox/.dotfiles

In diesem (ver­steck­ten) Ordner werden nun alle Kon­fi­gu­ra­ti­ons­da­teien abge­legt und anschlie­ßend https://​wiki​.ubun​tuusers​.de/​l​n​/​#​S​y​m​b​o​l​i​s​c​h​e​-​V​e​r​k​n​u​e​p​f​ungen sym­bo­li­sche Ver­knüp­fun­gen im Datei­sys­tem plat­ziert.

Um etwa das eigene Bash-Profil in die Drop­box hoch­zu­la­den, würde man im Ter­mi­nal so vor­ge­hen:

mv ~/.bashrc ~/Dropbox/.dotfiles/bashrc

Auf allen Rech­nern, die dieses Profil nutzen sollen, führt man dann fol­gende Zeile aus:

ln -s ~/Dropbox/.dotfiles/bashrc ~/.bashrc

Das -s ist wich­tig, da Drop­box anschei­nend nur sym­bo­li­sche Ver­knüp­fun­gen kor­rekt behan­delt. Alter­na­tiv lassen sich beide Befehle natür­lich auch hän­disch über einen Datei­ma­na­ger wie etwa Dol­phin aus­füh­ren.

Und weiter?

Mal von den typi­schen Bei­spie­len wie der .bashrc oder mei­net­we­gen .zshrc abge­se­hen, lassen sich natür­lich belie­big wei­tere Kon­fi­gu­ra­ti­ons­da­teien und –Ordner syn­chro­ni­sie­ren.

Auch inter­es­sant sind bei­spiels­weise die Wör­ter­bü­cher der Recht­schreib­kor­rek­tur. Für das ver­brei­tete Tool GNU Aspell liegen diese unter ~/.config/enchant/ – es bietet sich also an, das kom­plette Ver­zeich­nis auf der Drop­box abzu­le­gen und wie­derum einen Soft Link mit ln -s ~/Dropbox/.dotfiles/config/enchant ~/.config/enchant zu erstel­len.

Statt Drop­box kann man natür­lich genauso gut own­Cloud bzw. Next­Cloud ver­wen­den. Andere Leute wie­derum machen prak­tisch das glei­che mit git, was ein paar Vor­teile hat, aber ein biss­chen umständ­li­cher ist; schaut’s euch mal an.

Ich bin sicher­lich nicht der erste mit dieser Idee und wahr­schein­lich möchte man ab und an bewusst unter­schied­li­che Kon­fi­gu­ra­tio­nen pro Gerät nutzen, aber ich bin mit dieser Lösung momen­tan sehr zufrie­den.

Bitte denkt außer­dem daran, nicht blind sämt­li­che Kon­fi­gu­ra­ti­ons­da­teien eurer Drop­box anzu­ver­trauen. Wenn etwa bequeme Befehl­sa­liase mal ein Pass­wort ent­hal­ten, gehö­ren diese nicht in Cloud. Das ganze gilt selbst­re­dend auch und erst recht für ssh- oder GnuPG-Schlüs­sel.

Andwils Avatar

~andwil

Geek aus Kiel. Beruflich in der Industrie zu Hause, tobt sich hier aber vor allem über Linux, den Open-Source-Kosmos und Heavy Metal aus.