Skip to content

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..

KeyStore Explorer - Java Keystore und Zertifikate ohne die Kommandozeile verwalten

Zunächst ein gesundes neues Jahr 2019.

Java Keystore Management auf der Konsole empfinde ich als anstrengend. Liegt mit daran, dass ich mir Befehle wie

keytool -import -keystore /opt/data/cacerts -file /home/itrig/url.itrig.de.crt -alias url.itrig.de

einfach nicht merken kann oder zu selten benötige und sie daher nicht mag. Außerdem ist es mit einem Befehl nicht getan, denn nach dem Import, muss das Ganze noch einmal aufgelistet und eventuell ergänzt werden, usw.

keytool -list /opt/data/cacerts

keystore explorer

Eine Auswahl dieser Befehle hatte ich auch schon in einem Artikel - 9 praktische Keytool Befehle zusammengefasst.

KeyStore Explorer

Abhilfe schafft der KeyStoreExplorer, vorausgesetzt ein Verwaltungsgerät mit Oberfläche ist vorhanden.

Das Programm ergänzt quasi Tools wie das erwähnte keytool oder jarsigner mit einem grafischen Userinterface und lässt sich somit relativ leicht bedienen.

Es läuft auf nahezu jedem System, da es auf Java basiert und erlaubt alle Funktionen, die von der Kommandozeile bekannt sind. Dinge wie Import von Zertifikaten, sowie Export oder umbenennen. Passwort ändern oder generieren.  Insgesamt viele praktische Befehle die sich nun via Klick realisieren lassen.

Auch eine Konvertierung der folgenden Formate beherrscht das Tool: JKS, JCEKS, PKCS #12, BKS (V1 and V2) und UBER.

Aktuell ist Version 5.4.1.

KeyStore_Explorer

Fazit

Wer sich auf der Kommandozeile nicht immer wohlfühlt, der hat mit dem KeyStoreExplorer das richtige Werkezug um Java, Zertifikaten und deren Speicherung Herr zu werden. 

PS: Das Standardpasswort für einen Java Keystore ist "changeit"

Download Keystore Explorer

Sicherheit im Herbst - ArchLinux, BackBox, CAINE, Kali Linux und Parrot

Im letzten Quartal hat sich im Bereich der Sicherheitsdistributionen noch einmal etwas getan.


BackBox 5.2

backboxBereits im Spätsommer wurde BackBox 5.2 veröffentlicht. Außer den üblichen Updates des Kernels (4.15) und der Tools wurden hier keine weiteren Änderungen vorgenommen.

Download


BlackArch 2018.06.01

blackarchAuch hier wurde ein neues OVA Images im Sommer veröffentlicht. Rubygems wurde nachgereicht, sowie der Kernel 4.17.11 und Updates.

Im Repository befinden sich nun ganze 2079 Tools.

Download

 

CAINE 10

caineEine weitere Distribution, welche unter anderem auch Windows Tools an Bord hat wurde auf Version 10 angehoben. 
Das Computer Aided INvestigative Environment mit dem Codename Infinity basiert nun auf Ubuntu 18.04 LTS, unterstützt UEFI/SECURE BOOT und beinhaltet Kernel 4.15.0-38.

In den Standardeinstellungen mounten Laufwerke nur im Lesemodus, diese müssen gesondert freigeschaltet werden.
Neue Tools sind unter anderem Autospy 4.9, Carbon 14, OsintSpy oder Stegosuite.

Den gesamtem Changelog finden Geübte auf der Homepage

Download


Kali Linux 2018.4

KaliDie neueste Version von Offensive Security bringt neben Kernel 4.18.10 eine experimentelle Raspberry Pi Unterstützung mit.

Es wurde Wireguard (eine VPN Lösung) integriert. Die Tools Burp Suite, Patator, Gobuster, Binwalk, Faraday, Fern-Wifi-Cracker, RSMangler, theHarvester, wpscan, und weitere haben Updates erhalten.

Der Changelog ist unter https://bugs.kali.org/changelog_page.php zu finden.

Download

Parrot Security 4.4

parrotParrot 4.3 bzw. 4.4 arbeitet an einem Long Term Support und hat den Kernel 4.18 integriert.

Außerdem wurde auf die neues Variante von Debian Buster, sowie Firefox 63 aktualisiert.

Es wurde auf den VSCodium Editor gewechselt, dieser hat im Vergleich zu den kommerziellen Kollegen keine Telemetrie und dergleichen aktiviert. 

Parrot 4.4 hat vollen Golang, Mono, Vala und Rust Support erhalten.

BTRFS und XFS gelten nun als Standarddateisystem.

Download



Übersicht 11/2018

 

