class: center, middle # Aktualisieren beim Anmelden ## Mit xdg-Autostart, sudo und APT ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des Softwareverteilungssystems m23 - Organisator der Kieler Open Source und Linux Tage - Dienstleister zu m23, Linux und Freier Software - Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Aktuell: Neues Kundenprojekt auf Basis von AlmaLinux --- ### Aktualisierungsskript erstellen Folgendes nach **/bin/sysupdate** schreiben und ausführbar machen (
chmod +x /bin/sysupdate
). ```bash #!/bin/bash # Solange warten, bis eine Internetverbindung besteht while ! ping debian.org -c1 -q -n -w1 &> /dev/null do echo "Warte auf Internet..." sleep 1 done # Paketinformationen vom Debian-, LinuxMint oder Ubuntu-Server # holen und Rechner aktualisieren apt-get update && apt-get dist-upgrade -y # *.deb-Paketdateien löschen apt-get clean # Nicht mehr benötigte Kernel entfernen apt-get autoremove -y # SSD(s) trimmen /sbin/fstrim -va ``` --- ### root-Rechte für Aktualisierungsskript per sudo Da Befehle innerhalb des Skriptes **root**-Rechte benötigen, erstellen wir eine sudo-Regel, die allen Systembenutzern das Ausführen von **/bin/sysupdate** als root via **sudo** erlaubt. ```bash echo "ALL ALL=NOPASSWD:/bin/sysupdate" >> /etc/sudoers ``` --- ### .desktop-Datei .desktop-Dateien, die unter **/etc/xdg/autostart** gespeichert sind, werden von den meisten Desktops beim Anmelden ausgeführt. ```bash echo '[Desktop Entry] Name=sysupdate Type=Application Exec=sudo /bin/sysupdate StartupNotify=true Terminal=true ' > "/etc/xdg/autostart/sysupdate.desktop" ``` --- ### Einrichtungsskript Hier noch das komplette Einrichtungsskript **
xdg-autostart-update.sh
**. --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de