[z]-Blog

Über Open Source im Alltag

LXC-Container mit zwei+ IP-Adressen in verschiedenen Netzwerken

Mit mehrere Netzwerkgeräten kann man einem LXC-Container mehrere IP-Adressen in unterschiedlichen Netzen zuweisen.

Dazu erstellt man in der LXC-Container-Konfiguration (z.B.: /var/lib/lxc/beispiel-kontainer/config) zwei (oder mehr) Blöcke mit entsprechenden Netzwerk-Einstellungen.

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.hwaddr = 00:16:3e:1d:3f:2b
lxc.network.ipv4 = 123.122.121.120/32
lxc.network.ipv4.gateway = 188.187.186.185


lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = lxcbr0
lxc.network.name = eth1
lxc.network.hwaddr = 00:16:3e:1d:4f:1b
lxc.network.ipv4 = 10.0.0.10

In diesem Beispiel hat der Host die IP-Adresse 188.187.186.185 und der Container die private 10.0.0.10 und öffentliche 123.122.121.120 IP-Adresse. Da Host-IP und die öffentliche IP-Adresse des Containers in unterschiedlichen Netzwerken liegen muss man beim Host eine entsprechende Route eintragen.

Hier der entsprechende Auszug aus /etc/network/interfaces des Hosts:

iface br0 inet static
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
        address 188.187.186.185
        broadcast 188.187.186.255
        gateway 188.187.186.1    
        up route add -host  123.122.121.120/32 dev br0

Nun kann der Container neu gestartet werden. Ohne Konfiguration innerhalb des Containers kennt dieser nun 2 neue Netzwerkgeräte, IP-Adressen und die entsprechenden Routen:

$ route -n
Kernel-IP-Routentabelle
Ziel                         Router                      Genmask                   Flags  Metric Ref    Use Iface
0.0.0.0                   188.187.186.185    0.0.0.0                   UG            0       0        0 eth0
10.0.0.0                 0.0.0.0                    255.0.0.0               U              0       0        0 eth1
188.187.186.185   0.0.0.0                    255.255.255.255   UH            0       0        0 eth0

Bash Prompt mit zufälligen Farben

Bildschirmfoto von »2016-06-21 00-08-29«

Wer mit vielen Containern oder Rechnern arbeitet verliert schnell den Überblick darüber in welcher Shell man sich gerade befindet. Aus diesem Grund habe ich mich entschieden die Farben meines Prompts zufällig generieren zu lassen, damit ich schnell merke in welcher Shell ich mich befinde.

Dazu habe ich bei jedem Container drei Zeilen in die ~/.bashrc der root Nutzer eingetragen:

r_col1=$(( $RANDOM * 6 / 32767 +1 ))
 r_col2=$(( $RANDOM * 6 / 32767 +1 ))
PS1='${debian_chroot:+($debian_chroot)}\e[3$(echo $r_col1)m\u\033[0m@\e[3$(echo $r_col2)m\h\033[0m:\w\$ '

Die ersten beiden Zeilen generieren jeweils einen Zufallswert zwischen 1 und 6. Dann werden diese als Farb-Codes in den Prompt eingesetzt:

\e[3$(echo $r_col1)m\u

Dieser Teil fügt mit \e[34m einen zufälligen Farbcode hinzu (31 – 36). Darauf folgt der Benutzername mit \u. Das selbe dann nochmal in anderer Farbe für den Hostname (\h).

Durch die Kombination von Benutzername und Hostname gibt es insgesamt 36 Farbkombinationen. Wer Rot als Farbe ausschließen möchte kann aus dem +1 einfach ein +2 machen.

Das kann man bestimmt auch etwas eleganter umsetzen. In diesem Sinne: Verbesserungsvorschläge willkommen. 😀

mpv – Videos per Tastendruck löschen und verschieben

Wenn man eine größere Video-Sammlung zum Sichten hat, oder Video-Podcasts automatisch herunterladen lässt, dann ist es oft aufwendig die Dateienin einem zweiten Schritt zu löschen oder sortieren.

Mit mpv und selbst definierten Tastenkombinationen in der Konfigurationsdatei ~/.mpv/input.conf kann man den Prozess vereinfachen.

Folgende Zeile in der Datei löscht beim Drücken von Strg+r die aktuell angezeigte Mediendatei und zeigt eine Meldung an.

ctrl+r run "rm" "-v" "${path}" ; show_text "Gelöscht: ${filename}"

Um die Datei nur in den Papierkorb zu verschieben, nicht aber zu löschen kann das Programm trash-cli anstelle von rm verwendet werden. Das Programm befindet sich in den Repositories der meisten großen Linux Distributionen.

Zum verschieben verwendet man mv anstelle von rm.

ctrl+m run "mv" "-v" ${path} "/home/Schreiberling/Schnitt/gesichtet" ; show_text "Nach ~/Schnitt/gesichtet verschoben"

mpv – Tastenkombination zum Drehen von Videos

In der heutigen Zeit kommt es immer häufiger vor dass man mit vertikalen Videos zu tun hat. Es kann viele verschiedene Gründe geben warum warum die Metadaten zur Orientierung des Videos verloren gehen. Für diese Fälle bietet es sich an das Video einfach im Video-Player zu drehen.

Um bei mpv eine Tastenkombination zu vergeben fügt man folgende Zeilen in die Datei ~/.mpv/input.conf hinzu:

# Rotate by 90 degrees clockwise
Alt+RIGHT no-osd vf add rotate=90
# Rotate by 90 degrees counterclockwise
Alt+LEFT no-osd vf add rotate=270

Danach kann man mit „alt“+“Linker Pfeiltaste“ bzw. Rechter Pfeiltaste das Video um 90° gegen oder im Uhrzeigersinn drehen.

Passwort-Recovery bei einem Headless RaspberryPi

Hat man seinen RaspberryPi länger nicht benutzt, oder will SD-Karten mit alten Installationen nutzen kann es sein dass man das Passwort vergessen hat.

Da der RaspberryPi headless läuft kann man nicht einfach einen Bildschirm und Tastatur anschließen und via init=/bin/bash in eine Shell starten. Zumindest ist das in meinem Fall so.

Deshalb nimmt man sich einfach die SD-Karte und öffnet die Passwort-Datei /etc/shadow dort kann man nun folgendes tun:

  1. Den Passwort-Hash ersetzen
  2. Den Passwort-Hash entfernen

Bei der ersten Methode braucht es zuerst einen neuen Hash den man einsetzen kann. Bei Debian und ebenso Raspbian wird der SHA-512 Hashing-Algorithmus verwendet.

In der /etc/shadow steht in der zweiten Spalte der Passwort-Hash, die Spalten werden hier mit : getrennt:

root:$6$X1FoOoKgi4PZR[…]

Fängt der Hash mit $6 an dann handelt es sich um SHA-512. Um nun einen neuen Hash zu generieren nutzt man folgenden Befehl:

mkpasswd -m sha-512 

Dann wird man nach dem Passwort gefragt und es wird ein Hash erstellt. Diesen kann man dann in die Passwort-Datei kopieren.

Man kann aber auch ganz einfach den Hash ganz entfernen, dann braucht es überhaupt kein Passwort mehr. Danach sollte man beim einloggen mit passwd zur Sicherheit jedoch ein neues Passwort vergeben.

GRUB auf allen RAID-Festplatten installieren (Debian & Derivate)

Installiert man ein RAID möchte man im Zweifelsfall von jeder Festplatte booten können. Deshalb sollte GRUB auf allen Festplatten installiert sein. Der Installer von Debian installiert GRUB standardmäßig jedoch nur auf einer Festplatte.

Die einfachste Methode GRUB auf allen Festplatten eines RAIDs zu installieren ist über den folgenden Befehl:

dpkg-reconfigure grub-pc

Dort kann man nun die Festplatten auswählen auf denen GRUB installiert wird. Ändert man die Konfiguration von GRUB wird die Änderung automatisch auf alle Festplatten übertragen.

grub-raid

mpv – ein moderner mplayer fork

mpv ist ein Fork von mplayer bzw. mplayer2 der einige Dinge besser macht.

Neben offensichtlichen Vorteilen wie dem kürzerem Befehl (mpv) verbessert der mplayer-Fork die Usability auch durch andere Kleinigkeiten, wie etwa dem Icon und der UI.

Rechts mplayer ohne Icon, links mpv mit

Rechts mplayer ohne Icon, links mpv mit

Andere Bemerkenswerte Unterschiede zu mplayer(2):

  • Fehler und Meldungen werden farbig im Terminal dargestellt
  • mpv kann direkt von Youtube streamen
  • Das Problem dass Videos, bei verschiedenen Aktionen, un-pausiert wurden existiert nicht
  • Spielt man eine Liste von Videos ab, wird nicht jedes mal ein neues Fenster gezeichnet
  • Lange Parameter starten mit doppeltem Minus: –fullscreen

Die Entwicklung findet bei Github statt: mpv-player

Die Lizenz ist GPLv2 oder höher.

Neues OSD (On Screen Display)

Neues OSD (On Screen Display)

Edit: Möchte man eigene Kommandos aus mpv heraus ausführen kann man dies über das run Kommando tun.

Möchte man etwa die Mediendatei löschen die gespielt wird kann man dies über folgenden Befehl tun.

echo 'ctrl+r run "rm" "${filename}"' >> ~/.mpv/input.conf

Dadurch wird ein neuer Eintrag in die Datei ~/.mpv/input.conf geschrieben. Zunächst definiert man die Taste (-nkombination), nutzt dann den run Befehl und das Kommando das man ausführen möchte, hier rm.

Weitere Informationen findet man in der Datei input.rst und unter Property Expansion in der Dokumentation.

safe-rm – oder wie man Daten vor sich selbst schützt

In einem Moment der Unachtsamkeit kann es dazu kommen, dass man aus Versehen ein Verzeichnis mit wichtigen Daten löscht.

So kann ein kleiner Fehler große Auswirkungen haben:

rm -rf /usr/bin/ doofes_programm

Denn hier wird nicht der Ordner /usr/bin/doofes_programm gelöscht sondern /usr/bin und das Verzeichnis doofes_programm.

Wer seine Daten vor der eigenen Unachtsamkeit schützen will der kann safe-rm benutzen.

Das Programm installiert seine Binary nach /usr/bin/rm, das normale rm in /bin/ bleibt also unberührt. Da bei Debian jedoch zunächst in /usr/bin geschaut wird, wird bei dem Aufruf von rm von nun an safe-rm ausgeführt. Möchte man jedoch das normale rm nutzen kann man die einfach über den vollständigen Pfad ausführen.

In den Konfigurationsdateien für safe-rm kann man festlegen welche Verzeichnisse oder Dateien von safe-rm geschützt werden sollen.

  • /etc/safe-rm.conf – globale Konfigurationsdatei
  • ~/.safe-rm – Konfigurationsdatei des Benutzers Das Programm ist in Debains Repositories zu finden oder bei manch anderer Distribution. Das Programm kann auch von der Projektseite heruntergeladen werden. Die Lizenz ist die GPLv3.

Minetest Mods

Wie versprochen hier eine Liste mit Mods die mir gut gefallen und die auch relativ stabil sind.

Die Lizenzen der Mods sind unterschiedlich und die Lizenzen von Texturen und Sounds können abweichen. Genaue Informationen zur Lizenz der einzelnen Mods stehen im Minetest-Forum und sind in der jeweiligen Archiv-Datei vermerkt. Viele der gelisteten Mods sind unter der WTFPL-Lizenz veröffentlicht. Andere Lizenzen sind die GPL, CC-BY-SA und CC0.

Diverse

  • Craft Guide: Fügt einen Schild und Computer hinzu, auf dem man nachschauen kann wie Gegenstände gecraftet werden.
    Forum | Archiv
  • Set Home: Setzt via /sethome den momentanen Aufenthaltsort als Heimkoordinate zu der man sich mit /home teleportieren kann.
    Forum | Archiv
  • Torches: Ersetzt die normalen Fackeln durch schöne dreidimensionale Fackeln.
    Forum | Archiv
  • Intweak: Fügt dem Inventar ein paar Komfortfunktionen hinzu. So kann etwa ein Werkzeug nach rutschen, wenn das getragene zerbricht.
    Forum | Archiv
  • Doors: Fügt Glas- und Falltür zu Minetest hinzu. Außerdem ertönen beim Öffnen und Schließen entsprechende Geräusche.
    Forum | Archiv

Rohstoffe/Blöcke

  • TNT: Man kann TNT-Blöcke sowie Schwarzpulver erstellen.
    Forum | Archiv
  • Quartz: Stellt den Rohstoff Quarz zur Verfügung. Damit lassen sich z.B. schöne Treppen und andere Blöcke erstellen. Also für Architekten geeignet.
    Forum | Archiv
  • Mesecons: Entspricht den Redstones unter Minecraft. Mesecons fügen elektrische Elemente zu Minetest hinzu. Etwa Lampen, Schalter, Gates, Detektoren aber auch den programmierbaren Mikrocontroller.
    Forum | Archiv | Projektseite

Fahrzeuge

  • Minecarts: Fügt die typische Minenlore zum Spiel hinzu, sodass die Gleise auch genutzt werden können.
    Forum | Archiv
  • Boats: Durch Boats lässt sich ein einfaches Boot/Floß zum fahren bauen.
    Forum | Archiv
  • Helicopter: Ein einfacher Helikopter der zu einfach zu bauen ist. Kann den Spielspaß mindern.
    Forum | Archiv

Einrichtungsgegenstände

  • Gemälde: Man kann mit Papier und Büchern Bilder fertigen und auch Animationen. Wie man eigene Bilder/Animationen erstellt wird im Forum erklärt.
    Forum | Archiv
  • Jukebox: Durch diese Mod lässt die Jukebox formen. Interagiert man mit einer Schallplatte und der Jukebox ertönen ein paar kurze zu Minetest passende Songs (die unter CC0 stehen).
    Forum | Archiv
  • Lavalamp: Fügt mehrere verschiedenfarbige Lavalampen zum Spiel hinzu.
    Forum | Archiv
  • Jumping: Erweitert das Spiel um Trampoline. Besonders praktisch um an höher gelegene Orte zu kommen.
    Forum | Archiv
  • Beds: Betten bieten einem die Möglichkeit die Nacht durch zuschlafen und so Gefahren zu umgehen.
    Forum | Archiv
  • Computer: Wer einen Computer oder Spielkonsole braucht kann sich verschiedene Modelle bauen.Forum | Archiv
  • Furniture: Bunte Sessel, Sofa und stilvolle Tische können mit dieser Mod das eigene blockige Heim schmücken.
    Forum | Archiv
  • Bitcoins: Fügt Blöcke und Bitcoins zum Spiel hinzu. Diese haben keinen höheren Zweck. Man kann dadurch keine echten Bitcoins in Minetest erstellen oder handeln. Forum | Archiv

Gameplay

  • Simple Mobs: Wer böse Monster oder verwirrte Schafe sucht die nicht die CPU fressen findet mit dieser Mod die richtigen Mobs.
    Forum | Archiv

Wenn Ihr andere gute (und stabile) Mods für Minetest kennt, dann schreibt doch einen Kommentar. ◕‿◕

Interessante Vorträge vom LinuxTag 2013

Auch dieses Jahr gab es auf dem LinuxTag viele spannende Vorträge, eine kleine Auswahl davon möchte euch empfehlen. Es sind Vorträge die mir besonders gefallen haben und die auch gut verständlich sind.

  • Watched by machines of loving grace
    Der Vortrag ist in englisch und befasst sich damit wie „general-purpose computer“, also Allzweckrechner die beliebig verwendet werden können, in Gefahr sind und der Computernutzer immer mehr vom Schaffenden zum Konsumenten wird. Der Vortrag zeigt auch welche Kontrolle über proprietäre Software ausgeübt werden kann und wie dies unsere Gesellschaft beeinflusst und beeinflussen kann. Natürlich kann die Kontrolle über den eigenen Rechner und die eigenen Programme und Daten auch zurück erlangt werden, mit Freier Software.
    Seite zum Vortrag | Ogg | MP3

  • Antifeatures
    Antifeatures sind Funktionen die vom Benutzer nicht erwünscht wird, die die Funktionalität einer Software oder Gerätes mindern. Zur Entwicklung dieser Funktionen, die den Nutzer beschränken, muss Energie und Geld aufgewendet werden. Es handelt sich nicht um Bugs oder fehlende Funktionalität.
    Der Vortrag zeigt anhand von Beispielen wie jeder von uns von Antifeatures betroffen ist. Etwa dass das Betriebssystem des Telefons alle Stromsparfunktionen ausschaltet wenn es einen Akku von einem Dritthersteller erkennt. Oder das ein Drucker automatisch die Druckqualität mindert, wenn fremde Druckerpatronen verwendete werden.
    Der englische Vortrag beleuchtet wie diese Antifeatures konkret aussehen, welche Motivation dahinter steht und was der Benutzer dagegen machen kann. Und dass Antifeatures in Freier Software keinen Bestand haben können.
    Seite zum Vortrag | Ogg | MP3

  • Warum wir Zugriff auf unsere Router brauchen
    Ein Vortrag darüber welche Kontrolle wir über unsere Kommunikation mit geschlossenen Routern abgeben und welche Gefahren dies birgt. Der Vortrag behandelt aber auch wie man seinen Router befreit, etwa mit freier Firmware wie OpenWRT.
    Seite zum Vortrag | Ogg | MP3

  • Warum ist Linux für Embedded-Systeme so attraktiv?
    Dieser Vortrag befasst sich mit der Frage warum Linux im Embedded-Bereich so erfolgreich ist. Der Vortrag ist tutorisch aufgebaut, beschäftigt sich wenig mit Technik und behandelt diverse Vorteile von und Vorurteile gegenüber Linux.
    Seite zum Vortrag | Ogg | MP3 | Folien

  • Magic Lantern: Free Software on your camera
    Bei Magic Lantern handelt es sich um freie Software mit der man den Funktionsumfang von Canon DSLR Kameras erweitern kann. Die Firmware der Kamera muss nicht geändert werden. Die Software wird von der Speicherkarte geladen und neben der normalen Firmware ausgeführt. Auch wenn man keine Canon hat ist das Thema sehr interessant, zumal es mehrere solcher Projekte gibt. Wer sich informieren möchte wie man Kameras allgemein mit freier Software erweitern kann, sollte sich den Vortrag anhören, da dort einige Beispiele genannt werden wie die Software die Nutzung der Kamera erheblich vereinfacht und Funktionen ermöglicht die sonst nur Kameras im 5-stelligen Bereich haben.
    Seite zum Vortrag | Ogg | MP3

« Ältere Beiträge

© 2017 [z]-Blog

Theme von Anders NorénHoch ↑