ubuntuusers.de

31. August 2014

Ich arbeite derzeit mal wieder an einem Spiel welches ich in Python programmiere.
Es soll ein Aufbauspiel wie Anno oder Sim City werden und ist bereits spielbar, auch wenn ich noch nicht alle Features eingebaut habe die ich mir für die erste Veröffentlichung Ausgedacht habe.

Ich nutze dafür die Bibliothek Pygame für die ich mir auch einen kleinen Wrapper geschrieben habe.
Den Wrapper nutze ich unter anderem für die GUI Elemente wie Buttons.

Wie man auf dem Bildschirmfoto bereits erkennen kann spielt dass Spiel in der Vergangenheit wobei ich später noch mehrere Epochen einbauen möchte.
Ähnlich wie die Siedler ist dass Spiel jedoch runden basiert sodass man zwar in einer Runde unendlich viel Bauen kann aber beispielsweise die Gebäude nur pro runde die Materialien produzieren.

Um die Geschichte zu erzählen habe ich mir ein Quest System ausgedacht wobei es bei jeder Quest auch unterschiedliche Belohnungen gibt.
Die Belohnungen passen dabei immer zu der Aufgabe und werden in dem jeweiligem Quest Text genauer erklärt.

Die Grafiken und der Code stammen dabei von mir jedoch plane ich es später einmal unter einer Open Source Lizenz zu veröffentlichen.

Hier ein erster Eindruck:

Quelle - Marc Volker Dickmann
Quelle – Marc Volker Dickmann

Heute mal wieder ein Beitrag aus einem aktuellen Anlass. Zunächst begann es mit etwas Erfreulichem, dass jemand über die Linux-Auswahlhilfe berichtet hat wodurch diese 700 mal in wenigen Stunden benutzt wurde.

Unter dem Beitrag, bei dem über den Dienst berichtet wurde begann schon wieder das  “Hating”. Natürlich weiß ich selbst, dass die Linux-Auswahlhilfe weder fertig noch perfekt ist, aber so etwas als unnötig bzw. mehr oder weniger als Müll zu bezeichnen finde ich mehr als unfair. Das bin ich bei der Linux-Auswahlhilfe gewohnt. Es gab schon öfters kontroverse Diskussionen darüber, ob es jetzt Sinn macht oder nicht.

Die ursprüngliche Motivation für die Linux-Auswahlhilfe war eigentlich, Anfängern eine Orientierungshilfe zu bieten. Diese Idee kommt wohl nicht bei jedem an.

Mal wieder schön zu sehen, wie wenig manche Menschen die Arbeit von Entwicklern honorieren. Etwas mit negativem Gelapper schlecht zu reden geht leicht, etwas selbst zu schrieben hingegen nicht. Ich schreibe Software, die frei von jeden Restriktionen ist. Und da erwarte ich als Gegenleistung nicht, dass ein Kniefall notwendig wird, aber lediglich eine gewisse Anerkennung bzw. produktive (!) Kritik sind durchaus angebracht.

Was mich sehr betroffen gemacht hat, war die Behauptung ich hätte einfach kopiert. Ja, es gibt bereits einen ähnlichen Dienst. Dieser wurde offensichtlich seit 2011 nicht mehr gepflegt. Daher fand ich eine etwas modernere, auf Mobilgeräten anzeigbarer Dienst wäre angebracht gewesen. Daher finde ich, dass dieses Argument ziemlicher Humbug ist.

Alles neben produktiver Kritik ist einfach nur unangebracht und nimmt einem als Entwickler wirklich den Wind aus den Segeln, um weiter zu machen. Ich bin da ziemlich empfindlich, dass muss ich zugeben. Daher fehlt mir heute wirklich die Motivation, an irgendetwas zu entwickeln.

Eigentlich wollte ich heute die bisher gesammelten Verbesserungsvorschläge umsetzen. Daran ist mir heute ziemlich die Lust vergangen.

http://knowyourmeme.com/photos/248079-feels-bad-man-sad-frog

http://knowyourmeme.com/photos/248079-feels-bad-man-sad-frog

Mich würde es einmal interessieren, was ihr zu so etwas sagt. Stimmt ihr mir zu?

PS: Ich poste keinen Quelllink, denn ich will keinen Shitstorm starten.

Der Wochenrückblick lässt das Geschehen der vergangenen Woche rund um Ubuntu, Linux und Open Source Revue passieren.

Rund um Ubuntu

Canonical als WEF Tech Pioneer 2015 ausgezeichnet

Canonical, die Firma hinter Ubuntu, wurde vom World Economic Forum als „Tech Pioneer 2015“ im Bereich „Digital Networks & Computing“ ausgezeichnet. Ein anderer, ausgezeichneter Bekannter in der gleichen Sparte ist die Raspberry Pi Foundation.

Quelle: Ubuntu Insights

Erste Beta-Versionen der Ubuntu-Familie für 14.10

Das Utopic Unicorn erscheint im Oktober 2014, letzte Woche wurden die ersten Beta-Versionen der verschiedenen Ubuntu-Derivate veröffentlicht, darunter Xubuntu, Kubuntu, Ubuntu GNOME, Lubuntu, Ubuntu Kylin und Ubuntu Cloud Images. Von Ubuntu selbst gibt es keine Beta-Versionen, da es tägliche „Daily Builds“ zum Download gibt. Achtung: Beta-Versionen sind nicht zum produktiven Einsatz gedacht!

Quellen: OMG!Ubuntu!, Pro-Linux, heise open

Ubuntu GNOME Wallpaper-Contest

Noch bis zum 5. September 2014 kann man für die Hintergrundbilder von Ubuntu GNOME 14.10 abstimmen. Der Wettbewerb wird über Picompete durchgeführt. Nach der Wahl werden die 10 besten Hintergrundbilder ausgewählt und mit der Distribution ausgeliefert.

Quelle: Ubuntu GNOME Blog

Full Circle Magazine 88

Diese Woche ist die neue Ausgabe des englischsprachigen Magazins Full Circle Magazine erschienen. Themen der 88. Ausgabe sind unter anderem Tutorials zu Blender, Inkscape und LibreOffice, ein kurzer Blick auf Arduino, Einrichtung eines minimalen Ubuntu-Desktops und Kompilierung des Linux-Kernels.

Quelle: Full Circle Magazine Blog

Neues rund um Linux

Leadwerks Game Engine für Linux

Eine weitere Engine steht für die Spieleprogrammierung unter Linux zur Verfügung: die durch eine Kickstarter finanzierte Portierung der Leadwerks Game Engine. Diese kann man ab sofort bei Steam für ca. 93 Euro als Einzellizenz kaufen. Die LGE unterstützt OpenGL 4.0 und verschiedene Skriptsprachen, vor allem Lua. Unter Linux gibt es auch eine Blender-Integration.

Quellen: Pro-Linux, Golem, heise open

Spielen unter Linux

The Journey Down, Teil 2 veröffentlicht

Vom erfolgreichen Indie-Spiel The Journey Down ist der zweite Teil erschienen. Mit karibisch-afrikanischem Flair und Jazz-Klängen stach der erste Teil des Point-and-Click-Adventures aus der Menge der Abenteuerspiele heraus. Und auch im zweiten Teil darf wieder fröhlich gepuzzelt werden.

Quelle: heise open

Hardware und Mobiles

Huawei sieht keine Chance für Tizen

Der Mobilmarkt wird derzeit von Google Android und Apple iOS dominiert. Es gibt zahlreiche weitere Versuche, andere Mobilsystem zu etablieren. Darunter Ubuntu Phone, Firefox OS, Sailfish OS oder Tizen. Für letzteres sieht Gerätehersteller Huawei keine Chancen im Markt. Ob sich die anderen Systeme gegen die zwei Platzhirsche durchsetzen können, bleibt abzuwarten.

Quellen: Pro-Linux, heise open

FSFE: Free Your Android

Die Free Software Foundation Europe (FSFE) hat die Kampagne Befreie Dein Android ins Leben gerufen. Grund ist, dass die meisten Treiber für Mobilgeräte und Programme im Android Market nicht frei sind. Dabei geht es aber auch um das Thema Privatsphäre, die mit vielen Apps nicht gewahrt ist.

Quelle: heise open

Heute geht es nicht um Ubuntu / Linux Basteleien, sondern um komfortables Lesen und Arbeiten mit dem Rechner. Schon seit längerem bietet der Markt eigentlich nur noch LC-Displays im Format 16:9 an. Dieses Format eignet sich hervorragend zum Anschauen von Spielfilmen, dem Spielen von Computerspielen und – was eigentlich? Das Layout der meisten Texte in meinem Kulturkreis ist auf Seitenverhältnis von 1:1,41 Hochkant ausgelegt.
Das harmonisiert nicht wirklich mit den Verhältnis 1:1,78 der meisten Computerbildschirme. Den größten Teil des Tages verbringe ich mit dem Lesen und Schreiben von Texten und nicht mit Spielen oder Filme schauen – 16:9 geht also klar an meinen Bedürfnissen vorbei.
Da heute Sonntag ist habe ich ein wenig an meinen Monitoreinstellungen herumgebastelt und gearbeitet.
Bisher habe ich 3 Displays (1* 15,6″, 1* 23″, 1*24″) mit einer jeweiligen Auflösung 1920 * 1080 Pixel genutzt. Nun habe ich ein Display im Uhrzeigersinn nach rechts gedreht und Screenshots gemacht. Im unteren Display sind die Bildschirmeinstellungen.

