Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.
10. Apr
Teaser

svn: E205009: Local, non-commit operations do not take a log message or revision properties

Sollte bei einem SVN Befehl folgender Fehler auftreten:

svn: E205009: Local, non-commit operations do not take a log message or revision properties

… dann fehlt häufig der “file:///” Zusatz oder ist fehlerhaft.

Beispiel:

svn mkdir --parents /home/path/svn/name/{trunk,tags,branches} -m "initial dir creation"

erzeugt die o.a. Fehlermeldung. Der richtige (korrekte) Befehl lautet:

svn mkdir --parents file:///home/path/svn/name/{trunk,tags,branches} -m "initial dir creation"
31. Mrz
Teaser

SVN: Die Grundstruktur mit einem Befehl erzeugen

In einem SVN Repository können Sie die (meist) benötigte Grundstruktur mit den Ordnern “trunk”, “tags” und “branches” mit einem einzigen Befehl in der Kommandozeile erstellen lassen:

svn mkdir --parents file:///path/to/svn/repositoryName/{trunk,tags,branches} -m "initial dir creation"

Der Parameter -m “initial dir creation” stellt dabei den zu speichernden Text dar.

02. Mrz
Teaser

Gefährlicher Müll: Pseudo Rechnungen mit personlichen Daten

Betreff : Rechnung für Max Muster NR. 025653380
Absender: Sachbearbeiter OnlinePayment GmbH 

Sehr geehrte(r) Max Muster,

leider mussten wir feststellen, dass die Zahlungserinnerung Nummer 025651280 bis 
heute ohne Reaktion Ihrerseits blieb. Nun bieten wir Ihnen damit letztmalig die 
Chance, den nicht gedeckten Betrag unseren Mandanten OnlinePayment GmbH zu 
begleichen.

Aufgrund des bestehenden Zahlungsausstands sind Sie verpflichtet dabei, die durch 
unsere Tätigkeit entstandene Kosten von 81,08 Euro zu tragen. Bei Fragen oder 
Unklarheiten erwarten wir eine Kontaktaufnahme innerhalb von 48 Stunden. Um 
weitete Kosten auszuschließen, bitten wir Sie den ausstehenden Betrag auf unser 
Bankkonto zu überweisen. Berücksichtigt wurden alle Buchungen bis zum 05.04.2017.

Verbindliche Personalien:

Name
Anschrift
PLZ Ort

Telefon: Nummer

Überweisen Sie den nun fälligen Betrag unter Angaben der Artikelnummer so 
rechtzeitig, dass dieser spätestens zum 11.04.2017 auf unserem Bankkonto verbucht 
wird. Können wird bis zum genannten Datum keine Überweisung bestätigen, sind wir 
gezwungen Ihre Forderung an ein Inkasso zu übergeben. Alle damit verbundenen 
zusätzliche Kosten werden Sie tragen müssen.

Die detaillierte Kostenaufstellung NR025653380, der Sie alle Einzelpositionen 
entnehmen können, befindet sich im Anhang.

Mit verbindlichen Grüßen

Sachbearbeiter Tobias Wein

Im Anhang findet sich eine Zip-Datei, welche meist den Namen des Empängers trägt.

Diese Zip-Datei sollten Sie unter keinen Umständen speichern oder öffnen.

Um den Inhalt einmal preis und damit eine Begründung für meine Warnung zu geben, habe ich die Datei in einer geschützten Umgebung analysiert.

In der Zip-Datei versteckt sich wieder eine Zip-Datei, in welcher eine ausführbare Datei (.com Endung) enthalten ist. Würde diese Datei auf dem PC ausgeführt werden, kann sie alles mögliche installieren, auslesen oder durchführen. Das dadurch gestartete Programm hat auf alle Daten Zugriff, auf welche Sie auch Zugriff haben. Wenn sie “nur” gelesen und/oder verschickt werden ist das schon schlimm genug. Wenn jedoch unbemerkt Daten verändert werden, dann haben Sie innerhalb von Sekunden(bruchteilen) veränderte Daten bzw. Dateien.

23. Feb
Teaser

Spam per Telefon: Fakeanrufe aus dem Ausland

Es nervt hauptsächlich Unternehmen und kleine Betriebe, denn Telefonnummer und Ansprechpartner sind zumeist einfach und öffentlich auf den Webseiten zu erkennen: Das Telefon klingt mehrfach am Tag und unbekannte Telefonnummer aus dem Ausland werden angezeigt.

Dabei gilt die erste und wichtigste Regel:

Nicht ohne Prüfung zurückrufen !

