Quick viewing(Text Mode)

Programmieren

Programmieren

COMMUNITY-EDITION Frei kopieren und beliebig weiter verteilen !

11.2012

11.2012

SOFTWARE SELBST ENTWERFEN, ENTWICKELN, ENTWANZEN PROGRAMMIEREN

 Komfortabler Einstieg S. 14, 20, DVD OpenSuse 12.2 Rundum aufgefrischt Delphi-kompatible Pascal-IDE Lazarus, und ohne Tücken drei Basic-Spielarten im Vergleich

 Dynamisches Web S. 25, DVD So bringen Sie mit Javascript und JQuery Bewegung in Webseiten

 Optimale Tools für Entwickler S. 32, 38, 42, DVD Professionelle Versionsverwaltung Git, mit Quellcode-Analyzern versteckte Fehler aufspüren, pfi ffi ger Editor-Newcomer Enki 7.0.4 Wichtiges Update mit zahlreichen Bugfi xes Basteln mit dem Raspberry Pi S. 72 Einsatzideen vom simplen Temperatur- sensor bis zur schlanken WLAN-Bridge

Rechnerdaten im Unknown Horizons: Blick mit Conky S. 50, DVD Siedeln und Bauen Kiwi 12.08 Neue Optik und Funktionen Das knuffi ge Strategiespiel 12.04.1 LTS mit für den Systemmonitor mit turbulenter Historie S. 59 Gnome-2-Desktop OpenStreetMaps Magic SysRequest selbst ergänzen S. 81 statt Reset-Schalter Mit Potlatch2 Karten bequem Abgestürzte PCs reanimieren überarbeiten und auffrischen und wichtige Daten retten S. 68 CONKY • GBRAINY • GECAMED • RASPBERRY PI • SYSRQ • PROGRAMMIEREN PI • SYSRQ CONKY • GBRAINY GECAMED RASPBERRY

4 196067 008502 11 www.-user.de EDITORIAL We have root

Sehr geehrte Leserinnen und Leser, in der zweiten Beta 2 von Ubuntu Schon in der Einleitung qualifi- traust uns nicht? Hm, wir sind 12.10 tauchte im September ein ziert er die Sorgen der Anwender [auf deinem Rechner ohnehin] neues Feature auf: Jede Suche in als „FUD“ ab, als Panikmache und Root“, heißt es da barsch. Wem der sogenannten Home-Lens des Fehlinformation also – und dann das neue Feature nicht gefalle, Unity-Desktops – sie diente bis- folgt eine Serie von Halbwahrhei- der könne ja auf die nächste LTS- her ausschließlich zur lokalen Su- ten und Falschinformationen Version Ubuntu 14.04 warten, da che – blendet jetzt auch zur An- durch Shuttleworth selbst. wäre das dann schon repariert, frage passende Shop-Ergebnisse „Wir zeigen keine Werbeanzei- „rät“ Shuttleworth. Und im Übri- von .com ein [1]. Der gen in Ubuntu“, heißt es da wei- gen solle man doch da nicht groß Zweck ist klar: Die Funktion soll ter. Wie soll man es dann wohl be- herumdiskutieren, „don’t feed the über Affiliate-Einnah- zeichnen, wenn Produkte aus dem trolls“. Jörg Luther men Geld in die Kassen spülen. Shop genau eines Anbieters samt Anwender, die sich ob eines Chefredakteur Dass man bei der Suche auf dem Preisangaben bei einer Desktop- überflüssigen und obendrein lokalen Desktop plötzlich unge- suche unverlangt auftauchen? stümperhaft implementierten fragt Werbung von Online-Anbie- Überhaupt verbessere das Feature Werbefeatures berechtigt um den tern erhielt, das Übermitteln der nur den Nutzen der Suchfunk- Schutz ihrer Privatsphäre sorgen, Anfragen obendrein unverschlüs- tion, behauptet Shuttleworth. mit irreführenden Behauptungen selt erfolgte und Canonical kein Dem widersprechen viele Anwen- abzuspeisen, das ist schon dreist. Wort dazu verlor, welche Daten der vehement: Ihnen nützt die Sie obendrein auch noch als dabei wohin wandern, das trieb Amazon-Werbung gar nichts, weil dümmliche Quengler hinzustellen vielen Anwendern Sorgenfalten es die feilgebotenen Produkte in und ihnen den Mund verbieten zu auf die Stirn. Dies schlug sich ihren Ländern schlicht nicht gibt. wollen, ist eine bodenlose Frech- nicht nur in zahlreichen Bugre- Zudem schlägt die Suche bei- heit. Welche Konsequenz Sie da- ports nieder, sondern auch in ei- spielsweise kommerzielle Win- raus ziehen, überlasse ich Ihrem ner erbitterten Diskussion. dows-Software vor – selbst, wenn Urteil. Auf meinen Rechnern je- Schnell versprach Canonical, zu- es das fragliche Produkt auch für denfalls entziehe ich Canonical mindest den sicherheitstechni- Linux gäbe [3]. das Root-Recht, ein für allemal. schen Schnitzer auszuräumen „Wir teilen Amazon nicht mit, und die Suchanfragen künftig via wonach du suchst“, wiegelt Herzliche Grüße, HTTPS zu versenden. Im Release Shuttle worth hinsichtlich der Pri- soll sich die Amazon-Funktion vacy ab – doch das ist nur die dann ganz deaktivieren lassen. So halbe Wahrheit: Wie man inzwi- weit, so gut: Dass ein Distributor schen weiß, wandern sehr wohl über Werbung Geld verdienen Daten an Amazon [4]. Dazu möchte, muss einen nicht freuen, schreibt der bekannte Entwickler ist aber zweifellos völlig legitim. Etienne Perot: „Amazon [erhält] Damit hätte die Sache erledigt die IP des Anwenders sowie das sein können. Datum und die Zeit der Anfrage INFO Die Art allerdings, mit der Mark und kann durch Abgleich mit [1] „Online Shopping Feature in Ubuntu 12.10“: http:// www. omgubuntu. co. uk/ Shuttleworth anschließend in sei- kürzlichen Suchen oder das Nach- 2012/ 09/ online-shopping-features-arrive-in-ubuntu-12-10 nem Blog mit dem Thema um- schlagen der gefundenen Pro- [2] „We have root“: http:// www. markshuttleworth. com/ archives/ 1182 ging [2], lässt sich nur mit dem dukte die gesuchten Begriffe ab- [3] „Searching suggests software that can not be used“: https:// bugs. launchpad. Wort „haarsträubend“ bezeichnen. leiten.“ [5] net/ ubuntu/ +source/ unity-lens-shopping/ +bug/ 1053678 Dem Fass den Boden aus schla- [4] Datenübergabe an Amazon: http:// benjaminkerensa. com/ 2012/ 09/ 25/ techni gen aber einige Anmerkungen cal-diagram-of-how-unity-shopping-lens-likely-works und https:// perot. me/ ubuntu Shuttleworths, die unverblümt -privacy-blunder-over-amazon-ads-continues enthüllen, was er wirklich von [5] „Direct data leaking to Amazon“: https:// bugs. launchpad. net/ ubuntu/ +source/ Ubuntu-Anwendern hält. „Du unity-lens-shopping/ +bug/ 1055952

www.linux-user.de 11 | 12 3

11 | 12

Die CPU läuft am Anschlag, die Bytes tröpfeln ins Terminal, wenn Software für Arztpraxen ist ein Ab einer Größe von vier 68 überhaupt – aber die wichtigen Er- heiß umkämpfter Markt. Mit GByte geraten manche gebnisse liegen noch im Arbeitsspeicher. Wer 54 dem freien Programm Gecamed 78 Speicher an die Grenze. jetzt den Stecker zieht, verliert alles. Mit dem weht zumindest in Privatpraxen den etablier- Wir zeigen, wie der Datei transfer der Magic System Request haben Sie die Möglich- ten Herstellern frischer Wind um die Nase – großen Brocken trotzdem gelingt. keit, zu retten, was noch zu retten ist. und die Software hat eine Menge Potenzial.

HEFT-DVD SCHWERPUNKT PRAXIS

OpenSuse 12.2 ...... 6 Lazarus 1.0 ...... 14 Gbrainy ...... 48 Mit OpenSuse 12.2 schließt die Die Entwickler der Free-Pascal- Kämpfen Sie gegen die digitale Nürnberger Distribution wieder IDE Lazarus haben die stabile Demenz und trainieren Sie Ihr ein gutes Stück zur Konkurrenz Version 1.0 der weitgehend Del- Gehirn mit Logikrätseln, assozi- auf. Zwar bietet das Release phi-kompatiblen Entwicklungs- ativem Denken und komplexen nichts, was die Konkurrenz nicht umgebung veröffentlicht. Aufgaben – bei Bedarf auch auf auch bieten könnte, doch zumin- dem Papier zum Mitnehmen. dest beseitigten die Entwickler Basic-IDEs ...... 20 einige Show-Stopper. Mit einem Basic-Dialekt kommen Conky ...... 50 Sie schnell zu einem ordentlichen Was tut sich im System? Der Ergebnis bei den ersten Projekten. kleine Helfer Conky fasst die AKTUELLES Vitaldaten eines Computers über- Grundkurs Javascript . . . . 25 sichtlich zusammen. Angetestet ...... 10 Wer die Javascript-Grundlagen Getmail 4.34.0 holt regelmäßig beherrscht, hat das Web 2.0 im Praxissoftware Gecamed.. 54 Post ab, Httping 1.5.4 klopft bei Handumdrehen gemeistert. Wegen seiner freien Bestandteile Webservern an, Liferea 1.8.8 liest eignet sich das Programm Ge- News-Feeds, Siren 3.01 benennt Grundkurs Git ...... 32 camed ideal zum Einsatz in einer am Fließband Dateien um. Die verteilte Versionsverwaltung Privatpraxis. Damit stößt es in Git erleichtert durch raffinierte den hart umkämpften Bereich der Neues rund um Linux . . . . 12 Funktionen die Zusammenarbeit Branchensoftware für Ärzte vor. Boxed-Version von OpenSuse mehrerer Entwickler. 12.2 mit Handbuch, Gnome 3.6 Unknown Horizons ...... 59 mit verbesserten Benachrichti- Quellcode-Analyse ...... 38 Neuland besiedeln, Rohstoffe gungen, Python 3.3.0 erschienen, Ungenauigkeiten oder veraltete verarbeiten und regen Handel Steam-Beta für Ubuntu noch Funktionen im Code können sich betreiben – das sind die Zutaten im Oktober, Cinnamon 1.6 hat schnell zu Problemen auswach- für beliebte Strategiespiele. Unter eigenen Dateimanager, Slackware sen. Wir helfen bei der Analyse. Linux bedient das freie Projekt 14.0 steigt auf 3.x-Kernel um. Unknown Horizons dieses Genre. Enki ...... 42 Der Editor Enki schickt sich als Newcomer an, seinen Platz an der Seite von Klassikern wie Emacs und Vim zu erstreiten.

4 11 | 12

Heft-DVDs Auf den Heft-DVDs dieser Ausgabe befindet sich ausschließlich Anwendungssoftware. Die Datenträger enthalten keine jugend- gefährdenden Inhalte.

Wer sich mit dem Auf der Heft-DVD: Thema Programmie- Flexibilität lautet das Mantra von Bhodi Linux. ren beschäftigt, dringt in den Kernbereich von Linux vor. 14 Dank Enlightenment als Der Werkzeugkasten ist reich bestückt mit dem Editor Enki, einer Aus- Desktop läuft das schlanke wahl an IDEs für Basic und Pascal, dem Versionskontrollsystem Git, ei- System selbst auf alter ner umfangreichen Javascript-Anleitung sowie wichtigen Analysetools. Hardware superschnell.

NETZ&SYSTEM KNOW-HOW

System aufräumen ...... 64 Dateitransfer ...... 78 Auf Systemebene sammelt sich Einige Dateisysteme bekommen bei regelmäßigem Einsatz und bei größeren Brocken schnell Mit beruhigender Regelmä- ßigkeit rühren die Entwickler häufigen Modifikationen schnell Schluckauf. Kleine Umwege ver- von Sabayon ein Linux-Sys- Ballast an. RPM-basierte Distri- sprechen hier Abhilfe. tem an, dass nicht nur das butionen entschlacken Sie dank Auge erfreut, sondern das Rpmorphan und Rpmrestore Potlatch2 ...... 81 auch in Sachen Benutzbar- schnell und gefahrlos. Für kleine Modifikationen an keit keinen bitteren Nach- OSM-Karten bietet sich Potlatch2 geschmack hinterlässt. SysRq ...... 68 als einfacher, schnell anzuwen- Über einen Magic System Request dender Editor an. Runderneuert, aufpo- lassen sich scheinbar abgestürzte liert und fehlerberei- Linux-Rechner oft relativ un- nigt – die aktuelle kompliziert wiederbeleben – oder SERVICE OpenSuse 12.2 zumindest ohne Datenverluste schafft es locker herunterfahren. Editorial ...... 3 auf einen der Spit- zenplätze unter den IT-Profimarkt ...... 86 populären Distribu- HARDWARE tionen. Lesen Sie Events/Inserenten ...... 94 mehr ab Seite 6. Raspberry Pi ...... 72 Impressum ...... 95 Der Einplatinencomputer Rasp- berry Pi erweist sich als wahrer Vorschau 12/2012 ...... 96 Das wichtige Bugfix-Up- Allrounder, der sich gleicherma- date Knoppix 7.0.4 er- Heft-DVD-Inhalt ...... 97 ßen zum Regeln und Steuern wie laubt es nun, aus dem als kleiner Server oder HD-fähige Live-System heraus mit- Multimedia-Box eignet. tels Software nachzuinstallieren.

Der Raspberry Pi beflügelt die Bastler. LinuxUser DVD-Edition 72 Mit seinem win- Hinweis: Haben Sie die DVD-Edition dieser Ausgabe er- zigen, aber leistungsfähigen worben, finden Sie ab Seite 97 wei tere Informationen zu Board eröffnet der Kleinst-PC un- den Programmen auf den beiden Datenträgern. Haben Sie dagegen die güns tigere No-Media-Ausgabe erstanden, endlich viele Möglichkeiten. Wir enthält dieses Heft keine Datenträger. helfen bei den ersten Schritten.

www.linux-user.de 12 | 10 5

DVD-Inhalt SERVICE Neues auf den Heft-DVDs