Im ersten Screenshot ist eine normale Newsseite im Netz zu sehen. Bemerkenswert ist der graue Rand, dieser ist sichtbar, da ich zu Testzwecken die Werbung auf der Seite ausgeblendet habe. Auffällig ist das schlechte Verhältnis von grauer Fläche zu Inhalt. Im Hochformat sieht die Sache schon ganz anders aus – weniger Grau und viel mehr Text. Informationen gehen nicht verloren. Das Rumklicken und Lesen auf der Seite macht deutlich mehr Spaß auch wenn die Darstellung ein wenig ungewohnt ist.

Internetseite einmal im Hoch- und einmal im Querformat

Viel interessanter ist der zweite Screenshot. Damit verbringe ich den größten Teil meiner Arbeitstage, dem Erstellen von unformatiertem Text. Rechts und Links ist der gleiche Code dargestellt. Der graue Balken zeigt den rechten Rand nach 120 Zeichen an. Diese Größe ist für mich sehr wichtig, da ich sehr selten und auch ungern Zeilen schreibe die länger sind.

2 mal der gleiche C Code, einmal im Hoch und einmal im Querformat.
2 mal der gleiche C Code, einmal im Hoch und einmal im Querformat.

Hier überzeugt das Hochformat! Man erkennt mehr Zeilen und muß nich so sehr am Mausrad drehen. Zum rechten Rand ist noch ein wenig Platz für Ausnahmen von der Regel und statt magerer 54 Zeilen sieht man 104 Zeilen!

Reiner Text ist meiner Meinung nach auch angenehmer zu lesen.

Faust im Browser
Faust im Browser

Zum Schluss bleibt die Frage, wie Ihr Eure Displays eingestellt habt. Arbeitet Ihr nur im Hoch oder Querformat oder nutzt Ihr beides?

Der Beitrag Ergonomisches arbeiten mit 16:9 Displays erschien zuerst auf Unerklärliches am Rande.

Heute geht es nicht um Ubuntu / Linux Basteleien, sondern um komfortables Lesen und Arbeiten mit dem Rechner. Schon seit längerem bietet der Markt eigentlich nur noch LC-Displays im Format 16:9 an. Dieses Format eignet sich hervorragend zum Anschauen von Spielfilmen, dem Spielen von Computerspielen und – was eigentlich? Das Layout der meisten Texte in meinem Kulturkreis ist auf Seitenverhältnis von 1:1,41 Hochkant ausgelegt.
Das harmonisiert nicht wirklich mit den Verhältnis 1:1,78 der meisten Computerbildschirme. Den größten Teil des Tages verbringe ich mit dem Lesen und Schreiben von Texten und nicht mit Spielen oder Filme schauen – 16:9 geht also klar an meinen Bedürfnissen vorbei.
Da heute Sonntag ist habe ich ein wenig an meinen Monitoreinstellungen herumgebastelt und gearbeitet.
Bisher habe ich 3 Displays (1* 15,6″, 1* 23″, 1*24″) mit einer jeweiligen Auflösung 1920 * 1080 Pixel genutzt. Nun habe ich ein Display im Uhrzeigersinn nach rechts gedreht und Screenshots gemacht. Im unteren Display sind die Bildschirmeinstellungen.

Im ersten Screenshot ist eine normale Newsseite im Netz zu sehen. Bemerkenswert ist der graue Rand, dieser ist sichtbar, da ich zu Testzwecken die Werbung auf der Seite ausgeblendet habe. Auffällig ist das schlechte Verhältnis von grauer Fläche zu Inhalt. Im Hochformat sieht die Sache schon ganz anders aus – weniger Grau und viel mehr Text. Informationen gehen nicht verloren. Das Rumklicken und Lesen auf der Seite macht deutlich mehr Spaß auch wenn die Darstellung ein wenig ungewohnt ist.

Internetseite einmal im Hoch- und einmal im Querformat

Viel interessanter ist der zweite Screenshot. Damit verbringe ich den größten Teil meiner Arbeitstage, dem Erstellen von unformatiertem Text. Rechts und Links ist der gleiche Code dargestellt. Der graue Balken zeigt den rechten Rand nach 120 Zeichen an. Diese Größe ist für mich sehr wichtig, da ich sehr selten und auch ungern Zeilen schreibe die länger sind.

2 mal der gleiche C Code, einmal im Hoch und einmal im Querformat.
2 mal der gleiche C Code, einmal im Hoch und einmal im Querformat.

Hier überzeugt das Hochformat! Man erkennt mehr Zeilen und muß nich so sehr am Mausrad drehen. Zum rechten Rand ist noch ein wenig Platz für Ausnahmen von der Regel und statt magerer 54 Zeilen sieht man 104 Zeilen!

Reiner Text ist meiner Meinung nach auch angenehmer zu lesen.

Faust im Browser
Faust im Browser

Zum Schluss bleibt die Frage, wie Ihr Eure Displays eingestellt habt. Arbeitet Ihr nur im Hoch oder Querformat oder nutzt Ihr beides?

Der Beitrag Ergonomisches arbeiten mit 16:9 Displays erschien zuerst auf Unerklärliches am Rande.

30. August 2014

Mozilla wird in der kommenden Woche Firefox 32 veröffentlichen. Mit der neuen Version unterstützt Firefox das sogenannte Public Key Pinning, was das Browsing sicherer machen soll.

Beim Public Key Pinning geht es darum, beim Besuch einer verschlüsselten Webseite zu überprüfen, ob das verwendete Zertifikat von einem vertrauenswürdigen Herausgeber stammt. Genauer gesagt erlaubt das Public Key Pinning die Definition, welche Zertifizierungsstelle gültige Zertifikate für eine bestimmte Webseite ausstellt, statt jedes beliebige Zertifikat zu akzeptieren, welches mit dem Browser ausgeliefert wird. Dies soll das Risiko von Man-in-the-middle-Attacken durch fälschlich ausgestellte Zertifikate reduzieren, wie es sie in der Vergangenheit schon öfter gab.

Firefox 32 unterstützt Pins, welche fix im Browser hinterlegt sind. Dies sind ab Firefox 32 Mozillas Add-on-Seite AMO und Mozillas CDN sowie einige Twitter-Domains. Mit Firefox 33 kommen die restlichen Twitter-Domains sowie die Domains von Google dazu. Ab Firefox 34 sind Pins für Firefox Accounts, Dropbox, Facebook und TOR integriert. In Zukunft möchte man auch die entsprechende HTTP-Erweiterung unterstützen, welche Webseitenbetreibern das Festlegen mittels HTTP-Header erlaubt.

Mozilla wird in der kommenden Woche Firefox 32 veröffentlichen. Mit der neuen Version unterstützt Firefox das sogenannte Public Key Pinning, was das Browsing sicherer machen soll.

Beim Public Key Pinning geht es darum, beim Besuch einer verschlüsselten Webseite zu überprüfen, ob das verwendete Zertifikat von einem vertrauenswürdigen Herausgeber stammt. Genauer gesagt erlaubt das Public Key Pinning die Definition, welche Zertifizierungsstelle gültige Zertifikate für eine bestimmte Webseite ausstellt, statt jedes beliebige Zertifikat zu akzeptieren, welches mit dem Browser ausgeliefert wird. Dies soll das Risiko von Man-in-the-middle-Attacken durch fälschlich ausgestellte Zertifikate reduzieren, wie es sie in der Vergangenheit schon öfter gab.

Firefox 32 unterstützt Pins, welche fix im Browser hinterlegt sind. Dies sind ab Firefox 32 Mozillas Add-on-Seite AMO und Mozillas CDN sowie einige Twitter-Domains. Mit Firefox 33 kommen die restlichen Twitter-Domains sowie die Domains von Google dazu. Ab Firefox 34 sind Pins für Firefox Accounts, Dropbox, Facebook und TOR integriert. In Zukunft möchte man auch die entsprechende HTTP-Erweiterung unterstützen, welche Webseitenbetreibern das Festlegen mittels HTTP-Header erlaubt.

In der Vergangenheit habe ich immer mal wieder mit youtube-dl experimentiert. Was mir bisher immer noch fehlte war eine Möglichkeit das Abspielen der Videos im externen Player zu vereinfachen. Es ist schon sehr mühselig die Videolinks zu kopieren und in einem Eingabedialog wieder einzufügen. Mit nur wenigen Zeilen Bash Code ist es möglich diesen Prozess einfacher zu halten.

Der Link zum Video wird wie gehabt mit der rechten Maustaste kopiert und das Video über eine Tastenkombination gestartet. Ermöglicht wird das durch das kleine Programm xsel über das man die Zwischenablage in einem Script auslesen kann. In Kombination mit youtube-dl und einem kleinen Bash Script lassen sich Videos über eine Tastenkombination direkt im externen Player starten. In meinem Fall habe ich dafür die Kombination [STRG+F12] gewählt. Eine Tastenkombination lässt sich in den Systemeinstellungen sehr einfach festlegen.

 

Das nachfolgende Script muss dann nur noch als solches gespeichert und ausführbar gemacht werden. Am besten man wählt einen Speicherort der im Pfad eingetragen ist, z.B. /usr/local/bin das hat den Vorteil das man nicht den kompletten Pfad angeben muss um das Script aufzurufen. Die Tastenkombination muss nun auf das Script verweisen.

Wenn youtube-dl VLC und xsel installiert ist kann man jetzt Youtube Videolinks die mit der rechten Maustaste kopiert wurden über die Tastenkombination im VLC Player öffnen lassen. Wer einen anderen Player nutzen möchte muss das Script entsprechend abwandeln.