In diesen Tagen haben es Betrüger als neue Masche entdeckt, sich (meist Handy-) Nummern im europäischen Ausland besorgt. Wenn man dort ahnungslos zurückruft, dann können hohe Kosten entstehen.

Auch wenn man das Gespräch entgegen nimmt, wird einem auf englisch versucht, dubiose Methoden vorzustellen. Es sind meist Call-Center, denn der Gesprächslärm im Hintergrund ist beträchrlich.

Bei einem der letzten Anrufe haben sich die Anrufer leider entgültig als (dämliche) Betrüber verraten: Sie riefen von einer dänischen Nummer an. Nach zwei Sätzen Englisch wechselte ich die Sprache ins Dänische und der Anrufer war deutlich überfordert und vollkommen verwirrt.

Also erklärte ich ihm in der englischen Zwei-Worte-Kurzversion meine Meinung und legte auf.

Das ist auch die beste Empfehlung: Direkt wieder auflegen.

20. Feb
Teaser

VirtualMin: .. request failed : Domain has no website, and DNS-based validation is not possible

Unter VirtualMin gibt es eineen Bug mit den Scripten zum Update der SSL Zertifikate von “Let’s Encrypt”.
Nach dem bzw. beim Ausführen der autotomatischen Updates wird folgende Meldung produziert

Requesting a certificate for * from Let's Encrypt .. 
.. request failed : Domain has no website, and DNS-based validation is not possible

Derzeit steht noch kein Fix oder Update bereit. Die folgende Lösung behebt das Problem jedoch vorübergehend und erlaubt die automatische SSL Aktualisierung:

Melden Sie sich an Ihrem Server (oder dem Computer mit dem VirtualMin Server) als “root” an:

find / -name feature-ssl.pl

Notieren Sie sich den Fundort des gesuchten Perl-Scriptes (z.Bsp. “/usr/share/webmin/virtual-server/feature-ssl.pl”)

nano /usr/share/webmin/virtual-server/feature-ssl.pl

Gehen Sie in Zeile 2148 (z.Bsp. durch die Tastenkombination “Strg Shift -“) und korrigieren Sie die folgende (fehlerhafte) Zeile

