NetworkManager is not running

flattr this!

Yesterday my NetworkManager suddenly stopped working. After a reboot the tooltip “NetworkManager is not running” appeared in my nm-applet. When I tried to start the service, I got the following message:

$ sudo systemctl start NetworkManager.service
Job for NetworkManager.service failed because the control process exited with error code.
See "systemctl status NetworkManager.service" and "journalctl -xe" for details.

As suggested I had a look at

$ journalctl -xe
[...]
-- Unit NetworkManager.service has finished shutting down.
Mar 20 08:27:38 hugo systemd[1]: NetworkManager.service: Start request repeated too quickly.
Mar 20 08:27:38 hugo systemd[1]: NetworkManager.service: Failed with result 'exit-code'.
Mar 20 08:27:38 hugo systemd[1]: Failed to start Network Manager.
-- Subject: Unit NetworkManager.service has failed

And here is where I had my problems. The message is clear: somehow the service was started too often in a short time frame. But how?

This is how: If you have a look at /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service you’ll find the following entry:

Restart=on-failure

This entry is the reason for the multiple startups of NetworkManager in a short time. To get to the actual error message we need to disable this entry:

#Restart=on-failure

Then we need to reload the deamon:

sudo systemctl daemon-reload

and now we can have a look on the original error message:

$ sudo systemctl start NetworkManager.service
Job for NetworkManager.service failed because the control process exited with error code.
See "systemctl status NetworkManager.service" and "journalctl -xe" for details.
$ journalctl -xe
-- Unit NetworkManager.service has begun starting up.
Mar 20 08:27:51 hugo NetworkManager[16335]: /usr/bin/NetworkManager: error while loading shared libraries: libpsl.so.6: cannot open shared object file: No such file or d>
Mar 20 08:27:51 hugo systemd[1]: NetworkManager.service: Main process exited, code=exited, status=127/n/a
Mar 20 08:27:51 hugo systemd[1]: NetworkManager.service: Failed with result 'exit-code'.
Mar 20 08:27:51 hugo systemd[1]: Failed to start Network Manager.

So in my case a library was missing which I could fix really quick by


$ cd /lib
$ sudo ln -s libpsl.so.5 libpsl.so.6

Remove Subfolders from your Dovecot Inbox

flattr this!

I am running Dovecot as mailserver and had the problem that I wasn’t able to remove a subfolder in my Inbox. Thunderbird just prompted the error that the action could not be performed. So I decided to remove the folder myself and this is how you do it:

1. Go to your maildir. In my case it’s /var/vmail if you have a divergent configuration have a look at your configuration file
2. Navigate to your mailserver and the account you want to do the change to
3. Find the file subscriptions

This file contains every (sub)folder you want to fetch with your mail client. So even the Trash and Sent folders are listed here. To unsubscribe from one Folder just remove the entry from the file. Then you need to restart your mailclient because it only fetches the subfolders at startup.
The benefit of this way is that you don’t lose the messages of the subfolder. You can re-subscribe to it everytime you want by just adding the name of the folder again.

Hint: make sure to check the file permissions of subscriptions afterwards. It needs to belong to user and group vmail

Xorg bzw. lightdm startet nicht

flattr this!

Gestern Abend habe ich an mein Netbook ein HDMI Kabel angeschlossen. Der Fernseher am anderen Ende wurde aber nicht erkannt. Daraufhin vermutete ich einen Fehler in meinen Treibern (den HDMI Anschluss hatte ich noch nie benutzt) und versuchte einige Dinge, um den Treiber zum Laufen zu bringen.
Letzlich stellte sich dann raus, dass das HDMI Kabel einfach nur kaputt war. Sehr ärgerlich.
Noch ärgerlicher war allerdings, dass beim Booten heute morgen kein X Server startete. Ich hatte aber vollen Zugriff auf die TTY Konsolen. Im normalen syslog war nichts hilfreiches zu finden. Also versuchte ich lightdm von Hand zu starten, was jedoch die Fehlermeldung

** (lightdm:289): WARNING **: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files