Das Script:

[codesyntax lang=”bash”]

#!/bin/bash

ADRESSE=$(xsel -b)
STREAM=$(youtube-dl -g $ADRESSE)
vlc $STREAM
exit 0

[/codesyntax]

The post Youtube Videos mit Tastenkombination im VLC Player starten appeared first on Radiolauscher.de.

29. August 2014

openSUSE zählt seit jeher zu den wenigen Distributionen, die dem Thema Running Release eine große Bedeutung zumessen. Vor einem Monat hat sich allerdings der Ansatz grundsätzlich geändert: Während man bisher openSUSE-Fans über das Thumbleweed-Projekt die Möglichkeit gab, eine gewöhnliche openSUSE-Installation in ein Running Release umzuwandeln, gilt seit Ende Juli 2014 der Entwicklungszeig von openSUSE, die sogenannte Factory, als Rolling Release.

Installation

Es gibt für die Factory kein eigenes Installationsmedium. Stattdessen müssen Sie zuerst eine aktuelle openSUSE-Distribution installieren. Nach einem Update löschen Sie die ursprünglichen Paketquellen und richten stattdessen die Factory-Paketquellen für oss, non-oss und debug ein. zypper dup stellt dann die normale openSUSE auf den Entwicklungszweig = Rolling Release Factory um. Es wird empfohlen, zypper dup in einer Textkonsole auszuführen.

mkdir /etc/zypp/repos.d/old
mv /etc/zypp/repos.d/*.repo /etc/zypp/repos.d/old
zypper ar -f -c http://download.opensuse.org/factory/repo/oss repo-oss
zypper ar -f -c http://download.opensuse.org/factory/repo/non-oss repo-non-oss
zypper ar -f -c http://download.opensuse.org/factory/repo/debug repo-debug
zypper lr -u
   # | Alias        | Name         | Enabled | Refresh | URI                                              
   --+--------------+--------------+---------+---------+------------
   1 | repo-debug   | repo-debug   | Yes     | Yes     | http://...
   2 | repo-non-oss | repo-non-oss | Yes     | Yes     | http://...
   3 | repo-oss     | repo-oss     | Yes     | Yes     | http://...
zypper dup
  1412 packages to upgrade, 112 to downgrade, 238 new, 
  39 to remove, 30  to change vendor, 3 to change arch.
  Overall download size: 1.33 GiB. After the operation, 
  additional 831.2 MiB will be used.
  ...

Die Umstellung auf Factory hat bei meinem Test in einer VirtualBox-Maschine deutlich länger als eine Stunde gedauert, sie ging aber sonst vollkommen problemlos vor sich. Je nachdem, wie schnell Ihre Internet-Verbindung und Ihr Rechner ist und wie viele Pakete Sie installiert haben, kann die Umstelldauer natürlich stark variieren.

Update 8.9.2014 (danke an AlexMR!): Aktuelle Factory-ISOs gibt es hier: http://download.opensuse.org/factory/iso/

Erste Erfahrungen

Erste Tests zeigten keine Auffälligkeiten: KDE wurde auf Version 4.14 aktualisiert, der Kernel auf Version 3.16, LibreOffice auf Version 3.16 etc. Eine Liste der gerade aktuellen Versionsnummern in der Factory können Sie am unkompliziertesten auf distrowatch.com nachlesen (gleich in der ersten Spalte Factory).

/etc/SUSE-brand bezeichnet die Factory-Distribution ganz locker als openSUSE 13.2. /etc/os-release gibt etwas differenziertere Informationen:

Release-Informationen
Release-Informationen

Wie stabil Factory als Running Release langfristig läuft, kann ich momentan nicht abschätzen. Für meine produktiven Rechner ist mir die Sache zu brenzlig, aber ich habe mir vorgenommen, in Zukunft hin und wieder in meine virtuelle Factory-Maschine hineinzusehen und an dieser Stelle von meinen Erfahrungen zu berichten.

Tumbleweed ade?

Die Zukunft des ehemaligen Tumbleweed-Projekts ist ungewiss. Greg Kroah-Hartman versichert zwar, Tumbleweed vorerst weiterhin zu warten, er verwendet Tumbleweed selbst aber nicht mehr und hofft, dass das Factory-Angebot die bessere Lösung darstellt. Insofern darf man berechtigte Zweifel daran haben, dass Tumbleweed noch eine große Zukunft vor sich hat.

Update 26.10.2014

Vorgestern hat openSUSE verkündet, dass Tumbleweed und Factory im November vereint werden sollen. Das Rolling Release bekommt dann den Namen »Tumbleweed«. Die »Factory« soll weiterhin der Entwicklerzweig bleiben. Technische Details sollen in den nächsten Tagen folgen, vorauss. nach der Freigabe von openSUSE 13.2.

Links

https://news.opensuse.org/2014/07/29/factory-rolling-release/
http://en.opensuse.org/openSUSE:Factory_installation
http://de.opensuse.org/Portal:Factory
http://de.opensuse.org/Portal:Tumbleweed
http://lists.opensuse.org/opensuse-factory/2014-07/msg00098.html
openSUSE inkl. Factory bei distrowatch.com

Seit Anfang Juli ist CentOS 7 verfügbar. Der neuen Kooperation zwischen Red Hat und CentOS ist es zu verdanken, dass die Freigabe von CentOS 7 nicht einmal ein Monat nach der Fertigstellung von RHEL 7 gelang.

CentOS 7 im Classical Mode von Gnome 3.8

Für nicht-kommerzielle Linux-Server-Anwender zählt CentOS neben Debian und Ubuntu zu den attraktivsten Angeboten. Wer nicht ständig die neuesten Gnome-, Gimp- und LibreOffice-Versionen braucht, kann sogar den Desktop-Einsatz in Erwägung ziehen. Aus meiner Sicht ist CentOS 7 neben Ubuntu 14.04 die interessanteste Linux-Distribution des Jahres 2014.

Eckdaten

  • Versionen: CentOS unterscheidet im Gegensatz zu Red Hat nicht zwischen Desktop-, Workstation- und Server-Varianten. Stattdessen gibt es nur ein CentOS.
  • Versionsnummern: Die CentOS-Versionsnummer wird regelmäßig aktualisiert, und zwar in der Form 7-YYMM. Dabei gibt YY das Jahr und MM das Monat an. Als ich diesen Text verfasst habe, war CentOS 7-1408 aktuell.

  • Architekturen: Momentan steht CentOS 7 nur für die x86_64-Architektur zur Verfügung. Varianten für x86-32, Power und 32-Bit-ARM soll es später geben.

  • SIGs: SIGs sind Special Interrest Groups. In Zukunft soll es speziell angepasste Distributions-Varianten dieser Gruppen geben, z.B. für den Cloud-Einsatz von CentOS.

  • ISO-Images: Zu CentOS gibt es diverse ISOs zum Download. Empfohlen wird das rund 4 GByte große DVD-Image. Alternativ gibt es ein fast 7 GByte großes Everything-ISO-Image, ein 570 MByte großes Minimal-ISO sowie ein 360 MByte großes NetInstall-Image (erfordert Netzwerkzugang während der Installation). Zum Ausprobieren sowie für Reparaturarbeiten können Sie zwischen KDE- und Gnome-Live-Images wählen (1,2 bzw. 1 GByte).

  • Updates: CentOS verspricht Updates für CentOS 7 bis Ende 2020 sowie sogenannte Maintenance-Updates bis Juni 2024, somit für insgesamt 10 Jahre. Sicherheits-Updates soll es spätestens innerhalb von 48 Stunden nach der Veröffentlichung durch Red Hat geben.

CentOS 7 im Classical Mode von Gnome 3.8
CentOS 7 im Classical Mode von Gnome 3.8

Wichtige Neuerungen, Software-Versionsnummern

CentOS übernimmt naturgemäß alle wichtigen Neuerungen von RHEL 7 (siehe auch
meinen Blogbeitrag zu RHEL-7-Beta):

  • Installation: Bei der Installation müssen Sie sich mit den Tücken und der unlogischen und nicht intuitiven Bedienung eines neuen Installationsprogramms abfinden. Wer regelmäßig Fedora installiert, kennt dieses Programm bereits und wird sich leichter zurechtfinden.
  • Standarddateisystem: Als Standarddateisystem kommt XFS zum Einsatz. Hauptgrund für diese Entscheidung war, dass XFS bei sehr großen Dateisystemen (mehr als 16 TByte) offensichtlich robuster läuft als ext4.

  • Init-System: Wie die meisten Linux-Distributionen ist nun auch CentOS auf Systemd umgestiegen.

  • Gnome 3 im Classic Modus: Der Standard-Desktop ist Gnome im Classic Modus, basierend auf Gnome 3.8. Die echte Gnome-Shell ist ebenfalls installiert und kann beim Login ausgewählt werden (über das Zahnrad-Menü links vom Button Anmelden).

  • MySQL ade: CentOS verwendet nun MariaDB als MySQL-kompatiblen Datenbank-Server.

  • Firewall: Das in Fedora seit einem Jahr bekannte FirewallD-System kommt nun auch unter CentOS zum Einsatz. Die Administration von Firewall-Regeln ändert sich damit grundlegend!

Abschließend eine Liste mit den wichtigsten Versionsnummern:

Basis             Desktop             Programmierung   Server
---------------   ------------------  ---------------  ---------------
Kernel    3.10    Gnome        3.8    bash     4.2     Apache    2.4
glibc     2.17    KDE          4.10   gcc      4.8     CUPS      1.6
GRUB      2.0     Firefox      24     Java     7       MariaDB   5.5
Systemd   208     Gimp         2.8    PHP      5.4     qemu/KVM  1.5 
X-Server  1.15    LibreOffice  4.1    Python   2.7     Postfix   2.10
                  Thunderbird  ---                     OpenSSH   6.6
                                                       Samba     4.1

Offizielle Thunderbird-Pakete gibt es nicht, diese sind in EPEL zu finden.

Installation

Beachten Sie bei der Installation, dass standardmäßig nur die Pakete für den Betrieb im Textmodus installiert werden. Wenn Sie CentOS mit einer grafischen Benutzeroberfläche verwenden möchten, müssen Sie die Software-Auswahl vor Beginn der Installation entsprechend korrigieren.

Bei Desktop-Installationen kümmert sich wie üblich der NetworkManager um den Netzwerkzugang. Unverständlicherweise wird bei einer Netzwerkanbindung per Ethernet-Kabel zu einem DHCP-Server die Ethernet-Schnittstelle nicht automatisch aktiviert — ein Problem, das ich in der Vergangenheit schon oft unter Fedora beobachtet habe. Abhilfe: Klicken Sie auf das NetworkManager-Icon im Panel, führen Sie Netzwerkeinstellungen aus, wählen Sie die Ethernet-Schnittstelle aus und aktivieren Sie im Dialogblatt Identität die Option automatisch verbinden.

Der NetworkManager soll die Ethernet-Schnittstelle automatisch aktivieren.
Der NetworkManager soll die Ethernet-Schnittstelle automatisch aktivieren.

EPEL

Im Vergleich zu Debian, Ubuntu oder Fedora ist die Paketauswahl in CentOS bzw. RHEL mager. Die beste Sammlung wichtiger Zusatzpakete bietet EPEL = Extra Packages for Enterprise Linux. Zum Einrichten der Paketquelle laden Sie einfach das Paket epel-release-7.n.noarch von der EPEL-Webseite herunter und installieren es. Wenn Sie keine grafische Benutzerfläche installiert haben, führen Sie dazu das folgende Kommando aus:

rpm -i http://fedora.aau.at/epel/7/x86_64/epel-release-7-0.2.noarch.rpm

GRUB-Wartezeit vermindern

Standardmäßig zeigt GRUB 5 Sekunden ein Menü an, bevor es CentOS startet. Im
Server-Einsatz ist das überflüssig. Abhilfe: Stellen Sie in /etc/default/grub
den Parameter GRUB_TIMEOUT=1 ein und führen Sie dann grub2-mkconfig -o
/boot/grub2/grub.cfg
aus.

Fail2ban statt denyhosts

Wie schon unter Ubuntu 14.04 ist auch in CentOS 7 das Paket denyhosts nicht mehr verfügbar. Alternative:

yum install fail2ban
systemctl enable fail2ban
systemctl start fail2ban

Standardmäßig sind in fail2ban alle Jails deaktiviert. Um SSHD abzusichern, kopieren Sie zuerst jail.conf nach jail.local und suchen dort nach dem Abschnitt [sshd]. In diesem Abschnitt fügen Sie die Zeile enabled=true ein. Wenn Sie andere Dienste absichern möchten, verfahren Sie analog.

cd /etc/fail2ban
cp fail.conf fail.local
emacs fail.local
systemctl restart fail2ban

Nach ein paar Minuten vergewissern Sie sich mit fail2ban-client status sshd, dass fail2ban wirklich funktioniert.

Automatische Updates

Wenn Sie möchten, dass yum einmal täglich ein automatisches Update durchführt, installieren Sie yum-cron. Damit tatsächlich Updates durchgeführt werden, tragen Sie in /etc/yum/yum-cron.conf die Einstellung apply_updates = yes ein. Um den Update-Aufruf kümmert sich die Cron-Datei /etc/cron.daily/0yum-daily.cron, die Sie nicht verändern müssen.

CentOS in VirtualBox

Wenn Sie CentOS in VirtualBox verwenden, ist die Bildschirmauflösung auf 1024×768 Punkte limitiert. Abhilfe schafft die Installation der Guest Additions. Dazu führen Sie zuerst im VirtualBox-Fenster das Menükommando Devices/Insert Guest Additions CD image aus, dann innerhalb der virtuellen Machine die folgenden Kommandos:

su -l
yum install gcc make kernel-headers kernel-devel
/run/media/<loginname>/VBOXADD*/VBoxLinuxAdditions.run
reboot

