Skip to content

checkrestart vs. needrestart - alte Prozesse nach Paketupdates erkennen

Wie sich Linux Systeme aktualisieren lassen war auf ITrig bereits zu lesen. Doch nur mit Aktualisieren ist es nicht getan, hin und wieder sollten Prozesse neu gestartet werden deren Installationspakete aktualisiert wurden. Dazu bietet Ubuntu neben dem neuen Kernel Live Patching verschiedene Möglichkeiten.

checkrestart

Um Systeme auf anstehende Neustarts zu kontrollieren gibt es verschiedene Tools, eines altbekanntes ist checkrestart. Dieses ist im debian-goodies Paket enthalten.

Das Programm macht Nichts anderes als nach veralteten Libraries bei noch aktiven Prozessen zu suchen.

Findet es welche schlägt es den Neustart mit dem dazugehörigen Befehl vor.

sudo apt-get install debian-goodies
sudo checkrestart
Found 7 processes using old versions of upgraded files
(7 distinct programs)
(5 distinct packages)

Of these, 5 seem to contain systemd service definitions or init scripts which can be used to restart them.
The following packages seem to have definitions that could be used
to restart their services:
lvm2:
        447     /sbin/lvmetad
openssh-server:
        1160    /usr/sbin/sshd
dbus:
        863     /usr/bin/dbus-daemon
accountsservice:
        945     /usr/lib/accountsservice/accounts-daemon
policykit-1:
        1001    /usr/lib/policykit-1/polkitd

These are the systemd services:
systemctl restart accounts-daemon.service
systemctl restart polkitd.service

These are the initd scripts:
service lvm2-lvmpolld restart
service lvm2 restart
service lvm2-lvmetad restart
service ssh restart
service dbus restart

checkrestart

check-enhancements

Ebenfalls praktischer Teil des debian-goodies Pakets ist check-enhancements.

Damit lassen sich Erweiterungen für bereits installierte Pakete finden.

 

check-enhancements postgresql
postgresql => check-postgres:     Installed: (none)       Candidate: 2.24.0-3.pgdg18.04+1
postgresql => pgpool2:    Installed: (none)       Candidate: 3.7.5-2.pgdg18.04+1
postgresql => pgtop:      Installed: (none)       Candidate: 3.7.0-18-gbbf1f12-2.pgdg18.04+1

needrestart

Das debian-goodies Paket hat schon ein paar Jahre auf dem Buckel, daher gibt es inzwischen neuere Varianten, um anstehende Neustarts zu prüfen. 

Eines davon ist needrestart, es funktioniert ähnlich wie checkrestart, wird aber aktiv weiterentwickelt und unterstützt Docker oder LXC. Zusätzlich ist es nicht an Debian gebunden, sondern auch für andere Distributionen verfügbar.

Needrestart wird von Thomas Liske entwickelt und aktuell in der Version 3.1.x ausgeliefert. Es hat eine Unterstützung für systemd an Bord, läuft aber auch unter System V init.

sudo apt install needrestart
sudo needrestart
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

The processor microcode seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

needrestart

Wie es sich für aktuelle Tools gehört, hat das Tool auch eine Nagios/CheckMK bzw. Icinga Ausgabe.

sudo needrestart -p -l
OK - Kernel: 4.15.0-36-generic, Microcode: CURRENT, Services: none, Containers: none, Sessions: none|Kernel=0;0;;0;2 Microcode=0;0;;0;1 Services=0;;0;0 Containers=0;;0;0 Sessions=0;0;;0

Konfiguration und Einstellungen können bei Bedarf unter /etc/needrestart/needrestart.conf vorgenommen werden.

Das Tool bietet ebenfalls einen interaktiven Modus. Nach einer Installation prüft das Tool nach jedem apt upgrade automatisch auf Neustarts von Prozessen und liestet diese auf, ohne sie neu zu starten.

needrestart-kernel


Bordmittel

Die einfachste Variante einen nötigen Neustart des Systems zu erkennen besteht im Auslesen des Wertes cat /var/run/reboot-required .

Den Wert *** System restart required *** zeigt Ubuntu im Loginprompt an, wenn ihr über einen SSH Konsole zugreift.

Werden auch die betroffenen Pakete benötigt kann in /var/run/reboot-required.pkgs geschaut werden

cat /var/run/reboot-required                                                                                                                                                                            *** System restart required ***
cat /var/run/reboot-required.pkgs


 

Raspberry Pi 3 Kiosk - Autologin unter Raspbian Jessie, Stretch oder Buster

Nachdem der Artikel über den Chromium Kiosk Modus für rege Diskussionen sorgt, möchte ich noch mal kurz auf den Autologin von Raspbian hinweisen.

Dieser funktioniert unter allen aktuellen Versionen, sowohl unter stable als auch beta mit dem Befehl 

sudo raspi-config

Danach muss im Menü unter Bootoptionen

Raspbian-desktop-autologin

der Bootmodus ausgewählt werden. In diesem Fall Desktop / CLI.

raspbian-autologin

Nun kann B4 Autologoin aktiviert werden und Raspbian meldet den User Pi automatisch an.

raspbian_autologinIch empfehle dringend das Standardpasswort des Pi Nutzers mit passwd zu ändern.

Update von Jessie auf Stretch

Falls auf ein neues System umgestellt werden soll, ist ein Update auf das aktuelle System Stretch (Buster ist noch Beta) möglich. Eine Neuinstallation ist aber meist der bessere Weg.

