Beiträge getagged mit Linux

Large Files mit Sambaclients

Wer größere Dateibrocken wie zB ISOs mittels Samba, respektive Netzfreigaben, übertragen möchte, der wird schnell feststellen, dass ab einer Größe von 2GB der Dateitransfer abgebrochen wird.

Um dies zu beheben, muss man sich mittels lfs (large file support) zu helfen wissen.

Diese Unterstützung kann man mit dem Optionsschalter anfordern.

Beispiel:

mount -t smbfs -o lfs,username=xepter //rechner/freigabe /mnt/sambashare

, ,

Keine Kommentare

MySQL und Charsets

Um eine MySQL Datenbank unter Debian zu einer Standardmäßigen Collation zu überreden, gilt es folgende 2 Werte in die /etc/mysql/my.cnf einzupflegen.

default-character-set=utf8
default-collation=utf8_unicode_ci

Damit werden auch neue Tabellen standardmäßig mit dem utf-8 Charset angelegt.

, , ,

Keine Kommentare

Jumboframes – Gigabit-Ethernet

Heutzutage sind sie ja schon sehr gängig, Gigabit Netzwerkkarten in Rechnern und die Gigabit Switches sind mittlerweile auch bezahlbar.

Nun stellt sich wie immer die Frage: Kann man da noch etwas optimieren?

In der Regel gilt: Man kann!

Um mich kurz zu halten – hier meine Variante des Netzwerkfluß-Tunings:

Die Übertragungsgeschwindigkeit wird durch den MTU Wert der Netzwerkkarte definiert.

Dieser Wert definiert also die maximale Rahmengröße für die jeweilige Verbindung.  Der ein oder andere kann sich vllt. an einen geänderten MTU Wert für die DSL Verbindung erinnern. Dort hat man, um die Fehlerrate gering zu halten, den MTU Wert von 1500 auf 1492 gesenkt.

Zweifelsfrei ist also ein MTU Wert von 1500 der gängige Standard fürs 10/100 Ethernet.

Wie schaut das nun beim Gigabit aus?

Hier kann man, davon muss man ausgehen, den Wert erhöhen um eine bessere Nutzung der möglichen Übertragungsleistung zu erzielen.

Es wird auf manchen Seiten von einem MTU-Wert von 9000 gesprochen, dies ist natürlich eine imense Vergrößerung und dürfte der „Anschlag“ im Gigabit-Bereich sein. Jedoch sollte darauf geachtet werden, dass es sich um ein homogenes Gigabit-Netz handelt, d.h. alle Geräte mit solchen Frames umgehen können.

In meinem persönlichen Fall möchte ich ein NAS per Crossover-Gigabit-Leitung an einen Server anbinden, natürlich mit maximalem Durchsatzvermögen.

Im Webinterface des NAS’s kann ich in diesem Fall die Jumboframes aktivieren und nach einem Neustart kann ich über SSH folgenden MTU-Wert dort ablesen:  7936

Ergo wird die Gegenstelle (mein Debian Server – eth1) den selbigen MTU-Wert zugewiesen bekommen.

Unter Linux/Debian kann man dies, wie im folgenden beschrieben, erreichen und vor allem auch nach jedem Neustart des Interfaces wieder automatisch setzen lassen…

Zuerst einmal wollen wir den Wert temporär setzen um die Veränderung wahrzunehmen:

ifconfig eth1 mtu 7936

Den gesetzten Wert kann man sofort via ifconfig überprüfen.

Um den Wert nun dauerhaft für diese Verbindung zu definieren, so kann man in „man interfaces“ lesen, sollte die IP Adresse statisch (static) definiert sein.

Die zusätzliche Option „mtu <wert>“  in der Netzwerkkonfiguration genügt für diesen Fall! Hier mein Beispiel:

auto eth1
iface eth1 inet static
address 192.168.200.200
netmask 255.255.255.0
mtu 7936

Dann ist es auch möglich der Netzwerkkarte über diesen Weg den MTU-Wert zuzuweisen.

Bei anderen, Red-Hat-basierenden Systemen sollte das Analog funktionieren. Ist aber ungetestet. Zudem konnte ich noch lesen, dass bei diesen Systemen der Wert auch in die  „/etc/sysconfig/network-script/ifcfg-ethX" eingetragen werden kann.

Wichtig: Der maximale MTU-Wert kann Geräteabhängig sein!! Es gibt Netgear Karten die nur eine max. MTU von 7500 erlauben. Auch von Chipsätzen mit max. 7200 konnte ich lesen.

Ich denke also, dass ein Wert von 7000 an jedem Gerät funktionieren sollte. Probiert es einfach aus oder lest die jeweiligen Herstellerspezifikationen.

,

Keine Kommentare

Bind9 – DNS Server

Mal wieder konfiguriere ich an meinem Router herum.