Links

CentOS-Webseite
CentOS 7 Release Notes
CENTOS 7 FAQ
CentOS-7-Downloads
CentOS-7-Vorstellung auf heise.de
CentOS-7-Vorstellung auf lwn.net
CentOS 7 auf distrowatch.com

Seit Version 210 enthält systemd einen Dienst systemd-networkd für die Konfiguration von Netzwerkschnittstellen, zusätzlich gibt es seit Version 213 mit systemd-timesyncd auch einen einfachen NTP Client. Durch diese beiden Dienste wird die distributionsspezifische Netzwerkkonfiguration langfristig standardisiert.

Zum jetzigen Zeitpunkt bin ich auf meinen Clients, welche DHCP verwenden, auf die beiden neuen Dienste umgestiegen. Als Vorbereitung ist es ratsam dem DHCP Server die Option für den gewünschten NTP Server mit auf den Weg zu geben, so kann eine Anpassung der NTP Konfiguration auf allen Clients ausbleiben. Als Nächstes erstellen wir eine Konfigurationsdatei für unsere Netzwerkschnittstelle enp3s0 mit dem Dateinamen /etc/systemd/network/enp3s0.network:

[Match]
Name=enp3s0

[Network]
DHCP=yes

Durch diese Konfiguration erreichen wir das die oben genannte Netzwerkschnittstelle durch DHCP konfiguriert werden soll. Jetzt können die alten Dienste deaktiviert, und die neuen aktiviert werden:

netctl disable main
systemctl disable ntpd
systemctl enable systemd-networkd
systemctl enable systemd-timesyncd
Wenn es Dienste gibt, welche direkt beim Bootvorgang eine funktionierende Netzwerkverbindung benötigen, wie z.B. NFS oder CIFS Freigaben, kann noch zusätzlich der Service systemd-networkd-wait-online aktiviert werden.
systemctl enable systemd-networkd-wait-online

Nach einem Neustart des Systems läuft die Netzwerkkonfiguration über systemd, weiterführende Informationen zu den beiden neuen Diensten können den jeweiligen Manpages entnommen werden. Ich gehe davon aus das diese in den nächsten Versionen noch deutlich ausgebaut werden, z.b. um auch exotischere Anwendungsfälle abzudecken.

Seit Version 210 enthält systemd einen Dienst systemd-networkd für die Konfiguration von Netzwerkschnittstellen, zusätzlich gibt es seit Version 213 mit systemd-timesyncd auch einen einfachen NTP Client. Durch diese beiden Dienste wird die distributionsspezifische Netzwerkkonfiguration langfristig standardisiert.

Zum jetzigen Zeitpunkt bin ich auf meinen Clients, welche DHCP verwenden, auf die beiden neuen Dienste umgestiegen. Als Vorbereitung ist es ratsam dem DHCP Server die Option für den gewünschten NTP Server mit auf den Weg zu geben, so kann eine Anpassung der NTP Konfiguration auf allen Clients ausbleiben. Als Nächstes erstellen wir eine Konfigurationsdatei für unsere Netzwerkschnittstelle enp3s0 mit dem Dateinamen /etc/systemd/network/enp3s0.network:

[Match]
Name=enp3s0

[Network]
DHCP=yes

Durch diese Konfiguration erreichen wir das die oben genannte Netzwerkschnittstelle durch DHCP konfiguriert werden soll. Jetzt können die alten Dienste deaktiviert, und die neuen aktiviert werden:

netctl disable main
systemctl disable ntpd
systemctl enable systemd-networkd
systemctl enable systemd-timesyncd
Wenn es Dienste gibt, welche direkt beim Bootvorgang eine funktionierende Netzwerkverbindung benötigen, wie z.B. NFS oder CIFS Freigaben, kann noch zusätzlich der Service systemd-networkd-wait-online aktiviert werden.
systemctl enable systemd-networkd-wait-online

Nach einem Neustart des Systems läuft die Netzwerkkonfiguration über systemd, weiterführende Informationen zu den beiden neuen Diensten können den jeweiligen Manpages entnommen werden. Ich gehe davon aus das diese in den nächsten Versionen noch deutlich ausgebaut werden, z.b. um auch exotischere Anwendungsfälle abzudecken.

Seit Version 210 enthält systemd einen Dienst systemd-networkd für die Konfiguration von Netzwerkschnittstellen, zusätzlich gibt es seit Version 213 mit systemd-timesyncd auch einen einfachen NTP Client. Durch diese beiden Dienste wird die distributionsspezifische Netzwerkkonfiguration langfristig standardisiert.

Zum jetzigen Zeitpunkt bin ich auf meinen Clients, welche DHCP verwenden, auf die beiden neuen Dienste umgestiegen. Als Vorbereitung ist es ratsam dem DHCP Server die Option für den gewünschten NTP Server mit auf den Weg zu geben, so kann eine Anpassung der NTP Konfiguration auf allen Clients ausbleiben. Als Nächstes erstellen wir eine Konfigurationsdatei für unsere Netzwerkschnittstelle enp3s0 mit dem Dateinamen /etc/systemd/network/enp3s0.network:

