Programm-Ausschreibung: Update-Benachrichtigung

  • So, wir sind gerade echt sehr beschäftigt mit testen und fixen (Bugs). Was wir noch bräuchten, wäre ein Programm, das automatisch checkt, ob Updates verfügbar sind. Das soll dann über notify-send ausgegeben werden.

    Dabei sollte sudo umgangen werden, damit man nicht bei jedem mal ein Passwort eingeben muss. Wer Lust hat, eine fertige Lösung einfließen zu lassen, kann gerne hier etwas posten.

    Das hier hab ich mir mal von ChatGPT als Inspiration machen lassen. Es fehlt natürlich noch die Autostart.desktop und eine Lösung für das sudo-Problem.

  • Actionschnitzel November 25, 2024 at 7:21 PM

    Changed the title of the thread from “Programm-Ausschreibung: Update-Benachrigtigung” to “Programm-Ausschreibung: Update-Benachrichtigung”.
  • Bash
    #!/bin/bash
    
    username=$(whoami)
    echo "$username ALL=NOPASSWD: /usr/bin/apt-get update" | sudo tee /etc/sudoers.d/apt-get-update > /dev/null
    Bash
    #!/bin/bash
    
    # Führt apt-get update ohne Passwort aus, um die Paketliste zu aktualisieren
    if sudo apt-get update | grep -q 'Packages.*can be upgraded'; then
        # Benachrichtigung senden, falls Updates verfügbar sind
        notify-send "Update Info" "Es sind neue Updates verfügbar!"
    fi

    Das erste Script erfasst den aktuellen Benutzernamen und fügt eine Ausnahmeregel in die sudoers, damit sudo apt-get update ohne Passwort ausgeführt werden kann. Das zweite Script führt das via cron aus.

    Linux Desktop | MacBook | Dragonborn | est. 1979 | IDDQD IDKFA | wannabe movie critics (70/80) | data hoarder | unRAID | ..bei der Macht von Grayskull | DC > Marvel | Volle Kanne Hoschis | Don't fear the reaper | Batman Fan

  • Stardenver

    Ich kenne mich mit apt nicht sonderlich gut aus. Aber wie verhält sich das wenn ich einen http(s)_Proxy davor setze? Denn schließlich kann ja jeder Benutzer die Datenbank aktualisieren. :/

    Was meinst du genau? ein apt bzw apt-get update greift auf die /etc/apt/sources.list und ggf /etc/apt/sources.list.d/ zu, welche in etwas wie folgt aussehen kann:

    Code
    deb http://deb.debian.org/debian bookworm main non-free-firmware
    deb-src http://deb.debian.org/debian bookworm main non-free-firmware
    deb http://security.debian.org/debian-security bookworm-security main non-free-firmware
    deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware
    deb http://deb.debian.org/debian bookworm-updates main non-free-firmware
    deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware

    So weit mir bekannt, gibt es da die Möglichkeit http:, https:, ftp: und file:. Idelaerweiße halt https - Stichword man-in-the-middle

    Dann kannst du in der apt config einen Proxy konfigurieren:

    /etc/apt/apt.conf

    Code
    Acquire::http::Proxy "http://proxyserver:port";
    Acquire::https::Proxy "http://proxyserver:port";
    
    #bzw bei Bedarf einer Anmeldung
    
    Acquire::http::Proxy "http://username:password@proxyserver:port";
    Acquire::https::Proxy "http://username:password@proxyserver:port";

    Ohne Gewähr. Bin nicht tief drin in der Thematik.

    Linux Desktop | MacBook | Dragonborn | est. 1979 | IDDQD IDKFA | wannabe movie critics (70/80) | data hoarder | unRAID | ..bei der Macht von Grayskull | DC > Marvel | Volle Kanne Hoschis | Don't fear the reaper | Batman Fan

  • Richtig, in der apt.conf kann man es so konfigurieren. Allerdings so wie ich apt verstanden habe, kann der Benutzer den Datenverkehr umleiten, wenn er vorher (abweichend von der apt.conf) den Proxy gesetzt hat, z. B. mit export http_proxy=http://trojaner-proxy.com && sudo apt-get update... ausführt. Inwieweit das möglich ist, sollten die Entwickler von guidesOS prüfen und berücksichtigen. Wie gesagt, ich kenne mich mit apt nicht sonderlich gut aus. Ich habe mir nur kurz die Manpage angeschaut. Sollte es tatsächlich ein Sicherheitsproblem geben, könnte man die Skripte anders gestalten, also ganz ohne sudoers. Aber gut, warten wir ab was die Entwickler von guidesOS dazu sagen. Kann mich ja auch täuschen. :)

  • Ich hab das jetzt mal ein paar Tage gehren lassen.

    Linux Mint macht das so:

    Eintrag in sudoers

    mintupdate/etc/sudoers.d/mintupdate at master · linuxmint/mintupdate
    The Linux Mint Update Manager. Contribute to linuxmint/mintupdate development by creating an account on GitHub.
    github.com

    Für die Datei:

    mintupdate/usr/bin/mint-refresh-cache at master · linuxmint/mintupdate
    The Linux Mint Update Manager. Contribute to linuxmint/mintupdate development by creating an account on GitHub.
    github.com


    Das oder so änlich sollte dann auch die Basis für uns sein.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!