Categories
Linux

ls -la file listing with date and time

to display always date and time at file listings (also for files that are older):

ls -la --time-style=long-iso
Categories
Linux MacOS

macOS: ignore hostkeys of some hosts

To ignore hostkey checking for a subnet (i.e. when hosts got changed/provisioned/scaled often) use the following snippet:

# ~/.ssh/config

Host 172.18.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

But use with care, in general hostkey checking is a good idea!

Categories
Linux

force fsck on next boot

How to force a filesystem check on next boot?

touch /forcefsck
Categories
Linux

Debugging NGINX location regex-rules

Nginx has unfortunately no really usable “rewrite log” for regex location matches. But you can create your own small (but sometimes very useful) debug output:

    location ~ ^/(.*?)/(.*)  {

        return 200 'Debug: 1:$1  2:$2';
        add_header Content-Type text/plain;

        # try_files $uri /$1/index.php?$args;
    }

Nginx now simply returns the generated content:

Debug: 1:xxxxx  2:yyyyy

The add_header statement is used to force text-output if you’re debugging using a web-browser (otherwise a download would be created).

Categories
Linux MacOS Networking

Custom routes in OpenVPN client

Um vom Server gepushte Routen zu ignorieren und nur eigene im VPN-Client zu verwenden, genügen folgende Zeilen in der openvpn.conf des Clients:

route-nopull
route 192.168.23.0 255.255.255.0

Ich nutze dies hier mit Tunnelblick auf dem Mac um bei der OpenVPN Config der Astaro wahlweise nicht den gesamten Traffic durchs VPN zu schicken.

Categories
Linux Programmierung Trivial

PHP: error_reporting setting in apache config

Schöner Denkfehler.

In der php.ini setzt man die error_reporting Stufen mittels Bitverknüpfung über Konstanten (Liste):

php_admin_value error_reporting E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

Um für einen bestimmten vhost im Apache abweichende Werte zu setzen, gibt es die Settings “php_admin_value” und “php_admin_flag”. Kommt man jedoch (wie ich) auf die Idee es wie in der php.ini üblich einzutragen, erhält man nicht das gewünschte Ergebnis. Grund ist, dass PHP an dieser Stelle die Konstanten nicht auswerten kann.

# falsch
php_admin_value error_reporting E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

#richtig
php_admin_value error_reporting 22519
Categories
Linux MacOS Tools

MacOS rsync: Zeichensalat

Ähnliches Problem wir hier.

Insbesondere beim Verwenden von “–delete” kommt die von MacOS mitgelieferte rsync-Version nicht mit Sonderzeichen klar. Daten mit Umlauten werden jedes mal gelöscht und danach erneut übertragen. Die mitgelieferte Version (2.6.9) hat noch keinen iconv-Support zum Konvertieren der Zeichensätze.

Abhilfe schafft es rsync 3.x zu installieren: Entweder selbst kompilieren oder ein Binary von z.B. hier verwenden. Rsync liegt danach unter /usr/local/bin/.

Für den Zeichensatz des Macs gibt es ein pseudo-UTF8: “UTF8-MAC”. So klappt es dann endlich mit dem rsync (hier Mac <=> Linux):

/usr/local/bin/rsync -av --delete --iconv=UTF8-MAC,UTF8 -e ssh otto@192.168.24.27:/home/otto/data/ data/
Categories
Linux

CD/DVD Bremse unter Linux

DVD gucken unter Ubuntu aber das Laufwerk rauscht gleichmäßig mit lauten 40x?

Abhilfe:

sudo hdparm -E 1 /dev/sr0

Damit wird das DVD Laufwerk (/dev/sr0) auf 1x gesetzt.

Categories
Linux Networking

Optimale MTU feststellen

Statt endloser ping-Orgien mit unterschiedlichen Paketgrössen erledigt tracepath die Suche nach der optimalen MTU mit einem Kommando:

otto@thinkpad-otto:~$ tracepath 88.151.64.34
 1:  10.0.3.44                                             0.110ms pmtu 1500
 1:  10.0.0.254                                            0.739ms 
 1:  10.0.0.254                                            0.961ms 
 2:  10.0.0.254                                            0.709ms pmtu 1300
 2:  192.168.5.254                                         1.479ms 
 3:  79.173.156.177                                        2.790ms 
 4:  806.gi0-1.managed-lns01.inx.dsl.enta.net             21.856ms 
 5:  806.gi4-37.interxion.dsl.enta.net                    21.036ms 
 6:  te2-3.interxion.core.enta.net                        21.271ms asymm  9 
 7:  te5-1.gs1.core.enta.net                              21.556ms asymm  8 
 8:  te5-8.telehouse-east2.core.enta.net                  47.876ms asymm  7 
 9:  te5-7.telehouse-north0.core.enta.net                 26.689ms asymm  8 
10:  te5-4.amsterdam.core.enta.net                        27.880ms asymm  9 
11:  te-0-1-0.peer1.sara.ams.man-da.net                   28.509ms asymm 10 
12:  te-1-3-0-400.core1.fra1.ix.f.man-da.net              35.467ms 
13:  ge-1-2-9-0.core1.fra3.de.smartterra.net              35.483ms 
14:  xe-0-0-2-501.core1.dus2.de.smartterra.net            38.502ms 
15:  ge1-910.j-3.dus2.hk-net.de                           44.076ms asymm 16 
16:  ge1-99.j-1.dus1.hk-net.de                            42.926ms asymm 17 
17:  wan1.fw-1.dus1.hk-net.de                             39.980ms 
18:  ns2.hk-net.de                                        41.161ms reached
     Resume: pmtu 1300 hops 18 back 47 

Danke Hendrik!

Categories
Allgemein Linux Tools

PDF in PNG/JPG umwandeln (mit ImageMagick)

Mal wieder ein Notizzettel. Alle PDF Dateien in einem Verzeichnis in PNG umwandeln. Dabei auf korrektes Farbprofil achten, die Schriften mit “Antialiasing” rendern und dann das PNG in 8bit Farbtiefe abspeichern:

#!/bin/bash

for f in `find . -name "*.pdf"`; do
echo $f

convert \
-profile CMYK/USWebCoatedSWOP.icc \
-profile RGB/AppleRGB.icc \
-density 480 ${f} -resize 25% \
-set filename:f '%t.%e' \
-flatten \
-colorspace rgb \
-background white \
-depth 8 \
-quality 84 \
PNG:'%[filename:f].png'

done;

Leicht abgewandelt geht das auch als JPG. Dafür nur die Ausgabe ändern. Der Qualityparameter findet nur bei JPEG Anwendung.

Etwas tricky ist die “density” Anweisung: Da ich im Output 120dpi haben möchte aber dennoch gerne einen Antialias Effekt beim Schriftrendering hätte, wird das Bild 4-Fach vergrößert aufgelöst und dann um 25% verkleinert…

Die Colorprofile liegen im Unterverz. “CMYK” und “RGB” und können hier von Adobe heruntergeladen werden. Den Hint mit den Color-Profilen habe ich vom Linux-Magazin.