[Match]
Name=enp3s0

[Network]
DHCP=yes

Durch diese Konfiguration erreichen wir das die oben genannte Netzwerkschnittstelle durch DHCP konfiguriert werden soll. Jetzt können die alten Dienste deaktiviert, und die neuen aktiviert werden:

netctl disable main
systemctl disable ntpd
systemctl enable systemd-networkd
systemctl enable systemd-timesyncd
Wenn es Dienste gibt, welche direkt beim Bootvorgang eine funktionierende Netzwerkverbindung benötigen, wie z.B. NFS oder CIFS Freigaben, kann noch zusätzlich der Service systemd-networkd-wait-online aktiviert werden.
systemctl enable systemd-networkd-wait-online

Nach einem Neustart des Systems läuft die Netzwerkkonfiguration über systemd, weiterführende Informationen zu den beiden neuen Diensten können den jeweiligen Manpages entnommen werden. Ich gehe davon aus das diese in den nächsten Versionen noch deutlich ausgebaut werden, z.b. um auch exotischere Anwendungsfälle abzudecken.


Zum Sichern von ext4 Dateisystemen nehme ich partclone.
Das kann im Gegensatz zu partimage auch mit dem neuen
ext4 Dateisystem umgehen und erzeugt auch kleine Dateien,
verschwendet also nicht so viel Platz wie dd.

Eine Sicherung erzeugt man wie folgt:

partclone -c -s /dev/sda1 -o /backup/file.pcl

Und zurücklesen:

partclone -r -s /backup/file.pcl -o /dev/sda1

Die Parameter:

-c Create, also Datensicherung erstellen
-r Restore, also zurücklesen
-s Source, die Quelle wo die Daten herkommen
-o Output das Ziel wo die Daten hingeschrieben werden

Vor einigen Tagen habe ich DD-WRT 24 SP3 auf meinem TP-Link WR1043ND v2.1 Router installiert. Leider lief die Firmware nicht so stabil wie zuerst gedacht und ein Betrieb als WLAN Accesspoint war nicht möglich. Relativ schnell war klar, dass OpenWRT das Gerät befeuern sollte. Ich habe ein „Werksreset”  nach dieser Anleitung versucht, jedoch den Fehler begangen, das Upgrade über eine WLAN-Verbindung zum Router durchzuführen. Während des Upgrades brach die WLAN Verbindung ab und die Softwareinstallation war nicht vollständig. In Folge dessen war der Router gebricked – d.h. es war keine Verbindung mehr über die üblichen Schnittstellen (LAN, WAN, WLAN) möglich und ein Reset über den Hardwaretaster blieb wirkungslos.

Es gibt zum Glück noch eine andere Möglichkeit, um mit dem Router zu kommunizieren: Die auf der Platine befindliche UART Schnittstelle kann genutzt werden, um über eine Konsole mit dem Gerät Kontakt aufzunehmen und Befehle zu geben. Auf diese Weise – und mit einem TFTP Server – ist es möglich, den gebrickten Router wieder zu beleben.

Benötigt werden ein 3,3V-UART USB Wandler, ein Kreuzschlitz-Schraubendreher, etwas Geschick, Nerven und Geduld ;)

UART Schnittstelle vorbereiten

TPL-WR1043ND v2 Platine UART

TPL-WR1043ND v2 Platine UART

Auf der Gehäuseunterseite befinden sich vier Schrauben, die mit einem handelsüblichen Kreuzschlitzschraubendreher herausgedreht werden können. Des weiteren befinden sich im den Gehäuserand herum einige Widerhaken, mit denen die beiden Gehäusehälften zusammengehalten werden. Um das Gehäuse vollständig zu öffnen, ist etwas Gewalt nötig.

Auf der linken Seite der Platine (die schwarze Moosgummileiste mit den eingebetteten LEDs liegt unten) befindet sich ein Streifen von vier Lötstellen. Dabei handelt es sich um die UART Schnittstelle, zu der vom PC aus eine Verbindung hergestellt wird. Für die Kommunikation über UART sind nur drei Pins nötig: GND, RX und TX. GND stellt üblicherweise die Masse dar, RX ist der Empfängerport und TX der Senderport. Die oberste Lötstelle kann mit VCC, also Versorgungsspannung beschriftet werden – sie wird nicht benötigt.

Die Pins befinden sich in folgender Reihenfolge auf der Platine (vom Kondensator aus abwärts): VCC, GND, RX, TX.

Für einen einfachen (und wiederverwendbaren) Kontakt zum UART Adapter habe ich vier Pins auf die Platine aufgelötet. Sollte ich die Schnittstelle noch einmal benötigen, benötige ich keinen Lötkolben mehr, sondern bin ich der Lage, eine Steckverbindung herzustellen.

Zum Auflöten der Pins kann die Platine als ganzes aus dem Gehäuse gehoben werden. Die Drähte zu den Antennenanschlüssen müssen dazu aus ihren Halterungen entfernt werden.

TFTP Server einrichten

Die OpenWRT Firmware wird vom Router aus über eine TFTP Verbindung von einem PC via LAN heruntergeladen. Der Router hat dabei die Rolle des TFTP Clients – wenn dem Router eine Datei angeboten werden soll, muss auf dem PC deshalb ein TFTP Server eingerichtet werden.

Wie ihr einen TFTP Server einrichtet, könnt ihr an verschiedenen Stellen im Netz nachlesen. Arch Linux user sollten sich die Seiten im Wiki anschauen: https://wiki.archlinux.org/index.php/tftpd_server

Wichtig bei der Einrichtung: Legt ein extra Verzeichnis z.B. in eurem Home-Verzeichnis an (bei mir: „code.bin”) und macht es für den TFTP-Server zum Standard-Serververzeichnis. In dieses Verzeichnis wird später die Firmware-Datei (.bin) abgelegt. In der Beispielkonfiguration im Arch Wiki wird als Serververzeichnis /srv/tftp/ festgelegt – ändert das gegebenenfalls.

Noch ein Tipp für Arch User: Bevor der tftpd.service gestartet werden kann, muss der Dienst tftpd.socket laufen.

OpenWRT downloaden

Downloadet die aktuelle OpenWRT Firmware für euren WR1043nd v2. Ich habe mich dazu entschlossen, die RC3 Version von Barrier Breaker (Download hier) zu flashen, weil sie trotz ihres RC-Statuses auf zwei meiner anderen Router bereits zufriedenstellend läuft.

Die Firmware-Datei (bei mir: „openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-factory.bin”) wird in das TFTP Serververzeichnis auf eurem PC verschoben. Von dort lädt der TFTP-Client (Router) die Firmware herunter.

LAN vorbereiten

Damit der Router weiß, zu welchem PC mit welcher IP-Adresse er eine TFTP Verbindung aufbauen soll, gibt es eine Festlegung: Der Rechner mit dem TFTP-Server muss die IP-Adresse 192.168.1.100 haben. Verbindet die Netzwerkschnittstelle eures PCs über ein LAN Kabel mit dem LAN-Switch des Routers und legt für euren Rechner die statische IP 192.168.1.100 fest (Netzmaske: 255.255.255.0 | Gateway: 0.0.0.0).

PC mit UART Schnittstelle verbinden

Für die Verbindung zum Mainboard des Routers habe ich diesen UART Wandler genutzt. Stellt sicher, dass ggf. erforderliche Treiber auf eurem PC installiert sind.

Die Kommunikation findet über eine Kommandozeile statt. Ich empfehle Putty (für Linux, MacOS und Windows) als Client für die serielle Schnittstelle. Der UART Wandler wird via USB mit dem PC verbunden und Putty gestartet. Dort wird die korrekte serielle Schnittstelle (bei mir /dev/ttyUSB=) und als „Connection type” „Serial” gewählt sowie eine Baud-Rate von 115200 („Speed”). In den Einstellungen Links wird unter „Connection => Serial” „Flow Control” auf „None” gesetzt.

Nun wird der UART Wandler mit dem Router-Mainboard verbinden. Dabei ist unbedingt zu beachten, dass die Stecker für RX und TX vertauscht angeschlossen werden. Der TX-Anschluss des Wandlers wird mit dem RX-Port des Routers verbunden und umgekehrt. GND wird mit GND verbunden und VCC wird nicht benötigt.

Nun wird der Router eingeschaltet und die serielle Verbindung mit dem „Open” Button in Putty gestartet. In der Konsole sollten jetzt Informationen zum Bootvorgang erscheinen.

Sobald die Zeile

Autobooting in 1 seconds

erschienen ist, bleibt weniger als eine Sekunde Zeit, um

tpl

in die Kommandozeile zu tippen und den Befehl mit ENTER abzuschicken. Wenn ihr eine Kommandozeile mit dem Präfix

ap135>

(oder ähnlich) vor euch habt, kann es weitergehen.

TP-Link Bootloader Kommandozeile

TP-Link Bootloader Kommandozeile

OpenWRT Firmware flashen

Gleich ist es geschafft – jetzt muss die Firmware nur noch über LAN vom PC heruntergeladen und geflashed werden. Gebt die folgenden Befehle in eure Router-Kommandozeile ein:

tftp 0x80060000 openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-factory.bin
erase 0x9f020000 +0x7c0000
cp.b 0x80060000 0x9f020000 0x7c0000
boot.m 0x9f020000

