Ich hatte bisher unter Scale 23.10 borg problemlos zu laufen.
Dazu hatte ich das borg-Binary irgendwo auf meinem Pool gespeichert und mittels Shellscript beim Hochfahren einen entsprechenden Link in /usr/bin gesetzt.
Seit der Version 24.10 geht das nicht mehr ich kann weder einen Link in /usr/bin oder /usr/sbin setzen weil das Rootfilesysten anscheinend Read-only gemountet wird oder diese Ordner schreibgeschützt sind.
Noch kann ich mittels Shellscript bei Post-Init oder Pre-Init die PATH-Variable entsprechend anpassen.
Weil er unter cobia die borg binary einfach genommen und ins root-fs kopiert hat. Seit Dragonfish ist das root-fs aber read-only und somit kann er die binary nicht mehr reinkopieren. Da die binary aber nicht teil der truenas intallation ist wird die durch updates gelöscht und müsste nach einem update wieder kopiert werden.
Ich würde gucken, ob ich das borg backup über einen docker container zum laufen kriegen würde, z.b. mit dieser yaml borgbackup-docker/docker-compose.yml at master · zokradonh/borgbackup-docker · GitHub
Das borg-Binary ins root-fs kopieren - stimmt nicht ganz. Hatte ich ja beschrieben. Unter der 23-er Version von Scale konnte ich noch einen Link mittels Init-Script in /usr/bin eintragen. Das geht ab Version 24 nicht mehr.
Wobei mir unklar ist, wofür dieser Aufwand zur Härtung des Systems betrieben wird. Aber egal.
Da mir Docker auf TN-Scale etwas suspekt erscheint und ich die Features von Scale nicht wirklich brauche, habe ich mich für eine für mich bequeme aber radikale Lösung entschieden. Ich habe einfach die alte SATA-SSD mit dem letzten CORE-Boot-Pool wieder eingebaut. Jetzt läuft die Hütte wieder auf BSD und aus die Maus.
Ich antworte mir hier mal selbst. Es hat mich gewurmt, das borgbackup auf Scale nicht machbar sein soll. Habe es nach einiger Sucherei hinbekommen.
Ich muss dazu sagen: Alle meine Rechner sichere ich mit borg und ssh aktiv von jeweiligen Systen zum TrueNAS-Server. Ein borgbackup-Server als App oder dergleichen erscheint mir dazu nicht zielführend.
Hier mal der Weg, für den Fall das Andere ein vergleichbares Problem haben.
Zunächst den Schreibschutz vom Boot-Pool herunter nehmen:
Dazu gibt es ein Script von IX-System selbst: Den Entwicklermodus in Scale. Dazu gibt es einen Tread im Forum in dem es auch noch mal um das Thema geht.
Ich habe letztlich nur
sudo /usr/local/libexec/disable-rootfs-protection
ausgeführt.
Nächster Schritt:
Das borg-Binary nach /usr/bin kopieren und ausführbar machen. Unter CORE konnte ich das borg-Binary irgendwo speichern und es reichte ein Link in /usr/bin aus. Das funktioniert unter Scale nicht mehr.
Damit das Binary startbar wird, ein Verzeichnis mit Schreibrecht anlegen.
An beliebiger Stelle /mnt/Pool/DataSet/Verzeichnis mit Schreibrecht für alle.
Anschließend bei ALLEN ssh-Benutzern, die ich für das backup nutze die ~/.bashrc ganz am Anfang vor der ersten if/else-Anweisung anpassen: TMPDIR=“/mnt/Pool/DataSet/Verzeichnis” export TMPDIR
Dummerweise muss ich nach jedem Systemupdate von TN wieder den Schreibschutz runternehem und das Binary kopieren. Aber es funktioniert.