Donnerstag, 24. September 2015

Dreimal TOP

Heute möchte ich drei Programme der Familie "Top" vorstellen.
Wenn man sich einen Überblick über die Systemlast bilden will, kommt man mit "ps -A" nicht wirklich weiter. Welcher Prozess verbraucht welche Resourcen.
Hier kommt Top und die Verwandten ins Spiel.


"TOP", einfach, gut und auf jedem System vorhanden. Egal ob Debian, Ubuntu oder ein anderes Linux, Top steht überall zur Verfügung. Es ermöglicht auch unter hoher Last einen raschen Blick auf das System.






"HTOP" ist der grosse Bruder von Top und in der Bedienung etwas an den "midnight commander".
Mit diesem Programm, kann man schnell die Priorität ändern, Prozesse beenden und so weiter.
Unter Ubuntu muss dieses Programm per Hand nachinstalliert werden:
apt-get install htop






"ATOP" ist der ganz grosse Bruder von Top und ermöglicht einen sehr tiefen Blick in das System. Mehr zum debugging geeignet, muss man dieses Programm auch unter Ubuntu nachinstallieren:
apt-get install atop






Bedienung von "top":

Bereits beim Start kann man angeben ob "ruhende Prozesse" ausgeblendet
werden sollen. Hier übergibt man dann das Parameter -i.
top -i

Im laufenden Betrieb sind folgende Hotkeys interessant:
H -> zeigt Hilfeseite
P -> sortiert nach CPU Last
M -> Sortiert nach Speicherverbrauch
T -> Sortiert nach Alter
q -> Beendet top


Bedienung von "htop"

Auch Top hat einige sinnvolle Startparameter:
htop --no-color  -> ohne Farbe starten
htop --user=andre  -> Nur Prozesse vom Benutzer "andre"

Im laufenden Betrieb sind folgende Hotkeys interessant:

F7 -> Nice Wert des gewählten Prozesses verringern
F8 -> Nice Wert des gewählten Prozesses erhöhen
q -> Beendet htop
F9 oder
k -> Beendet einen Prozess
SHIFT + P -> Prozesse nach CPU Last sortieren
SHIFT + M -> Prozesse nach Speichernutzung sortieren
F4 -> Nach Name filtern


Dienstag, 22. September 2015

deinbloggerforum


Ich möchte die Gelegenheit nutzen und kurz auf diese neue Seite
Hinzuweisen:

http://www.deinbloggerforum.de/

Hier werde ich in Zukunft auch vertreten sein und Beiträge schreiben.
Wer also einen Blog hat, kann gerne hier vorbei schauen.

Donnerstag, 17. September 2015

Microsoft Visual Studio Code unter Ubuntu

Nachdem ich im Linux Magazin über Visual Studio Code von Microsoft gelesen habe bin ich aufmerksam geworden.

Obwohl ich ein scharfer Kritiker der Firma bin wollte ich dem ganzen eine Chance geben.



Also habe ich mir die Zip Datei hier herunter geladen:
https://www.visualstudio.com/
Und einfach entpackt. Das Programm war sofort startfähig.

Die Farbe war gewöhnungsbedürftig, aber nach kurzer Zeit sehr angenehm.
Statt einer Datei öffne ich auf der linken Seite gleich den kompletten Verzeichnisinhalt und kann so zwischen den verschiedenen Dateien Kinderleicht wechseln. Ungewohnt, aber auch das ist nach kurzer Zeit sehr brauchbar.
Was mir gut gefällt ist das die zuletzt bearbeiteten Dateien oben links angezeigt werden und man auf einen Blick sieht welche noch nicht gespeichert sind.

Wie man unten Rechts sehen kann wurde die Programmiersprache korrekt als PHP erkannt. Und so funktioniert auch die "Autovervollständigung" brauchbar.
Geschweifte Klammern, normale Klammern und Anführungszeichen werden Sinnvoll ergänzt.
Dazu ein ganz nettes Feature ... Sobald man ein Dollarzeichen eingibt fängt er an die bereits genutzten Variablen aufzulisten. Sieht man in dem Screenshot sehr gut.

Das Programm ist optisch und funktional sehr nah an sublime (soweit ich es nur als besseren Texteditor nutze) dran, allerdings um den Faktor 10 grösser und gefühlt auch um den gleichen Faktor langsamer.

Ein Druck auf die Taste F11 schaltet das Programm in den Vollbildmodus, was die Übersichtlichkeit nochmal erhöht. Grade auf Ubuntu verschwindet dann auch die linke Leiste und alles ergibt ein schön einheitliches Bild.

Ein kleines Detail beim Speichern von Dateien ist .... ich kann ohne weiteres nicht ein anderes Format wie UTF8 speichern, was mit gedit sehr einfach möglich ist.