Nach dem letzten Kommando startet der Router neu und lädt die OpenWRT Firmware. Im Terminal könnt ihr den Bootvorgang nachverfolgen. Sobald sich dort nichts mehr bewegt, drückt ENTER, um die root-Kommandozeile von OpenWRT zu erreichen.

TP-Link OpenWRT Kommandozeile

TP-Link OpenWRT Kommandozeile

OpenWRT ist jetzt fertig installiert.

Setzt die Netzwerkeinstellungen eures PCs wieder so, dass er die IP-Adresse vom Router via DHCP zugeteilt bekommt. Startet den Router über die Konsole neu:

reboot

Über die IP-Adresse 192.168.1.1 erreicht ihr nun die LuCI Weboberfläche zur Konfiguration, wo ihr umgehend ein Passwort für die Routerkonfiguration festlegen solltet. Der erste Login funktioniert übrigens noch ohne Passwort. ;)

 

Quellen: http://www.dd-wrt.com/phpBB2/viewtopic.php?p=499750 | http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd#oem.installation.using.the.tftp.and.rs232.method


Da bei meinem Monitor der DDC Port defekt ist,
(DDC heisst Display Data Channel, der überträgt Informationen über den Monitor) musste ich die Auflösung per Hand einstellen.
Die xorg.conf dafür sieht wie folgt aus: (Ubuntu 10.04)

Section “Device”
Identifier “Silicon Integrated Systems (SiS) 65x/M650/740 PCI/AGP VGA Display Adapter”
Driver “sis”
BusID “PCI:1:0:0”
EndSection


Section “Monitor”
Identifier “Plug and play”
Option “DPMS”
HorizSync 30-69
VertRefresh 50-120
EndSection

Section “Screen”
Identifier “Default Screen”
Device “Silicon Integrated Systems (SiS) 65x/M650/740 PCI/AGP VGA Display Adapter”
Monitor “Plug and play”
DefaultDepth 24
SubSection “Display”
Depth 24
Modes “1280×1024” “1024×768” “800×600” “720×400” “640×480”
EndSubSection
EndSection

Section “ServerLayout”
Identifier “Default Layout”
Screen “Default Screen”
EndSection


Section “DRI”
Mode 0666
EndSection

Fefe zeigt in diesem Beitrag ein Problem auf, das ich bisher auch nicht gesehen habe:

Entwickler der Kryptowährungen und deren Mining-Algorithmen haben kein Interesse daran, dass der Code schnell läuft.

Ganz im Gegenteil: Der Code wird absichtlich für die Öffentlichkeit verlangsamt, damit der Rest der Welt nicht so viel Wert aus der Währung schöpfen kann wie die Entwickler / Einzelne mit ihrem optimierten Code.

Es gibt kein allgemeines Interesse, den Code zu verbessern, … schließlich sorgt man bei der Veröffentlichung von optimierten Code dafür, dass nun auch andere User schneller und mehr Coins schürfen können… der persönliche Vorteil ist dahin und der relative Gewinn damit auch. Wer Code optimiert hat, behält ihn für sich und gibt ihn nicht für die Allgemeinheit frei. Damit wird anderen zusätzlich die Möglichkeit genommen, Energie bei Mining zu sparen und die Umwelt zu entlasten.

Nebenbei hat Fefe natürlich auch mit dem Faktor Umwelt Recht: Es gibt mittlerweile unzählige Crypto-currencies und jede davon lebt von enormen Energiemengen, die für ihre Berechnung aufgewendet werden müssen. Millionen Kilowattstunden Strom sinnlos verheizen, wenn eine Kryptowährung den Bach runtergeht und keinen Wert mehr besitzt, weil es eine bessere Alternative gibt? Muss das sein?

Das Grundkonzept einer dezentralen Kryptowährung finde ich an sich nicht schlecht: Geschwindigkeit, Anonymität, Einfachheit im Umgang, … das sind alles große Vorteile. Aber zu welchem Preis? …

Wie seht ihr das? Nutzt ihr Kryptowährungen wie z.B. Bitcoin oder Litecoin? Schürft ihr selbst Münzen oder handelt ihr nur?

28. August 2014

Yannic Haupenthal hat einen Beitrag veröffentlicht, in dem er zahlreiche Möglichkeiten auflistet, wie man sein (Arch) Linux aufräumen und von Altlasten befreien kann. Ich habe nicht alles ausprobiert, aber durch die Anwendung von BleachBit und den Pacman-Aufräumkommandos habe ich mal eben 6,3 GB mehr Speicher frei :)

Der Beitrag ist jedenfalls sehr empfehlenswert – auch für Anhänger anderer Linuxdistributionen ;)

http://yhaupenthal.org/1409227216.htm

 

Da bei mir gerade Hausputz angesagt ist, wollte ich auch digital mal mein System entruempeln, denn da hat sich ueber die Jahre maechtig viel Kram angesammelt …

Info

Das Alter der aktuellen Distribution kann ueber folgenden Befehl herausgefunden werden:

$ ls -ld /lost+found
drwx------ 2 root root 16384 May 24  2011 /lost+found/

Hier stelle ich ein paar Loesungen vor, das digitale /home (und auch den Rest der Festplatte) zu entschlacken.

Generell #

Da wir gerade am aufraeumen sind, koennen ja auch mal die ganzen toten Links geloescht werden, die sich so ueber die Jahre angesammelt haben. Das geht ganz einfach mit (Quelle ):

sudo find / -type l -! -exec test -e {} \; -print

Diese Liste kann dann nach und nach durchgegangen werden und die Links alle einzeln geloescht werden oder direkt so (aber erst kontrollieren!):

sudo find / -type l -! -exec test -e {} \; -delete

Es gibt auch spezielle Programme, die uns die Aufraeumarbeit etwas erleichtern koennen. BleachBit (aehnlich zum Programm CCleaner unter Windows) raeumt dabei z.B. die Caches verschiedener Browser auf, beseitigt (mit u.U. etwas laengerer Wartezeit) alle .DS_Store- und Thumbs.db-Dateien von OS X bzw. Windows oder loescht alle nicht benoetigten Lokalisierungen (= Sprachdateien).
Installiert werden kann es mit folgendem Befehl:

sudo pacman -S bleachbit

Da es mit normalen Rechten nicht Systemdateien wie z.B. die Lokalisierungen loeschen kann und es umgekehrt mit Root-Rechten nicht die Caches der $USER-Browser leeren kann, muss es zweimal ausgefuehrt werden, einmal mit und einmal ohne Root-Rechte, um wirklich alles zu loeschen.

Pakete #

Ein weiterer Sammelplatz fuer viel Kram sind die Pakete, die via Paketverwaltung installiert wurden. Noch schlimmer wird es nur durch Pakete im AUR oder selbst kompilierte Pakete.

Da ja nach “Don’t try this at home”-Manier nie alle Paketdateien geloescht werden sollten, da ja unter Umstaenden ein Downgrade durchgefuehrt werden muss, hilft nur eine teilweise Bereinigung der alten Paketdaten.
Dafuer gibt es mit paccache ein eigenes Programm, das mit pacman daherkommt (Quelle ).
Um maximal drei Versionen eines Paketes aufzubewahren, reicht folgender Befehl:

paccache -r

Dabei werden aber auch Versionen schon nicht mehr installierter Pakete beibehalten, die aber eigentlich nicht mehr benoetigt werden.
Die koennen so direkt geloescht werden:

paccache -ruk0

Paccache hat noch ein paar mehr Optionen, die sich per paccache -h anzeigen lassen.

Auch noch ab und zu sinnvoll ist das optimieren der Paketverwaltungsdatenbank. Diese besteht naemlich aus vielen kleinen Dateien, die ueber die ganze Festplatte verstreut liegen. Der folgende Befehl sammelt diese ein und platziert sie so um, dass sie alle nah beinander auf der Festplatte liegen, damit der Lese-Schreibkopf sich nicht so viel bewegen muss (Quellen: Arch Linux Wiki und pacman-optimize -h):

sudo pacman-optimize && sync

Ueber die Jahre sammeln sich auch generell viele “Orphans” an, also Pakete, um die sich niemand seit dem letzten Update gekuemmert hat. Diese koennnen wie folgt aufgelistet werden (Quelle ):

pacman -Qtdq

Achtung

Sollen diese Orphans direkt alle auf einmal geloescht werden, reicht dieser Befehl aus:

sudo pacman -Rns $(pacman -Qtdq)

Um mal die Liste der explizit installierten Pakete aus den offiziellen Paketquellen (Repositories ) zu entschlacken, kann folgender Befehl verwendet werden (Quelle ):

pacman -Qen

Und folgender Befehl schliesslich listet alle explizit installierten Pakete aus den inoffiziellen Paketquellen auf:

pacman -Qem

$HOME/.* #

Sofern nicht von Anfang an die XDG Spezifikation umgesetzt wurde, hat sich das $HOME mit all den versteckten Dateien in ein wahres Schlachtfeld verwandelt, denn natuerlich will jedes Programm mitmachen und legt die Konfigurationsdateien schoen brav direkt ins $HOME ab und raeumt diese auch nicht weg, wenn es deinstalliert wird.

Um XDG zu “aktivieren”, d.h. einige Umgebungsvariablen zu definieren, reicht es, in der Shell-Konfigurationsdatei (z.B. .bashrc oder .zshrc) folgende Zeilen hinzuzufuegen:

export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$HOME/.cache"

Danach reicht ein simples source ~/.bashrc bzw. source ~/.zshrc um die Variablen zu setzen (oder einfach eine neue Shell aufmachen).