Die aller Live-Systeme: Knoppix 7.0.4 Klaus Knopper bringt mit Knoppix 7.0.4 das Kunststück fertig, über 12 GByte Software in ein DVD-Image zu packen und dem Anwender nach dem Booten ohne jegliche Installation im Live-Betrieb bereitzustellen. In erster Linie handelt es sich bei der vorliegenden Aus- gabe um ein Bugfix-Release der eierlegenden Wollmilchsau unter den Live-Distros. Das Release basiert wie schon die Vorgängerversionen auf Debians Stable-Zweig, im- plementiert aber einige Programme aus der Testing- und Unstable-Abteilung. Zum Einsatz kommen Kernel 3.4.9 und X.org 7.7 (Core 1.12.3). Je nach Bedarf booten Sie Knoppix von Seite B des ersten Datenträgers mit einem 32-Bit oder 64-Bit-Kernel. Wie üblich liefert die Distribution verschiedene Window-Manager wie Gnome 3.2.2, KDE 4.8.4 und LXDE. Diese aktivieren Sie jeweils über Cheat-Codes am Bootprompt (knoppix desktop=“Windowmanager“). Die Live-Distribution enthält eine Routine für die Installation der Dateien auf einem PC.

Langläufer: Kiwi Linux 12.08 Zwar basiert Kiwi Linux 12.08 auf dem aktuellen Ubuntu 12.04.1 mit Long Term Support. Es verwendet aber zur Freude aller Anwen- der, die Unity den Rücken kehren möchten, den klassischen Gnome-2-Desktop statt Cano nicals umstrittener Unity-Oberfläche. Mit an Bord sind außerdem der Webbrow- ser Chromium, der Mediaplayer VLC, der Messenger Pidgin, der Flashplayer, diverse Multimedia-Codecs sowie Archiv-Handler für die Formate RAR und P7ZIP. Da die Dis- tribution auf Ubuntus LTS-Release basiert, sind Updates und Patches für das System für die nächsten fünf Jahre gesichert – ideal für ein Produktivsystem.

Erleuchtet: Bodhi Linux 2.1.0 Das auf Ubuntu 12.04 basierende Bodhi-Linux 2.1.0 nutzt das schicke, aber schlanke Enlightenment DR17 als Ober- fläche und beschränkt sich bei der Software-Ausstattung auf das Notwendigste. Enlightenment geht mit dem Release DR17 in vielerlei Hinsicht andere Wege als die klassischen Desktop-Umgebungen und ist aus dem Grund auch nicht voll kompatibel. Dafür braucht die Oberfläche auch entschie- den weniger Ressourcen. Als Minimalanforderungen nennen die Bodhi -Entwickler eine CPU mit 300 MHz Taktrate, 128 MByte RAM und 1,5 GByte freien Platz auf der Platte.

Zum Dessert: 10 KDE Zu den Neuerungen des Gentoo-Ablegers Sabayon Linux 10 KDE gehören Grub2, Kmod statt Module- Init-Tools sowie das per Xz komprimierte ISO-Image. Das Release verwendet Kernel 3.5.4 mit dem für Desktops optimierten BFQ-I/ O-Scheduler, für den Server-Betrieb gibt es gehärtete Kernel. Als grafische Oberfläche dient KDE 4.9. Besonderen Wert legten die Entwickler auf Anwenderfreundlichkeit, ohne dabei je- doch die Funktionalität zu vernachlässigen. So bietet Sabayon X beispielsweise die parallele Nutzung von Gentoos Portage und dem Sabayon-eigenen Equo an. Sabayon funktioniert nach dem Rolling-Release-Prinzip. Das bedeutet, dass das Projekt perma- nent Updates für das System liefert, was eine Neuinstallation überflüssig macht.

11 | 12 97 SERVICE DVD-Inhalt

OpenSuse 12.2 Mit rund zwei Monaten Verspätung legen die Nürnberger Entwickler OpenSuse 12.2 vor. Als Anwender profitieren Sie von der Verzögerung, da die Entwickler dadurch acht Wochen mehr Zeit zum Beheben von Feh- lern hatten. Der Schwer- punkt dieser Version liegt entsprechend auf der Modellpflege. Als Desktops dienen KDE 4.8.4 und Gnome 3.4.2, den Unterbau stel- len der Kernel 3.4 sowie X.org 1.12. LibreOf- fice 3.5.4 dient als Büro- suite. Als Bootloader und Startbildschirm kommen jetzt Grub 2 und Ply- mouth zum Zuge, verbes- serte Funktionen in der Glibc und Qt sorgen für mehr Performance. Auf der Eco-Disk finden Sie die 64-Bit-Version der Distribution, auf der DVD die Live-CD für 32-Bit-Systeme mit KDE- Bei der DVD-Edition von LinuxUser ist hier der Datenträger eingeklebt (siehe Kasten auf Seite 5). Desktop. (tle) ■ Bitte wenden Sie sich per E-Mail an [email protected], falls es Probleme mit der Disk gibt.

AKTUELLE PROGRAMME AUF DER HEFT-DVD Wer sich vergewissern will, ob der freie Platz auf einer bestimmten Fest- Die GUI-Anwendung PAC 4.3 dient zum Management von SSH- und Telnet- plattenpartition noch ausreicht, dem verschafft der universelle System- Verbindungen. Die Applikation bringt in der Version 4.3 einige Verbesse- monitor Conky 1.9.0 einen schnellen Überblick. Das nützliche Werkzeug rungen mit. So startet das Programm jetzt auch bei einer großen Menge versammelt alle wichtigen Informationen über das System auf dem Desk- von konfigurierten Verbindungen deutlich schneller. top in einem kompakten Widget, das Sie bei Bedarf anpassen. Der Basic- Gambas3 3.3.1 lehnt sich konzeptionell stark an Enki 12.08 dient als vielseitiger Texteditor für Power-User und Program- Visu al Basic an und erlaubt es auch weniger erfahrenen Entwicklern, in mierer. Das Tool orientiert sich am Urgestein Emacs und versucht, des- relativ kurzer Zeit eigene Programme zu erstellen. Die Linux-Version gilt sen extreme Leistungsfähigkeit mit einer modernen Technologie nachzu- als sehr ausgereift und läuft auf verschiedenen Prozessorarchitekturen, bilden. Es bietet unter anderem umfangreiche Such- und Ersetzungsfunk- darunter x86 und x86_64, aber auch auf ARM-Prozessoren. tionen sowie Syntax-Highlighting für die verschiedensten Skript- und Pro- Der Videokonverter Handbrake 0.9.8 wandelt nicht nur alle möglichen grammiersprachen. Daneben bietet Enki einen WYSIWIG-Modus für Mark- Quellformate in MP4- oder MKV-Containerformate um, sondern erlaubt down und HTML, mit dem Sie direkt die Ergebnisse kontrollieren. außerdem in einem einzigen Arbeitsgang auch das Bearbeiten von Unter- Die IDE Lazarus 1.0 ermöglicht das schnelle Erstellen grafischer Bedien- titeln, Audio-Spuren, Auflösungen und Seitenverhältnissen. oberflächen. Im Gegensatz zu anderen IDEs für Pascal orientiert es sich Mit Gbrainy 2.1.4 lösen Sie unterschiedlichste Logik- und Rechenauf- stark an Borlands Delphi. Auch die Lazarus Component Library (LCL) gaben und trainieren so das Gehirn. Die Software unterstützt dabei ver- weist unverkennbare Ähnlichkeiten zur Delphi-VCL auf. Die meisten Units, schiedene Schwierigkeitsgrade und wertet die Ergebnisse in einer Statis- Klassen und Eigenschaften haben denselben Namen und dieselbe tik aus. Bei Bedarf drucken Sie die Rätsel aus und lösen sie offline. Funktionalität. Das gewährleistet einen schnellen Einstieg in die Soft- Mit Listaller 0.5.5 verfolgt der Maintainer Matthias Klumpp das Ziel, das ware. Dass die Lazarus-IDE für alle gängigen Betriebssysteme vorliegt, Installieren eines Paketes auf verschiedenen Distributionen so einfach erleichtert das plattfomübergreifende Arbeiten. und so sicher wie möglich zu gestalten.

98 11 | 12 das magazin für ubuntu-anwender! digisub-mini*: 2 digitale ausgaben ubuntu user! 5€ FÜR 2 AUSGABEN

iHre VOrteiLe ● Hilfe für ein- und umsteiger bei den ersten schritten mit ubuntu ● z usatzwissen rund um ubuntu und seine derivate ● 2x testen ohne risiko, das digisub-mini ist jederzeit kündbar! ● n utzbar auf notebook und PC, tablet oder smartphone!

Jetzt gLeiCH besteLLen! ● tel.: 07131 / 2707 274 ● fax: 07131 / 2707 78 601

● urL: www.ubuntu-user.de/abo ● e-mail: [email protected] *geht ohne Kündigung in ein digitales Jahresabo mit 4 ausgaben pro Jahr über und ist jederzeit kündbar!

UU_1-1_Digisub_1307-2012.indd 1 13.07.2012 13:48:15 Uhr heft-dvd OpenSuse 12.2

OpenSuse 12.2 im Überblick einzubinden, sodass es sich von mehreren Systemen gleichzeitig nutzen lässt. Die OpenSuse-Entwickler haben allerdings laut eigenen Angaben Mit Verspätung gerade erst damit begonnen, die System-Verzeichnisse /bin, /sbin und /lib in gleichnamige Unter- verzeichnisse unterhalb von /usr zu verlagern. Der Merge-Prozess soll mit OpenSuse 12.3 fortge- setzt werden, vorrangig um mit dem künftigen Standard kompa- tibel zu bleiben. Allerdings ist /­usr-Merge nicht FHS-konform. Im Test ließen sich die Installa­ tionsmedien von OpenSuse trotz Grub 2 nicht im EFI-Modus star- ten. Eine Installation auf EFI- Boards funktioniert also nur dann, wenn dessen EFI kompa­ tibel zu einem herkömmlichen BIOS ist. Ubuntu 12.04 und Fedo- ra 17 unterstützen EFI bereits jetzt deutlich besser. Eine echte Verbesserung für den Umgang mit (U)EFI bei OpenSuse steht erst mit Version 12.3 an, die dann auch UEFI Secure Boot unterstüt- zen soll. Die dazu vom Suse-Ent- wickler Vojtech Pavlik [4] vorge- schlagene Vorgehensweise, das Mit dem rasanten Aufstieg von Distro-Newcomern wie Ubuntu hat OpenSuse für Windows 8 vorgesehene, mit- tels signierter Schlüssel abgesi- in den letzten Jahren an Bedeutung verloren, verfügt aber immer noch über cherte Bootverfahren zwecks Pa­ rallelinstallation von Linux und viele treue Fans. Die mussten jetzt allerdings zwei Monate länger als geplant Windows zu implementieren, liegt funktional zwischen den Ver- auf das jüngste Release warten. Hat sich die Geduld gelohnt? Thomas Drilling fahren von Fedora und Ubuntu.

Mit rund zwei Monaten Verspä- Echte technische Neuerungen Fundamentales tung hat das OpenSuse-Projekt [1] bringt OpenSuse 12.2 nur weni- OpenSuse verwendet als Stan- nun endlich die schon sehnlichst ge [2], darunter beispielsweise dard-Kernel Linux 3.4 vom Mai erwartete die Version 12.2 der be- den Wechsel des Grub-Bootloa- dieses Jahres. Als Standard-C- liebten Distribution vorgelegt. Zu- ders auf die finale Version 2.0, Shared-Library verwendet Open- mindest was die Qualitätssiche- das Ersetzen des angestaubten Suse 12.2 die Glibc 2.15. Die README rung angeht, hat die Wartezeit der SysV-Init durch das moderne GCC-Version 4.7.1 vervollstän- Mit OpenSuse 12.2 Distribution gut getan. Dass die ­Init-System Systemd und das Ver- digt die Toolchain als Standard- schließt die Nürnberger OpenSuse-Macher darüber nach- schieben sämtlicher Binaries ge- Compiler, während als -Lauf- Distribution wieder ein denken, künftig auf ein Rolling- mäß Fedora-Vorbild nach /usr. zeitumgebung OpenJDK 7 zum gutes Stück zur Konkur- Release-Modell zu wechseln (siehe Die von den Red-Hat-Entwicklern Einsatz kommt. renz auf. Zwar kann das Kasten Tumbleweed), zeigt, wie für Fedora ersonnene, salopp als OpenSuse nutzt nun den von Release nichts vorwei- sen, was die Konkurrenz sehr der durch vorab festgesetzte Usr-Merge [3] bezeichnete Um- anderen Distributionen schon nicht auch zu bieten Release-Zyklen selbst auferlegte strukturierung macht es einfa- verwendete Plymouth-Boot- hätte, doch zumindest Druck die Entwicklung belastet – cher, /usr komplett in ein eigenes screen [5], der technische Details beseitigten die Entwick- Nutzer von OpenSuse 12.1 wissen Dateisystem auszulagern oder des Startprozesses hinter einer ler einige Show-Stopper. davon ein Lied zu singen. schreibgeschützt über das Netz Boot-Animation versteckt. Als

6 11 | 12 www.linux-user.de OpenSuse 12.2 heft-dvd