Name Version Tools Besonderes Basis GUI
Autopsy 4.8.0 ??? The Sleuth Kit Windows  
BackBox 5.2 70+ eigenes Repo Ubuntu Xfce
BlackArch 2018.06.01 1750+ ArchLinux ArchLinux Gnome
CAINE 10 100+ WinUFO Ubuntu Mate
DracOS 3.0 100+ CLI LFS DWM
DEFT Zero 2018.2 250+ Mac Support Lubuntu 14.04 Lxde
Kali Linux 2018.4 300+ ARM fähig Debian Testing Multi
LionSec 5.0 ???   Ubuntu  
Matriux v3 RC1 300+ out of date Debian Gnome
NST 28 ??? Server integriert Fedora  
NetSecL OS 6.0 50+   OpenSuse Lxde
Paladin 7.0 30+   Ubuntu  
Parrot Sec 4.4 700+ Cloud fähig Debian Buster MATE
Pentoo 2018.0 RC7.1 ??? 64bit Gentoo Xfce
Ronin   150+ out of date Lubuntu Lxde
Sans SIFT 3.0 20+   Ubuntu  

Sailfish 3.0 - neue Version der Android Alternative aus Finnland

Nachdem ich nun seit ca. einer Woche das neue Sailfish 3.0 auf einem Sony Xperia X betreibe, möchte ich ein paar Worte zum neuen Major Release der Finnen verlieren, denn seit kurzem ist das neue System 3.0.0.8 für alle unterstützen Geräte verfügbar.

Sailfish 3.0

Zunächst kann ich die angekündigte bessere Performance bestätigen, es macht richtig Spaß.

Es bedient sich deutlich flüssiger als die Vorgängerversion 2.2.1.18 (Nurmonjoki) und fühlt sich um einiges flotter an.

Das neugestaltete Top-Menü macht einen modernen Eindruck. Die Farben wirken insgesamt sehr frisch, was sicher auch den neuen Themes zu verdanken ist.
 
Lemmenjoki setzt noch mehr auf Wischgesten. So lassen sich offene Anwendungen durch eine Geste aus der oberen Ecke schließen. Die Tastatur kann via Geste gewechselt werden und bietet nun einen schnellen Zugang zu anderen Sprachen oder Emojis.

Die Kamera zeigt nun die letzten Bilder auf dem Sperrbildschirm direkt an.

Für Firmen wurde ein MDM Feature integriert, dieses habe ich mir allerdings nicht näher angeschaut. Auch USB On-The-Go wurde implementiert.

sailfish-3 sailfish-3-menu

Nicht so toll

Doch wo viel Licht ist, da ist auch Schatten. Beispielsweise der Browser, dieser wurde seit einer gefühlten Ewigkeit nicht aktualisiert. Glücklicherweise ist mit Fennec via F-Droid ausreichend Ersatz vorhanden.

Auch mit Bluetooth gab es so manche Probleme, so ließen sich manche Geräte einfach nicht verbinden. Hier wurde bereits in Version 2 viel nachgebessert, was in Zeiten von Deezer und Spotify essentiell ist.

Auch die NFC Unterstützung wurde bis heute noch nicht implementiert, welche allerdings eher zu verkraften sein sollte.

Unterstütze Geräte

Nachdem der Verkauf von eigenen Geräten aufgegeben werden musste, werden nun Sony Geräte unterstützt. Bisher wurde nur das Sony Xperia X supported, mit dem Sony XA2 und dem Sony XA2 Ultra sind zwei weitere Modelle hinzugekommen.

  •     XA2 single SIM H3113 (also H3123, H3133)
  •     XA2 dual SIM H4113 (also H4133)
  •     XA2 Ultra single SIM H3213 (also H3223)
  •     XA2 Ultra dual SIM H4213 (also H4233)
  •     XA2 Plus single SIM H3413
  •     XA2 Plus dual SIM H4413 (also H4493)
  •     X single SIM F5121
  •     X dual SIM F5122

sailfish-3-modelle

Schade ist, dass zum jetzigen Zeitpunkt Alien Dalvik noch nicht von den neuen XA2 Geräten unterstützt wird. Hier ist noch etwas Geduld gefragt.
    

Sailfish for free

Mit der neuen Version bietet Jolla das Betriebssystem umsonst an. Das heißt es werden nicht sofort 50 Euro fällig, sondern erst wenn Android und Update Support benötigt wird.

sailfish-preis

Fazit

Nach FirefoxOS und Jolla Phone J1, ist mit den Sony Modellen und SailfishOS 2 bzw. 3 endlich eine funktionale Alternative zu Google oder Apple Systemen vorhanden.

Das System lässt sich sehr gut bedienen, es ist performant und bietet Unterstützung für "wichtige" Apps wie Whatsapp, Facebook oder Instagram.

Doch auch wer diese nicht benötigt erhält ein ehrliches und schickes System, welches mit den großen sicher gut mithalten kann, bzw. auf einem sehr guten Weg dahin ist (und das mit einem Bruchteil an Entwicklern).


SailfishOS sei daher jedem ans Herz gelegt, dem der Begriff Datensparsamkeit geläufig ist, der ein funktionales Telefon ohne viel Schnickschnack benötigt und dessen Bedienkonzept besser ist als bei der Konkurrenz.

shop.jolla.com

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