Artikel mit Tag befehl

Raspberry Pi - Raspbian Update auf Buster und Kioskmodus mit Chrome anpassen

Nicht nur ein neuer Raspberry Pi 4 hat vor kurzem das Licht der Welt erblickt, auch die bekannte Distribution Raspbian, welche auf den Minirechnern gerne läuft, wurde auf Debian Buster umgestellt.

Das neue Betriebssystem hat ein neues Theme erhalten und die üblichen Softwareaktualisierungen.
Nicht mehr dabei ist der Legacy Grafiktreiber Stack, dafür wurde auf Mesa V3 Treiber umgeschwenkt.
Ein Update auf die neue Version ist schnell gemacht, aber auch mir Vorsicht zu genießen, es wird eine Neuinstallation empfohlen.

raspberrypi


Update auf Raspbian (Buster)

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Ich empfehle dringend ein Backup der wichtigen Daten zu ziehen.
Nach einem Testupdate konnte ich das System zwar noch booten, hatte außer einem Mauszeiger kein Bild. SSH funktionierte. Ich habe es allerdings nicht weiterverfolgt, da ich die Anzeigeneinstellungen händisch gesetzt hatte.

Da Debian Buster Tools mitbringt, welche nicht unterstützt werden, könnt ihr diese wieder deinstallieren.

sudo apt purge timidity lxmusic gnome-disk-utility deluge-gtk evince wicd wicd-gtk clipit usermode gucharmap gnome-system-tools pavucontrol


Kioskmodus unter Raspbian 

Was nach dem Update schnell klar war. Der Kiosk Modus mit Chromium ist defekt und muss repariert werden. Das geht allerdings schnell, denn es haben sich nur Pfade geändert.

Anders als noch bei den alten Raspbian Systemen ist das Verzeichnis /home/pi/.config/lxsession/LXDE-pi/autostart des Pi Nutzers nicht mehr vorhanden.
Alternativ kann einfach die globale Konfiguration unter /etc/xdg/lxsession/LXDE-pi/autostart angepasst werden, um den Vollbildmodus von Chromium 74 automatisch zu starten.

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
# Bildschirmschoner deaktivieren
#@xscreensaver -no-splash
@point-rpi

@xset s off
@xset -dpms
@xset s noblank
#Autostart Chromium Vollbild-Kiosk
@chromium-browser --noerrordialogs --incognito --kiosk https://kiosk.itrig.de


 

LibreELEC Kodi - Screenshot via SSH erstellen und System steuern

LibreELEC oder auch OpenELEC dürfte Fans von freien Medienplayern ein Begriff sein. Ich selbst habe LibreELEC im Einsatz und bin recht zufrieden damit.

Da ich LibreELEC direkt am Fernseher betreibe und lediglich über die Fernbedienung steuere, vermisse ich manchmal Funktionen die über die Tastatur kein Problem darstellen. Allerdings führen viele Wege nach Rom. Dieses gilt zum Beispiel für das Erstellen eines Bildschirm Fotos.

Screenshot via SSH erstellen

Normalerweise kann ein Screenshot mit Strg+s über die Tastatur erstellt werden. Ist allerdings keine vorhanden, geht dies auch fix via SSH.

Dazu muss der Dienst natürlich aktiv sein.

kodi-sshSobald SSH aktiv ist, kann auf der Konsole gearbeitet werden. Kodi bringt dazu den Befehl kodi-send mit. Dieser erlaubt es verschiedene Befehle an das System zu senden unter anderem auch den Bildschirm abzufotografieren:

kodi-send --host=127.0.0.1 -a "TakeScreenshot"

Der Host muss auf dem lokalen Prompt nicht zwingend angegeben werden. Ich habe es der Vollständigkeit mit angegeben.

Kodi via SSH steuern

Dieser wird erst relevant, wenn der Befehl über Netzwerk versendet wird, Beispiel:

ssh root@192.168.10.19 'kodi-send --action="PlayerControl(Stop)"'

SSH sollte somit zwingend mit einem neuen Passwort versehen werden, wenn es aktiv ist. Das Default Passwort wäre übrigens "libreelec"

Das Kommando erlaubt weitere Funktionen. Die Hilfe kann mit --help aufgerufen werden.

kodi-send