brachte. Etwas recherche zeigte, dass es mit dem Greeter zu tun haben könnte. Also deinstallierte ich den lightdm-gtk-greeter und richtete dafür den lightdm-webkit-greeter ein. Kein Unterschied.

Schließlich fand ich das eigentlich Problem im Xorg.log:


(EE) Failed to load module "intel" (module does not exist, 0)
(EE) No drivers available.

Fatal server error:
no screens found

Nun war klar: der Greeter kann nicht Schuld sein. Xorg versagt hier bereits beim Laden der Bildschirmkomponente. Ich hatte zwar nichts an Xorg verändert, aber vermutete, dass eines der Packages, die ich zum beheben des vermeintlichen HDMI Problems installiert hatte, hier etwas verändert hatte. Ich passte die xorg.conf wie folgt an:

Section "Device"
Identifier "card0"
#Driver "intel"
Option "Backlight" "intel_backlight"
BusID "PCI:0:2:0"
EndSection

Und siehe: danach bootete das Gerät wunderbar! xorg benötigt heutzutage ja eigentlich kaum noch Konfiguration. Der autoload macht eigentlich meist seinen Job, greift jedoch nicht, wenn im config File ein Treiber explizit angegeben wird.

Nun wollte ich natürlich wissen, welcher Dienst diesen Eintrag vorgenommen hat. Nach etwas recherche stellte sich raus: Es war der Display Settings Dialog von xfce!
Dieser bietet unten ein kleines Häckchen: “Configure new displays when connected”. Wenn man dieses Häckchen setzt, wird wohl der Eintrag in der xorg.conf dementsprechend angepasst und das führte bei mir zum nicht-starten des X-Servers.

Screenshot_2016-07-16_10-34-07

Fehlermeldung: package-query: requires pacman<4.3

flattr this!

Als ich heute ein Systemupdate per

yaourt -Syyu

ausführen wollte, bekam ich folgende Fehlermeldung:

error: failed to prepare transaction (could not satisfy dependencies)
:: package-query: requires pacman<4.3

Das Selbe passierte bei einem Update über Pacman.
Eine Überprüfung per

pacman -Qs pacman

sagte mir, dass ich pacman-4.2.1 installiert hatte, worduch die Bedingung <4.3 eigentlich erfüllt gewesen sein sollte. Eine kurze Recherche ergab, dass die aktuelle Pacman Version gerade von "testing" in "core" verschoben wurde. Es lag also nicht an der Pacmanversion, sondern an den Dependencies von package-query. Deshalb habe ich einfach explizit dieses aktualisiert:


yaourt -S package-query

und danach funktionierte ein normales Update wieder einwandfrei.

Update:
Da war ich wohl zu voreillig. Bei einem erneuten Updateversuch erscheint

package-query: error while loading shared libraries: libalpm.so.9: cannot open shared object file: No such file or directory

was logisch ist, denn package-query muss nun natürlich noch einmal neu installiert werden, damit es gegen das neue Pacman kompiliert. Dafür verwenden wir am Besten ein Packagebuild aus dem AUR:


wget https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=package-query -O PKGBUILD
makepkg -sri

Danach haben wir die aktuelle package-query Version installiert.

Anmerkung
Wer das antegros-repo eingebunden hat, bekommt die aktuelle Version per ganz normalem Update.

Danke an die Hinweise, zur Vervollständigung dieser Anleitung.

Makepasswd Ersatz

flattr this!

Hier nur ein kleiner Tipp bzw. Hinweis: Das Passwortgenerierungstool “makepasswd” hat einen Bug und zeigt beim Ausführen

Can't locate Bytes/Random/Secure.pm in @INC (you may need to install the Bytes::Random::Secure module)

Recht schnell findet man raus, dass der Autor das Programm nicht mehr weiter entwickelt und so ist eine Alternative gefragt. Ich empfehle pwgen. Die Handhabung ist sehr einfach:

pwgen länge anzahl_der_passwörter.

Bootloader updaten [CM12]

flattr this!

Der aktuelle Nightly Build von CM12 für das Nexus 5 setzt den Bootloader hhz12k voraus. Bisher war die Version 11k aktuell und somit bekommt man bei dem Versuch, mit einem sideload das Image aufzuspielen eine entsprechende Fehlermeldung auf dem Gerät, welche dieses Problem beschreibt und den Fehlercode (7) hat.