Nach einigen Tagen die mich VSC nun durch denn Alltag begleitet hat, komme ich zu einem Fazit: Ich werde ihn weiter einsetzten zum Entwickeln und für das Programmieren zum bevorzugten Editor machen.


Dienstag, 15. September 2015

Sublime unter Ubuntu

Noch vor meinem geplanten Freitagspost möchte ich einen kleinen Erfahrungsbericht zum Texteditor "sublime text" schreiben.

Freunde haben mich auf das Programm aufmerksam gemacht im Rahmen meines Visual Studio Code tests und meinten, das sublime ähnlich gut sei. Also war ich neugierig und habe mir das Archiv heruntergeladen. Es kommt in einem Linux Typischen tar.bz Archiv. Entpacken, Starten, Fertig.
Gefällt mir.

Der Aufbau vom Fenster ist sehr übersichtlich. Links Zeilennummern, rechts eine verkleinerte Ansicht der kompletten Datei.
Auch die Farbgebung ist sehr augenfreundlich.
Das Programm startet schnell und fühlt sich angenehm flott an.


Die Autovervollständigung funktioniert tadellos. Man kann flüssig Quellcode schreiben und wird sinnvoll unterstützt. Sehr interessant finde ich die Funktion der "Snippets" wo man kurze Quellcode Teile hinterlegen kann.


Wenn man einen Ordner öffnet werde alle Quellcode Dateien auf der linken Seite angezeigt. Man kann so sehr zügig zwischen verschiedenen Dateien wechseln.
Der Druck auf F11 fördert zuverlässig einen sehr übersichtlichen Vollbildmodus zum Vorschein.




Das Programm kann man hier herunterladen: http://www.sublimetext.com/
Da es sich um ein kommerzielles Programm handelt kostet die Lizenz 70 Dollar. 


Donnerstag, 10. September 2015

iPhone mit Davical unter Ubuntu 14.04 Server

Heute habe ich eine Lösung für ein besonders schönes Problem:
Ein iPhone an einen Caldav Server unter Ubuntu 14.04 anbinden.

Bisher habe ich die iPhones an einen Debian 6 Server angebunden was auch tadellos klappte. Aber die veraltete Davical Version hatte Nachteile in der Zusammenarbeit mit Outlook.

Daher habe ich mich entschlossen auf dem Ubuntu 14.04 Server auch Davical zu installieren damit er den Kalenderdienst mit anbietet.
Das Anbinden von Thunderbird/Lightning hat auch tadellos funktionert und auch Outlook gleicht mittels Evo die Daten mit dem Server ab.
Nur das iPhone hat sich als Problematisch erwiesen.

Bisher habe ich es so gemacht das ich die Kalender in Lightning eingerichtet habe, dann die Daten übernommen und anschliessend die Kalender-URL im iPhone eingetragen habe.
Aufbau der URL war bisher:

http://192.168.1.1/davical/caldav.php/user/calendar/

(bei dem älteren Davical 0.9 von Debian muss home statt calendar stehen)

Auf diesem Wege findet das iPhone den Kalender nicht.

Die Lösung ist, als erstes den Kalender im iPhone einzutragen.
Hier wählt man auch wieder die Adresse aus, wie sie oben steht.
Wenn man den Kalender gespeichert hat meldet man sich im Webinterface von Davical an und Navigiert zum Benutzer.
(Benutzerfunktionen -> Benutzer Anzeigen) und wählt hier den Benutzer aus.
Unter "Sammlungen des Prinzipalen" befindet sich nun ein Link in diesem Format:

/davical/caldav.php/user/D553F027-30BE-1F30-BAB2-5F8AC31F74D2/

Diese trägt man dann bei Thunderbird/Lightning als URL Zum Kalender ein.
In unserem Beispiel währe das:

http://192.168.100.1/davical/caldav.php/user/D553F027-30BE-1F30-BAB2-5F8AC31F74D2/

Anschliessend kann man ggf. die Daten wieder in den Kalender einspielen, z.b. bei Lightning mittels einer .ics Datei.



Freitag, 4. September 2015

Maxthon unter Ubuntu 14.04

Heute möche ich  mal kurz den Browser "Maxthon" vorstellen. Von ihm habe ich in einem Linux Magazin gelesen und mal ausprobiert.

Die Installation war etwas hakelig. Erst habe ich es mit dem .deb Paket probiert und das Softwarecenter das installieren lassen. Aber das Programm startete nicht. Danach habe ich das Programm als .tar.gz
Datei von der Projektseite heruntergeladen und entpackt. Nach dem Aufruf von ./maxthon kam folgende Fehlermeldung:

andre@test-pc:~/Downloads/maxthon$ ./maxthon
./maxthon: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory


Ich habe folgende Anleitung gefunden um das Problem zu beheben:
Link zur Fehlerlösung 