sudo apt-get update
sudo apt-get -y dist-upgrade
sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list
sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/raspi.list
sudo apt-get update
sudo apt-get -y dist-upgrade

 

Raspberry Pi 3 Kiosk - Chromium Autostart im Vollbildmodus einrichten

Raspberry Pi und Raspbian bieten viele Einsatzmöglichkeiten. Eine davon ist der Betrieb in einem Kiosk Modus, Voraussetzung dafür ist der Start im Vollbildmodus. Das Thema hatte ich bereits auf dem Blog (siehe unten), somit seht das als einen aktualisierten Artikel an. In diesem Beispiel soll ein Browser eine Webseite oder Webapp automatisch im Vollbildmodus aufrufen 

Die hier verwendeten Einstellungen wurden auf einem RaspberryPi 3 mit Raspbian (Debian Jessie) getestet.

raspberrypi

Installation der benötigten Pakete

sudo apt-get install chromium-browser
sudo apt-get install unclutter

Letzteres Paket erlaubt es die Maus auzublenden.

Aktivieren des Vollbildmodus

Dieser lässt sich mit wenigen Anpassungen und einem Installalierten Chromium Browser realisieren.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
# Bildschirmschoner deaktivieren
#@xscreensaver -no-splash  
@xset s off
@xset -dpms
@xset s noblank

# lädt Chromium im Vollbild bei einem Neustart
@chromium-browser --incognito --kiosk https://itrig.de/kiosk  


Mauszeiger ausblenden

Die bestehende Datei muss lediglich um einen weiteren Befehl erweitert werden.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
@unclutter
@xset s off
@xset -dpms
@xset s noblank
@chromium-browser --incognito --kiosk https://itrig.de/kiosk 

Fazit

Die hier dargestellte Methode stellt eine von vielen dar, jedoch eine die relativ schnell zum Ziel führt. Weitere Methoden und Möglichkeiten hatte ich bereits im Artikel Kiosksysteme für Alle erwähnt.

[Update] Autostart verzögern

Eine Startverzögerung würde über ein Skript chromium_start.sh realisiert werden.

    #!/bin/bash
    #Chromium Startverzoegerung
    sleep 15
    chromium-browser --incognito --kiosk https://itrig.de/kiosk

und unter /home/pi/.config/lxsession/LXDE-pi/autostart aufrufen.

@/home/pi/chromium_start.sh

PS: Berechtigung chmod +x nicht vergessen

 

Wichtiges Update für Kodi (17.3) und LibreELEC (8.0.3) sofort einspielen

Durch die Samba Server Lücke, welche im Zuge von WannaCry auch auf Linux Systemen entdeckt wurde (Artikel), ist es zwingend nötig eure Mediensystem auf einen aktuellen Stand zu bringen. Besonders, da bereits ein Exploit im Umlauf ist, sollte alles auf Vordermann gebracht werden.

 

Update LibreELEC

LibreELEC wurde zwar ohne den wohl benötigen Drucker Support kompiliert, hat aber dennoch das Update (Krypton) v8.0.3 MR bereits integriert.

libre-ellec-update

Ein Update lässt sich entweder direkt via Oberfläche installieren oder ihr kopiert die aktuelle Version in den Update Ordner im Dateisystem (/storage/.update).

Nach einem Reboot erkennt das System automatisch die geänderte Version und installiert diese.

 

Download LibreELEC

Update Kodi

Die aktuelle Kodi Version findet ihr hier. In Libre ELEC ist diese bereits integriert

Download LibreELEC

Update OpenELEC

Für OpenELEC steht momentan kein Update zur Verfügung. Das System wird noch mit Samba 4.6.3 betrieben, es ist also Vorsicht geboten.

Etcher - plattformübergreifend SD Karten oder USB Sticks beschreiben

Tools um SD Karten zu beschreiben oder ISO Dateien auf USB-Sticks zu bannen gibt es einige.

Da wären Rufus für Windows, LibreELEC USB-SD Creator für Media Systeme oder UNetbootin, Universal USB Installer, LiLi USB Creator für Linux Systeme.
Alle diese Programme sind Open Source und erfüllen nur einen Zweck, möglichst einfach bestimmte Daten von A nach B schaufeln.

Etcher - Open-Source USB Image Tool in Schick

Zu dieser Toolsammlung gesellt sich mit Etcher ein weiteres Programm hinzu, welches ebenfalls unter Open Source Lizenz läuft und auf jeder Plattform (Windows, OS X und Linux) lauffähig ist.

etcher

 

Anders als bereits bekannte USB Creator Tools, basiert Etcher auf Electron. Ein JavaScript/Node.js Framework, welches vom Atom Editor oder Visual Studio Code bekannt sein dürfte.

Nicht nur die Basis ist eine andere, auch die schicke Oberfläche kann überzeugen. Dazu gesellt sich eine Fehlerüberprüfung die verhindert, dass fehlerhafte Medien beschrieben werden. 

Installation via Repository

Die Installation kann via Repository oder Download einer.zip Datei erfolgen, je nach Wunsch.

nano /etc/apt/sources.list.d/etcher.list
        deb https://dl.bintray.com/resin-io/debian stable etcher
sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61
sudo apt-get update
sudo apt-get install etcher-electron

 


Fazit

Für alle die schnell Daten bzw. ISO Dateien auf USB-Sticks oder SD-Karten laden möchten und nicht genau wissen, was dd ist.

Etcher