Standard-Dateisystem  Der Installer kombi- fungiert nach wie vor niert vorbildlich Kom- Ext4. Btrfs gilt bei fort (möglichst wenige OpenSuse weiterhin als Benutzerinteraktion, experimentell, lässt sich gut gewählte Vorga- jedoch bei Bedarf be- ben) und Funktionalität reits bei der Installation (Detail-Infos, Individu- (Abbildung ) einfach alisierung). per Mausklick aktivie- ren. Obendrein legen die OpenSuse-Entwickler Werkzeuge zum Prüfen und Reparieren von Btrfs-Partitionen bei. OpenSuse schlägt bei der Installation vor, eine separate Home-Partiti- on zu verwenden. Als Alternative offeriert es OpenSuse 12.2 eine LVM-basierte Parti- Install-DVD (64 Bit) tionierung. Auch ein zu- bootfähig auf Eco-Disk KDE-Live-CD (32 Bit) vor gesicherter beziehungsweise wenn der verwendete Linux-Gra- Paketquelle im Open Build Ser- bootfähig auf Heft-DVD exportierter Partitionsaufbau fik-Treiber keine 3D-Beschleuni- vice [8] zur Verfügung stellen. Seite A lässt sich während der Installa- gung mit GPU-Unterstützung er- Dass die OpenSuse-Qualitäts- tion importieren. In der Vorgabe- möglicht. Dadurch funktionieren sicherung aktuelle Software aus- Einstellung meldet das System KDE SC 4 mit Composite-Effek- bremst, zieht sich wie ein roter den bei der Installation angeleg- ten und die Gnome-3-Oberfläche Faden durch das Software-Ange- ten Standard-Benutzer, der auch auch auf älteren beziehungsweise bot: So liegt LibreOffice nur in der als Administrator fungiert, auto- exotischen Grafikkarten oder in Version 3.5.4 bei (aktuell: 3.6 vom matisch an – diese Optionen soll- virtuellen Maschinen. August), lediglich in der GLOSSAR ten Sie deaktivieren. Version 2.4 vom April (aktuell: FHS: Der von der Linux Aktualisierungen 2.5, siehe Test in LU 10/ 2012 [9]). Foundation gepflegte Sysinit und X-Server Der größte Teil der Neuerungen Immerhin ist Gimp in der aktuel- Filesystem Hierarchy Das Initialisieren der elementa- gegenüber der Vorgängerversion len Version 2.8 mit an Bord, samt Standard beschreibt die Verzeichnisstruktur uni- ren Systemdienste erledigt jetzt besteht in Aktualisierungen der dem von Fans lang erwarteten xoider Betriebssysteme. anstelle von SysV-Init der neue wichtigsten Software-Pakete. Als Ein-Fenster-Modus und einem EFI: Extensible Firm- Systemd. Dass OpenSuse 12.2 Desktop-Umgebungen stehen verbesserten Textwerkzeug. ware Interface. Der schneller bootet als die Vorgänger KDE 4.8.4 (als Standard) sowie BIOS-Nachfolger dient liegt unter anderem an dessen und Gnome 3.4.2 zur Verfügung. Multimediales als zentrale Schnitt- Readahead-Funktion. Weitere Desktops wie XFCE oder Als Community-Distribution ent- stelle zwischen der Als Fundament für die Benut- LXDE rüsten Sie bei Bedarf über hält OpenSuse ausschließlich freie Firmware, den Hard- zeroberfläche dient der X.org- externe Paketquellen nach. Darü- Software, was es für Einsteiger ware-Komponenten und Server in der Version 1.12. Für ber hinaus wollen die OpenSuse- mitunter etwas mühselig macht, dem Betriebssystem. flotte Grafik sorgen 3D 8.0 Macher laut Projektleiter Jos das System durch Hinzufügen un- UEFI: Vom Unified EFI Forum definierte Stan- und der Llvmpipe-Treiber [6], der Poortvliet [7] zumindest KDE in freier und proprietärer Software dard-EFI-Implementation. die zur Darstellung von GL-Effek- der aktuellen Version 4.9.1 schon multimediatauglich zu machen. Diese umfasst das so- ten erforderlichen 3D-Berech- in Kürze in einer speziell für Abhilfe schafft hier das Software- genannte Secure Boot, nungen auf der CPU ausführt, OpenSuse 12.2 angepassten Depot Packman [10], das schon welches das Booten auf vorher signierte Bootloa- tUMBLeWeed der beschränkt und so Die OpenSuse-Entwickler diskutieren bereits seit einiger Zeit vieren, sobald diese „einigermaßen“ stabil laufen, offeriert Schadsoftware wie Root- darüber, OpenSuse zu einer Rolling-Release-Distribution um- das Tumbleweed-Repo zwar nicht ganz so aktuelle Software kits aushebeln soll. zubauen, sodass sich das System quasi stets automatisch wie OpenSuses Entwicklerversion Factory, dafür aber sta- aktualisiert, sobald neue Programmversionen vorliegen. bilere. Trotzdem ist der Einsatz von Tumbleweed mit Vorsicht Möchten Sie dieses Verhalten jetzt schon ausprobieren, akti- zu genießen. So raten die Tumbleweed-Macher vom Einsatz vieren Sie die Paketquelle Tumbleweed [14]. Da die Strategie ab, falls Sie proprietäre Treiber (etwa für AMD- oder Nvidia- der Tumbleweed-Betreuer darin liegt, neue Versionen zu akti- Grafikkarten) verwenden oder OpenSuse 12.2 virtualisieren.

www.linux-user.de 11 | 12 7 heft-dvd OpenSuse 12.2

 Typisch OpenSuse: Apper und YaST kommen sich gerne einmal ins Gehege.

das Herunterladen der Fluendo- ßerdem weist YaST die unange- MP3-Bibliothek. Nutzer des Gno- nehme Eigenschaft auf, Konfigu- me-Desktops bekommen automa- rationsdateien automatisch zu tisch die jeweils passenden ändern und sogar aus dem Tritt Gstreamer-Pakete (- zu geraten, wenn der Anwender 0_10-fluendo-mp3) angeboten. diese manuell bearbeitet. Als Musik-Player kommt bei In dieselbe Kerbe schlägt ein OpenSuse 12.2 per Default Ama- bekanntes Problem, das im Test  Die Flash-Unter- stützung aktiviert Pakete für OpenSuse 12.2 anbie- rok zum Einsatz. Die Distribution auch bei der aktuellen Version OpenSuse 12.2 erst im tet. Damit Sie auch ohne Packman bringt darüber hinaus aber auch auftrat: Der KDE-Paketverwalter Rahmen des ersten so wenig wie möglich nacharbei- den Multi-Plattform-Player Apper und YaST blockieren sich Online-Updates. ten müssen, lädt OpenSuse bei- Tomahawk [12] mit. unter gewissen Umständen ge- spielsweise das Flash-Plugin von genseitig (Abbildung ), ein Be- Adobe auf Wunsch automatisch Apropos YaST enden von Apper lässt sich durch beim ersten Online-Update he- Suses Konfigurationswerkzeug YaST nicht immer erzwingen. runter (Abbildung ). Auch Suses YaST („Yet another Setup Tool“) Online-Appliance-Builder Suse galt lange als innovatives Allein- Fazit Studio [11] unterstützt bereits stellungsmerkmal und punktete OpenSuse 12.2 ist ein für einge- OpenSuse 12.2. vor allem bei Einsteigern durch fleischte Suse-Anwender längst Ferner sorgt bei der KDE-Versi- seine hohe Usability. Anno 2012 überfälliges und unter dem Strich on von OpenSuse YaST bei der stellt YaST allerdings keinen ernst gelungenes Update. Wer Open- ersten Installation eines zusätz- zu nehmenden Grund mehr dar, Suse nutzt, kann und sollte es so lichen Paketes automatisch für OpenSuse zu bevorzugen. Ange- schnell wie möglich aktualisieren, sichts der inzwischen in allen da das neue Release zahlreiche INfO gängigen Distributionen vorhan- Defizite des Vorgängers ausräumt. [1] OpenSuse-Projekt: http:// de. . org denen grafischen Konfigurations- Für Linux-Neueinsteiger stellt [2] Neuerungen der Version 12.2: http:// de. opensuse. org/ Ankündigung werkzeuge schmilzt der Mehr- OpenSuse 12.2 dagegen nicht [3] Usr_merge: http:// en. opensuse. org/ openSUSE%3AUsr_merge wert von YaST zunehmend dahin. zwangsläufig die erste Wahl dar: [4] UEFI-Secure-Boot in OpenSuse 12.3: Schlimmer noch: Da YaST seit Ubuntu bietet in und um die Dis- https:// www. . com/ blogs/ uefi-secure-boot-details vielen Jahren entwickelt wird, tributionen herum neben der grö- [5] Plymouth Bootscreen: http:// www. freedesktop. org/ wiki/ Software/ Plymouth enthält es Module, die heute kein ßeren Paketauswahl und flexible- [6] Llvmpipe : http:// www. mesa3d. org/ llvmpipe. Mensch mehr braucht und welche ren Paketverwaltung vor allem in- [7] Pläne für KDE 4.9.1: die Entwickler augenscheinlich teressante Mehrwerte wie Cano- http:// news. opensuse. org/ 2012/ 09/ 04/ sneak-peek-opensuse-12-2-and-kde kaum mehr pflegen. So laufen nicals Cloud-Dienste Ubuntu One [8] Externe Repositories für KDE: http:// download. opensuse. org/ repositories/ insbesondere Einsteiger Gefahr, und Ubuntu Music Store. KDE%3A/ Release%3A/ 49/ openSUSE_12. 2/ den Überblick zu verlieren. Au- Insgesamt bietet OpenSuse 12.2 [9] Calligra 2.5 im Test: Thomas Drilling, „Kleinere Baustelle“, LU 10/ 2012, S. 20, nichts [13], was Ubuntu 12.04 http:// www. linux-community. de/ 26399 dOWNLOAd und Fedora 17 nicht schon längst [10] Packman Repository: http:// packman. links2linux. org OpenSuse 12.2 steht in Form von können – und bei beiden steht in [11] Suse Studio: http:// susestudio. com ISO-DVD-Images für 32- und 64-Bit- Kürze das nächste Release an. Systeme zum Herunterladen be- [12] Tomahawk Media Player: http:// www. tomahawk-player. org Daher bleibt festzuhalten, dass reit [15]. Optional gibt hier auch [13] Funktionsübersicht OpenSuse (englisch): http:// en. opensuse. org/ Features eine zusätzliche Language-Pack-CD OpenSuse 12.2 nur zu den direk- [14] Tumbleweed: http:// en. opensuse. org/ Portal:Tumbleweed sowie eine Non-OSS-CD und ISOs ten Konkurrenten aufschließt, [15] OpenSuse Download 1: http:// software. opensuse. org/ 122/ de der Live-CD-Varianten für KDE und mehr nicht. Es enthält zwar keine [16] Versionshinweise OpenSuse 12.2: Gnome. Weitere Informationen fin- Show-Stopper mehr, aber eben den Sie in den Release-Notes [16]. http:// www. suse. de/ relnotes/ i386/ openSUSE/ 12. 2/ RELEASE-NOTES. de. html auch keine Highlights. (jlu) ■

8 11 | 12 www.linux-user.de Probelesen ohne risiko Und Gewinnen! eines von zehn „ivori“ smartphone GadGets das smartphone wird zum desktop telefon GeeiGnet für alle smartphones mit mini Jack ein cooles retro GadGet für Büro und zu hause gesponsert von

.de

sonderAkTion! Testen sie jetzt 3 Ausgaben für * nUr 3€ Telefon: 07131 /2707 274 Fax: 07131 / 2707 78 601 E-Mail: [email protected] Mit großem Gewinnspiel unter: www.linux-user.de/probeabo * Angebot gilt innerhalb Deutschlands und Österreichs. In der Schweiz: SFr 4,50. Weitere Preise: www.linux-user.de/produkte

LU_1-1_Miniabo_0709-2012.indd 1 07.09.2012 10:51:14 Uhr AKTUELLES Angetestet

Mails einfach herunterladen mit Getmail Wer einen privaten Mail-Dienst mails Aufgaben. Es leitet die emp- Das regelmäßige automatisierte JJJII im heimischen Netz aufbauen fangenen Nachrichten an einen Abholen von Nachrichten über- Mit den Tools aus der möchte, der braucht ein Tool wie lokalen Mail Delivery Agent wie nimmt getmail, das dazu die gän- Getmail-Suite holen Sie Getmail, das die elektronische Postfix oder Sendmail weiter. Wer gigen Protokolle POP3 und manuell oder per Skript Post beim Provider abholt. Die keinen MDA betreibt, kann die IMAP4 unterstützt. Seine um- Ihre Mails beim Provider Getmail-Suite – sie besteht aus abgeholten Nachrichten auch di- fangreiche Konfigurationsdatei ab und verteilen sie dann im eigenen LAN. den vier Tools getmail, getmail_ rekt in einem MailDir-Verzeichnis kann beliebig viele sogenannte fetch, getmail_maildir und getmail_ oder einer Mbox-Datei ablegen. Retriever-Einträge umfassen, die mbox – braucht sich in Sachen Das manuelle Abholen von Zugangsdaten für je ein Benut- Funktionsumfang nicht hinter Mails besorgt getmail_fetch, das zerkonto enthalten. Über Filter- Fetchmail zu verstecken. Die vier sie komplett über Kommandozei- einträge binden Sie bei Bedarf ex- Python-Programme ermöglichen lenparameter steuern. Neben Ser- terne Programme wie Virenscan- einen flexiblen ver-IP und Port geben Sie beim ner oder Spamschutz ein. Der Einsatz vom Aufruf auch die Zugangsdaten für Destination-Eintrag legt schließ- einfachen, ma- das jeweilige Mail-Konto an. Wei- lich fest, wohin Getmail die Nach- nuellen Down- tere Parameter ermöglichen die richten liefert. Weiterführende load bis zur Authentifizierung via APOP oder Informationen finden Sie in den Integration im das Verschlüsseln der Kommuni- Manpages und im Verzeichnis eigenen Skript. kation mit SSL. Als Ziel für die doc/ des Quellarchivs. Die Mail-Zu- eingehenden Mails dient eine stellung im Mbox-Datei oder ein MailDir- GETMAIL 4.34.0 lokalen Netz Verzeichnis, alternativ reichen Sie Lizenz: GPLv2 zählt hingegen die Mails auch über eine Pipe an Quelle: http:// pyropus. ca/ software/ getmail/ nicht zu Get- ein externes Programm durch.

Siren verschiebt und kopiert Dateien mit regulären Ausdrücken Das Umbenennen oder Verschie- teien mithilfe regulärer Ausdrücke er beim nächsten Mal per Knopf- JJJJI ben einzelner Dateien ist schnell umzubenennen. Der Ausdruck für druck zur Verfügung steht. In Siren macht das Um- erledigt. Müssen jedoch dutzende den neuen Namen kann dabei Ele- dieser Favoritenliste finden sich benennen großer Datei- Dateien einen neuen Namen er- mente des alten enthalten, kann schon einige Beispielausdrücke, mengen zum reinsten halten, benötigt man die Hilfe aber auch die Dateierweiterung, um Dateien durchzunummerieren Kinderspiel. von einem Tool wie Siren. Das die Größe, das Datum oder die oder den Dateinamen in Groß- Programm ähnelt einem Dateima- Dateiattribute integrieren. Bei buchstaben zu setzen. Auf welche nager mit einem Navigations- Dateiformaten wie MP3, MP4, Dateien Siren den Ersetzungsaus- baum und einer Dateiübersicht, JPG oder PDF lassen sich auch die druck anwendet, können Sie von welche die Dateien des aktuellen enthaltenen Meta-Informationen Hand festlegen. Bequemer geht es Verzeichnisses mit einigen ihrer im neuen Dateinamen verbauen. jedoch über das Select-Menü, in Attribute anzeigt. Sie haben nun Die Palette der unterstützten For- dem Sie über den Punkt Find alle die Möglichkeit, ausgewählte Da- umfasst zahlreiche Doku- Dateien mit einem bestimmten menten-, Multimedia- und sogar Muster automatisch finden und Paketformate. Hinter dem Zau- markieren lassen. Über das berstabsymbol hält Siren ein For- Action- Menü lassen sich nun alle mularfenster bereit, mit dem Sie Dateien in einem Durchgang um- sich einen Ersetzungsausdruck benennen oder eine Kopie mit per Maus zusammenklicken. Da- neuem Namen anlegen. Eine bei zeigt Siren in der Spalte New Undo-Funktion erlaubt es außer- Name in der Dateiübersicht eine dem, vorschnelle Aktionen wieder Vorschau auf das Aussehen der rückgängig zu machen. neuen Dateinamen. Hat sich ein Ersetzungsausdruck bewährt und SIREN 3.01 Lizenz: GPLv3 soll regelmäßig zum Einsatz kom- men, nehmen Sie ihn in die Liste Quelle: http:// www. scarabee-software. net/ en/ siren. html der Favoriten auf, aus der heraus