Bootloader updaten

Da ich davon ausgehe, dass ihr schon einmal einen Bootloader aufgespielt habt, setze ich ein installiertes fastboot und adb voraus. Sollte dies nicht der Fall sein, bitte erst einmal darüber informieren.

Wir brauchen also nun den neuen Bootloader und auch das neue radio. Ich habe euch hier mal 2 Links rausgesucht, da diese ja noch im dev-Stadium sind. Iihr könnt natürlich auf andere Quellen zurückgreifen. Ich verwende hier die Images für das Nexus 5, die Anleitung ist aber universell.

Bootloader
Radio

Das entsprechende Radio Image heißt: radio-hammerhead-m8974a-2.0.50.2.21.img für das Nexus 5, falls ihr einen Alternativen Downloadhoster bevorzugt.

Nun flashen wir also den Bootloader mit fastboot, dazu starte wir das angeschlossene Gerät im Recoverymode, wählen aber nicht den Recovery-Modus aus. Kurzer Check, ob das Gerät erkannt wird und dann gleich flashen:

$ sudo fastboot devices
$ sudo fastboot flash bootloader bootloader-hammerhead-hhz12d.img
target reported max download size of 1073741824 bytes
sending 'bootloader' (2579 KB)...
OKAY [ 0.321s]
writing 'bootloader'...
OKAY [ 0.494s]
finished. total time: 0.814s

Das Radio gleich hinterher mit folgendem Befehl:

$sudo fastboot flash radio radio-hammerhead-m8974a-2.0.50.2.21.img
target reported max download size of 1073741824 bytes
sending 'radio' (45521 KB)...
OKAY [ 1.865s]
writing 'radio'...
OKAY [ 3.131s]
finished. total time: 4.996s

Nun den Menüeintrag “Restart Bootloader” auf dem Gerät auswählen, in den Recovery-Modus wechseln, da “install zip” und “via sideload” auswählen und dann kann das neue Image geflashed werden:

$ sudo adb sideload cm-12-20150320-NIGHTLY-hammerhead.zip
loading: 'cm-12-20150320-NIGHTLY-hammerhead.zip'
sending: 'cm-12-20150320-NIGHTLY-hammerhead.zip' 100%

Hinweis: Daten gehen hierbei nicht verloren, aber ein backup schadet nie, denn man weiß nicht, was passiert!

Amavis behindert Postfix

flattr this!

Kurzer Tipp. Falls ihr mal keine Mails bekommt und in den Logfiles sowas steht wie

connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)

dann liegt das an dem Spamvilter amavis. Kurzer Restart von postfix und amavis sollte helfen:

service amavis restart
service postfix restart

Mails gehen dabei nicht verloren, werden nur mit etwas Zeitverzögerung zugestellt.

YouTube Videos im Terminal schauen

flattr this!

YouTube direkt benutze ich schon lange nicht mehr. Die Alternative der Wahl war für mich auf dem Rechner bis jetzt minitube. Wer das Tool allerdings benutzt, merkt schnell: Das Gelbe vom Ei sieht anders aus. Abstürze und Pufferprobleme gehören zur Tagesordnung.

Doch dafür gibt es jetzt eine tolle Alternative mit dem Namen: youtube-viewer das Tool kommt ohne GUI aus und verwendet standardmäßig den Videoplayer mplayer zum Abspielen eines Videos. Einfachster Aufruf ist direkt mit einer URL:

$ youtube-viewer https://www.youtube.com/watch?v=c0XE4Wft_Lo

Es öffnet sich der mplayer und spielt das Video ab. Doch auch wenn man die URL nicht zur Hand hat, dann hilft das Tool weiter: ohne Parameter aufgerufen, bietet es uns direkt eine Suche:

$ youtube-viewer
=>> Search for YouTube videos (:h for help)
>

Gebe ich hier nun einen Suchbegriff ein (die Suche unterstützt auch regex!), so erhalte ich eine Liste von Videos und kann mit der Eingabe der entsprechenden Nummer des Videos dieses abspielen:

$ youtube-viewer
=>> Search for YouTube videos (:h for help)
> ruthe

1. Ruthe.de - PETE Ep. 015 "Liebeskummer" (by koalakombat) (06:31)
2. Ruthe.de - Werbeparodien 5 (by koalakombat) (04:26)
3. Ruthe.de - FLOSSEN - "Das Haustier" (by koalakombat) (04:35)
4. Ruthe.de - Nachrichten - Lügenpresse (by koalakombat) (02:49)
5. Ruthe.de - Weihnachtsmann beklaut!!! (by koalakombat) (02:53)
6. Ruthe.de - Kopfkirmes (by koalakombat) (03:56)
7. Ruthe.de - Für dich zum Valentinstag! (by koalakombat) (01:09)
8. Ruthe.de - FLOSSEN - "Frohe Weihnachten!" (by koalakombat) (03:24)
9. Ruthe.de - Nachrichten - Veganer Bio-Bauernhof (by koalakombat) (02:43)
10. Ruthe.de - Tod-Stammtisch (auf Schwäbisch) (by koalakombat) (00:23)

=>> Select one or more videos to play (:h for help)
> 10

Auch mehrere Videos lassen sich anschauen. Dazu gibt man einfach mehrere Indizes an:
> 1 11 4.
Auch mit einem Bereich lässt sich das erledigen. Alle Videos von Index 8 bis zu Index 14 spielen wir hiermit ab: > 8-14.
Der einzige Nachteil hierbei ist, dass man mit dem Schließen von mplayer nur das Abspielen des aktuellen Videos beendet, alle weiteren werden aber noch abgespielt.

Befehle werden mit einem : eingeleitet. Auf die nächste Seite springt man mit :n(ext) und zurück mit :b(ack). Auch ein Einloggen ist möglich: Der Befehl :login führt zur Loginmaske. Viele Befehle lassen sich nur in Verbindung mit einem Index ausführen, so kann man mit :c=1 die Kommentare zum ersten Video in der Liste einsehen und mit :subscribe=3 den Kanal, des Videos mit dem Index 3 abonnieren (dazu muss man nat. eingeloggt sein). Auch downloaden kann man ein Video mit seinem Index: :d=2 lädt Video Nummer zwei herunter. Alle weiteren Optionen findet man im Hilfemenü mit :h.

Wer die cli nicht mag, für den gibt es noch eine Oberfläche zu dem Ganzen mit dem Namen gtk-youtube-viewer. Sie verwendet auf meinem Rechner VLC, statt mplayer, ist aber ansonsten funktionsgleich mit dem Kommandozeilentool, auf dem es bassiert. Alle weiteren Infos und Installationsanleitungen, bzw. Pakete gibt’s auf der Homepage. Für Arch habe ich das Programm über yaourt, also aus dem AUR heraus installiert.

FTP Zugangsdaten bei WordPress update

flattr this!

Kurzer Hinweis, falls ihr beim Updaten eurer WordPress Version über das Dashboard auf einmal aufgefordert werdet, die FTP Zugangsdaten einzugeben: Schaut mal nach der Dateiownership für den entsprechenden Ordner mit euren WordPress Dateien. Diese muss, wie auch hier beschrieben, folgende Kriterien erfüllen:

(a) file ownership: all of your WordPress files must be owned by the user under which your web server executes. In other words, the owner of your WordPress files must match the user under which your web server executes. The web server user (named “apache”, “web”, “www”, “nobody”, or some such) is not necessarily the owner of your WordPress files. Typically, WordPress files are owned by the ftp user which uploaded the original files. If there is no match between the owner of your WordPress files and the user under which your web server executes, you will receive a dialog box asking for “connection information”, and you will find that no matter what you enter in that dialog box, you won’t be able to update using the “Update Now” button.

(b) file permissions: all of your WordPress files must be either owner writable by, or group writable by, the user under which your Apache server executes.

Ein einfaches chown -R www-data:www-data wordpress/ sollte ggf. ausreichen und die Updates lassen sich wieder ganz normal installieren.