Um den DNS Service auf eine Adresse zu binden, muss man die named.conf.options mit der  Option

listen-on {ip-address;ip-address };

innerhalb des großen Geschweifteklammern-Blocks erweitern.

Gut gut – ab jetzt nur noch mein DNS 😀

, ,

Keine Kommentare

bootchart

Bootchart – darüber bin ich kürzlich mal gestolpert.

Es halndelt sich dabei um eine Applikation, welche im Stande ist, die Zeit des Bootens unter Linux festzuhalten. Eine witzige Sache wie ich finde. Durchaus auch praktisch um zu sehen, für was das System während des Starts Ressourcen benötigt. Das Tool ist also durchaus brauchbar um den Systemstart durch gesunde Analyse zu beschleunigen!

Was muss man tun?

Grundsätzlich nur folgendes:

aptitude install bootchart

Es installiert das genannte Programm, aber damit ist es noch nicht im Einsatz.

Editiert die Config-Datei /etc/bootchartd.conf, dort sollte man2 Dinge definieren

PROCESS_ACCOUNTING=“yes“

AUTO_RENDER=“yes“

AUTO_RENDER_DIR=“/root“

Desweiteren muss man den Bootparameter in GRUB unter /boot/grub/menu.lst, d.h. #defoptions= muss „init=/sbin/bootchartd“ angehängt werden um es zu aktivieren.

Leider überschreibt das Programm bei jedem Bootvorgang die zuvor erstellte Grafik, also sichert, wenn nötig, die Datei!

Kleine Tuningmaßnahmen können direkt folgen. Installiert dash (ein Ersatz für die bash), readahead (erinnert an prefetch unter M$ Windows) und kompiliert die Hauptmodule in den Kernel mit ein. Ein schnelles Filesystem kann wohl auch Wunder wirken wie ich lesen konnte.

Nach der Installation von dash sollte man mittels „dpkg-reconfigure dash“ den /bin/bash ersetzen, für readahead genügt ein „touch /etc/readahead/profile-once“ um beim nächsten Start die Indizierung zu erwirken.

Letztlich kann man noch Services abschalten die nicht zwingend benötigt werden. Apache oder MySQL um mal 2 Kandidaten (für den Desktopbetrieb) zu nennen.

Happy Tuning!

, , ,

Keine Kommentare

chmod für Dateien und Ordner

Möchte man ein chmod auf eine Verzeichnisstruktur rekursiv anwenden, so ist es für Ordner erforderlich das Ausführbar-Flag zu setzen, sonst kann man diese nicht mehr öffnen. Gleichzeitig möchte man aber die Dateien nicht ausführbar machen.

Aus dem Grund muss man sich mit find zu helfen wissen. Man sucht also die Ordner rekursiv und wendet das chmod auf das Ergebnis an.

Für Ordner schaut das so aus:

find ./ -type d -print0 | xargs -0 chmod 0755

Für Dateien schaut das so aus:

find ./ -type f -print0 | xargs -0 chmod 0644

Damit kann man dann auch größere Strukturen korrekt behandeln

,

Keine Kommentare

PHP Code in HTML Dateien ausführen

Eigentlich ne ganz einfache Geschichte:

Von Haus aus werden nach der Installation eines Apache Webservers und Integration von PHP nur *.php Dateien von PHP verarbeitet.

Nun gibt es natürlich den exclusiven Fall, dass ein Entwickler auch PHP Code innerhalb von HTML Dateien verbaut. Wenn man nun des Kunden wegen keine Möglichkeit hat, die genaue URL  in *.php abändern zu lassen (jaa, das soll es geben), muss man sich mittels einem Trick behelfen.

Man editiert den Virtualhost Container und fügt folgende Zeile hinzu, notfalls ist das auch über die .htaccess Datei realisierbar:

AddType application/x-httpd-php php html htm

Schon hat man die Möglichkeit PHP Code auch innerhalb von HTML Dateien auszuführen *gg*

, ,

Keine Kommentare

NTFS Partitionen unter Debian

Ein jeder der Linux benutzt kennt das Problem mit den leidigen NTFS Partitionen. Um sie korrekt ins System einzuhängen bedarf es immer etwas Knowledge was gerade für Einsteiger sehr hinderlich ist.

Ich notiere hier der Einfachheit halber mal die 2 möglichen Situationen und die Möglichkeiten sie korrekt zu lösen.

Ich gehe mal davon aus,  das der Umgang mit sudo und das Auflösen einfacher Abhängigkeiten keine Probleme bereitet- man sollte also schon ein wenig mit dem System gearbeitet haben und Pakete installieren können. Zudem fokusiere ich Gnome als DE.

1. Ich habe eine Externe Festplatte mit NTFS Partitionen