10 11 | 12 www.linux-user.de Angetestet AKTUELLES

Liferea, der schnelle RSS-Reader für GTK+ Der GTK-basierte, schlanke RSS- über den sich die Mediendateien schaften des Feeds anpassen. Hier Feed-Reader Liferea besticht direkt herunterladen lassen. hinterlegen Sie auch Authentifi- JJJJJ durch einfache Bedienbarkeit und Möchten Sie den Text zu einem zierungsdaten, deaktivieren Pop- Liferea ist ein leistungs- eine übersichtliche Oberfläche. Eintrag komplett lesen, laden Sie ups und passen das Caching sowie fähiger RSS-Reader im Ein Navigationsbaum am linken ihn durch Anklicken der Schlag- die Aktualisierungsintervalle indi- klassischen Design. Rand enthält die Liste aller Feeds, zeile in den Browser oder öffnen viduell an. Standardmäßig hält die sich durch Ordner logisch ihn über das Kontextmenü als Liferea die letzten 100 Nachrich- strukturieren lässt. Die Schlagzei- weiteren Reiter. Über das Kon- ten vor und aktualisiert die lenübersicht und die Nachrichten- textmenü lässt sich außerdem die Schlag zeilen stündlich. vorschau teilen sich den Rest des Schlagzeile als gelesen markieren, Programmfensters. Während die löschen oder in einen Sammelord- Übersicht alle Einträge eines ner kopieren. Das Quellarchiv von Feeds auflistet, zeigt die Vorschau Liferea enthält bereits eine Liste eine Zusammenfassung des In- interessanter RSS-Feeds, die Sie halts des aktuellen Feeds an. Han- beliebig erweitern. Als Quelle ge- delt es sich bei dem Feed um ei- ben Sie dazu eine URL, ein exter- nen Podcast, erscheint unter dem nes Programm oder eine lokale Vorschaubereich ein Schalter, Datei an. Darüber hinaus besteht die Möglichkeit, einen Filter zu LIFEREA 1.8.8 definieren oder die Nutzung eines Lizenz: GPLv2 Proxy-Servers zu deaktivieren. Quelle: Alle Einstellungen lassen sich http:// liferea. . net/ auch nachträglich über die Eigen-

Httping: Es muss nicht immer ICMP sein Mit Httping prüfen Sie auf ein- Bei verschlüsselten Seiten setzen Die Ausgabe von Httping ähnelt fache Weise die Reaktions- und Sie außerdem den Parameter -l jener von Ping und ist gut lesbar. JJJJI Antwortzeiten eines Webservers. für SSL-Unterstützung. Läuft der Auf Wunsch erzeugt das Tool auch Mit dem handlichen Tool Das Tool sendet einen HTTP-Re- Webserver nicht auf Port 80, eine maschinenlesbare Ausgabe, Httping behalten Sie die quest an eine IP-Adresse oder übergeben Sie die Portnummer die sich in eigenen Skripten ein- Verfügbarkeit und Ge- schwindigkeit von Web- URL und ermittelt die Antwort- mittels -p. Nutzen Sie einen fach weiter verarbeiten lässt so- servern im Auge. zeit. Da es das HTTP-Protokoll Proxy-Server, hängen Sie dessen wie Nagios-konforme Nachrich- verwendet, durchdringt es auch Verbindungsdaten mit -x an den ten und Return-Codes. (jlu) ■ Firewalls. Um einen einfachen Aufruf an. Falls Sie nicht mit -c Ping auf eine Webseite abzuset- eine Obergrenze für die Anzahl zen, rufen Sie Httping mit dem der Requests festlegen, klopft Parameter -g gefolgt von der URL Httping ohne Unterbrechung bei auf. Kennen Sie diese nicht, geben der Gegenstelle an. Senden Sie Sie hinter -h die IP-Adresse an. statt eines HEAD- einen GET- Request als Ping-Paket, lässt sich HTTPING 1.5.4 mit dem Parameter -b die Durch- Lizenz: GPLv3 satzrate berechnen. Um die Ge- Quelle: http:// www. vanheusden. com/ genseite unter Last zu setzen, lei- httping/ 000_LU1106_F-Weber_neu1.qxd 18.09.2006 ten 19:00 Sie via Uhr -f ein Seite Flood-Ping 1 ein.

X23 schwerpunkt Quellcode-Analyzer

Splint und Co.: Tools zur statischen Code-Analyse Kehraus © digifuture, 123RF digifuture, ©

Zwar finden Compiler Syntaxfehler in Programmen, aber auch syntaktisch korrekter Code kann Ungenauigkeiten,

logische Fehler oder veraltete Funktionen enthalten. Solche Probleme spüren Quellcode-Analyzer auf. Wolfgang Dautermann

Compiler und Interpreter bean- nen aufspüren. Damit helfen sie, Tools. Zu diesen gehört das Open- standen zwar ungültigen Pro- mögliche Fehlerquellen zu besei- Source-Programm Splint („Secure grammcode, in vielen Program- tigen, und sorgen so für bessere Programming Lint“, [3]), das wie miersprachen sind aber selbst Codequalität. Im Folgenden stel- sein Vorbild mögliche Problem- sehr ungewöhnliche Codezeilen len wir einige ausgewählte Vertre- quellen in C-Code aufspürt. noch gültig. Man kann Code auch ter dieser Gattung vor, wobei un- Als Beispiel sehen wir uns das absichtlich verwirrend gestalten – sere Aufstellung keinen Anspruch kurze C-Programm aus Listing 1 es gibt sogar diverse Obfuscated auf Vollständigkeit erhebt: Ähn- (Zeile 2 bis 10) an, das melden Coding Contests ([1],[2]), also liche Open- und Closed-Source- soll, wenn zehn Argumente auf reADMe Wettbewerbe, die zum Ziel haben, Werkzeuge gibt es für praktisch der Kommandozeile übergeben Mit Quellcode-Analyzern ein Programm absichtlich mög- jede Programmiersprache. werden. Dies prüft es, indem es wie etwa Splint (C), lichst unleserlich zu gestalten. argc auswertet: Diese Variable Perl::Critic (Perl) oder Viel öfter allerdings geschieht das Splint – Codeprüfung für C enthält bekanntlich immer die Phpcs (PHP) kommen unabsichtlich, insbesondere wenn Das erste Werkzeug zur statischen Anzahl der übergebenen Argu- Sie selbst verzwickten (wie in vielen Open-Source-Pro- Quellcodeprüfung, Lint, kam be- mente plus eins, weil es den Pro- Fehlern im eigenen jekten) mehrere Entwickler ge- reits 1979 mit Unix zur Ausliefe- grammnamen als erstes Argu- Code schnell auf die meinsam an einem Programm ar- rung. Das Programm wurde ment mitzählt. Schliche. Ähnliche Werkzeuge gibt es nicht beiten. Nicht immer bemerkt der schnell so populär, dass es den Der Compiler GCC meldet beim nur für andere Program- Compiler die daraus resultieren- Programmierer-Jargon um den Übersetzen des Quellcodes nor- miersprachen, sondern den Schnitzer. Ausdruck „linten“ für statische malerweise gar nichts (Zeile 11). auch für LaTeX, CSS Glücklicherweise gibt es Tools, Codeprüfungen bereicherte. In Erst wenn Sie mittels der Option und sogar RPM- und die hier ansetzen und solche un- der Folge diente es dann als Na- ‑Wall sämtliche Warnungen ein- DEB-Pakete. gewöhnlichen Codekonstruktio- mensgeber für viele ähnliche schalten (Zeile 12) wirft er eine

38 11 | 12 www.linux-user.de Quellcode-Analyzer schwerpunkt

kurze kryptische Meldung aus, Der Aufruf splint ‑‑help modes weil der Code anstatt eines Ver- gibt Ihnen einen ersten Überblick gleichs (==) eine Zuweisung (=) über die (de-)aktivierten Optio- verwendet (Zeile 5). nen in diesen Einstellungen. Sehen Sie sich zum Vergleich die Übrigens bemerkt auch GCC Ausgabe von Splint in Listing 2 durchaus, dass der Befehl an: Das Tool findet nicht weniger printf("Programm beendet\n") nie als vier mögliche Fehler in main.c. ausgeführt wird. Er optimiert den Außerdem beschreibt es ausführ- Befehl daraufhin, sprich: erzeugt lich die Art der Probleme und die gar nicht erst Code dafür. Das er- möglichen Ursachen. Daneben kennen Sie unschwer, indem Sie liefert es Hinweise, mit welchen sich mit dem Kommando strings Änderungen am Code oder den a.out die Texte im generierten Parametern Sie die vermuteten Executable ansehen. Etwas lesba- Fehler korrigieren oder die Aus- rer fällt die Variante aus, mit gcc gabe unterdrücken können. A Der Perl::Critic-Webservice lie- ‑S main.c die Assembler-Datei Neben der schon von GCC be- fert nach dem Hochladen des zu main.s zu erzeugen. In jedem Fall merkten fehlerhaften Zuweisung prüfenden Codes sofort Ergebnisse. unterschlägt der Compiler jedoch gLOssAr im If-Statement, zu der Splint hier die Information, dass hier Statische Quellcodeprü- gleich zwei Anmerkungen liefert, Neben der Hilfe-Funktion, die völlig überflüssiger Code vorhan- fung: Bei diesem Ver- findet der Analyzer auch noch mittels splint ‑‑help einen ersten den ist. Klar, er soll ja auch fahren wird der Quell- code analysiert, ohne eine unbenutzte Variable (argv) Überblick über die Themen lie- übersetzen und nicht Fehler su- das Programm auszu- sowie Programmcode, der nie- fert, kennt Splint noch zahlreiche chen – zur Verbesserung der führen. Es gibt auch mals ausgeführt wird. Beim Kom- weitere Kommandozeilenoptio- Codequalität trägt das aber nicht Code-Analyzer, die das mentar /*@unused@*/, dem Splint nen. Für Einsteiger sind wahr- gerade bei. Programm in einer Art in der vierten Warnung vor- scheinlich die Optionen ‑‑weak, Andere C-Compiler schlagen sich virtuellen Maschine schlägt, handelt es sich um eine ‑‑standard, ‑‑checks und ‑‑strict hier nicht viel besser. So meldet ausführen und so Feh- sogenannte Annotation. Ein sol- am interessantesten, die steuern, der -Compiler standard- ler suchen (beispiels- cher spezieller Kommentar steu- wie pedantisch sich Splint gibt. mäßig dasselbe wie GCC: nichts. weise Valgrind). ert das Verhalten von Splint, in- a.out: Der Standard- dem er beispielweise gewisse Prü- Listing 2 name des vom C-Compi- ler erzeugten Pro- fungen (de-)aktiviert und Splint 01 $ splint main.c gramms, wenn Sie nicht weitere Hinweise gibt, welche die 02 Splint 3.1.2 ‑‑‑ 29 Oct 2011 03 über ‑o Name etwas an- Prüfungen unterstützen. Der 04 main.c: (in function main) deres angeben. Aufruf splint ‑‑help annotations 05 main.c:4:6: Test expression for if is assignment expression: argc gibt einen Überblick über die = 10 + 1 Möglichkeiten. 06 The condition test is an assignment expression. Probably, you mean to use == Listing 1 07 instead of =. If an assignment is intended, add an extra 01 $ cat main.c parentheses nesting 02 #include 08 (e.g., if ((a = b)) ...) to suppress this message. (Use 03 int main(int argc, char * ‑predassign to argv[]) 09 inhibit warning) 04 { 10 main.c:4:6: Test expression for if not boolean, type int: argc = 10 + 1 05 if (argc = 10+1) { 11 Test expression type is not boolean or int. (Use ‑predboolint to 06 printf("10 inhibit Argumente!\n"); 12 warning) 07 } 13 main.c:8:2: Unreachable code: printf("Programm... 08 return 0; 14 This code will never be reached on any possible execution. (Use 09 printf("Programm ‑unreachable beendet.\n"); 15 to inhibit warning) 10 } 16 main.c:2:27: Parameter argv not used 11 $ gcc main.c 17 A function parameter is not used in the body of the function. If 12 $ gcc ‑Wall main.c the argument 13 main.c: In function 'main': 18 is needed for type compatibility or future plans, use /*@ 14 main.c:4:2: warning: suggest unused@*/ in the parentheses around assignment 19 argument declaration. (Use ‑paramuse to inhibit warning) used as truth value 20 [‑Wparentheses] 21 Finished checking ‑‑‑ 4 code warnings

www.linux-user.de 11 | 12 39 schwerpunkt Quellcode-Analyzer

