cashmere

cashmere

How to automount directories on Linux [without systemd.automount]

Preface

Der Titel ist extra so ausgewaehlt, damit keiner mich kritisieren kann, dass systemd eine vollstaendige Suite sei.

Worum gehts?

Es gibt gewisse Dinge, die ich gerne unter Linux, sei es auf meinem Server oder Laptop gerne automatisch starten moechte.

interserver.net hat ein grossartiges Angebot was vps mit viel storage angeht. Fuer meine Zwecke ist es mehr als ausreichend.

Da hab ich mir naemlich einen Server gekauft mit 2TB Speicher.

Die Idee ist, dass man diesen Server fuer als reinen FTP Storage nutzt.

Und damit ich nicht immer wieder den storage per manuell mounten muss, wollte ich herausfinden, wie genau ich im usermode, den besagten Speicher genau zu /home/cashmere/archive/ mounten kann.

Wo genau liegt das Problem?

In einer meiner frueheren Blog Posts, hatte ich mich schon an das Thema probiert.

Diese Methode funktioniert auch weiterhin einwandfrei.

Dennoch privat arbeite viel mehr mit ssh, deswegen wollte ich es einfach automatisiert damit mounten.

Kommen wir zum eigentlichen Problem

Ich habe mich unter anderem durch das SSHFS - ArchWiki und das SSHFS - NixOS Wiki durchgelesen, in der Hoffnung endlich eine Loesung fuer mein Problem zu finden, was ich schon lange habe. (Siehe datum des ersten Blog Posts).

Immer wieder hab ich versucht alles korrekt einzustellen und immer wieder ist mein automount fehlgeschlagen.

Es liegt einerseits natuerlich an meinem skill-issue, da bin ich ehrlich, andererseits sehe ich es persoenlich absolut nicht ein mir systemd automounts und services anzueignen, nur um eine Loesung zu finden, wie ich automatisiert Programme oder Skripte starten kann.

Betrachten wir das Problem etwas genauer

Jedes mal wenn ich probiert habe den systemd.automount zu starten oder zu automatisieren, schlug dieser meist aus folgenden Gruenden fehl:

  1. Unzureichende Ordner Rechte
  2. Unzureichende User Rechte
  3. Das mounten zu /home/cashmere/archive war nicht erlaubt

Es hat fuer mich persoenlich keinen Sinn ergeben, da ich es in meiner shell ganz ohne Probleme und automatisiert mounten kann.

Ich habe neben meinen existierenden SSH-Keys, einen weiteren Passkey ohne Passwort erstellt, so dass dieser immer noch sicher gemountet werden kann, ohne Passwort Abfrage und ohne User Passwort.

Ich habe auch extra einen Eintrag in meiner /.ssh/config erstellt der genau meinem Mount den richtigen Private Key zuweist:

Host archivebox
  IdentitiesOnly yes
  User cashmere
  HostName 0.0.0.0
  IdentityFile /home/cashmere/.ssh/archivebox

Wenn ich nun den befehl sshfs archivebox:/home/cashmere/ /home/cashmere/archive/ in meiner Shell eingegeben hab, hat es ohne Probleme funktioniert.

Also dachte ich mir aus Spass: "Komm, nimmst du genau den Befehl, genau so und packst ihn mal in mein riverwm init und startest das Geraet mal neu. Funktioniert der mount immer noch automatisiert?"

Und siehe da, es hat geklappt.

Daraufhin, habe ich aus Spass nach einem Video gesucht, wie man ueberhaupt im usermode unter Linux sowas automatisiert startet. Ich wusste natuerlich wie man Dinge fuer einen Window Manager startet, jedoch aufgrund der unnoetigen Komplexitaet durch systemd.automount, haette ich es niemals ueberhaupt in Erwaegung gezogen, dass man damit auch sshfs automatisieren kann.

Auch hier hat Distrotube mal wieder ein grossartiges Video, was 3 Jahre alt ist, wo er ganz genau erklaert, wie man als user Skripte und Programme automatisiert startet.

Was lernen wir daraus?

  1. Habe ich nun endlich mein mount automatisiert? Nein, ABER ich hab es mir als alias gespeichert. Ich habe auch diesen alias ausgetestet und er hat geklappt!! Also von der Theorie her, koennte ich es und ich hatte es sogar in der Praxis!

  2. Werde ich jemals systemd.automount nutzen? Aktuell nicht, da es todes unnoetig ist solch einen Aufwand auf sich zu nehmen, fuer so etwas banales. Ich habe absolut nichts gegen systemd, ich nutze es immer wieder und in vielen Faellen ist es oft hilfreich. Dennoch denk ich in usermode reichen oft kleine Skripte, die den Aufwand von automount einem erleichtern.