Weitere Kommandos wären beispielsweise:

Laufende Wiedergabe anhalten

kodi-send --action="PlayerControl(Start)"

System ausschalten

kodi-send --action="Quit"

Plugin installieren (Zuständiges Repository sollte aktiv sein)

kodi-send --action="InstallAddon(plugin.video.kikamediathek)"

Eine Liste aller möglichen Befehle findet ihr hier.

 

Viel Spaß beim Probieren

Ubuntu 18.04 - Command not found - Unterschied zwischen tailf und tail -f

Unter Ubuntu gab es bis zur Version 16.04 LTS die Möglichkeit tailf und tail -f zu verwenden. Dies ist mit der neuesten LTS Version nicht mehr der Fall. Nur noch die zweite Möglichkeit wird erkannt, ansonsten wird eine Fehler geworfen.

Wo liegen die Unterschiede dieser zwei Kommandos und warum gibt es eines nicht mehr?

Unterschied tailf und tail -f

tailf

Laut Befehlsdefinition verfolgt tailf das Wachstum einer Logdatei. tailf gibt die letzten 10 Zeilen der angegebenen Datei aus und wartet dann darauf, dass diese Datei wächst. Es ist ähnlich wie tail -f, greift aber nicht auf die Datei zu, wenn sie nicht wächst.

Dies hat den Nebeneffekt, dass die Zugriffszeit für die Datei nicht aktualisiert wird, so dass ein Flush des Dateisystems nicht periodisch stattfindet, wenn keine Protokollaktivität stattfindet.

tailf ist äußerst nützlich für die Überwachung von Protokolldateien auf einem Laptop, wenn die Protokollierung selten ist und der Benutzer möchte, dass sich die Festplatte herunterdreht, um die Akkulaufzeit zu verlängern. (Übersetzt mit www.DeepL.com/Translator)

tail

Für tail lautet die Definition wie folgt:

Das Tail-Utility muss seine Eingabedatei in die Standardausgabe kopieren, beginnend mit einem festgelegtem Ortes.

Das Kopieren beginnt an der Stelle in der Datei, die durch die -c-Nummer oder -n-Nummer gekennzeichnet ist.

Optionen: Die Nummer des Optionsarguments wird in Zeilen- oder Byteseinheiten gezählt, entsprechend der zu den Optionen -n und -c.  Sowohl die Zeilen- als auch die Byteanzahl beginnen bei 1.

Tails in Bezug auf das Ende der Datei können in einem internen Puffer gespeichert werden und sind somit möglich.

Der Originaltext ist hier zu finden.

Tail ist auf allen Ubuntu Varianten installiert, was sich auch überprüfen lässt

dpkg -S $(which tail)

oder

dpkg -L coreutils | grep tail

tail-f

tailf wurde nicht mit den coreutils ausgeliefert, sondern mit util-linux und genau dieses Paket ist seit Version 18.04 nicht mehr dabei.

dpkg -L util-linux |grep tail

Bei 16.04 LTS ist es allerdings noch verfügbar

tailf

Doch wie lässt sich ein alter Befehl weiterhin nutzen?

Tailf unter Ubuntu 18.04 einsetzen


Ein Workaround wäre der Einsatz von alias, damit könnte das alte nicht mehr verfügbare Kommando auf das neue gelegt werden, der Befehl ist einfach gesetzt:

sudo nano ~/.bashrc

alias tailf='tail -f'


Meist wird der tail Befehl für Dateien verwendet, welche erhöhte Rechte benötigen, darum kann es sinnvoll sein, den Alias auch beim root Benutzer zu hinterlegen.

sudo nano /root/.bashrc

alias tailf='tail -f'

Alternativ kann natürlich zusätzlich less eingesetzt werden. tailf selbst ist deprecated und sollte nicht mehr eingesetzt werden..

VMware ESXi Paketverwaltung - vib Pakete installieren, aktualisieren oder deinstallieren

Kurzer Tipp für ESXi Anwender.

Manchmal müssen installierte Pakete auch wieder deinstalliert werden. Dabei hilft die ESXi Konsole am besten.

Zunächst sollte allerdings der SSH Zugang aktiviert werden. Danach können folgende Befehle in der Kommandozeile zur Anwendung kommen.

 