Der Sun/​Oracle-Compiler bean- do it“ an – sie erlaubt also viele sehen, können Sie dazu den ent- standet zwar das nicht erreichba- Wege, um ein Problem zu lösen. sprechenden Webservice [4] nut- re Statement, findet aber an der Für möglichst seltsame und un- zen (Abbildung A, vorige Seite). wahrscheinlich fehlerhaften Zu- lesbare Wege gibt es sogar einen Dort laden Sie Ihren Perl-Code weisung in der If-Abfrage nichts eigenen Wettbewerb, den Obfus- hoch und sehen dann sofort das auszusetzen. LLVM/​Clang be- cated Perl Contest [2]. Dazu pas- Ergebnis der Evaluierung. Dabei merkt zwar die falsche Zuwei- send hat der Code-Analyzer unterstützt das Analysetool fünf Tipp sung, meldet aber ebenfalls nichts Perl::Critic das Motto „Some verschiedene „Härtegrade“. In OpenSuse 12.1 zum nicht ausführbaren Code. Ways Are Better Than Others“. Auf der Kommandozeile rufen fehlt (im Gegensatz Perl::Critic hilft wie Splint, mög­ Sie das einmal installierte Werk- zu anderen gängigen Perl::Critic Distributionen) bei der liche Fehler zu finden und einen zeug mit dem schlichten Befehl perlcritic Datei /usr/bin/perl‑ Die Programmiersprache Perl einheitlichen Programmierstil auf. Auch hier kennt critic das Execu­ tritt explizit mit dem Motto durchzusetzen. Möchten Sie sich Perl::Critic die bereits erwähnten table-Bit. Sie müssen ­„There is more than one way to Perl::Critic ohne Installation an- fünf Prüfstufen, die von 1 („bru- es entweder nachträg- tal“) bis 5 („gentle“) reichen. Im lich setzen oder das Listing 3 Beispiel aus Listing 3 rufen wir Analyse-Tool explizit 01 $ cat test.pl mit perl /usr/bin/ den Analyzer mit dem dritten Le- 02 #!/usr/bin/perl perlcritic aufrufen, vel („harsh“) auf, damit er in dem um es zu nutzen. 03 print `cat test.pl` kurzen Programm (Zeilen 2 bis 5) 04 print "Return drücken"; auch etwas zu reklamieren findet. 05 my $filename = ; Tatsächlich macht Perl::Critic 06 $ perlcritic ‑‑severity 3 test.pl auf gleich vier Verbesserungs- 07 Code before strictures are enabled at line 2, column 1. See page 429 of PBP. (Severity: 5) möglichkeiten aufmerksam (Zei- 08 Code before warnings are enabled at line 2, column 1. See page 431 len 7 bis 10). Dabei gibt es jeweils of PBP. (Severity: 4) eine Beurteilung des Schwere- 09 Backtick operator used at line 2, column 7. Use IPC::Open3 grads und häufig auch eine Refe- instead. (Severity: 3) renz auf das Buch „Perl Best 10 Use "<>" or "" or a prompting module instead of "" at Practices“ (PBP) von Damian line 4, column 16. See 216,220,221 of PBP. (Severity: 4) Conway aus. Ähnlich wie Splint

Listing 4 01 $ phpcs ‑i 24 $ phpcs ‑‑standard=PHPCS test.php 02 The installed coding standards are PHPCS, Squiz, MySource, 25  Zend and PEAR 26 FILE: /home/dauti/Artikel/2012‑Code‑Analyse/test.php 03  27 ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 04 $ cat test.php ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 05 5) { ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 08  echo "Zufallszahl >5"; 30 1 | ERROR | You must use "/**" style comments for a file 09 } comment 10 ?> 31 1 | ERROR | Single line block comment not allowed; use 11  inline ("// text") 12 $ phpcs test.php 32  | | comment instead 13  33 2 | ERROR | String "abc" does not require double quotes; use 14 FILE: /home/dauti/Artikel/2012‑Code‑Analyse/test.php single quotes 15 ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 34  | | instead ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 35 3 | ERROR | No space found after comma in function call 16 FOUND 4 ERROR(S) AFFECTING 3 LINE(S) 36 3 | ERROR | Expected 1 space before ">"; 0 found 17 ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 37 3 | ERROR | Expected 1 space after ">"; 0 found ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 38 4 | ERROR | Spaces must be used to indent lines; tabs are 18 1 | ERROR | You must use "/**" style comments for a file not allowed comment 39 4 | ERROR | Line indented incorrectly; expected at least 4 19 3 | ERROR | No space found after comma in function call spaces, found 1 20 4 | ERROR | Spaces must be used to indent lines; tabs are 40 4 | ERROR | Line indented incorrectly; expected at least 4 not allowed spaces, found 1 21 4 | ERROR | Line indented incorrectly; expected at least 4 41 4 | ERROR | String "Zufallszahl >5" does not require double spaces, found 1 quotes; use single 22 ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 42  | | quotes instead ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 43 ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ 23  ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑

40 11 | 12 www.linux-user.de Quellcode-Analyzer schwerpunkt

