Wenn bei Copy&Paste mit PuTTY die Fehlermeldung „not enough arguments for -U“ angezeigt wird, kann folgende oh-my-zsh Option in ~/.zshrc die Lösung sein:
DISABLE_MAGIC_FUNCTIONS=true
Wenn bei Copy&Paste mit PuTTY die Fehlermeldung „not enough arguments for -U“ angezeigt wird, kann folgende oh-my-zsh Option in ~/.zshrc die Lösung sein:
DISABLE_MAGIC_FUNCTIONS=true
Es gibt haufenweise kommerzielle Produkte, die PDF Dateien verkleinern. Es geht aber auch kostenlos sehr einfach. Nur auf eine schicke GUI muss man verzichten. Unter Linux (in meinem Fall Ubuntu 18.04 LTS unter Windows 10) geht das sehr, sehr einfach.
sudo apt-get install ghostscript wget
wget http://www.alfredklomp.com/programming/shrinkpdf/shrinkpdf.sh
./shrinkpdf.sh my_large_file.pdf my_small_file.pdf 200
Hinweis: An der Qualität (hier 200) lässt sich drehen, um die gewünschte Größe oder Qualität zu erreichen.
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=single.pdf -dBATCH first.pdf second.pdf
Ob wirklich Raspbian 8 (Jessie) benutzt wird, kann so überprüft werden:
cat /etc/os-release
Die folgenden Befehle fügen das Jessie Backports Repository hinzu und installieren anschließend ffmpeg:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553 echo 'deb http://httpredir.debian.org/debian jessie-backports main contrib non-free' | sudo tee -a /etc/apt/sources.list.d/jessie-backports.list sudo apt-get update sudo apt-get install ffmpeg
Fertig. 🙂
Muss leider pro Domain und Subdomain im Bereich Einstellungen für Apache & nginx einzeln gemacht werden:
<IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" </IfModule>
Und so sieht das Ergebnis dann aus:
Folgende Situation: Die 16GB SD Karte in meinem Raspberry Pi zickt in letzter Zeit regelmäßig wegen defekten Sektoren rum. Diverse Programme starten z.B. nicht mehr und mussten erneut installiert werden. Ärgerlich. Da ich zusätzlich noch einen 32GB USB Stick angeschlossen haben und auch ein NAS im Netzwerk zur Verfügung steht, dachte ich mir, ersetze ich die alte 16GB SD Karte einfach durch eine neue. Leider ist die neue SD Karte ein paar wenige MB kleiner als die alte, daher war eine einfache Prozedur à la Image erstellen (entweder mit Win32 Disk Imager unter Windows oder dd unter Linux) und zurückspielen keine Möglichkeit, selbst wenn die 16GB Speicherplatz auf der SD Karte alles andere als ausgenutzt wurden.
Folgende Prozedur hat nun scheinbar Erfolg gebracht. Alle Schritte habe ich auf einem Notebook mit SD Kartenleser durchgeführt.
Schritt 1: Partitionen verkleinern
Schritt 2: Image mit dd erstellen
Schritt 3: Image verkleinert auf die neue SD Karte schreiben
dennis@MSI-GE60:~$ sudo fdisk -l ~/raspi.img Medium raspi.img: 14,5 GiB, 15523119104 Bytes, 30318592 Sektoren Einheiten: sectors von 1 * 512 = 512 Bytes Sektorengröße (logisch/physisch): 512 Bytes / 512 Bytes I/O Größe (minimal/optimal): 512 Bytes / 512 Bytes Typ der Medienbezeichnung: dos Medienkennung: 0x000b2b81 Gerät Boot Start Ende Sektoren Größe Id Typ raspi.img1 8192 2289062 2280871 1,1G e W95 FAT16 (LBA) raspi.img2 2289063 28221439 25932377 12,4G 5 Erweiterte raspi.img5 2293760 2359293 65534 32M 83 Linux raspi.img6 2359296 2488319 129024 63M c W95 FAT32 (LBA) raspi.img7 2490368 28221439 25731072 12,3G 83 Linux
Ach ja, der ganze Spaß hat 5 oder 6 Anläufe an mehreren Abenden benötigt. Adhoc hat das leider nicht funktioniert.
Ist es eine gute Idee, Datenbanken auf dem Raspberry Pi 3 zu betreiben? Nach meinen Erfahrungen der letzten Wochen, rate ich davon ab. Jedenfalls von größeren Datenbanken. Auf meinem Raspberry Pi 3 läuft eine PostgreSQL, die für kleine Datenmengen ausreichend ist, z.B. für Gogs (Git Repository). Zusätzlich liefen für ca. 1,5 Jahre Messdaten via FHEM in die Datenbank, was zu ca. 2,5 Millionen Datensätzen geführt hat. Und damit ist der Raspberry Pi 3 definitiv überfordert. Davor lagen diese Messdaten in einer SQLite Datenbank, die eine noch schlechtere Performance bot. Eine Java Applikation, die ebenfalls auf dem Raspberry Pi 3 läuft, hat für das Laden und Aufbereiten der Daten ca. 30 Minuten gebraucht. Die (momentane) Lösung ist, dass ich die Messdaten nun in einer MySQL Datenbank speichere, die auf einem vServer bei Host Europe läuft. Die Tabellen haben eine etwas andere Struktur, da ich direkt nach dem INSERT von neuen FHEM Messdaten diese via Trigger aufbereitet in eine andere Tabelle ablege. Der Start der Java Applikation hat sich auf ca. 30 Sekunden (nicht mehr Minuten!) reduziert. Der Zugriff auf die MySQL Datenbank erfolgt via SSH Tunnel, um die MySQL Datenbank auf dem vServer nicht direkt im Internet verfügbar zu machen.
Nach einem Reboot startete nginx auf meinem Raspberry Pi 3 nicht mehr. Es kam nur folgende Meldung:
pi@raspberrypi:/etc/nginx » sudo service nginx start Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
Auch der Hinweis auf systemctl status nginx.service brachte keine Erkenntnis:
pi@raspberrypi:/etc/nginx » sudo systemctl status nginx.service ? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled) Active: failed (Result: signal) since Mo 2017-08-14 14:34:39 CEST; 6s ago Process: 17080 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=killed, signal=SEGV) Aug 14 14:34:39 raspberrypi systemd[1]: nginx.service: control process exited, code=killed status=11 Aug 14 14:34:39 raspberrypi systemd[1]: Failed to start A high performance web server and a reverse proxy server. Aug 14 14:34:39 raspberrypi systemd[1]: Unit nginx.service entered failed state.
Die letztendliche Lösung bestand aus dem Entfernen und der erneuten Installtion von nginx:
pi@raspberrypi:/etc/nginx » sudo apt-get remove nginx nginx-common ... pi@raspberrypi:/etc/nginx » sudo apt-get install nginx ...
Verstanden habe ich Problem und Ursache nicht. Ich hoffe allerdings, dass das nicht die ersten Anzeichen sind, das sich die Speicherkarte im meinem Raspberry Pi ihrem Lebensende neigt.
Auf meinem neuen Server (auf dem auch dieses Blog gehostet wird), hatte ich große Schwierigkeiten, alle root eMails an mein GMX Postfach weiterzuleiten. Im Logfile /var/log/maillog tauchte immer diese Meldung auf:
Jun 28 22:02:28 srv01 postfix/smtp[21772]: EA150101E45: to=&lt;[email protected]&gt;, orig_to=&lt;root&gt;, relay=none, delay=0.04, delays=0.01/0.02/0/0, dsn=5.4.6, status=bounced (mail for lvps12-123-123-123.dedicated.hosteurope.de loops back to myself)Die Lösung bestand darin, den korrekten Hostnamen in /etc/mailname einzutragen.
Es gibt zwei praktische Scripte, um die Performance der SD Card im Raspberry Pi zu messen:
Leider ist die Performance meiner Sandisk SD Card überschaubar:
CONFIG: CLOCK : 50.000 MHz CORE : 400 MHz, turbo= DATA : 512 MB, /root/test.dat HDPARM: ====== Timing O_DIRECT disk reads: 64 MB in 3.03 seconds = 21.13 MB/sec Timing O_DIRECT disk reads: 54 MB in 3.07 seconds = 17.60 MB/sec Timing O_DIRECT disk reads: 64 MB in 3.05 seconds = 21.01 MB/sec WRITE: ===== 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 106,699 s, 5,0 MB/s 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 102,108 s, 5,3 MB/s 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 96,1672 s, 5,6 MB/s READ: ==== 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 42,0239 s, 12,8 MB/s 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 40,9591 s, 13,1 MB/s 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 38,3425 s, 14,0 MB/s RESULT (AVG): ============ Overlay config core_freq turbo overclock_50 WRITE READ HDPARM 400 0 50.000 MHz inf MB/s inf MB/s 19.90 MB/s
Update vom 02.10.2017: Hier meine neue Toshiba SD Karte mit etwas besserer Performance:
CONFIG: CLOCK : 50.000 MHz CORE : 400 MHz, turbo= DATA : 512 MB, /root/test.dat HDPARM: ====== Timing O_DIRECT disk reads: 66 MB in 3.06 seconds = 21.54 MB/sec Timing O_DIRECT disk reads: 66 MB in 3.06 seconds = 21.59 MB/sec Timing O_DIRECT disk reads: 66 MB in 3.07 seconds = 21.47 MB/sec WRITE: ===== 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 66,0162 s, 8,1 MB/s 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 63,7488 s, 8,4 MB/s 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 66,6666 s, 8,1 MB/s READ: ==== 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 24,804 s, 21,6 MB/s 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 24,687 s, 21,7 MB/s 512+0 Datensätze ein 512+0 Datensätze aus 536870912 Bytes (537 MB) kopiert, 24,8026 s, 21,6 MB/s RESULT (AVG): ============ Overlay config core_freq turbo overclock_50 WRITE READ HDPARM 400 0 50.000 MHz inf MB/s inf MB/s 21.55 MB/s
Nach einem Update via apt-get dist-upgrade konnte ich plötzlich df nicht mehr nutzen:
df: relocation error: df: symbol 4, version GLIBC_2.4 not defined in file libc.so.6 with link time reference
Nach viel hin und her hat eine Neuinstallation von coreutils das Problem behoben:
sudo apt-get install --reinstall coreutils