Paket suchen

esxcli software vib list | grep HUAWEI


       hio                            2.0.0.42-1OEM.550.0.0.1331820          HUAWEI               VMwareCertified   2015-01-07

Paket entfernen

esxcli software vib remove -n hio

   Removal Result
       Message: The update completed successfully, but the system needs to be rebooted for the  changes to be effective.
       Reboot Required: true
       VIBs Installed:
       VIBs Removed: HUAWEI_bootbank_hio_2.0.0.42-1OEM.550.0.0.1331820
       VIBs Skipped:

Mehrere Pakete entfernen

Es lassen sich genauso auch mehrere Pakete auf einmal deinstallieren

esxcli software vib remove -n hio -n hio0 -n hio1

Paket aktualisieren

software vib update -n Paketname

Paket installieren

Um diese Beispiele vollständig zu machen, hier noch der Befehl für eine klassische Paketinstallation via ESXi Konsole

software vib install -n Paketname


Die ESXi Kommandozeile bietet natürlich noch einiges mehr, "software" ist hier nur ein Namespace von vielen.

So lassen sich mit system, network, storage oder license weitere praktische Befehle ausführen.

Übersicht aller Befehle

esxcli esxcli command list

 

Ubuntu - Welche der installierten Pakete erhalten eigentlich noch Updates?

Mit der Veröffentlichung von Bionic Beaver (18.04) hat Canonical eine neue Long Term Support (LTS) Version veröffentlicht, welche die bestehende 16.04 LTS Version ablösen soll.

Ein Update muss sicher nicht überstürzt werden, denn Ubuntu 16.04 LTS erhält noch Updates bis ins Jahr 2021. Irgendwann ist allerdings das "End of Life" erreicht.

eol-ubuntu

Wer ältere Versionen einsetzt, dem bietet Ubuntu selbst eine Abfrage an, ob und wie lange Pakete noch unterstützt werden.

Dazu muss nur der Befehl ubuntu-support-status aufgerufen werden.

Für eine ausführliche Ausgabe kann der Schalter "--show-unsupported" oder "--show-supported" verwendet werden.

g@ubuntu:~$ ubuntu-support-status --show-unsupported
Support status summary of 'ubuntu':

You have 1 packages (0.1%) supported until April 2019 (3y)
You have 11 packages (1.4%) supported until January 2023 (5y)
You have 689 packages (85.6%) supported until April 2021 (5y)

You have 1 packages (0.1%) that can not/no-longer be downloaded
You have 103 packages (12.8%) that are unsupported

No longer downloadable:
wkhtmltox

Unsupported:
auditd cgroupfs-mount comerr-dev composer containerd coturn docker
docker.io golang golang-1.6-race-detector-runtime golang-doc
golang-go golang-race-detector-runtime golang-src jsonlint
libapache2-mod-php7.1 libauparse0 libgd3 libhiredis0.13 libjbig-dev
libjbig0 libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjs-excanvas
liblcms2-dev liblxc1 liblzma-dev libmagic-dev libpcre3 libpng12-dev
libseccomp2 libssl-dev libssl-doc libssl1.1 libwebp-dev libwebp5
libwebp6 libwebpdemux2 libwebpmux3 libxext-dev libxft-dev libxml2
libxml2-dev libxrender-dev libxss-dev libyaml-dev libzip5 lxc-common
lxcfs lxd lxd-client mercurial mercurial-common openssl
php-cli-prompt php-common php-composer-semver
php-composer-spdx-licenses php-json-schema php-mongo
php-symfony-console php-symfony-filesystem php-symfony-finder
php-symfony-process php5.6-cli php5.6-common php5.6-curl php5.6-fpm
php5.6-intl php5.6-json php5.6-opcache php5.6-readline php5.6-xml
php5.6-xsl php7.1 php7.1-bcmath php7.1-cgi php7.1-cli php7.1-common
php7.1-curl php7.1-fpm php7.1-intl php7.1-json php7.1-mbstring
php7.1-mysql php7.1-opcache php7.1-readline php7.1-zip
postgresql-server-dev-9.5 pybootchartgui python-pip python-pip-whl
python-software-properties python-wheel runc tcl8.6-dev tk8.6-dev
x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev xdelta3
xmlstarlet