Ich habe leider nicht vor dem Aufraeumen gezaehlt, aber es waren bestimmt ueber 150 versteckte Dateien und Ordner bei mir im Home. Nun sind es nach einigem Aufraeumen 88:

ls -d .* | wc -l

Hier hilft leider kein Programm, zumindest habe ich kein brauchbares gefunden.
Letztendlich bin ich alle Dateien nach und nach nach folgendem Prinzip durchgegangen:

  1. Ist das Programm ueberhaupt noch installiert? Dazu habe ich einfach die Paketdatenbank gefragt ($NAME sollte sich von der Datei ableiten, also z.B. heisst die Datei .tmux.conf, dann sollte das Paket und damit $NAME tmux sein):

    pacman -Qs $NAME
    

    Wenn der Befehl nichts findet, ist das Programm unter Umstaenden nicht installiert, und die Datei kann geloescht werden. Vorsichtshalber habe ich die Datei zuerst in einen Ordner TRASH verschoben, den ich nach einiger Benutzungszeit loesche.

  2. Kann die Datei auch nach dem XDG-Prinzip wo anders abgelegt werden? Da half nur die jeweilige Hilfe bzw. Manpage oder eine Suchmaschine mit “XDG $NAME” weiter.
    Dabei gab es folgende Moeglichkeiten:

    1. Entweder liess sich dann eine Umgebungsvariable setzen, die ich in der Konfigurationsdatei meiner Shell (zsh) gesetzt habe:

      export ACKRC="$XDG_CONFIG_HOME/ack/ackrc"
      
    2. Oder das Programm erwartet von sich aus die Konfigurationsdateien nach dem XDG-Schema, dann konnte die Datei einfach in den jeweilgen Ordner verschoben werden:

      mkdir $XDG_CONFIG_HOME/git && mv ~/.gitk $XDG_CONFIG_HOME/git/gitk
      
    3. Oder es sind zwar einige Hacks noetig, aber es geht. Spezielle Kandidaten sind z.B. vim (Anleitung ) und zsh (Anleitung ).
      Wenn die viminfo nicht direkt in den Cache wandert, hilft vielleicht diese Loesung .
      Die ZSH hat nun bei mir immer noch eine Datei im $HOME, naemlich .zshrc. Denn dort werden ja die ganzen XDG-Pfade erst definiert. Ansonsten fuehrt das zur Configception oder so 😉 Der Pfad zur .zshrc kann auch in /etc/profile festgelegt werden (Quelle ), ich hab mich aber damit nun abgefunden.

    4. Oder aber das Programm unterstuetzte weder Umgebungsvariablen noch XDG. In diesem Falle gibt es zwei Moeglichkeiten: den Quellcode via ABS runterladen, aendern und kompilieren oder (von mir bevorzugt) aufgeben.

      Eine gute Anlaufstelle hierbei ist das Debian Wiki .

  3. Wird das Programm ueberhaupt noch benoetigt? Bei meiner Reise durch die ganzen Konfigurationsdateien bin ich immer wieder auf Programme gestossen, die ich seit Jahren (ok, Monaten) nicht benutzt habe bzw. einfach nicht benoetige.
    Da macht es dann schon Sinn, diese einfach zu deinstallieren:

    sudo pacman -Rns $NAME
    

    Es macht uebrigens Sinn, nicht nur -R zu verwenden, um ein Paket zu entfernen, denn -n sorgt dafuer, dass auch die Konfigurationsdateien geloescht werden und -s, dass keine “Orphans” zurueckbleiben (also die nicht benoetigten und nicht selbst installierten Abhaengigkeiten). Fuer mehr Infos: siehe man pacman.

    Danach kann die Datei bzw. der Ordner geloescht werden.

In Zukunft gilt es nun, direkt bei der Installation eines neuen Programms die Moeglichkeit zu ueberpruefen, XDG zu nutzen.

Wahrscheinlich ist aber der Beste Ansatz, von neu anzufangen. Also:

sudo mv /home/NAME /home/NAME.bak && sudo mkdir /home/NAME

Und dann die wichtigen Dateien rueberkopieren, also zumindest mal angefangen mit den Shell-Konfigurationsdateien.

Altes und alles andere #

Christian hat einen guten Beitrag zur Entruempelung geschrieben, in dem er mit einem kleinen Skript mit find, grep und gawk Dateileichen findet, um sie dann durchzusehen und ggf. zu loeschen.
Dieses Skript hat auch mir schon geholfen 😊

Ein anderer Weg ist, mit einem Programm die Speicherbelegung der Ordner im $HOME anzuzeigen, um dann die groessten Dateien zu entfernen.
Ein solches Programm ist z.B. ncdu , welches wie folgt installiert werden kann:

sudo pacman -S ncdu

Nach der Aufraeumaktion gilt es, von nun an moeglichst die Vermuellung zu vermeiden.
Wie das gehen koennte, hat Vain in einem Artikel beschrieben (auch die Kommentare beachten).

Viel Spass beim entruempeln 😊

Da bei mir gerade Hausputz angesagt ist, wollte ich auch digital mal mein System entruempeln, denn da hat sich ueber die Jahre maechtig viel Kram angesammelt ...

Nebeninfo: das Alter der aktuellen Distribution kann ueber folgenden Befehl herausgefunden werden:

$ ls -ld /lost+found
drwx------ 2 root root 16384 May 24  2011 /lost+found/

Hier stelle ich ein paar Loesungen vor, das digitale /home (und auch den Rest der Festplatte) zu entschlacken.

Generell

Da wir gerade am aufraeumen sind, koennen ja auch mal die ganzen toten Links geloescht werden, die sich so ueber die Jahre angesammelt haben. Das geht ganz einfach mit (Quelle):

# find / -type l -! -exec test -e {} \; -print

Diese Liste kann dann nach und nach durchgegangen werden und die Links alle einzeln geloescht werden oder direkt so (aber erst kontrollieren!):

# find / -type l -! -exec test -e {} \; -delete

Es gibt auch spezielle Programme, die uns die Aufraeumarbeit etwas erleichtern koennen. BleachBit (aehnlich zum Programm CCleaner unter Windows) raeumt dabei z.B. die Caches verschiedener Browser auf, beseitigt (mit u.U. etwas laengerer Wartezeit) alle .DS_Store- und Thumbs.db-Dateien von OS X bzw. Windows oder loescht alle nicht benoetigten Lokalisierungen (= Sprachdateien).
Installiert werden kann es mit folgendem Befehl:

# pacman -S bleachbit

Da es mit normalen Rechten nicht Systemdateien wie z.B. die Lokalisierungen loeschen kann und es umgekehrt mit Root-Rechten nicht die Caches der $USER-Browser leeren kann, muss es zweimal ausgefuehrt werden, einmal mit und einmal ohne Root-Rechte, um wirklich alles zu loeschen.

Pakete

Ein weiterer Sammelplatz fuer viel Kram sind die Pakete, die via Paketverwaltung installiert wurden. Noch schlimmer wird es nur durch Pakete im AUR oder selbst kompilierte Pakete.

Da ja nach "Don't try this at home"-Manier nie alle Paketdateien geloescht werden sollten, da ja unter Umstaenden ein Downgrade durchgefuehrt werden muss, hilft nur eine teilweise Bereinigung der alten Paketdaten.
Dafuer gibt es mit paccache ein eigenes Programm, das mit pacman daherkommt (Quelle).
Um maximal drei Versionen eines Paketes aufzubewahren, reicht folgender Befehl:

$ paccache -r

Dabei werden aber auch Versionen schon nicht mehr installierter Pakete beibehalten, die aber eigentlich nicht mehr benoetigt werden.
Die koennen so direkt geloescht werden:

$ paccache -ruk0

Paccache hat noch ein paar mehr Optionen, die sich per paccache -h anzeigen lassen.

Auch noch ab und zu sinnvoll ist das optimieren der Paketverwaltungsdatenbank. Diese besteht naemlich aus vielen kleinen Dateien, die ueber die ganze Festplatte verstreut liegen. Der folgende Befehl sammelt diese ein und platziert sie so um, dass sie alle nah beinander auf der Festplatte liegen, damit der Lese-Schreibkopf sich nicht so viel bewegen muss (Quellen: Arch Linux Wiki und pacman-optimize -h):

# pacman-optimize && sync

Ueber die Jahre sammeln sich auch generell viele "Orphans" an, also Pakete, um die sich niemand seit dem letzten Update gekuemmert hat. Diese koennnen wie folgt aufgelistet werden (Quelle):

$ pacman -Qtdq

Sollen diese Orphans direkt alle auf einmal geloescht werden, reicht dieser Befehl aus (Achtung!):

# pacman -Rns $(pacman -Qtdq)

Um mal die Liste der explizit installierten Pakete aus den offiziellen Paketquellen (Repositories) zu entschlacken, kann folgender Befehl verwendet werden (Quelle):

$ pacman -Qen

Und folgender Befehl schliesslich listet alle explizit installierten Pakete aus den inoffiziellen Paketquellen auf:

$ pacman -Qem

$HOME/.*

Sofern nicht von Anfang an die XDG Spezifikation umgesetzt wurde, hat sich das $HOME mit all den versteckten Dateien in ein wahres Schlachtfeld verwandelt, denn natuerlich will jedes Programm mitmachen und legt die Konfigurationsdateien schoen brav direkt ins $HOME ab und raeumt diese auch nicht weg, wenn es deinstalliert wird.

