Hyæna

Git: Export der Veränderungen seit Commit xy

Leider hat man nicht immer die Möglichkeit, Änderungen direkt aus der Versionsverwaltung zu exportieren/deployen. Für solche Fälle benötigt man dann einen Export der Änderungen seit dem letzten Commit, der auf den Server gespielt wurde. Das läßt sich ziemlich einfach mit Git erledigen:

$ git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT 05d402db~1 master | xargs tar -rf output.tar

05d402db ist hier der letzte Commit, der auf den Server gespielt wurde. output.tar ist der Tarball, der dann alle Änderungen enthält.

Kurze Durchsage zu diesem Auftritt

  • Statische HTML-Seiten, da mit dem „Static Site GeneratorJekyll erstellt.
  • HTML + CSS
  • Kein verwanztes JavaScript.
  • Keine verwanzten, externen Schriftarten.
  • Keine nervige Werbung.
  • Kein Tracking.
  • Keine Cookies.
  • In den Log-Dateien wird vom fantastischen Uberspace die letzte Stelle der IP-Adressen genullt.

Hier noch kurz das Ergebnis von Webbkoll:

Webbkoll-Ergebnis von hyaena.de

So, und damit ist das Thema Datenschutzerklärung auch schon abgehakt…

LaunchServices-Datenbank in Mac OS X neu aufbauen

Irgendwie zernagelt es mir auf meinem MacBook Pro mit Mavericks ab und zu mal die LaunchServices-Datenbank. Die läßt sich mit folgendem Befehl neu aufbauen:

$ /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user ; killall Dock

Dieser Befehl gilt wahrscheinlich nur für Mavericks, auf anderen Versionen kann er auch anders aussehen! Letztendlich ist dieser Beitrag nur als Notiz für mich gedacht, damit ich schnell darauf zugreifen kann.

Apache – https mit einer htaccess-Datei erzwingen

Und mal wieder ein Beitrag, der als Notiz für mich gedacht ist, damit ich schnellen Zugriff darauf habe. Wird Apache als Webserver benutzt und TLS/SSL ist eingerichtet, so läßt sich in einer htaccess-Datei die Benutzung von https erzwingen:

###Forces https
<IfModule mod_rewrite.c>
    RewriteCond %{SERVER_PORT} !^443
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    ###Set certificate pinning
    ###https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning
    <IfModule mod_headers.c>
        #Header set Public-Key-Pins "max-age=500; includeSubDomains; pin-sha256=\"\"; report-uri=\"report-uri\"";
    </IfModule>

    ###Sets HSTS (Strict-Transport-Security)
    ###https://www.owasp.org/index.php/HTTP_Strict_Transport_Security
    <IfModule mod_headers.c>
        #Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
    </IfModule>
</IfModule>

Terminal-Notizen: Dateien, Ordnergrößen

Mal wieder eine Notiz an mich, dieses mal geht es um das Finden von Dateien und der Anzeige von Ordnergrößen.

Mit diesem Befehl findet man alle Dateien mit der Dateiendung .mov:

$ find -iname "*.mov"

Gesucht wird standardmäßig im Ordner, in dem man sich aktuell befindet; der Parameter -iname gibt an, daß die Suche Groß- und Kleinschreibung nicht beachtet werden soll. Es werden also auch Dateien mit der Endung „.MOV“ gefunden.

Jetzt kommen wir zum Zählen von Dateien:

$ find . -type f | wc -l

Mit diesem Befehl wird die Anzahl aller Dateien im aktuellen Ordner angezeigt.

Zum Abschluß noch ein Befehl zum Anzeigen der Ordnergrößen im aktuellen Ordner (also der Unterordner in diesem):

$ du -sh */

Der Parameter -h gibt an, daß die Ausgabe „human-readable“ sein soll, der Parameter -s bedeutet, daß nur die oberste Ebene angezeigt wird.