Über Open Source im Alltag

Schlagwort: Linux

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"

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.

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

Minetest – digitales Lego

Minetest ist ein Open World Game ohne endlichem Spielziel. In der offenen Welt, die dynamisch generiert wird, muss man Mineralien und andere Rohstoffe abbauen. Aus den Rohstoffen kann man sich Werkzeuge, Waffen und andere Gegenstände herstellen (engl.: craften).

Minetest, das initial ein Minecraft-Klon war, ist in der Programmiersprache C++ verfasst und basiert auf der Irrlicht-Engine auf der auch SuperTuxKart basiert.

Das Spiel das sich wie Minecraft als digitales Lego beschreiben lässt, kann durch Mods (kurz für Modifikationen) einfach erweitert werden. Diese sind durch die einfache API und die Unterstützung der Scriptsprache Lua einfach zu entwickeln.

Das Spiel bietet zwei Spielmodi. Im kreative „Creative“-Modus hat man unendlich Ressourcen und kann Rohstoffe sehr schnell abbauen. Im „Survival“-Modus, der normale Spielmodus, muss man überleben. Mit Waffen und Häuser kann man sich gegen die Monster verteidigen die in der Nacht erscheinen. Um sich die Waffen oder Festungen bauen zu können braucht es natürlich Rohstoffe.

Das Spiel ist noch nicht „Feature Complete“, zeitweise wurden die Monster zwischen den Versionen verbessert und zeitweise entfernt, wenn sie nicht den Ansprüchen genügten. Durch Mods kann man aber in jeder Version in den süßen Genuss einer gefährlichen Monsterbedrohung kommen.

Generell kommt erst richtig Spaß auf, wenn man das Spiel mit ein paar Mods erweitert hat. Die Mods bezieht man momentan noch aus dem Forum, ein Paketmanager für Mods ist aber angedacht.

Das Spiel ist Freie Software und unter der LGPLv2.1+ veröffentlicht. Es kann für Linux, Mac OS X und Microsoft Windows heruntergeladen werden. Für die meisten Linux-Distributionen stehen Pakete im jeweiligen Repository bereit die jedoch veraltet. Etwa in allen aktuellen Ubuntu-Version. Über die PPA der Entwickler kann man die neuste Version beziehen. Bei Debian Testing sowie Unstable und aktuelleren Distributionen wie etwa Arch Linux besteht das Problem nicht. Auf der Downloadseite sind immer die richtigen Quellen für die jeweiligen Distributionen verlinkt.

Hier im Blog wird demnächst eine Liste mit empfehlenswerten Mods veröffentlicht.

lesspipe & catdoc – PDF, DOC und mehr im Terminal betrachten

Möchte man mit less eine Datei betrachten, so kann dies zu ungewollten Ergebnissen führen. Öffnet man etwa die PDF-Datei der 04/2012 Ausgabe des freiesMagazin mit less ist das Ergebnis recht unansehnlich:

%PDF-1.4
%<d0><d4><c5><d8>
1 0 obj
< < /S /GoTo /D (12_04_editorial.2) >>
endobj
4 0 obj
(Editorial)
endobj
5 0 obj

Tut man dagegen das Selbe mit lesspipe einem Programm das viele Dateiformate decodiert und in einer leserlichen Form an less übergibt, dann sieht das Ergebnis sehr ansprechend aus.

      freiesMagazin                                                                                      April 2012



      Topthemen dieser Ausgabe

      Python – Teil 12: Reguläre Ausdrücke                                                                Seite 9
      Nachdem im letzten Teil dieser Reihe ein kleiner Twitter-Client besprochen wurde, wird es nun wieder etwas
      theoretischer: Anhand einiger einfacher Beispiele sollen Reguläre Ausdrücke vorgestellt werden. (weiterlesen)

Das funktioniert ebenso mit DOC-Dateien sowie einer Vielzahl von Archivdateien (.deb, .zip, .lz sowie viele Weitere – eine Übersicht findet sich in der Manpage des Programms).

Möchte man sich Dateien mit der Endung .doc ansehen muss man sich zunächst noch das Programm catdoc installieren. catdoc verhält sich selbst wie das cat-Kommando.

Aquarela do Linux! – OpenBSD Release Song für 5.2

OpenBSD veröffentlicht mit jeder neuen Version des Betriebssystems nicht nur Images sondern auch einen Song. Der neue Song zur Version 5.2 befasst sich mit Linux und dem Posix-Standard. Musikalisch wie Inhaltlich ist der Song gelungen. Wie bei den anderen Songs kann es vorkommen, dass man lachen muss. Hört ihn euch doch einfach an: „Aquarela do Linux!“ Hinter dem Link findet ihr die Lyrics und eine kurze Erläuterung zum Hintergrund des Songs. Und natürlich Mp3- sowie Ogg-Download, wobei letzter vorzuziehen ist. Hört euch auch die älteren Songs an, es lohnt sich! Aber nicht zu ernst nehmen.

© 2020 [z]-Blog

Theme von Anders NorénHoch ↑