Hier kann man relativ einfach zu einem Ergebnis kommen. Über die favorisierte Paketverwaltung müssen folgende Pakete installiert werden: ntfs-3g, ntfsprogs  und libntfs-gnomevfs.

Zudem muss man der Gruppe plugdev angehören, sonst darf man die Platte nicht mounten. Folgender Befehl sorgt dafür.

sudo adduser $USER plugdev

Bei externen Platten kann es manchmal zu Fehlern beim einhängen kommen die Windowsbedingt sind. Beispielsweise wird darauf hingewiesen dass die Platte nicht sauber ausgehängt wurde.

Dazu gibt es ein Werkzeug aus dem Paket nftsprogs. Man öffnet ein Terminal und sorgt mit ntfsfix für eine sauber einhängbare Platte.

Beispiel: „ntfsfix /dev/sde2“ ergibt hier (allerdings saubere NTFS Partition)

Mounting volume… OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sde2 was processed successfully.

2. Ich habe eine Interne Festplatte mit NTFS Partitionen

Hier wirds schon etwas komplizierter, ist aber machbar. Es muss die Datei /etc/fstab angepasst werden, zudem sollten die eben genannten Pakete installiert sein.

Das kann man von Hand erledigen oder ein kleines Tool für sich machen lassen (vllt ganz praktisch wenn man mehrere NFTS Partitionen auf internen Platten hat).  Hier erstmal die Zeile wenn man die Datei selbst bearbeiten will.

/dev/hda1    /media/Win2k    ntfs-3g    defaults,locale=de_DE.UTF-8    0    0

Die Alternative besteht in der Installation eines kleinen Helferwerkzeugs. Dazu sollte man auf jedenfall das Paket make und mind. python 2.6.0 installiert haben, Zugehörigkeit zur Gruppe src ist auch wichtig. Als nächstes holt man sich hier den neuste Sourcecode und speichert diesen in /usr/src (Hier darf nur ein Benutzer der Gruppe src schreiben, d.h. „sudo adduser $USER src“ zur Kontrolle) und entpackt ihn anschließend. Dies kann man im Terminal in einer Zeile durchführen.Das Beispiel wird als Benutzer durchgeführt!

cd /usr/src; wget http://flomertens.free.fr/ntfs-config/download/source/ntfs-config-1.0.1.tar.gz; tar xfz ntfs-config-1.0.1.tar.gz

Nun wechselt man in das erstellte Verzeichnis, führt configure und make als Benutzer aus, die finale Installation ist nur als Root möglich.

cd ntfs-config-1.0.1/;./configure; make; sudo make install;

und das Programm ist kompiliert und installiert!

Mit „sudo ntfs-config“ kann es ausgeführt werden und entsprechende Einstellungen wie *schreibbar* können festgelegt werden.

Wenn man es geschafft hat, darf man sich natürlich freuen! 🙂

, ,

Keine Kommentare

linux-gate.so.1

Heute ist mir diese Datei aufgefallen als ich mich nach Libraries erkundigt habe… in meinem speziellen Fall

ldd /opt/openoffice.org/basis3.0/program/pyuno.so

Dort tauchte folgendes auf was mir nicht ganz geheuer war…

linux-gate.so.1 => (0xffffe000)

Auf der Suche nach der Lösung und Herkunft dieser ominösen linux-gate.so.1 habe ich dann folgenden Artikel gefunden:
http://www.trilithium.com/johan/2005/08/linux-gate/

Dort wird „en detail“ erklärt, was es mit dieser Datei auf sich hat!
Viel Spass beim durchlesen 🙂

,

2 Kommentare

gnome-vfs-daemon – hohe CPU Last

Heute musste ich mal wieder bei meinem Lenny System folgendes feststellen:

Der genannte gnome-vfs-daemon lastet meinen Prozessor fast gänzlich aus. Obwohl ich gar nichts anstelle…

Als Hintergrundinfo muss ich mitgeben, dass ich das Systemmonitorapplet 2.22.3 aktiviert habe, welches mir stets die CPU Last und Festplattenaktivität anzeigt. Nur dank des CPU Applets habe ich bemerkt, dass hier etwas im Argen liegen muss. Das Applet greift jedenfalls auf die Systemüberwachung zu (und hält diese wohl – mehr oder weniger – dauerhaft geöffnet).

Da kommen wir schon zur Wurzel allen Übels… in den Einstellugen der Systemüberwachung (ähnlich dem M$ Taskmanager) kann man den Intervall für die Aktualisierung des Dateisystems festlegen.

Als Standard stehen hier 5 Sekunden drin – dies verursacht wohl diese „Probleme“. Ich denke Werte zwischen 30 und 50 Sekunden sollten als human gelten. Letztlich hat die Veränderung des Wertes den Daemon wieder zur Ruhe gebracht und mein System schnurrt wieder in einer angenehmen Lautstärke vor sich her…

, ,

Keine Kommentare