Mit dem Linuxtool Ventoy lässt sich ein multifunktionaler, bootbarer USB-Stick erstellen. Auf dem Stick kann somit nicht nur eine ISO-Datei sondern gleich mehrere abgelegt werden.
2) Starte den Ventoy-Server
navigiere zum Ordner, wo Ventoy entpackt wurde und starte den Server:
# bash VentoyWeb.sh
===============================================================
Ventoy Server 1.1.05 is running ...
Please open your browser and visit http://127.0.0.1:24680
===============================================================
################## Press Ctrl + C to exit #####################
3) Navigiere im Browser nach: http://127.0.0.1:24680
Wähle das korrekte Laufwerk aus und klicke auf Install. Alle Daten auf den Stick gehen dabei verloren. Diesen Schritt muss insgesamt 2 x bestätigt werden, bevor Ventoy den Stick bootfähig beschreibt.
4) ziehe alle ISO-Dateien, welche du auf dem Stick haben möchtest auf den Stick
5) das wars auch schon. Wenn du jetzt vom Stick startest, kannst du die ISO-Dateien bootbar ausführen.
Suchen und ersetzen innerhalb einer Datei geht bequem via Kommandozeile. In diesem Beispiel möchten wir in der Datei datenbank.sql alle 192.168.1.1 durch example.com ersetzen, ohne die Datei in einem Editor zu öffnen.
Der allgemeine Syntax dazu lautet:
$ sed -i -e "s/(suchen)/(ersetzen)/" "(dateiname)"
Angewendet auf unser Beispiel wird dadurch:
$ sed -i -e "s/192.168.1.251/example.com/g" "DATENBANK.sql"
aus https://192.168.1.1 wird dann überall https://example.com. /g steht dabei für global und ersetzt alle Muster in der Datei.
apt purge entfernt gnadenlos jedes Paket. In meinem Fall hatte ich meine gesamte MariaDB komplett zerschossen. Ein fehlerhafter SQL-Befehl und das eigene herumwursteln unter /var/lib/mysql brachte alles durcheinander und ich konnte weder eine Datenbank anlegen, noch einen User erstellen. Hier kann jetzt nur noch die Holzhammer-Methode helfen. Diese funktioniert jedoch nur, wenn du aktuelle Backups der Datenbank hast:
Stoppe die Datenbank mit:
# systemctl stop mariadb
Entferne alle Pakete von MariaDB. Vorsicht! Falls du unsicher bist und kein Backup der Datenbank hast, lass diese Methode lieber bleiben. Bestätigst du das Löschen von /etc/lib/mysql sind alle Datenbanken unwiderruflich weg.
rsnapshot erstellt uns periodisch Schnappschüsse von unserem Server. Installiere das Programm mit:
# apt install rsnapshot
und navigiere zur Konfigurationsdatei unter:
# nano /etc/rsnapshot.conf
Hinweis: alle Einzüge müssen mit der Taste TAB gemacht werden und keinesfalls mit der Space-Taste (Leertaste)
01. Snapshot root directory
hier geben wir das Zielverzeichnis aller snapshots an. # All snapshots will be stored under this root directory.
#
snapshot_root /BACKUP/snapshot/
02. Backup Levels / Intervals
hier geben wir einmalig den Namen unseres snapshots und den Intervall an, wie viele snapshots aufbewahrt werden retain snapshot 24
03. include & exclude
include und exclude gibt an, welche Verzeichnisse zusätzlich eingeschlossen oder ausgeschlossen werden. Bei meinen snapshots schliesse ich jeweils den Papierkorb / Trash aus: exclude Recycled/
exclude Trash/
exclude lost+found/
In diesem Beispiel schreiben wir nun ein Backups-Script und weisen den Crontab an, das Script alle 3 Stunden auszuführen.
Wir erstellen ein Backup-Script mit:
nano backup.sh
# !/bin/bash
rsnapshot snapshot
mache das Script ausführbar:
# chmod +x backup.sh
nun weisen wir dem Crontab zu, das Backupscript aller 3 Stunden auszuführen:
rsnapshot erstellt nun alle 3 Stunden einen Snapshot und behält unter Punkt 2 insgesamt 24 Snapshots davon. Danach werden die ältesten Snapshots überschrieben.
Hinweis: das Erstellen des ersten Snapshot kann lange dauern, da ja noch keine ältere Version vorliegt. Die nachfolgenden Snapshots dauern dann in der Regeln ein paar Sekunden. Falls wirklich viele Daten beim ersten Snapshot gespeichert werden müssen, kann der snapshot.0 auch manuell angestossen werden. Dazu startest du einfach das Backup-Script manuell.
Für meinen neuen 3D Drucker gibt es das Slicer-Programm nur für Windows. Was aber, wenn jemand primär Linux am Laufen hat? Das Programm kann tatsächlich ohne Probleme auch auf Linux laufen. Dazu benötigst du Wine.
Installiere Wine gemäss der Anleitung und lade dir das *.exe-File herunter. Navigiere in der Konsole zum File und gib:
$ wine programmfile.exe
ein. Sollte nach der Installation die Anwendung viel zu klein sein, kann diese hoch skaliert werden:
$ winecfg
hier kannst du die Bildschirmauflösung skalieren. Der Standardwert liegt bei 96 dpi. Für meinen Bildschirm musste ich diesen auf 192 dpi hoch drehen.Anicubic Slicer läuft flüssig und problemlos auch auf Linux (hier Debian 12)
Cockpit ist ein Webbasiertes Interface für Server. Auf einen Blick kriegen wir so Informationen über die Systemauslastung, Speichermedien, Hardware, Log-Files und vieles mehr.
Das Paket wird mit:
# apt install cockpit
installiert und ist danach via Browser erreichbar. http://123.456.7.890:9090
falls eine Firewall wie ufw läuft, muss Port 9090 freigegeben werden.
Nach der Installation von fail2ban zeigt systemctl status fail2ban folgendes an:
# systemctl status fail2ban
× fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Fri 2024-05-03 10:30:22 CEST; 54s ago
Duration: 163ms
Docs: man:fail2ban(1)
Process: 4115 ExecStart=/usr/bin/fail2ban-server -xf start (code=exited, status=255/EXCEPTION)
Main PID: 4115 (code=exited, status=255/EXCEPTION)
CPU: 142ms
Mai 03 10:30:22 backup systemd[1]: Started fail2ban.service - Fail2Ban Service.
Mai 03 10:30:22 backup fail2ban-server[4115]: 2024-05-03 10:30:22,685 fail2ban.configreader [4115]: WARNING 'allowipv6' not defined in 'Definition'. Using default one: 'auto'
Mai 03 10:30:22 backup fail2ban-server[4115]: 2024-05-03 10:30:22,698 fail2ban [4115]: ERROR Failed during configuration: Have not found any log file for sshd jail
Mai 03 10:30:22 backup fail2ban-server[4115]: 2024-05-03 10:30:22,702 fail2ban [4115]: ERROR Async configuration of server failed
Mai 03 10:30:22 backup systemd[1]: fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION
Mai 03 10:30:22 backup systemd[1]: fail2ban.service: Failed with result 'exit-code'.
Lösung:
1. erstelle die Datei jail.local unter /etc/fail2ban/jail.local und trage folgendes ein:
Ein bestehender Benutzer wird mit usermod der Gruppe hinzugefügt. Um z. B. in Easy Diffusion die GPU zum Rendern zu benutzen muss der normale Benutzer, welcher Easy Diffusion startet der Gruppe render hinzugefügt werden. Die machen wir per:
# usermod -aG render USERNAME
nach einem Neustart kann USERNAME die GPU für das rendern benutzen. Ob das Hinzufügen geklappt hat, lässt sich mit der Eingabe von groups überprüfen:
$ groups
yuna cdrom floppy audio dip video plugdev users render netdev bluetooth lpadmin scanner
Docker lässt sich in wenigen Schritten installieren. Dafür gehen wir hier den Weg über die repository und erstellen uns ein Installationscript:
# nano docker_install.sh
kopiere nun den Installationscode in das File. Für Debian ist sudo nicht notwendig und wurde im Beispiel entfernt: # Add Docker's official GPG key:
apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
#
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
speichere das Script ab, mache es ausführbar und starte es:
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ein Script erleichtert die Installation von Docker. Es muss nicht alles Zeilenweise abgetippt werden.
Portainer
Zur Verwaltung der Container ist Portainer eine gute Wahlt. Damit könne mittels grafischer Oberfläche im Browser die Container gesteuert werden. Docker läuft bei mir hier auf einem Raspberry Pi 5. Das geniale an Docker ist die schnelle Verfügbarkeit von Entwicklungsumgebungen. So kann innert Sekunden eine Umgebung mit Drupal gestartet werden. Ist man damit fertig, werden die Containers gestoppt. Da wir uns hier im lokalen Netzwerk bewegen, ist eine https-Verbindung absolut nicht notwendig. WordPress, Drupal und Joomla laufen auf Docker im lokalen Netzwerk problemlos auch ohne https.