Kategorien
Betriebssysteme

Ordner in Nautilus mittels Drag & Drop öffnen

Ist es ein Bug oder ein Feature? Beim Verschieben von Dateien in Ordnerstrukturen wird mitten im Drag & Drop-Vorgang nach kurzer Zeit in den Zielordner gewechselt, was gerade bei größeren Aufräumaktionen zu vielen unnötigen Mausklicks führt.

Die zuständige Funktion in Nautilus nennt sich „open-folder-on-dnd-hover“ und kann mittels dconf an- und ausgeschaltet werden:

In neueren Versionen des GNOME-Desktops (ab 3.34) kann die Funktion auch direkt im „Optimierungen“-Werkzeug konfiguriert werden.

Kategorien
Funstuff

75 Jahre Ritchie Wernochmal?

Die Heidenheimer Zeitung widmet dem „ewigen Wüterich“ zum 75. Geburtstag einen eigenen Artikel

… und gratuliert mit einem irritierenden Bild: die Haare sind deutlich zu lang und zu hell, die Gitarre zu blau und das Shirt zu neumodisch. Abgebildet ist Ritchies Nachfolger (bei DEEP PURPLE) Steve Morse, der allerdings 1954 geboren wurde und nicht 1945.

Kategorien
Anwendungen

Datensicherung mit BorgBackup

Datensicherung wird meist als lästiges Übel empfunden, weshalb viele ihre Daten nicht regelmäßig vor Verlust schützen – bis es irgendwann zu spät ist. Um Daten zu sichern gibt es viele Wege und Möglichkeiten: vom manuellen Kopieren einiger (gefühlt) wichtiger Dateien hin bis zu regelmäßigen automatisierten Snapshots des kompletten Systems.

Ziel der hier vorgestellten Lösung ist es, beim Herunterfahren des Rechners automatisiert eine Sicherung aller Benutzerdaten auf einem zweiten Datenträger zu erstellen. Auf zusätzliche Möglichkeiten wie z.B. dem Erstellen einer verschlüsselten Sicherung oder physikalische Trennung des Sicherungsmediums wurde bewusst verzichtet, der Datenträger bleibt permanent eingesteckt, wird allerdings nur für die Dauer der Datensicherung eingebunden.

Es gibt unzählige Programme, mit deren Hilfe sich Daten sichern und die Sicherung automatisieren lässt, eines hiervon ist BorgBackup, das u.a. durch den Einsatz von Deduplizierung eine effiziente Möglichkeit zur Datensicherung bietet.

BorgBackup

BorgBackup findet sich in den Repositories der meisten Linux-Distributionen und ist schnell installiert:

$ sudo apt install borgbackup

Anschließend wird ein Verzeichnis „/mnt/backup/“ erzeugt, in welches der Sicherungsdatenträger eingehängt wird. Dort wird ein Verzeichnis „borgrepo“ angelegt, in dem das Repository für die Sicherung erzeugt wird:

$ sudo borg init --encryption none /mnt/backup/borgrepo/

Nach dem Ausführen von „borg init …“ steht das Repository bereit und kann direkt verwendet werden.

Damit die einzelnen Parameter nicht jedesmal von Hand eingegeben werden müssen, wird unter „/root“ ein Skript namens „backup.sh“ angelegt, mit dessen Hilfe die Datensicherung durchgeführt wird.

#!/usr/bin/bash

# ensure the path is set
PATH=/usr/local/bin:/usr/bin:/bin

# STICK
STICK=/dev/sdb1
# MOUNTPOINT
MOUNTPOINT=/mnt/backup/

# USERNAME
USERNAME=benutzername

mount ${STICK} ${MOUNTPOINT}