Um XDG zu "aktivieren", d.h. einige Umgebungsvariablen zu definieren, reicht es, in der Shell-Konfigurationsdatei (z.B. .bashrc oder .zshrc) folgende Zeilen hinzuzufuegen:

export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$HOME/.cache"

Danach reicht ein simples source ~/.bashrc bzw. source ~/.zshrc um die Variablen zu setzen (oder einfach eine neue Shell aufmachen).

Ich habe leider nicht vor dem Aufraeumen gezaehlt, aber es waren bestimmt ueber 150 versteckte Dateien und Ordner bei mir im Home. Nun sind es nach einigem Aufraeumen 88:

$ ls -d .* | wc -l

Hier hilft leider kein Programm, zumindest habe ich kein brauchbares gefunden.
Letztendlich bin ich alle Dateien nach und nach nach folgendem Prinzip durchgegangen:

  1. Ist das Programm ueberhaupt noch installiert? Dazu habe ich einfach die Paketdatenbank gefragt ($NAME sollte sich von der Datei ableiten, also z.B. heisst die Datei .tmux.conf, dann sollte das Paket und damit $NAME tmux sein):

    $ pacman -Qs $NAME
    

    Wenn der Befehl nichts findet, ist das Programm unter Umstaenden nicht installiert, und die Datei kann geloescht werden. Vorsichtshalber habe ich die Datei zuerst in einen Ordner TRASH verschoben, den ich nach einiger Benutzungszeit loesche.

  2. Kann die Datei auch nach dem XDG-Prinzip wo anders abgelegt werden? Da half nur die jeweilige Hilfe bzw. Manpage oder eine Suchmaschine mit "XDG $NAME" weiter.
    Dabei gab es folgende Moeglichkeiten:

    1. Entweder liess sich dann eine Umgebungsvariable setzen, die ich in der Konfigurationsdatei meiner Shell (zsh) gesetzt habe:

      export ACKRC="$XDG_CONFIG_HOME/ack/ackrc"
      
    2. Oder das Programm erwartet von sich aus die Konfigurationsdateien nach dem XDG-Schema, dann konnte die Datei einfach in den jeweilgen Ordner verschoben werden:

      $ mkdir $XDG_CONFIG_HOME/git && mv ~/.gitk $XDG_CONFIG_HOME/git/gitk
      
    3. Oder es sind zwar einige Hacks noetig, aber es geht. Spezielle Kandidaten sind z.B. vim (Anleitung) und zsh (Anleitung).
      Wenn die viminfo nicht direkt in den Cache wandert, hilft vielleicht diese Loesung.
      Die ZSH hat nun bei mir immer noch eine Datei im $HOME, naemlich .zshrc. Denn dort werden ja die ganzen XDG-Pfade erst definiert. Ansonsten fuehrt das zur Configception oder so ;) Der Pfad zur .zshrc kann auch in /etc/profile festgelegt werden (Quelle), ich hab mich aber damit nun abgefunden.

    4. Oder aber das Programm unterstuetzte weder Umgebungsvariablen noch XDG. In diesem Falle gibt es zwei Moeglichkeiten: den Quellcode via ABS runterladen, aendern und kompilieren oder (von mir bevorzugt) aufgeben.

    Eine gute Anlaufstelle hierbei ist das Debian Wiki.

  3. Wird das Programm ueberhaupt noch benoetigt? Bei meiner Reise durch die ganzen Konfigurationsdateien bin ich immer wieder auf Programme gestossen, die ich seit Jahren (ok, Monaten) nicht benutzt habe bzw. einfach nicht benoetige.
    Da macht es dann schon Sinn, diese einfach zu deinstallieren:

    # pacman -Rns $NAME
    

    Es macht uebrigens Sinn, nicht nur -R zu verwenden, um ein Paket zu entfernen, denn -n sorgt dafuer, dass auch die Konfigurationsdateien geloescht werden und -s, dass keine "Orphans" zurueckbleiben (also die nicht benoetigten und nicht selbst installierten Abhaengigkeiten). Fuer mehr Infos: siehe man pacman.

    Danach kann die Datei bzw. der Ordner geloescht werden.

In Zukunft gilt es nun, direkt bei der Installation eines neuen Programms die Moeglichkeit zu ueberpruefen, XDG zu nutzen.

Wahrscheinlich ist aber der Beste Ansatz, von neu anzufangen. Also:

# mv /home/NAME /home/NAME.bak && mkdir /home/NAME

Und dann die wichtigen Dateien rueberkopieren, also zumindest mal angefangen mit den Shell-Konfigurationsdateien.

Altes und alles andere

Christian hat einen guten Beitrag zur Entruempelung geschrieben, in dem er mit einem kleinen Skript mit find, grep und gawk Dateileichen findet, um sie dann durchzusehen und ggf. zu loeschen.
Dieses Skript hat auch mir schon geholfen :)

Ein anderer Weg ist, mit einem Programm die Speicherbelegung der Ordner im $HOME anzuzeigen, um dann die groessten Dateien zu entfernen.
Ein solches Programm ist z.B. ncdu, welches wie folgt installiert werden kann:

# pacman -S ncdu

Nach der Aufraeumaktion gilt es, von nun an moeglichst die Vermuellung zu vermeiden.
Wie das gehen koennte, hat Vain in einem Artikel beschrieben (auch die Kommentare beachten).

Viel Spass beim entruempeln :)

In Zeiten von SteamOS könnte man ja denken, dass die native Unterstützung von Spielen für Linux sich inzwischen verbessert hat. Dem ist wohl nicht so. Ich würde ja mal behaupten, dass ich jetzt keinen schlechten Rechner habe (AMD FX unlocked, 8 GB Arbeitsspeicher, ATI Radeon HD 7750), aber selbst hier stockt es ständig.DoubleFacePalm

Gestern hatte ich eine Runde Team Fortress 2 spielen wollen, wie gesagt. Wollen. Wenn die Frames ständig sich in den Keller verabschieden, ist das kein Spaß. Aber das ist nicht nur ein Problem von Source-basierten Spielen. Ich habe das Gefühl, wenn ein Spiel nicht von Beginn an, wie häufig bei Indie-Spielen, auf Linux mitentwickelt wird, dann werden die nachträglichen Portierungen häufig nicht so toll.

Naja, man könnte ja zur Verteidigung sagen, dass Linux noch nicht zu lange für AAA-Produktionen eine erstrebenswerte Plattform darstellt. Aber dann sollte man diese Portierungen bitte als Beta kennzeichnen und nicht als finale Produkte.

Vielleicht ist es ja auch die Tatsache, dass ich durch die Verwendung von Manjaro kein “Mainstream”-Linux benutze. Es wird leider derzeit viel zu stark auf Ubuntu/ Debian fixiert bzw. optimiert.

Mich würde mal interessieren, wie sich das ganze bei euch so darstellt. Habt ihr auch Schwierigkeiten oder läuft es bei euch?

Wegen der anfänglichen Internetfixiertheit (frühe Firmware spielte nur Medien ab, deren URLs im Internet zugänglich waren) hält sich hartnäckig das Gerücht, dass die Chromecast nicht fürs lokale Medienstreaming geeignet ist. Des Gegenteils kann man sich leicht überzeugen. Einfach eine MKV-Datei mit h.264 Video und MP3 auf dem heimischen Webserver ablegen, dafür sorgen, dass diese Datei mit dem Mime-Type “video/mp4″ ausgeliefert wird, dann die minimale Demo-App github.com/googlecast/CastHelloVideo-chrome auf dem Webserver ausrollen und die Seite in Chrome ansteuern. Nun können “Big Buck Bunny” und Co. auf die Chromecast gestreamt werden. Netterweise hat die Demo-App ein Eingabefeld, in das man die URL des oben erwähnten MKV eintragen kann – et voilá: Chromecast spielt lokale Dateien!

Um das ganze etwas komfortabler zu machen habe ich auf Basis der zweiten Demo-App, die einen Player mitbringt, etwas gescriptet: Zunächst ein Ruby-Script, welches eine Verzeichnisstruktur nach .mkv und .mp4 durchsucht und daraus ein (statisches) HTML baut. Dazu den Javascript-Code so angepasst, dass er geklickte Links ausliest und fertig ist das simple Webfrontend um Videos von NAS oder Heimserver zur Chromecast zu schicken.

Wer sich für die Scripte interessiert, findet sie hier: github.com/mschlenker/RollerCaster

Wer helfen möchte: Am meisten würde ich mich über durchdachte Mockups für die Überarbeitung der Oberfläche freuen!

PS: Nach Schmökern in der Doku ist klar, dass auch MPEG2-TS geht. Damit muss ich mal schauen, wie ich Live-Streams des TVheadend zur Chromecast bekomme.

Erfahrene Geeks werden es kennen, Schmalspur-Geeks, wie ich es einer bin, vielleicht nicht.

Was macht man da?

Wenn man es gefunden hat, dokumentieren zum wiederfinden im eigenen Blog smile

Worum geht es?

Eigentlich ein verbreitetes Problem beim scripten mit bash.

Man hat einen String, Dateinamen, Pfadnamen oder ähnlich und muss ihn verändern, durchsuchen, splitten usw.

Dass das mit Builtin Funktionen mit Bash geht, zeige ich im Beispiel Script.

Da der Syntax Highlighter (aber auch das nackte pre Tag nicht mit dem << Here Dokument) klar kommt,

habe ich das kleine Beispiel Script mal hochgeladen.

bash-tricks.sh