können Sie auch Perl::Critic mit onen zur Verfü-  Active State Perl bringt eine grafische speziellen Kommentaren (## no gung (phpcs Oberfläche für critic) am Ende einer Zeile an- ‑‑help), können Perl::Critic mit. weisen, diese nicht zu untersu- eigene Regel- chen. Daneben verzichtet das Sets definieren Tool darauf, Code zwischen den und einzelne Marken ## no critic und ## use Codeteile von critic zu prüfen. der Prüfung Daneben bietet Perl::Critic ausklammern ebenso wie Splint auch noch wei- (Listing 5). tergehende Einstellungsmöglich- keiten an. Zum einen dürfen Sie Weitere ver- vorgeben, welche Prüf-Policies es gleichbare anwenden soll, zum anderen kön- Projekte nen Sie dem vorhandenen Fun- Lint-ähnliche dus auch eigene Policies hinzufü- Codeprüfer gibt gen. Dazu liefert der Befehl es nicht nur für perlcritic ‑‑help eine erste Über- C, Perl und PHP, sondern auch für te unter anderem zufällige Werte sicht, auch eine umfangreiche viele weitere Programmierspra- auslesen. Durch die „Korrektur“ Manpage (man perlcritic) steht chen. Suchen Sie doch einfach wurden jahrelang nicht zufällige, zur Verfügung. mal nach dem Begriff „lint“ und sondern stattdessen leicht vor- Als Teil der kommerziellen Perl- Ihrer Lieblingsprogrammierspra- hersagbare SSL-Zertifikate gene- Distribution von Activstate [5] che im Netz – Sie werden mit ho- riert – eine kryptographische Der AutOr gibt es auch eine grafische Ober- her Wahrscheinlichkeit schnell Katastrophe [11]. Der Systemadminis- fläche für Perl::Critic namens fündig. Doch solche Tools stehen Bei der Arbeit am eigenen Code trator Wolfgang perlcritic‑gui (Abbildung ), mit nicht nur für Programmierspra- jedoch erleichtern die diversen Dautermann hat ne- ben vielen Linux-Va- der Sie sich einen groben Über- chen zur Verfügung, sondern in Lint-Varianten und Codechecker rianten auch schon blick über die vielfältigen Optio- vergleichbarer Form auch für das die Fehlersuche in Quelltexten Unix-Systeme wie nen verschaffen können. Active Textsatzsystem LaTeX (ChkTeX, ganz wesentlich. Darüber hinaus Solaris, Irix oder State Perl lässt sich zwar kosten- [7]), Pakete der Typen RPM (RPM sorgen solche Werkzeuge dafür, Tru64 gebändigt. Er los herunterladen und nutzen, ist Lint, [8]) und DEB (Lintian, [9]) dass in größeren Software-Pro- zählt zu den Organi- jedoch keine freie Software. sowie Cascading Style Sheets jekten alle beteiligten Entwick- satoren der Grazer Linuxtage. (CSS Lint, [10]). lern schnell zu einem gemeinsa- PHP Code Sniffer men Coding-Stil finden. (jlu) ■ Auch für die populäre Program- Fazit miersprache PHP gibt es ein ähn- Es empfiehlt sich übrigens nicht, inFO liches Projekt, den PHP Code mal eben auf die Schnelle poten- [1] International Obfuscated C Code Contest: Sniffer[6]. Nach der Installation zielle „Fehler“ in fremden Projek- http:// en. wikipedia. org/ wiki/ International_ testen Sie mit phpcs eine einzelne ten zu korrigieren. Sonst kann es Obfuscated_C_Code_Contest PHP-Datei oder prüfen gleich ein einem so gehen, wie einigen Ent- [2] Obfuscated Perl Contest: komplettes Verzeichnis. Phpcs wicklern des -Projektes. http:// de. wikipedia. org/ wiki/ Obfuscated_ definiert dazu verschiedene Co- Diese stellten aufgrund einer Perl_Contest ding-Standards, die Sie über die Prüfung mit Valgrind (einem Pro- [3] Splint: http:// www. splint. org Option ‑‑standard=Typ auswählen. gramm, das ein Programm in ei- [4] Perl::Critic-Webservice: Im Beispiel aus Listing 4 bean- ner Art virtuellen Maschine aus- http:// www. perlcritic. com standet Phpcs einige eher kosme- führt und so Fehler sucht) einen [5] Activestate Perl: tische Kleinigkeiten wie beispiels- „Bug“ im OpenSSL-Projekt fest: http:// www. activestate. com weise falsche Einrückungen oder Das Programm griff auf einen [6] PHP Code Sniffer: http:// pear. php. net/ fehlende Leerzeichen – definitiv noch nicht initialisierten Speicher package/ PHP_CodeSniffer keine Fehler, aber unschön. Auch zu – flugs kommentierten die De- [7] ChkTeX: bei Phpcs haben Sie etliche Opti- bianer die vermeintlich fehlerhaf- http:// baruch. ev-en. org/ proj/ chktex/ te Funktion aus. [8] RPM Lint: rpmlint. zarb. org Listing 5 Allerdings handelte es sich bei [9] Lintian: http:// lintian. debian. org // @codingStandardsIgnoreStart dem derart „korrigierten“ Code [10] CSS Lint: http:// csslint. net ... dieser Code wird nicht um eine Funktion, die Zufallszah- [11] Debian und OpenSSL: geprüft ... len erzeugt – der Zugriff auf den http:// www. linux-magazine. com/ Issues/ // @codingStandardsIgnoreEnd nicht initialisierten Speicher soll- 2008/ 93/ Security-Lessons

www.linux-user.de 11 | 12 41 PRAXIS Gbrainy

Kombination und Auffassungsgabe trainieren mit Gbrainy Fitness fürs Gehirn Kämpfen Sie gegen die berüchtigte digitale Demenz: Bringen Sie Ihre kleinen grauen Zellen

mithilfe von Gbrainy regelmäßig wieder auf Vordermann. Vincze-Aron Szabo

Bildschirm braucht man durchaus vermögen auf die Probe. Hier einmal ein wenig Abwechslung – geht es insbesondere um Folgen zum Beispiel eine mentale Trai- und Sequenzen sowie um Zusam- ningseinheit mit Gbrainy. menhänge zwischen Elementen. Mit Gbrainy [1] lösen Sie Natürlich darf bei solchen Aufga- unterschiedlichste Logik- und ben das Kopfrechnen nicht feh- Rechenaufgaben und trainie- len. Basierend auf allen vier ren so Ihr Gehirn. Das Pro- Grundrechenarten geht es hier gramm unterstützt dabei ver- aber nicht nur um einfaches schiedene Schwierigkeitsgrade Rechnen: Sie müssen kombinie- und wertet Ihre Ergebnisse in ren, Verhältnisse bestimmen und einer Statistik mit hilfreichen abschätzen (Abbildung ). Empfehlungen für die nächste Die Gedächtnisspiele fordern Quizrunde aus. Ihr Kurzzeitgedächtnis: Hier Nach der Installation starten Sie müssen Sie sich Dinge merken. Ob es die digitale die Software einfach über das Die verbalen Analogien prüfen Demenz, so wie sie Startmenü oder über das Kom- Ihr Vokabular ab, indem Sie zum Gbrainy 2.1.4 Anfang September mando gbrainy in einer Konsole. Beispiel Synonyme oder Gegen- LU/gbrainy/ 2012 durch die Die Sprache der Anwendung rich- teile benennen oder Wortpaare Medien geister- tet sich automatisch nach der richtig zuordnen müssen. te, tatsächlich System einstellung. Nach dem Starten Sie mit Ihrer Trainings- gibt, das sei Start präsentiert die Software runde, indem Sie aus der Leiste

© Scott Maxwell, dahingestellt. vier Spielarten für Ihr Training: links im Programmfenster eine 123RF Fakt ist: Nach Logikrätsel, Kopfrechnen, Ge- Spielart auswählen. Sofern Sie mehreren dächtnisübungen und verbale eine kombinierte Übung mit Auf- Stunden Ar- Analogien (Abbildung ). gaben aus allen vier Gebieten beit vor Logikrätsel stellen insbesondere durchlaufen möchten, klicken Sie dem Ihr Schlussfolgerungs- und Denk- einfach auf Alle.

README Mit verschiedenen Rät- seln sorgt Gbrainy für ein wenig Abwechslung zwischendurch. Bei Be- darf nehmen Sie die Rätsel ausgedruckt an Orte mit, an denen kein  Viel Abwechslung: Gbrainy bietet Ihnen vier verschie-  Mehr als nur schlichtes Rechnen: Hier gilt es zu taxie- Computer bereitsteht. dene Spielarten des Gedächtnistrainings an. ren, Verhältnisse zu schätzen und zu kombinieren.

48 11 | 12 www.linux-user.de Gbrainy PRAXIS

 Reality Check: Gbrainy präsentiert abschließend die  Auswertung: Gbrainy liefert aussagekräftige Statisti- korrekte Lösung der gestellten Aufgabe. ken. Hier ist beim Anwender noch etwas Übung vonnöten.

Gbrainy stellt Sie nun sofort vor eine Pause benötigen, klicken Sie gaben auf Papier aus. Klicken Sie die ersten Herausforderungen. links auf Pause, um später mit der dazu im Menü auf Spiel | Spiele als Lesen Sie sich die Aufgabenstel- Runde fortzufahren. Beenden lie- PDF-Datei exportieren. In dem sich lung in Ruhe durch. Auch davon fert eine Statistik und dazu eine daraufhin öffnenden Dialog PDF- hängt ab, ob Sie die Aufgabe rich- realistische Einsätzung des Ergeb- Export haben Sie die Möglichkeit, tig beantworten können, denn nisses (Abbildung ). eine Aufgabensammlung zusam- bei machen Aufgaben nimmt es menzustellen (Abbildung ). Gbrainy sehr genau. Haben Sie Einstellungssache Die Aufgaben dürfen aus den Be- eine Lösung beziehungsweise Haben Sie den Eindruck, dass die reichen Logik, Rechnen und Verbal Antwort gefunden, tragen Sie Rätsel zu kompliziert ausfallen, stammen, zudem können Sie den diese in das Feld Antwort ein. Die dann passen Sie über Einstellun- Schwierigkeitsgrad vorgeben. Au- Applikation zeigt, ob Sie recht gen | Einstellungen den Schwierig- ßerdem bietet das Programm an hatten (Abbildung ). keitsgrad an. Über diesen Dialog dieser Stelle die Möglichkeit, die Sofern Sie einen Hinweis benö- ändern Sie zudem die Zeit in Se- Anzahl der Aufgaben insgesamt tigen und ein solcher bereitsteht, kunden, in denen Sie sich bei den sowie die Anzahl pro Blatt festzu- klicken Sie auf den entsprechen- Gedächtnisspielen Aufgaben mer- legen. Nun brauchen Sie nur noch den Button neben dem Feld für ken müssen. Gerade diese Option die generierte PDF-Datei zu spei- die Antwort. Finden Sie eine Auf- erweist sich oft als ziemlich hilf- chern und im Anschluss über den gabe zu schwierig, springen Sie reich, da es gerade diese Aufgaben Umweg eines PDF-Betrachters mit Weiter zur nächsten. in sich haben. Für ein ausgiebiges auszudrucken. Bei den mitunter sehr schwieri- Offline-Training drucken Sie Auf- gen Aufgaben raucht einem gele- Fazit gentlich der Kopf. Sollten Sie also Dank der vier verschiedenen Ty- pen von Denksportaufgaben und INSTALLATION der durchaus anspruchsvollen Gbrainy findet sich im Paketfundus Schwierigkeitsgraden sorgt der aller gängigen Distributionen, so- Hirntrainer Gbrainy für viel Ab- dass Sie es bequem über das jewei- wechslung auf dem Bildschirm. lige Software-Verzeichnis installie- Für die meisten Übungen schon ren. Sollte sich Gbrainy wider Erwar- ten nicht in den Repositories der ab dem mittleren Schwierigkeits- verwendeten Distribution finden, grad gilt es, sich ordentlich zu dann schlagen Sie die verfügbaren konzentrieren, um gute Ergebnis- Pakete auf der Projekt-Website [2] se zu erzielen. (agr) ■ nach, laden dort ein passendes he- runter und installieren es manuell. INFO Zum Einrichten und Übersetzen des Quellcodes finden Sie dort eben- [1] Gbrainy: https:// live. . org/ gbrainy falls ausführliche Informationen.  Sie können alle Aufgaben auch [2] Download: ausdrucken und auf Papier lösen. https:// live. gnome. org/ gbrainy# Download

www.linux-user.de 11 | 12 49 NETZ&SYSTEM RPM-Tools

Systemintegrität wahren mit Rpmorphan und Rpmrestore Paketprüfer

Auf Systemebene sammelt sich bei regelmäßigem Einsatz und häufigen Modifikationen an der installierten Software schnell einiges an Ballast an. RPM-basierte Distributionen entschlacken Sie dank

Rpmorphan und seines Gegenstückes Rpmrestore schnell und gefahrlos. Erik Bärwaldt

Als eines der Highlights von sen und installieren automatisch Dateien manuell entfernen zu Linux gelten die Pakteverwal- benötigte Abhängigkeiten nach. wollen, grenzt an die Quadratur tungssysteme: Sie erleichtern das Zusätzlich erlauben sie es, neue des Kreises: Bereits ein frisch ins- Installieren neuer Programme Software-Quellen („Repositories“) talliertes System besteht je nach oder das Löschen nicht mehr be- einzubinden. Die Installation aus Distributionsumfang aus rund Rpmorphan 1.11 nötigter Software signifikant. Zu- diesen geht dann ebenso leicht 100 000 Dateien. LU/rpmorphan/ sammen mit Zusatzprogrammen, von der Hand wie jene aus den Um die nicht mehr benötigten Rpmrestore 1.5 welche die Integrität des Betriebs- Standardquellen. Komponenten zu löschen, bieten LU/rpmrestore/ systems gewährleisten, bilden sie Doch das Paketmanagement hat die gängigen Paketmanager zwar eine konsistente Grundlage für die auch Schattenseiten: Nicht im- diverse Optionen zum Entfernen Arbeit mit dem Rechner. Zu den mer passen die Entwickler von an. Jedoch setzen die Tools, die meistgenutzten Vertretern der Drittquellen ihre Skripte exakt primär auf der Kommandozeile Gattung zählt Rpm, das ursprüng- an. So verbleiben beispielsweise zum Einsatz kommen, detaillierte lich aus dem Fundus von einmal installierte Bibliotheken Kenntnisse über die Mechanis- stammt („Red Hat Package Ma- bei der Deinstallation des von ih- men der Systeme voraus. nagement“), sich inzwischen aber nen abhängigen Programms un- Wesentlich schneller und einfa- in vielen Distributionen findet. ter Umständen auf der Festplatte. cher arbeiten dagegen kleine Es sammeln sich im Lauf der Helfer Saubermacher Zeit insbesondere bei Power- Paketmanager wie Rpm oder Usern, die gern und häufig neue Dpkg dienen dazu, Konflikte zwi- Software ausprobieren, erkleck- schen einzelnen Soft- liche Mengen ware-Paketen aufzulö- an Datenmüll README an. Diese Die kleinen Helfer überflüssigen Rpmorphan und Rpmre- store ergänzen bei RPM-basierten Linux- Distributionen die her- kömmliche Paketver- waltung und erweitern deren Funktionalität. © Corina Rosu, 123RF Rosu, Corina ©

64 www.linux-user.de RPM-Tools NETZ&SYSTEM

wie Deborphan [1] und Rpm- Menü erstellen müssen. Unter al- orphan [2], die auf zugemüllten len GTK+-basierten Oberflächen Systemen oft mehrere hundert integrieren Sie das Programm mit Megabyte Speicherplatz frei- automatischer Abfrage des Pass- schaufeln. Rpmorphan bietet da- wortes über die Befehlsfolge gksu rüber hinaus zusätzliche Funktio- rpmorphan -gui oder gksu rpmorphan nen, die ebenfalls der Integrität sehr einfach in ein Anwendungs- des Computersystems dienen und menü. Die Befehle tragen Sie je- wichtige Infos schnell und zuver- weils in die Starter-Eigenschaften  Etwas altbacken, lässig bereitstellen. ein. Anschließend aktivieren Sie packten Programmen einen ent- aber intuitiv zu bedie- per Mausklick auf den Menü-Ein- sprechenden Umfang aufweist. Plattenputz nen: die grafische trag die Tcl/ Tk-basierte Oberflä- Durch Auswahl eines Eintrages Oberfläche von  Rpmorphan liegt bereits seit län- che (Abbildung ). und einem anschließenden Klick Rpmorphan auf Basis gerer Zeit in den Repositories al- Möchten Sie anstelle der Tcl/ Tk- auf die Schaltfläche Info erhalten von Tcl/ Tk. ler gängigen RPM-basierten Dis- basierten Variante lieber die gra- Sie detaillierte Informationen tributionen, sodass Sie es bequem fisch sehr einfach gehaltene Cur- zum betreffenden Paket (Abbil- über die Paketverwaltung ins Sys- ses-Oberfläche nutzen, dann ak- dung , nächste Seite). Dies ist tem integrieren. Die jeweils aktu- tivieren Sie die Software mit Ad- insbesondere dann sinnvoll, wenn ellste Version des Tools finden Sie ministrator-Rechten im Terminal Sie nicht genau wissen, ob Sie das als fertiges RPM-Paket auf der mit der Eingabe des Befehls Paket wirklich löschen dürfen. Im Projektseite. Sollte wider Erwar- rpmorphan -curses. Es erscheint ein Zweifelsfall belassen Sie solche ten die Installation auf dem Sys- Textbildschirm mit grafischen Pakete lieber auf der Festplatte: tem scheitern, laden Sie den Elementen in Gestalt von Linien Fälschlich gelöschte Dateien ver- Quellcode [3] herunter und über- (Abbildung ). ursachen nicht nur Probleme setzen Rpmorphan selbst. Beide Oberflächen bieten iden- beim Start von Programmen, son- Nach erfolgreicher Installation tische Inhalte: Während der größ- dern ziehen im schlimmsten Fall bietet die Software ihre Dienste te Teil des Fensters eine Liste der das komplette Betriebssystem gleich auf dreifache Weise an: Im gefundenen verwaisten Dateien empfindlich in Mitleidenschaft. Terminal als reines Kommando- zeigt, befindet sich oben horizon- Einzelne Einträge markieren Sie zeilen-Programm oder mithilfe tal eine Leiste mit Schaltflächen, per Mausklick, wobei diese Mar- zweier grafischer Oberflächen. über die Sie die wichtigsten Funk- kierung beim Anklicken eines wei- Möchten Sie auf Letztere zurück- tionen per Mausklick aktivieren. teren Pakets erhalten bleibt. Je greifen, gilt es, zusätzlich die bei- Beim ersten Start von Rpm- nach Anzahl der im System lokali- den Pakete perl-Curses-UI (für orphan dauert es zuweilen etwas, sierten verwaisten Pakete kann es einfache Grafik im Terminal) oder bis die Liste der gefundenen sinnvoll sein, zunächst alle zu perl-Tk (für eine etwas komfor- „Waisen“ erscheint. Die Software markieren und dann nur einzelne tablere, allerdings optisch altba- nutzt zum Ermitteln der Abhän- Dateien wieder auszunehmen. ckene Darstellung) zu installie- gigkeiten und zum Sammeln spe- Dazu klicken Sie auf die Schaltflä- ren. Beide finden sich in den Re- zifischer Informationen die im che Select all und wählen dann bei positories der meisten RPM-ba- System vorhandene Datenbank, Bedarf einzelne Einträge ab. sierten Distributionen. die bei häufig aktualisierten Nach dem Markieren löscht ein Da Rpmorphan Modifikationen Linux-Systemen und bei vielen Klick auf Remove nur die gekenn- am bestehenden Datenbestand nachträglich auf die Platte ge- zeichneten Pakete. des Betriebssystems vornimmt, läuft die Software nur mit Root- Rechten korrekt. Sofern Sie eine Distribution nutzen, die das Pro- gramm gut integriert und daher bei der Installation bereits einen entsprechenden Eintrag im Start- menü anlegt, genügt ein Maus- klick zum Entsorgen überflüssi- ger Dateibestände.  Die mit Liniengrafik Bei vielen Distributionen legt im Terminal aufge- das Setup jedoch keinen Starter peppte Oberfläche von an, sodass Sie zunächst selbst ei- Rpmorphan erinnert nen entsprechenden Eintrag im an alte DOS-Zeiten.

www.linux-user.de 11 | 12 65 NETZ&SYSTEM RPM-Tools

 Die Anzeige der In- eingeschlichen hat oder die Sys- formationen zu einem temkonfiguration durch fehler- Paket gibt einen um- haft installierte Updates Inkon- fassenden Überblick sistenzen aufweist. Auch defekte über dessen Zweck, Hardware wie etwa eine leere Herkunft und die Ab- BIOS-Batterie sorgt durch Anzei- hängigkeiten. ge falscher Datums- und Zeitan- gaben im Kontext von Lese- und Schreibvorgängen unter Umstän- den bei bestimmten Programmen für Irritationen. Der französische Programmie- Protokollarisches Mandriva stammende und in rer Eric Gerbier, der bereits für Rpmorphan führt eine Protokoll- Mageia ebenfalls implementierte die Wartung von Rpmorphan ver- datei, in der es alle Löschvorgän- URPM-Verwaltungssystem be- antwortlich zeichnet, hat aus die- ge aufzeichnet. Das ermöglicht reits selbst eine einfach zu hand- sem Grund mit Rpmrestore [4] es, bei Inkonsistenzen im System habende Funktion zum Auffinden ein weiteres wichtiges Werkzeug nachzuvollziehen, nach dem Ent- und Löschen von Dateiwaisen im Portfolio, das dieses Manko fernen welcher Bibliothek die bietet, was einen direkten Ver- behebt. Rpmrestore findet sich Probleme auftraten. Dazu sehen gleich der Tools ermöglicht. zwar wie Rpmorphan in den Re- Sie das Log durch einen Klick auf Dabei zeigte sich, dass Rpm- positories der meisten Main- die gleichnamige Schaltfläche ein. orphan deutlich mehr kann als stream-Distributionen, allerdings Eine ausführliche Hilfe zu allen sein Mageia-Pendant: Während meist in älteren Varianten. Es Funktionen und Tastaturkürzeln der entsprechende Terminal- empfiehlt sich daher auch hier steht nach einem Klick auf Help befehl urpme --auto-orphans keine der Download von der Projektsei- bereit. Auf der Kommandozeile verwaisten Dateien fand und te. Das Perl-Skript rufen Sie an- lautet der entsprechende Aufruf demzufolge auch nichts entsorg- schließend auf der Kommando- rpmorphan -help. te, bemerkte Rpmorphan insge- zeile mit den entsprechenden Pa- samt fünf Bibliotheken ohne ak- rametern auf. Die einzelnen Be- Duplikate tuelle Abhängigkeiten, die ge- fehlsfolgen erläutert die Projekt- Neben Rpmorphan selbst stellt löscht wurden. Anhand der im seite [5] eingehend. das Paket rpmorphan einige weite- Tool angezeigten Informationen Das Skript arbeitet interaktiv re Programme bereit, die beim ließ sich erkennen, dass es sich bei und nimmt somit ohne entspre- Umgang mit RPM-Paketen hel- den Bibliotheken um Relikte alter chende Anweisungen des Anwen- fen. Das mit Abstand wichtigste Software-Installationen handelte, ders keine eigenmächtigen Ände- davon heißt Rpmduplicates und wobei die entsprechenden Pro- rungen am Dateistatus vor. Der spürt im System doppelt vorhan- gramme längst wieder aus dem Batch-Modus erlaubt es aber, ei- dene Bibliotheken und Program- System entfernt worden waren. nen vollautomatischen Rollback me auf. Es erweist sich insbeson- zu veranlassen, bei dem Rpm- dere dann als nützlich, wenn Sie Restaurationsarbeiten restore die anzugebenden Pakete das System regelmäßig automa- Eine Schwäche des RPM-Verwal- komplett ohne Abfrage auf den tisch auf den neuesten Stand tungssystems stellen die sehr be- Status nach einer frischen Instal- bringen oder verschiedene Versi- grenzten Möglichkeiten dar, die onen einer Applikation benutzen. Datei-Attribute einzelner Pakete INFO Sie rufen das Perl-Skript auf der zu beeinflussen. So zeigt Rpm [1] Deborphan: Erik Bärwaldt, „Ordentlich Kommandozeile mit dem Befehl Unterschiede zwischen dem Pa- durchgeputzt“, LU 11/ 2007, S. 92, rpmduplicates.pl auf. Das Pro- ketstatus bei der Installation und http:// www. linux-community. de/ 14308 gramm listet dann alle vorhande- jenem der aktuellen Konfigurati- [2] Rpmorphan:  So sieht ein saube- nen Duplikate auf (Abbildung ). on mangels geeigneter Parameter http:// rpmorphan. sourceforge. net res System aus: Es nicht vollständig an. Auch ein Zu- [3] Rpmorphan herunterladen: wurden keine doppel- Praktikabel rücksetzen nachträglich verän- http:// sourceforge. net/ projects/ ten Programme oder Wir testeten Rpmorphan unter derter Rechte und Attribute auf rpmorphan/ files/ rpmorphan/ 1. 11/ Bibliotheken gefunden. anderem mit Mageia, da das von den Status bei der Installation er- [4] Rpmrestore: laubt die Software nicht. http:// rpmrestore. sourceforge. net Das kann insbesondere dann zu [5] Dokumentation zu Rpmrestore: Problemen führen, wenn sich http:// rpmrestore. sourceforge. net/ Schadsoftware auf dem System rpmrestore. 1. html

66 11 | 12 www.linux-user.de RPM-Tools NETZ&SYSTEM

lation zurücksetzt. Den entspre- bute. So gleicht es  Rpmrestore zeigt chenden Parameter -batch sollten beispielsweise die hier an, dass es bei Sie jedoch nur dann nutzen, wenn Dateigröße mithil- Wine keine Modifikati- Sie sich absolut sicher sind, dass fe des Parameters onen an den Dateiattri- das Zurücksetzen nicht andern- -size ab. Mithilfe buten fand. orts Inkonsistenzen hervorruft. des Parameters -log legt es zudem fragmenten zu befreien. Das Um einen Überblick zu erhalten, eine Logdatei an und pflegt sie. Werkzeug eignet sich dabei dank ob bestimmte Programme verän- Diese Datei dient als Grundlage einer einfach bedienbaren grafi- derte Attribute aufweisen, rufen für die Verwendung des Parame- schen Oberfläche auch für Ein- Sie Rpmrestore auf der Komman- ters -rollback: Er gestattet das Zu- steiger, bedient über die Kom- dozeile mit folgendem Befehl auf: rücksetzen der spezifizierten Da- mandozeilenschnittstelle aber tei auf den Installationsstatus, gleichzeitig auch Power-User. # rpmrestore.pl --dry-run PaketnU womit Sie eventuelle Inkonsisten- Rpmrestore dagegen trägt durch name zen im System einfach beheben. die Restauration des Ursprungs- zustandes von Dateiattributen Die Software überprüft daraufhin Fazit dazu bei, die Systemintegrität alle Änderungen gegenüber der Mit den beiden Tools Rpmorphan langfristig zu bewahren. Das aus- Installationsvariante bei allen und Rpmrestore stehen für RPM- schließlich für die Kommandozei- verfügbaren Attributen und zeigt basierte Distributionen zwei le geeignete Tool erweitert den sie an (Abbildung ). nützliche Helferlein bereit, wel- Funktionsumfang des Paketver- Im Falle eines konkreten Ver- che die Integrität der gesamten waltungssystems und bietet ins- dachts auf eine unerwünschte At- Installation wahren. Daneben besondere bei Unstimmigkeiten tributänderung empfiehlt es sich, empfiehlt sich der regelmäßige einzelner Attribute eine sichere das jeweilige Attribut einzeln zu Einsatz von Rpmorphan auch, um Möglichkeit, das System auf ei- überprüfen. Rpmrestore unter- das System von unerwünschten nen definierten Zustand zurück- stützt dabei alle gängigen Attri- und überflüssigen Installations- zusetzen. (tle/ agr) ■

Einfach auf LinuX umstEigEn! 4 x im Jahr kompaktes Linux-Know-how - IMMER mit 2 DVDs

n EasyLinux macht den Umstieg auf Linux einfach n Verständliche Schritt-für-Schritt-Anleitungen n Nachvollziehbare Tipps und Tricks

JEtzttzt gratis abo-prämiE ❱ sichErn! 15% Ich bekomme gratis: 1. das EasyLinux Mega-Archiv sparen Jahres-DVD 2011 (9 Jahre Easy-Linux auf einer DVD) EASYLINUX-JAHRES-ABO 2. DVD „Die Reise der Pinguine“ NUR 33,30E* (solange Vorrat reicht)

*Preise außerhalb Deutschlands siehe www.easylinux.de/abo

JETZT GLEICH BESTELLEN! n tel.: 07131 / 2707 274 n fax: 07131 / 2707 78 601 www.linux-user.de 11 | 12 67 n E-mail: [email protected] n urL: www.easylinux.de/abo

EL_1-2q_Abo_ArchivDVD_2409-2012.indd 1 24.09.2012 16:48:17 Uhr KNOW-HOW Dateitransport

Große Dateien transferieren Übergröße

Einige Dateisysteme orientieren sich meist an Dateien kleiner und mittlerer Größe und bekommen bei größeren Brocken schnell Schluckauf. Kleine Umwege versprechen hier Abhilfe. Frank Hofmann © Colindamckie, 123RF Colindamckie, ©

Die Situation kommt vielen ver- chern Dateien bis zu einer maxi- Download. In Zeiten des stets ver- mutlich bekannt vor: Sie möchten malen Größe von rund 4 GByte. fügbaren Netzes gerät diese Tat- eine große Datei auf einem USB- Allerdings gibt es verschiedene Lö- sache leicht in Vergessenheit. Stick speichern, das Unterfangen sungsansätze, wie Sie solche gro- Vermag das Zielsystem Daten schlägt aber fehl, obwohl genü- ßen Dateien dennoch von Rechner via FTP zu empfangen, erweist gend Platz vorhanden wäre. In zu Rechner transportieren. sich dieses Protokoll als erste diesem Fall sind Sie sehr wahr- Variante eins ist der Datentrans- Wahl. Neben dem klassischen scheinlich an die Grenzen des fer über eine Netzwerkverbin- Werkzeug ftp für die Kommando- Dateisystems auf dem verwende- dung, Variante zwei das Kompri- zeile (Listing 1) vereinfacht der ten Datenträger gestoßen. Als mieren der Daten, Variante drei Client Gftp mit seiner grafischen Ursache kommt eine gefüllte File das Formatieren des Datenträgers Oberfläche das Hin- und Her- README Allocation Table (FAT) – das Ver- mit einem anderen Dateisystem schieben der Daten mitunter er- Oft ist guter Rat teuer, zeichnis über den Inhalt des Da- und Variante vier das Zerlegen der heblich (Abbildung ). wenn es darum geht, tenträgers – und das Erreichen der Datei in mehrere Stücke und das Bei FTP handelt es sich aber um die leidige Grenze von maximalen Anzahl der Blöcke pro nachfolgende Zusammenfügen auf ein unsicheres Protokoll, das 4 GByte für Dateien zu Datei infrage. dem Zielsystem. sämtliche Daten unverschlüsselt umschiffen, um eine Aus Kompatibilitätsgründen lie- verschickt. Als sicherere Alterna- Datei via USB-Stick von Netzbetrieb A nach B zu transportie- fern viele Hersteller ihre Medien tiven stehen seit Längerem Secure ren. Es gibt diverse Al- mit den Dateisystemen VFAT oder Ob der Transfer über das Netz in- FTP (SFTP) und FTPS (FTP über ternativen, die es erlau- FAT32 aus. Dass diese die Größe frage kommt, hängt vom Durch- SSH) bereit. Daneben bietet sich ben, diese Grenze zu einer Datei begrenzen, fällt oft satz der Leitung und einer stabi- zum sicheren Übertragen der Ein- umgehen. lange Zeit nicht auf. Beide spei- len Bandbreite während der Ver- satz von Secure Copy (SCP) an. bindung ab. Für den Das Programm gehört in der Re- LISTING 1 LISTING 2 Upload über einen Zu- gel zum Umfang einer SSH-Instal- $ ftp Nutzer@Server $ scp Datei Nutzer@Ziel: gang mit asymmetri- lation auf einem Client-PC. Auf Password: $ scp Datei Nutzer@Ziel:/tmp/ scher Bandbreite (Bei- dem Zielsystem setzt dieser Weg 230 Login successful. Have fun. $ scp -C datei3.iso spiel: ADSL) stellen In- einen SSH-Server voraus. ftp> put Datei Nutzer@Ziel:debian.iso ternet Service Provider Beide Komponenten stehen un- $ scp -C Nutzer@Quelle:debian. ftp> bye häufig weniger Kapazi- ter Debian und Ubuntu in den Pa- iso datei4.iso 221 Goodbye. tät bereit als für den keten openssh-client und openssh-

78 11 | 12 www.linux-user.de Dateitransport KNOW-HOW

server bereit. Der Client gehört bei der Midnight Comman- vielen Distributionen bereits zum der sich hier als Alter- Standardumfang, eine Installation native an. Hinter den ist deswegen meist nicht erforder- beiden Menüpunkten lich. Den Server installieren Sie Links | FTP-Verbindung nachträglich, unter Ubuntu/ Debi- und Links | Shell-Ver- an mittels apt-get install openssh- bindung verbergen sich server auf dem Zielsystem. Aufrufe, über die Sie Um Daten vom Host zum Server eine FTP- beziehungs- zu übertragen, genügt das Kom- weise SCP-Verbindung mando aus der ersten Zeile von herstellen (Abbil- Listing 2. SCP baut eine ver- dung ). Beachten Sie, schlüsselte Verbindung zum Ziel- dass der Midnight rechner auf und überträgt die Da- Commander Daten im tei ins angegebene Verzeichnis. Verzeichnis / tmp puf-  Der Client Gftp er- Dieses benennen Sie explizit, in- fert. Prüfen Sie daher vor dem bleibt Ihnen nur das Komprimie- leichtert mit seiner dem Sie es im Aufruf an den Rech- Übertragen großer Dateien, ob ren der Dateien vor dem Transfer grafischen Oberfläche nernamen anfügen. Als Trennzei- dort genügend Platz bereitsteht. und das Auspacken auf dem Ziel- den Dateitransfer zu chen fungiert im SCP-Aufruf der system, etwa mittels Xz oder 7z. einem FTP-Server. (obligatorische) Doppelpunkt. Ge- Abgleich mit Rsync Welches Verfahren sich am bes- ben Sie nur den Doppelpunkt an, Eine weitere Möglichkeit zum Da- ten eignet, hängt in erster Linie wählt die Software automatisch tentransfer besteht im Synchroni- von den zu verarbeitenden Daten das Home-Verzeichnis auf dem sieren zweier Verzeichnisse via ab. Eine vollständige Übersicht zu entfernten System als Ziel aus. Rsync oder dessen grafischen den einzelnen Verfahren und de- Während die ersten beiden Auf- Frontend Grsync (Abbildung ). ren Grad der Kompression und rufe in Listing 2 den Dateinamen Listing 3 zeigt, wie Sie den Inhalt Geschwindigkeit beim Verarbei- auf dem Zielsystem beibehalten, des Verzeichnisses /original von ten der Daten gibt ein Artikel von ändert das dritte Kommando ihn einem Rechner mit dem lokalen Martin Steigerwald [1]. in debian.iso. Zusätzlich erfolgt Verzeichnis kopie abgleichen. Es gilt jedoch, die Wahl des For- der Transfer durch den Schalter Rsync überträgt dabei nur die Än- mates noch in einer ganz anderen -C in Gzip-komprimierter Form. derungen zwischen dem Original Hinsicht zu beachten: Möchten Bei Textdateien und Tar-Archiven und der Kopie – identische Daten- Sie die komprimierte Datei auf verringert sich dadurch unter blöcke erkennt das Tool und spart dem Zielsystem wieder auspa- Umständen die Dauer der Über- sie aus. Die Option -z sorgt dafür, cken, stellen Sie am besten vorab tragung ganz erheblich. dass die Daten via Gzip kompri- sicher, dass dort auch ein geeig-  Wer den Kontakt mit SCP holt auf Wunsch auch Da- miert übers Netz laufen. netes Programm bereitsteht. der Kommandozeile ten vom Server. Im Aufruf geben scheut, dem bietet der Sie dazu im ersten Parameter den Daten komprimieren Neues Format Midnight Commander, Namen des Rechners an, auf dem Die Datenkompression während Eine weitere Möglichkeit besteht in einer grafischen die Dateien bereitstehen, und im des Übertragens kostet einerseits in der Manipulation des externen Oberfläche verpackt, zweiten Parameter den Pfad und Zeit, andererseits unterstützt das Datenträgers und dessen Dateisys- eine ähnliche Funktion Dateinamen im lokalen System. Duo SSH/ SCP nur das Komprimie- tem. Das Erzeugen eines Dateisys- wie SCP und FTP. In der letzten Zeile von Listing 2 ren mittels liest das Programm die Datei Gzip. Das debian.iso vom angegebenen Verfahren ist Rechner aus dem Home-Verzeich- zwar weit nis des Benutzers, überträgt diese verbreitet, Gzip-komprimiert auf das lokale aber nicht System und speichert das File im immer die aktuellen Verzeichnis unter dem beste Wahl. Namen datei4.iso ab. Möchten Sie Haben Sie sich noch nicht mit ein anderes den Werkzeugen auf der Komman- Verfahren dozeile vertraut gemacht, bietet verwenden,

LISTING 3 $ rsync -z Nutzer@Quelle:/original/ kopie

www.linux-user.de 11 | 12 79 KNOW-HOW Dateitransport

kleinere Stücke und setzen sie die- Der Aufruf in der ersten Zeile von se auf dem Zielsystem wieder zu- Listing 4 erzeugt die vier Dateien sammen. Unter Linux gibt es da- teil-000 bis teil-003. für die beiden Tools split und cat. Für das Zusammenfügen der Split zerlegt die Dateien, Cat fügt Einzelteile auf dem Zielsystem die Einzelteile wieder zusammen. genügt ein einfaches Kommando Ohne Angabe von Parametern in der Bash (Listing 5, Zeile 1): zerlegt Split die angegebene Datei Mit Cat setzen Sie die Teile, die in Teile mit einer Länge von durch das Namensschema in der 1000 Zeilen. Diese Voreinstellung richtigen Reihenfolge vorliegen, eignet sich zwar für Textdateien, über den Operator >> zu einer Da- aber nicht für ein ISO-Image oder tei zusammen, die im Beispiel eine virtuelle Maschine. Mit dem neu.iso heißt. Parameter --bytes=Wert teilt Split Sicherheitshalber überprüfen dagegen aufs Byte genau. Sie danach, dass es beim Zerlegen Um das ISO-Image des Net in- und Zusammenfügen keine Feh- stallers von Debian (191 MByte) ler gab und beide ISO-Dateien in 50 MByte große Happen zu (Original und Kopie) identisch  Die grafische Ober- fläche Grsync erleich- tems gelingt mit den Mkfs-Tools. zerteilen, genügt der Aufruf: ausfallen. Ein Byte-für-Byte-Ver- tert den Umgang mit Mkfs steht für „ file system“, gleich dauert zu lange und ist zu- U den zuweilen recht für (fast) jedes Dateisystem steht $ split --bytes=50M debian-6.0.4 dem fehleranfällig. Hier helfen kryptisch wirkenden ein eigenes Kommando bereit. So -i386-netinst.iso die nützlichen Werkzeuge Cmp Rsync-Kommandos. erzeugt mkfs.ext4 /dev/sdb1 ein und Diff, mit denen Sie beide Da- Ext4-Dateisystem auf dem ange- Split zerlegt das Image dann in die teien auf mögliche Unterschiede gebenen Device. Die maximale vier Teile xaa bis xad. Dabei fallen prüfen (Listing 5, zweite und drit- Datei größe in einem Dateisystem xaa, xab und xac exakt 50 MByte te Zeile). Erfolgt keine Ausgabe, variiert stark und liegt beispiels- groß aus, xad enthält die restlichen sind beide ISO-Dateien identisch. weise zwischen 16 TByte bei Daten mit rund 41 MByte. In der Einen weiteren, eleganteren und Ext2, 1 EByte bei Ext4 und Grundeinstellung benennt das oft genutzten Weg stellt das Er- GLOSSAR 16 EByte bei ZFS [2]. Tool die Ausgabedateien mit dem zeugen eines Hash-Wertes dar. EByte: 1 Exabyte = 1018 Je nach Größe des Datenträgers Präfix x und den beiden nachfol- Dabei handelt es sich um eine Art Byte. 1 EByte entspricht nimmt das Anlegen des Dateisys- genden, aufsteigend durchgezähl- Fingerabdruck für eine Daten- also 1 Million TByte tems etwas Zeit in Anspruch. Be- ten Buchstaben (Suffix) durch. menge oder Zeichenkette. In Lis- oder 1 Milliarde GByte. achten Sie dabei, dass dabei alle Über weitere Parameter im Split- ting 6 erzeugt das Kommando Informationen zu den bereits ab- Aufruf passen Sie das Benennen openssl diesen Wert auf der Basis gelegten Daten auf dem Speicher- der Ausgabedateien Ihren Vorstel- des MD5-Algorithmus. Bei identi- medium verloren gehen. lungen an. Den Hauptbestandteil schen Prüfsummen stimmen Ori- für den Dateinamen übermitteln ginal und Kopie überein. Dateien splitten Sie Split, indem Sie obigen Aufruf Sind die oben genannten Metho- um ein Präfix ergänzen: Fazit den nicht praktikabel oder nicht Beim Kopieren großer Dateien möglich, zerlegen Sie die Datei in $ split --bytes=50M debian-6.0.4U führen verschiedene Ideen und -i386-netinst.iso teil- Vorgehensweisen gleichermaßen LISTING 4 zum Erreichen des Ziels, es gibt $ split --bytes=50M -d -a 3 debian-6.0.4-i386-netinst.iso Die erzeugten Dateien heißen nun dabei keinen richtigen und keinen teil- teil-aa bis teil-ad. Über die bei- falschen Weg. Wichtig ist nur, $ ls -hal teil* den Parameter -d und -a beeinflus- dass Sie für das Problem eine pas- -rw-r--r-- 1 frank frank 50M 30. Apr 10:33 teil-000 sen Sie zudem die Suffixe. Die Op- sende Lösung finden und sich da- -rw-r--r-- 1 frank frank 50M 30. Apr 10:33 teil-001 tion -d erzeugt numerische En- nach wieder etwas sicherer durch -rw-r--r-- 1 frank frank 50M 30. Apr 10:33 teil-002 dungen, -a Anzahl bestimmt deren den Linux-Alltag bewegen. (tle) ■ -rw-r--r-- 1 frank frank 41M 30. Apr 10:33 teil-003 Breite (in der Vorgabe 2), die Leer- stellen füllt Split mit Nullen auf. INFO LISTING 6 [1] Packer im Vergleich: Martin Steigerwald, $ openssl dgst -md5 debian.iso LISTING 5 „Zip und Zop“, LU 10/ 2010, S. 68, MD5(debian.iso)= ff79f60c4d1fee2d47baadcbf081e5b6 $ cat teil-* >> neu.iso http:// www. linux-community. de/ 20298 $ openssl dgst -md5 neu.iso $ diff debian.iso neu.iso [2] ZFS: http:// de. wikipedia. org/ wiki/ ZFS_ MD5(neu.iso) = ff79f60c4d1fee2d47baadcbf081e5b6 $ cmp debian.iso neu.iso (Dateisystem)

80 11 | 12 www.linux-user.de MAGAZIN SondErAkTion Testen Sie jetzt JETZT MiT dVd! 3 Ausgaben für 3 Euro!

Jetzt schnell bestellen:

• Telefon 07131 / 2707 274 • Fax 07131 / 2707 78 601 • E-Mail: [email protected] • Web: www.linux-magazin.de/probeabo Mit großem Gewinnspiel unter: www.linux-magazin.de/probeabo

GEwinnEn SiE... gesponsert von: EinES Von ZEHn „iVori“ SMArTpHonE GAdGETS .de Einsendeschluss ist der 15.12.2012

LM_1-1_Sonderaktion_3Euro_2109-2012.indd 1 21.09.2012 16:26:16 Uhr VORSCHAU

Das nächste Heft: 12/2012 Ausgabe 12/2012 erscheint am 15. November 2012

Linux und Windows 8 Handbrake Linux-Anwender leben nicht auf einer Insel der Videos zu konvertieren, gehört zu Glückseligkeit: Oft arbeiten die Rechner in einem den rechenintensivsten und da- Netzwerk mit Windows-Clients, in manchen Fäl- mit zeitraubendsten Aufgaben len liegt das Betriebssystem aus Redmond sogar am heimischen Rechner. Umso auf der gleichen Festplatte. Grund genug also, sich ärgerlicher ist es, wenn dann fal- mit verschiedenen Aspekten des Nebeneinanders sche Einstellungen für schlechte zu beschäftigen, wie dem Austausch von Daten, Ergebnisse sorgen. Der Konverter Problemen bei der Installation oder dem einver- Handbrake sorgt mit einer Reihe nehmlichen Miteinander im Netz. In der kommen- vordefinierter Templates für qua- den Ausgabe beleuchten wir die wesentlichen As- litativ verlässlichen Output, bie- pekte und zeigen Lösungsmöglichkeiten auf, die tet aber trotzdem die Möglichkeit sich schnell und praxisnah umsetzen lassen. zum letzten Schliff von Hand. © Duchessa, sxc.hu

Preiswert navigieren Prescribe II Ein Navi von Aldi und die freie Kyocera stattet seine Drucker mit der Kom- Software QLandkarte GT helfen mandosprache Prescribe aus, die es er- beim Navigieren in der freien laubt, von der Shell aus komplexe Wildbahn. So planen Sie komfor- Druckaufträge und Stapelverarbei- tabel am heimischen PC eine tungsläufe zu steuern und viele Route, übertragen die Daten auf Handgriffe zu automatisieren. Ein © Kyocera © die Hardware und laufen anschlie- Workshop in der kommenden Aus- ßend entspannt auf dem ausgetüf- gabe demonstriert die Fähigkeiten telten Weg die Highlights ab. der Sprache im Praxistest.

Heft als DVD-Edition Heft als No-Media-Edition Community-Edition-PDF • 100 Seiten Tests und Workshops • Preisgünstige Heft­variante ohne • Inhaltsverzeichnis und über 30 zu Soft- und Hardware Datenträger für Leser mit Breit- Seiten ausgewählte Artikel aus • Multiboot-DVD-10 mit Top-Dis- band--Anschluss dem Heft als PDF-Datei tributionen sowie der Software • Artikelumfang identisch mit der • Unter CC-Lizenz: Frei kopieren zu den Artikeln, DVD-5 mit ex- DVD-Edition: 100 Seiten Tests und beliebig weiter verteilen klusiver Linux­User-Edition ei- und Workshops zu aktueller • Jeden Monat kostenlos per ner aktuellen Distribution Soft- und Hardware E-Mail oder zum Download Für nur 8,50 Euro am Kiosk oder: Für nur 5 Euro am Kiosk oder: Jederzeit gratis herunterladen http://www.linux-user.de/bestellen http://www.linux-user.de/bestellen unter http://www.linux-user.de/ce

96 11 | 12 Die Redaktion behält sich vor, Themen aus aktuellem Anlass zu ändern oder zu streichen. Impressum SERVICE

IMPRESSUM LinuxUser ist eine Monatspublikation der Linux New Media, Pressevertrieb MZV Moderner Zeitschriften Vertrieb GmbH & Co. KG eines Geschäftsbereichs der Medialinx AG. Ohmstraße 1, 85716 Unterschleißheim Tel.: (089) 3 19 06-0, Fax: (089) 3 19 06-113 Anschrift Putzbrunner Str. 71, 81739 München Telefon: (089) 99 34 11-0, Fax: (089) 99 34 11-99 Abonnentenservice Veronika Kramer D / A / CH Postfach 1165, 74001 Heilbronn Telefon: +49 (0)7131 27 07-274 Homepage http://www.linux-user.de Telefax: +49 (0)7131 27 07 -78-601 Artikel und Foren http://www.linux-community.de Abo/Nachbestellung http://www.linux-user.de/bestellen/ Abo-Preise LinuxUser Deutschland Österreich Schweiz Ausland EU 1 E-Mail (Leserbriefe) No-Media-Ausgabe € 5,50 € 6,30 Sfr 11,00 (siehe Titel) Abo-Service DVD-Ausgabe € 8,50 € 9,35 Sfr 17,00 (siehe Titel) Pressemitteilungen Jahres-DVD (Einzelpreis) € 14,95 € 14,95 Sfr 18,90 € 14,95 Jahres-DVD (zum Abo 2) € 6,70 € 6,70 Sfr 8,50 € 6,70 Chefredakteur Jörg Luther (v. i. S. d. P.) (jlu) Mini-Abo (3 Ausgaben) € 3,00 € 3,00 Sfr 4,50 € 3,00 Stellv. Chefredakteur Andreas Bohle (agr) Jahresabo No Media € 56,10 € 64,60 Sfr 92,40 € 71,60 Jahresabo DVD € 86,70 € 95,00 Sfr 142,80 € 99,00 Redaktion Thomas Leichtenstern (tle) Preise Digital Deutschland Österreich Schweiz Ausland EU Linux-Community Andreas Bohle (agr) Heft-PDF Einzelausgabe € 5,50 € 5,50 Sfr 7,15 € 5,50 Datenträger Thomas Leichtenstern (tle) DigiSub (12 Ausgaben) € 56,10 € 56,10 Sfr 72,90 € 56,10 Ständige Mitarbeiter Mirko Albrecht, Erik Bärwaldt, Falko Benthin, Thomas Drilling, DigiSub (zum Abo 2) € 12,00 € 12,00 Sfr 12,00 € 12,00 Florian Effenberger, Karsten Günther, Frank Hofmann, Christoph HTML-Archiv (zum Abo 2) € 12,00 € 12,00 Sfr 12,00 € 12,00 Langer, Tim Schürmann, Vince-Áron Szabó, Uwe Vollbracht Preise Kombi-Abos Deutschland Österreich Schweiz Ausland EU 3 Grafik Elgin Grabe (Titel und Layout) Mega-Kombi-Abo € 143,40 € 163,90 Sfr 199,90 € 173,90 Bildnachweis: Stock.xchng, 123rf.com, Fotolia.de und andere (1) nur erhältlich unter http://www.medialinx-shop.de, Bestellung versandkostenfrei Sprachlektorat Astrid Hillmer-Bruer, Elke Knitter (2) nur erhältlich in Verbindung mit einem Jahresabo Print oder Digital Produktion Christian Ullrich (3) LinuxUser-Abo (DVD-Ausgabe) plus Linux-Magazin-Abo inkl. DELUG-Mitgliedschaft Druck Vogel Druck und Medienservice GmbH & Co. KG, 97204 Höchberg (monatl. DELUG-DVD) sowie beiden Jahres-DVDs Schüler- und Studentenermäßigung: 20 Prozent gegen Vorlage eines Schülerausweises Geschäftsleitung Brian Osborn (Vorstand, verantwortlich für den Anzeigenteil) oder einer aktuellen Immatrikulationsbescheinigung. Der Nachweis ist bei Verlängerung neu zu erbringen. Infos zu anderen Abo-Formen etc. unter http://www.medialinx-shop.de. Bitte teilen Sie Adressänderungen umgehend dem Abo-Service mit, da Nachsendeaufträge Hermann Plank (Vorstand) bei der Post nicht für Zeitschriften gelten. Linux ist ein eingetragenes Warenzeichen von Linus Torvalds und wird von uns mit seiner freundlichen Genehmigung verwendet. »Unix« wird als Sammelbegriff für die Gruppe der Mediaberatung Unix-ähnlichen Betriebssysteme (wie beispielsweise HP/UX, FreeBSD, Solaris) verwendet, D / A / CH Petra Jaser nicht als Bezeichnung für das Trademark (»UNIX«) der Open Group. Der Linux-Pinguin Tel.: +49 (0)89 / 99 34 11 24 wurde von Larry Ewing mit dem Grafikprogramm »The GIMP« erstellt. Fax: +49 (0)89 / 99 34 11 99 Eine Haftung für die Richtigkeit von Veröffentlichungen kann – trotz sorgfältiger Prüfung durch die Redaktion – vom Verlag nicht übernommen werden. Mit der Einsendung von USA und andere National Sales Director Manuskripten oder Leserbriefen gibt der Verfasser seine Einwilligung zur Veröffent lich ung Ann Jesse in einer Publikation der Medialinx AG. Für unverlangt eingesandte Manuskripte oder Bei- Tel.: +1 785 841 88 34 träge übernehmen Redaktion und Verlag keinerlei Haftung. Autoreninfos: http://www.linux-user.de/Autorenhinweise. Die Redaktion behält sich vor, National Account Manager Einsendungen zu kürzen und zu überarbeiten. Das exklusive Urheber- und Verwertungsrecht Eric Henry für angenommene Manus kripte liegt beim Verlag. Es darf kein Teil des Inhalts ohne schrift- Tel.: +1 785 917 09 90 liche Genehmigung des Verlags in irgendeiner Form vervielfältigt oder verbreitet werden. Es gilt die Anzeigenpreisliste vom 01.01.2012. Copyright © 1999 - 2012 Medialinx AG ISSN: 1615-4444 Probelesen ohne risiko

sonDerAkTion! Testen sie jetzt 3 Ausgaben für * nUr 3€ Telefon: 07131 /2707 274 Fax: 07131 / 2707 78 601 E-Mail: [email protected] Mit großem Gewinnspiel unter: www.linux-user.de/probeabo * Angebot gilt innerhalb Deutschlands www.linux-user.de 10 | 11 und Österreichs. In der Schweiz: SFr 4,50. 95 Weitere Preise: www.linux-user.de/produkte

LU_1-3q_Miniabo_0709-2012.indd 1 07.09.2012 10:47:31 Uhr