if mountpoint -q ${MOUNTPOINT}; then

	borg create --progress --stats --compression zstd,1 --exclude /home/${USERNAME}/.cache --exclude /home/${USERNAME}/.local/share/Trash ${MOUNTPOINT}borgrepo::'backup_{now:%Y-%m-%d_%H-%M-%S}' /home/${USERNAME}

	borg prune --verbose --list ${MOUNTPOINT}borgrepo --prefix 'backup_' --keep-within=1d --keep-daily=7 --keep-weekly=4 --keep-monthly=12

	sync
	umount ${MOUNTPOINT}

fi

Nach dem Einhängen des Datenträgers wird überprüft, ob der Vorgang erfolgreich war und falls ja, die Datensicherung gestartet.

Die Zeile „borg create …“ sichert das komplette „home“-Directory des Benutzers „benutzername“, lässt hierbei allerdings den Inhalt der Ordner „.cache“ sowie „.local/share/Trash“ (Papierkorb) aus. Als Archivname wird „backup_JJJJ-MM-TT_SS-MM-SS“ verwendet.

Nach dem Anlegen der Sicherung wird mit „borg prune …“ ein Aufräumvorgang gestartet, welcher alle Sicherungen des letzten Tages sowie die jeweils aktuellste Sicherung der letzten 7 Tage, 4 Wochen und 12 Monate aufhebt und alle anderen Sicherungen entfernt.

Als letztes wird sichergestellt, daß alle zwischengespeicherten Schreibvorgänge synchronisiert werden, bevor der Ordner wieder ausgehängt wird.

Automatisierung

Idealerweise sollte eine Datensicherung regelmäßig stattfinden und damit die Konsistenz der Daten auf Anwendungsebene gesichert ist am besten dann, wenn kein Benutzer angemeldet ist.

Eine pragmatische Lösung ist das Anstoßen der Sicherung beim Herunterfahren des Rechners, zu einem Zeitpunkt, an dem alle vom Benutzer verwendeten Dokumente und Anwendungen geschlossen sind.

Hierzu wird ein systemd-Service mit Hilfe der Datei „/etc/systemd/system/borgbackup.service“ erstellt, welcher die Aufgabe übernimmt:

[Unit]
Description=Run borg backup
RequiresMountsFor=/root /home

[Service]
ExecStart=/bin/true
ExecStop=/root/backup.sh
Type=oneshot
RemainAfterExit=yes
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

Der Aufbau des Services ist recht einfach, wichtig ist die Definition von „RequiresMountsFor=„, welche dafür sorgt, daß der Service dann ausgeführt wird, wenn die entsprechenden Dateisysteme (noch) einhängt sind. Beim Start des Dienstes wird mit „/bin/true“ erfolgreich nichts getan, beim Beenden des Dienstes dann das Skript zur Datensicherung angestoßen. Die Angabe von „Type=oneshot“ und „RemainAfterExit=yes“ sorgt dafür, daß der Dienst weiterhin als aktiv angesehen wird, auch nachdem „/bin/true“ beendet wurde.

Da vor allem die initiale Sicherung je nach Menge der zu sichernden Daten länger als 90 Sekunden dauern kann, kann mit Hilfe des Parameters „TimeoutStopSec=“ die maximal mögliche Laufzeit der „ExecStop„-Aufgabe auf z.B. 5 Minuten verlängert werden.

Um den Service ins System einzubinden, muß ein

$ sudo systemctl enable borgbackup

erfolgen, gegebenenfalls gefolgt von einem

$ sudo systemctl start borgbackup

da „enable“ den Dienst zwar einbindet, aber nicht direkt startet.

Einen ersten manuellen Test kann man nach erfolgreichem Start mittels

$ sudo systemctl stop borgbackup

anstoßen, so daß der Dienst beendet und das Skript ausgeführt wird.

Versionshistorie:

2020-05-18: Parameter „TimeoutStopSec=…“ in Service-Definition hinzugefügt.

Kategorien
CDs

Conception – State of Deception