if ($d->{'web'} && 0) {

in diese (korrigierte) Zeile:

if ($d->{'web'}) {

Beenden und speichern Sie die Datei (Tastenkombination “Strg X” und dann mit “Enter” bestätigen). Starten Sie nun VirtualMin neu:

/etc/webmin/restart

Fertig.

Einen Augenblick später wird das SSL Zertifikat erneuert und Sie erhalten (sofern Sie es eingestellt haben) eine E-Mail zu Bestätigung:

A new certificate was successfully requested from Let's Encrypt, and installed for xyz.com
19. Nov 2016
Teaser

Linux: Datei beginnend mit Bindestrich (Minus am Anfang) löschen

Um unter Linux eine Datei mit einem Minuszeichen am Anfang des Dateinamens zu löschen, benutzen Sie folgenden Befehl:

rm ./-dateiname

Wenn man den normalen RM Befehl ohne die Pfadangabe nutzt (“rm dateiname”), dann kommt es zu einer Fehlermeldung, da das Minuszeichen als optionaler Paramter gewertet wird.

18. Nov 2016
Teaser

Linux: SMART Befehl (smartctl) funktioniert nicht in CronJobs

Die Smart-Tools unter Linux sind Programme zur Überwachung und Auswertung von S.M.A.R.T Festplatten (“Control and Monitor Utility for SMART Disks”).

Das Beispiel zeigt Ihnen alls Daten der als “/dev/sda” eingebundenen SMART-Festplatte an.

smartctl -d ata -A /dev/sda

In CronJobs (“scheduled cron jobs”) arbeitet der Befehl “smartctl” häufig nicht ordentlich und liefert keine Werte bzw. keine Ausgabe. Um dieses Problem zu lösen, geben Sie im Bash-Script den kompletten Pfad zum Programm “smartctl” mit an:

/usr/sbin/smartctl -d ata -A /dev/sda
13. Nov 2016
Teaser

Linux “Failed to start poweroff.target” – Herunterfahren erzwingen

Wenn das System auf den normalen Befehl zum Herunterfahren (Shutdown) bzw. Neustart (Reboot)

shutdown -h now

mit folgender Fehlermeldung reagiert,

Failed to start poweroff.target: Unit poweroff.target failed to load

dann sorgt dieser Befehl für das sofortige Ausschalten des Servers:

systemctl --force --force poweroff
27. Sep 2016
Teaser

Debian Linux: Virtualbox headless inkl. phpVirtualbox installieren

Wenn der Apache2 Server plötzlich streikt und als Fehlermeldung nur ein “AH00016: Configuration Failed” kommt, hilft diese Anleitung vielleicht zur Lösung.

Die Analyse der Apache-Konfiguration wird ja in solchen Fällen meist als erstes durchgeführt:

apache2 -t

Das Ergebnis ist bei diesem Fehler allerdings meist ernüchternd (jedoch richtig):

Syntax OK

Der Syntax der Apache2 Konfiguration und Config-Dateien ist auch richtig; es ist meist ein fehlerhaftes SSL Zertifikat. Nur welches, wenn auf dem Apache ein paar mehr Server / Domains mit SSL laufen ?

Die Lösung bietet das Tool strace, welches einfach per “apt-get” installiert werden kann:

apt-get install strace

Mit hilfe dieses Programmes kann der Start des Apache-Servers detailliert analysiert und das fehlerhafte SSL Zertifikat identifiziert werden:

strace -f apache2ctl start

Wer jetzt die meist sehr umfangreiche Ausgabe nicht verfolgen konnte, der kann diese auch durch folgenden Befehl in eine Datei umleiten lassen:

strace -f apache2ctl start &> log.txt

Jetzt finden Sie die vollständige Ausgabe der Apache2-Start-Analyse in der Datei “log.txt”.

Am Ende finden Sie auch die o.a. Fehlermeldung des Servers:

[pid  7199] exit_group(1)               = ?
[pid  7199] +++ exited with 1 +++
<... wait4 resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 7199
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=7199, si_uid=0, si_status=1, si_utime=3, si_stime=7} ---
rt_sigreturn()                          = 7199
write(1, "Action 'start' failed.\n", 23) = 23
write(1, "The Apache error log may have mo"..., 48) = 48
exit_group(1)                           = ?
+++ exited with 1 +++

Suchen Sie dann in den Zeile davor rückwärts die Fehlermeldung, welche z.Bsp. so aussehen kann:

[pid  7218] close(57)                   = 0
[pid  7218] munmap(0x7f70ca8b2000, 4096) = 0
[pid  7218] open("/home/example/ssl.key", O_RDONLY) = 57
[pid  7218] fstat(57, {st_mode=S_IFREG|0700, st_size=3268, ...}) = 0
[pid  7218] mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f70ca8b2000
[pid  7218] read(57, "-----BEGIN PRIVATE KEY-----\nMIIJ"..., 4096) = 3268
[pid  7218] close(57)                   = 0
[pid  7218] munmap(0x7f70ca8b2000, 4096) = 0
[pid  7218] write(21, "[Sun May 01 09:34:22.173754 2016"..., 182) = 182
[pid  7218] write(2, "AH00016: Configuration Failed\n", 30) = 30
[pid  7218] select(0, NULL, NULL, NULL, {0, 10000}) = 0 (Timeout)
[pid  7218] close(53)                   = 0

Im oberen Beispiel ist es die Datei “/home/example/ssl.key”, welche das Problem verursacht.

Korrigieren Sie das SSL Zertifikat (die Datei neu auf den Server kopieren o.ä.) und starten Sie den Apache dann erneut:

/etc/init.d/apache2 restart

Meist wird er dann problemlos wieder starten:

[ ok ] Restarting apache2 (via systemctl): apache2.service.
22. Sep 2016
Teaser

Debian: VirtualBox Guest Addons installieren

Um auf einem Debian 8 System die VirtualBox AddOns zu installieren können folgende Befehle benutzt werden:

apt-get install build-essential module-assistant
m-a prepare

Jetzt die CD mit den Dateien für die VirtualBox AddOns einlegen. Dieses wird bei virtuellen Computern (wie hier bei der VirtualBox) in fast allen Fällen per ISO Datei gemacht. Die passende ISO Datei mit den AddOns finden Sie kostenlos auf der VirtualBox Webseite.

Der folgende Schritt wird häufig vollautomatisch durch Debian übernommen. Nur wenn die CD nicht automatisch nach dem virtuellen Einbinden über die VirtualBox Oberfläche erscheint, bitte den folgenden Befehl ausführen:

mount /media/cdrom

Jetzt die Installation der AddOns von der CD starten:

sh /media/cdrom/VBoxLinuxAdditions.run

Nachdem die Installation beendet wurde, den virtuellen Computer bitte einmal neu starten. Erst danach werden alle AddOns (Mousezeiger, Auflösung, etc.) vollständig übernommen.