"File name too long" - was tun?

SolarCatcher

Well-Known Member
Ich nutze auf meinem Laptop sysutils/iocage (den Shellskript-Vorläufer von sysutils/py3-iocage), um ein paar Jails zu verwalten. Diese werden auch von den täglichen ZFS Snapshots abgedeckt. Dadurch entstehen aber sehr lange Path-Names und ich finde kein Tool, mit dem ich diese erreichen (z.B. eine alte Version kopieren) kann.

Wenn ich z.B. ein cd oder ls auf eine entsprechendes Verzeichnis mache, erhalte ich so eine Fehlermeldung:
Code:
ls: /iocage/jails/05911cf9-2fdf-11e7-9fcc-3c970e109aff/root/usr/.zfs/snapshot/2017-07-09_15.11.21--21d: File name too long

Alles, was ich bei Google dazu finde, läuft auf einen Hack in den FreeBSD-Sourcen hinaus und einen kompletten Neubau des Systems... Nicht gerade attraktiv.

Andererseits frage ich mich, wie iocage bzw. ZFS selbst es schaffen, diese langen Pfade anzulegen und zu verwalten. Ein Rollback per iocage hat in der Vergangenheit schon problemlos funktioniert. Gibt es einen Trick, mit dem man die Snapshots also doch im laufenden Betrieb nutzen kann?
 
Das Problem ist in 12-CURRENT gelöst. Es wird aber nicht in 11-STABLE zurückfließen, weil es eine inkompatible Änderung ist und an der ino64-Arbeit hängt. Also werden wir noch einige Zeit damit leben müssen... der einzige Ausweg für dich ist daher den Pfad zu verkürzen. Ein 'zfs rename' fällt wohl weg, weil iocage sich verschlucken würde. Man könnte was mit nullfs basteln, dafür muss .zfs aber auf 'visible' gesetzt sein, meine ich. Also sowas:

Code:
mkdir /short
mount -t nullfs /iocage/jails/05911cf9-2fdf-11e7-9fcc-3c970e109aff/ /short

Das sollte genügend Zeichen einsparen.
 
Halb OT: Für neuere Installationen sollte man sysutils/iocell (den Fork des Shell-basierten iocage) nehmen, oder py3-iocage, wobei Letzteres noch ein wenig buggy ist.
 
Zurück
Oben