Rund 23 Jahre nach dem letzten Longplayer „Flow“ melden sich CONCEPTION mit einer neuen Scheibe zurück – wobei dies nicht ganz richtig ist, denn bereits 2018 gab es mit der „re:conception“-Single sowie der „My Dark Symphony“-EP ein zwischenzeitliches Lebenszeichen der Band.

„State of Deception“ irritiert nicht nur beim ersten Durchlauf und entpuppt sich als überraschend experimentell und sperrig, Songs wie „Of Raven and Pigs“ und „No Rewind“ wollen nicht so recht ins Bild passen, das „My Dark Symphony“ angedeutet hatte. Wenn eine Band schon über einen Sänger vom Kaliber eines Roy Khan verfügt, sollte man diesen auch singen lassen und dessen Stimme nicht im Übermaß mit Effekten belegen und verfremden.

Als klares Highlight des Albums entpuppt sich die Vorab-Single „Waywardly Broken“, welche gleichzeitig ein atmosphärisches und auch musikalisches Highlight des Albums darstellt, dicht gefolgt von „Anybody Out There“ und „By the Blues“, das mit seinem düsteren und einprägsamem Riff ebenfalls nach dem ersten Hören im Gedächtnis bleibt.

Alles in allem wäre bei „State of Deception“ in den rund 40 Minuten mehr drin gewesen und somit ist das Album – trotz einiger unverkennbarer Stärken – vor allem im Hinblick auf die bisherigen Veröffentlichungen der Band leider eine kleine Enttäuschung, wenn auch auf hohem Niveau.

Kategorien
Anwendungen

Zoom unter Linux

Die Videochat-Software von Zoom ist aktuell in vielen Schlagzeilen zu finden und das leider nicht nur im positiven Sinn: von „Unter Beobachtung“ bis „Videokonferenz-Software: Ist Zoom ein Sicherheitsalptraum?“ – spätestens beim Gedanken daran, die Software auf das eigene System loszulassen, beschleicht den Systemadministrator mehr als nur ein ungutes Gefühl.

Wer Zoom trotzdem installieren will / muss und sich dabei halbwegs sicher fühlen will, kann die Software in einer Sandkiste wie z.B. Firejail einsperren.

Zoom

Den Client bezieht man am einfachsten über die Website des Herstellers, wo es den „Zoom-Client für Linux“ fertig gepackt für verschiedene Distributionen gibt.

Nach Herunterladen der gewünschten Version wird diese mittels

$ sudo apt install ./zoom_amd64.deb

inklusive der eventuell noch benötigten Abhängigkeiten installiert und noch vor dem ersten Start abgesichert.

Alternativ kann auch die Version für ein „Anderes Linux-Betriebssystem“ gewählt werden. Der Download ist dann ein gepacktes tar-Archiv, welches ohne Installation in einen beliebigen Ordner entpackt werden kann. Um Abhängigkeiten und Icon muss man sich dann allerdings selbst kümmern.

Firejail

Sofern nicht bereits installiert, kann Firejail in den meisten Fällen direkt aus dem Repository der verwendeten Distribution bezogen werden.

$ sudo apt install firejail

Ein Profil für Zoom wird mitgeliefert und findet sich nach der Installation unter „/etc/firejail/zoom.profile“

Damit beim Aufruf über das Icon in GNOME der Start auch tatsächlich mit Firejail erfolgt, ist der Aufruf von

$ firecfg --fix

Fixing desktop files in /home/benutzername/.local/share/applications
   ...
   Zoom.desktop created
   ...

notwendig, welcher die Links für alle „.desktop“-Dateien aus „/usr/share/applications“ auf absolute Dateipfade überprüft und im Bedarfsfall angepasste Kopien unter „/home/benutzername/.local/share/applications“ anlegt.

Ist Zoom dann gestartet, kann mit

$ firejail --list
3339:benutzername::/usr/bin/firejail /usr/bin/zoom

überprüft werden, daß Firejail auch tatsächlich verwendet wird.