sudo ln -sf /lib/$(arch)-linux-gnu/libudev.so.1 /lib/$(arch)-linux-gnu/libudev.so.0

Anschliessend konnte ich das Programm starten.

Habe mich nur kurz in dem Programm umgesehen. Aufgefallen ist mir, das er den Fensterrahmen selbst zeichnet, daher auch nicht die Position der Knöpfe  von Ubuntu übernimmt.
Eine Möglichkeit Zertifikate zu verwalten habe ich noch nicht gefunden. Aber trotzdem mal eine interessante Alternative wenn man nicht unbedingt Firefox oder Chrome nutzen möchte.
Durch das .tar.gz Archiv braucht man eigentlich auch keine Installation über das Softwarecenter so das man bei Nichtgefallen einfach das Verzeichnis löschen kann.

Downloadmöglichkeit von Maxthon:
Projektseite

Donnerstag, 3. September 2015

Dateisysteme

Heute spreche ich mal ein oft unterschätztes Thema an:
Dateisysteme.

Die meisten werden sich darüber wenig Gedanken machen, und das nehmen was die Installation anbietet. Aber für spezielle Aufgaben macht der Einsatz eines anderen Dateisystem manchmal Sinn.

Zunächst kurz einen Geschichtlichen Rückblick. Das erste Dateisystem was mit Linux kam war Minix (vom damaligen Minix Betriebssystem). Es war aber stark limitiert, z.b. max. 64MB pro Partition. Aus diesem Grund entwickelten sich schnell zwei Alternativen:
xiafs und ext (der Vorläufer vom ext2).
Diese ersten Versionen hatten allerdings gravierende Nachteile. Die Partitionen waren auf 2GB begrenzt, xiafs konnte max. 64MB Grosse Dateien anlegen, ext fragmentierte stark.

Erst der Wechsel auf ext2 brachte hier viele Verbesserungen, so das ext2 selbst heute noch in Benutzung ist und der Code des Dateisystems als qualitativ sehr hochwertig gilt.

Heute besteht die Wahl zwischen folgenden Systemen:

ext2
Das älteste noch verbreitete Linux Dateisystem. Keine  Journal Funktion, keine Extents. Aber für kleine Partitionen oder Flash speicher sehr performant.

ext3
Verbesserte Version von ext2 mit Journal und H-Baum so das die Zugriffe optimiert sind.

ext4
Nachfolger von ext2/3, nutzt nun zum Speichern der Daten Extents um Fragmentierung zu vermeiden. Dazu kann es Daten auch nach 2038 verarbeiten (ext3 kann nur bis 2038 als Datum speichern).

JFS
Journaling Dateisystem von IBM, zunächst für AIX später für OS/2 Entwickelt. Es nutzt einen B-Tree damit es Daten schneller finden kann und speichert Extents um Fragmentierung zu vermeiden.

XFS
Dateisystem von SGI mit spezieller Ausrichtung auf sehr grosse Dateien. Früher war eine spezialität das es für eine Datei einen garantierten Datendurchsatz liefern konnte. Es nutzt ebenfalls B-Tree's sowie Extents. Dazu noch verzögerte Allozierung so das Daten zusammenhängend geschrieben werden.

ReiserFS
Journaling Dateisystem der ehem. Firma namesys vom Entwickler Hans Raiser. Basiert auf B-Trees und soll grade bei der Speicherung kleiner Dateien sehr effizient sein. War einige Zeit Standart bei Suse.

btrfs
modernes copy on write Dateisystem welches auf B-Trees basiert.
Copy on Write bedeutet in diesem Zusammenhang das beim Speichern nicht die alten Blöcke überschrieben sondern neue angelegt und nur die Metadaten angepasst werden. Das erhöht nochmals die Sicherheit, da die alten Daten vorhanden sind.

Was wofür nutzen ...  ist eine gute Frage bei Dateisystemen.
Auch wenn ext4 nicht die performance oder feature Krone bekommt hat es einen Vorteil den man nie unterschätzen sollte: Unglaublich viele Menschen kennen sich mit ext4, sowie den Vorgängern aus und im Fehlerfall kann man hier am ehsten Hilfe erhoffen.
ReiserFS würde ich aufgrund der ungewissen Codepflege nicht mehr emfpehlen, auch wenn ich es früher sehr gerne genutzt habe. Gleiches gilt für JFS.
ext2 ist für mich bei sehr kleinen Boot-Partitionen oder USB-Speichersticks interessant, weil es  hier wenig Sinn macht ein Journal zu führen.
XFS und btrfs holen bei features und performance stetig auf und sicherlich ist grade im Serverumfeld XFS eine gute Wahl.

Ich selbst habe noch einige alte Debian Server mit JFS laufen,
alle Ubuntu Rechner (Server wie Clients) die ich aufgesetzt habe nutzen ext4 als Dateisystem. Und bisher hatte ich noch nie Probleme damit.