Kategorien
Archiv

Artikel-Schlagworte: „Linux“

Meine aktuellen Bemühungen in Sachen IT

Ich komme zur Zeit nicht wirklich zum bloggen. Zum einen passiert (für den Rest der Welt) nur uninteressanter Scheiss bei mir. Privat geht es zwar gerade hoch her – aber “Mann” wird ja auch erwachsen. Bedeutet: Ich werde in Zukunft etwas weniger private Details hier posten. Was geht es Google und Co. an, das ich … was weiss ich: Gerade lieber Gemüse esse als Pizza, viel oder wenig Sport treibe, oder mein Schiss gerade eher einem Fragezeichen oder einem Hakenkreuz ähnelt? Genau: Garnichts ! :)

Vielmehr wende ich mich gerade wieder verstärkt dem Know-How meines ewigen Steckenpferdes rund um den PC und verstärkt Linux und verwandten Techniken zu.
Was sind “verwandte Linuxtechniken”? Ich würde, nach jüngsten Erfahrungen, sagen: Alles, was zukunftsweisend  und in irgendeiner Weise kreativ ist und mit IT zu tun hat ist heutzutage eine verwandte Linuxtechnik.

Ich möchte an dieser Stelle gerne zwei Beispiele aus meiner aktuellen Arbeitswoche heranziehen:

1) PHP

Wie alt ist PHP inzwischen? Ich meine nicht so direkt die Sprache, sondern vielmehr: Wie lange ist PHP denn inzwischen bitte die Programmiersprache im Internet und der modernen IT? Ich komme zwar noch aus der “Windows for Workgroups” – Ära, aber selbst mir fällt es schwer, mich heute noch an eine Zeit ohne dynamische Webseiten, wo man schlichtweg der King war, wenn man ein DataBecker HTML4 Buch grob angelesen hatte, zurück zu erinnern. Inzwischen wird wohl keiner, der sich ernsthaft mit Webseiten und Trends im Web auseinander setzt bestreiten, das ohne PHP und die unaufhaltsame Verbreitung von OpenSource-Giganten wie Apache HTTPd und Linux das Web heute ein anderes (und ich behaupte: Schlechteres!) Web wäre. Schaut Euch nur mal die Alternativen an: ISS, Windows Server, Microsoft Silverlight, … wer will denn auch nur eines davon haben bitte?? Das finden ausschließlich solche Idioten gut, die kognitiv nicht in der Lage sind Lizenzbedingungen zu lesen und zu verstehen. Da fallen “Argumente” wie

das kostet doch sooo viel Geld, da wollen Sie mir doch wohl nicht erzählen, das diese kostenlose Freeware legal dasselbe leistet!?

Ich werde das nie vergessen: Dieser Satz fiel in meiner Berufsausbildung wirklich! Und zwar von meinem damaligen, technischen Ausbildungsbetreuer bei Computacenter. “Freeware”. Das muss man sich mal vorstellen … OpenSource und GPL – völlige Fremdworte.
Ich fürchte diese geistige Haltung ist nach wie vor weit verbreitet – zum Glück sterben diese Idioten aber immer mehr aus. Das ganze kann, in meinen Augen, garnicht schnell genug gehen.

Wie auch immer: Ich wollte heute für ein Plugin für Eclipse auf einer Windowsmaschine PHP 5.3.x installieren. Fertig – das ist die vollständige Anforderung! Zunächst einmal muss man dabei, meiner Meinung nach, den simplen Weg dahin nachvollziehen. Ich lade ausdrücklich jeden Leser ein, den folgenden Weg nachzuvollziehen: Ladet Euch alleine mal ein PHP 5.3 für Windows herunter.
Man geht zunächst auf die Homepage von PHP unter www.php.net . Hier findet man sofort den Link “download” oben auf der Homepage. Dann kann man sich primär PHP 5.3 oder die ältere, abgekündigte Version 5.2 herunterladen. Die primäre Wahl stellt sich hier in einem GZip oder BZip2 Archiv dar – ohne Diskussion: Sourcecode geht hier ab! … als dritte Option wird nun auch noch eine fast abseits stehende Option angeboten: ”For the Windows binaries and installer, see http://windows.php.net/download/.“. Wirkt ein wenig wie “Ach ja, wir haben da auch noch ein behindertes Kind …” im Kinderheim.
Aber – wenn der ganze Kram, egal wie uninovativ diese statisch gelinkte Binär-Scheisse auch sein mag, dann wenigstens funktionieren würde. TUT ES ABER NICHT!!! Macht Euch mal den Spass: Ladet den PHP Installer für Windows herunter, startet nur die php.exe – was passiert? Der Mist stürzt ab, weil ihm DLL Dateien fehlen! Man darf nun wiederum hoffend, das diese Projekte DLLs anbieten, diese ganzen Abhängigkeiten erstmal erfüllen, bis mein eine lauffähige PHP Installation zu Wege bringt.

Mal ehrlich: Fühlt sich das an wie das Jahr 2011? DIE Top-Webtechnik, nicht nativ verfügbar. Wie kann jemand, der ernstzunehmend PHP entwickelt, heute zutage noch Windows einsetzen?
Es gibt, als PHP Entwickler-Workstation, heutzutage kein einziges Argument mehr für Windows!!!!!!! Beweißt mir gerne das Gegenteil!

2) Samba

Warum gibt es Samba? Nur, weil diese ganzen alteingesessenen (böse Zungen würden sagen: festgefahrenen) Anwender weiterhin auf ihrem “Ich bin zwar zu faul mich in etwas anderes als Windows einzuarbeiten und selbst da zu blöd für Admin-Rechte, will aber trotzdem auf alles und jeden Zugriff haben” – Standpunkten bestehen! 90% meines aktuellen Rechte-Chaos-Alltages gehen aktuell dafür drauf, Probleme zu beheben, die es nicht geben würde, wenn Microsoft langsam mal im Jahre 2011 ankommen und sich dem Markttrend gemäß entwickeln würde! Die Jungs kriegen es sogar hin, mit Ihrem Officepaket Dateien über Samba Rechte zu verpassen, die eigentlich unmöglich sind. Stichwort: “Ich möchte gerne, das ich auf die Datei, die ich gerade abspeichere, weder Lese- noch Schreibrechte habe“.

Ich migriere gerade den aktuellen Samba-PDC in unserer Firma von Version 2.5.x auf 3.5.8 . Die Userdaten migrieren: Kein Problem! Reines Datei-kopieren. Was passiert aber, sobald sich ein User unter einem Windows ab Vista (getestet: Windows Vista, 7, Server 2008 R2) anmeldet? Sofortige Wiederabmeldung, ohne Fehlermeldung. Super!!

Ich sage Euch: Wenn Spiele und Branchenriesen wie Adobe Photoshop / Dreamweaver sauber unter Linux laufen würden, hätte ich diesen Krampf schon vor Jahren auch privat von meiner Hardware verbannt :P

 

GuitarPro6 unter (Gentoo) Linux

Whooooho!

Ich habe eben herausgefunden wie man problemlos und nativ (ohne wine o.ä.) GuitarPro6 unter Linux zum laufen bringt! Zwar spezialisiere ich mich hier auf Gentoo Linux, die beschriebenen Schritte sollten aber adäquat auf allen Distributionen funktionieren.

Zunächst einmal läd man sich die Linuxversion von GuitarPro6 herunter. Diese liegt als .deb Paket für Ubuntu Linux vor. Um die Daten daraus zu entpacken, verwendet man am besten das Programm “ar”:

mr@mrvaio ~/Downloads $ ar x GuitarPro6-rev9063.deb
mr@mrvaio ~/Downloads $ ls -l
insgesamt 84816
-rw-r–r– 1 mr users 43419258 15. Feb 01:31 GuitarPro6-rev9063.deb
-rw-r–r– 1 mr users    34121 15. Feb 01:33 control.tar.gz
-rw-r–r– 1 mr users 43384944 15. Feb 01:33  data.tar.gz
-rw-r–r– 1 mr users        4 15. Feb 01:33 debian-binary
mr@mrvaio ~/Downloads $

Das tar.gz Archiv data.tar.gz entpackt man ganz einfach wie gehabt; das Archiv control.tar.gz, sowie die anderen Dateien werden nicht benötigt. Wir erhalten dadurch einmal die Symbole für “/usr/local/share/pixmaps” und das .desktop – File für “/usr/local/share/applications”, sowie die eigentlichen Programmdateien. Man verschiebt einfach alles, was sich im entpackten Verzeichnis “usr/share” befindet einfach nach “/usr/local/share”, sowie den Ordner GuitarPro6 aus “opt” nach “/opt”.

Damit sind wir eigentlich schon fertig! Man muss nur eine handvoll Dinge bei der Benutzung beachten.

So muss man das Programm beispielsweise aus dem Verzeichnis “/opt/GuitarPro6″ heraus starten, sonst findet es seine benötigten Dateien nicht:

mr@mrvaio ~/Downloads $ cd /opt/GuitarPro6
mr@mrvaio /opt/GuitarPro6 $ ./GuitarPro &

Guitar Pro bringt zudem Qt Libraries in einer anderen Version mit als sie bei den meisten aktuellen Distributionen beiliegt. Man erhält beim Start von GuitarPro6 daher folgende Fehlermeldung:

mr@mrvaio /opt/GuitarPro6 $ ./GuitarPro
Cannot mix incompatible Qt libraries
Abgebrochen
mr@mrvaio /opt/GuitarPro6 $

Dieses lässt sich leicht beheben: Alle Dateien, welche auf *Qt*.* passen, aus dem Verzeichnis “/opt/GuitarPro6″ löschen.
Es erscheint dann beim starten zwar nach wie vor eine Fehlermeldung, das GuitarPro6 gegen eine andere Qt Version kompiliert wurde, jedoch kann man diese mit einem Klick auf “OK” gefahrlos schließen.
Anschließend muss man seinen Lizenzschlüssel eingeben. Der Haken, das man das gerne für alle User freischalten möchte, hat bei mir weder als unprivilegierter User, noch als root geklappt. Für beide musste ich einmal meinen Lizenzkey eingeben.

Was leider auch noch nicht funktioniert, ist das starten des Updaters aus dem Hilfemenü von GuitarPro6 heraus. Klickt man dieses an, passiert erstmal garnichts.
Man kann den Updater jedoch trotzdem verwenden, indem man die folgenden Schritte befolgt:

  1. Wenn der X Server als User läuft, “root” zunächst eine Berechtigung hierfür einräumen, indem man als der User folgendes ausführt: “xhost +root”
  2. In einer Konsole “root” werden
  3. cd /opt/GuitarPro6
  4. ./GPUpdater
  5. ./temp.GPUpdater

Der Updater sollte nun anfangen die Updates herunter zu laden. Das kann eine Weile dauern; bei mir waren es ca. 2 GB, da er auch noch die ganzen Soundbänke mit herunter läd.

Offiziell ist Ubuntu Linux das einzige unterstützte Linux und manches funktioniert, wie beschrieben, auf anderen noch nicht ganz rund. Man muss den Jungs von Arobas Music daher dennoch großen Respekt zollen! Zum einen hat jede Firma, die mit Ihren Produkten den Schritt zur Linuxunterstützung meinen Respekt verdient, da diese wunderbare Plattform leider trotz riesiger und stetig wachsender Verbreitung (gerade unter den kreativen Menschen) von den meisten Herstellern nach wie vor gemieden zu werden scheint. Zudem, wenn man bedenkt, das dieses das erste Release ist, welches sie für Linux rausbringen, muss ich sagen das schon erstaunlich viel funktioniert! Da kann man es verschmerzen, das derzeit nur eine Distribution offiziell unterstützt wird und es bei anderen derzeit noch kleinere Fehler gibt. Im normalen Betrieb konnte ich noch keinerlei Fehler feststellen. Verwendet man ein anderes Linux als empfohlen, muss man diese Abstriche halt hinnehmen.

Mein Fazit: Daumen hoch und weiter so! :)

MySQL Fehler unter Ubuntu “‘Can’t create table ‘/tmp/#sql7c49_2f_0′ (errno: -1)’ on query.”

Ich hatte heute auf einem MySQL Slave Server den folgenden Fehler bei der Replikation von einem Master MySQL Server:

mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: www.xxx.yyy.zzz
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: db.002174
Read_Master_Log_Pos: 342719703
Relay_Log_File: mysqld-relay-bin.000003
Relay_Log_Pos: 6458545
Relay_Master_Log_File: db.002170
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1005
Last_Error: Error ‘Can’t create table ‘/tmp/#sql7c49_2f_0′ (errno: -1)’ on query. Default database: ‘live’. Query: ‘create temporary table tmp_gen_table like tmp_to_gen_neu’
Skip_Counter: 0
Exec_Master_Log_Pos: 620120976
Relay_Log_Space: 4109869668
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
1 row in set (0.09 sec)

Ich musste recht lange suchen. Die o.g. Datei (/tmp/#sql7c49_2f_0.ibd) wurde zwar von mysql:mysql angelegt, jedoch war sie 0 byte groß. Im MySQL – Log fand ich nur den o.g. Fehler wieder. Also schaute ich im syslog und wurde fündig:

Jan 28 12:55:22 db kernel: [495131.291630] audit(1264679722.493:141): type=1503 operation=”file_lock” requested_mask=”wk::” denied_mask=”k::” name=”/tmp/#sql7c49_2f_0.ibd” pid=7924 profile=”/usr/sbin/mysqld” namespace=”default”

Das kenne ich inzwischen: Eine Zeile mit so komischen “requested_mask=”wk::”” – Rechten kommt meistens, wenn eine Applikation an apparmor scheitert. Ich habe also der Datei /etc/apparmor.d/usr.sbin.mysqld die folgenden Zeilen hinzugefügt:

/usr/sbin/mysqld {

/tmp/ r,
/tmp/** rwk,
}

Schon geht’s!
Ich fand es sehr überraschend, das das /tmp – Verzeichnis (in meinem Oldschool-Linux-Hinterkopf immer als das “jeder darf – Verzeichnis” abgelegt) ebenfalls einer eigenen Zeile in der apparmor-Konfiguration bedarf. Noch verwunderlicher finde ich, das dieses unter Ubuntu (8.04 – Hardy Heron) nicht standardmäßig dort aufgenommen wurde. Immerhin ist tmpdir=/tmp die Standardeinstellung unter dieser Ubuntu-Version.


Wenn der couriertcpd “malloc: Input/output error” meldet

Hab heute mal wieder eines dieser zunächst unerklärlichen Probleme gehabt:

  • Der courier-authdaemond und der courier-imapd laufen seit JAHREN unverändert problemfrei.
  • Ich habe nichts geändert.
  • Trotzdem bekomme ich im mail.info – Log diese Zeile:
    “couriertcpd: malloc: Input/output error”

Ich habe die Configs überprüft, Rechte im Dateisystem, alles. Nichts gefunden.

Schließlich bin ich im Archiv der courier-users Mailingliste auf die Lösung gestoßen:
Der Courier IMAPd arbeitet Standardmäßig mit dem FAM (File Alteration Monitor) zusammen. Scheinbar kommt der hin und wieder mal ins Straucheln und sollte in diesem Fall, zusammen mit dem portmap Daemon, neu gestartet werden.

Jean-Marc Liotier, der diesen Fehler auf der Mailingliste gepostet hatte, und auch mein Problem ließen sich jedenfalls so beheben.

Schon fies der Fehler, da im Log ja nur der couriertcpd auftaucht, woraufhin man ja zunächst mal geneigt ist hier nach dem Fehler zu suchen …

Mit dem vim eine farbige motd erstellen

Hallo zusammen!

ENDLICH! Endlich habe ich den Kniff wieder gefunden!
Ich habe auf diesem Server, auf dem auch diese Homepage gehostet ist, eine farbige motd Datei angelegt. Hierin werden neben der IP und einem kleinen ASCII – Bildchen die auf diesem Server konfigurierten Domains aufgelistet.
Damals habe ich mir nicht weiter aufgeschrieben wie das geht, hatte ich das doch nach 1-2 Minuten googlen direkt gefunden.

Screenshot der MOTD von zoosau.de

Screenshot der MOTD von zoosau.de

Heute laufen auf demselben Server, auf dem früher nur diese eine Domain, zoosau.de, lief schon 6.
Natürlich wollte ich die neuen 5 Domains immer auch gerne in diese Datei eintragen, jedoch fand ich auf Teufel komm raus den Kniff nicht mehr, wie das geht mit farbigem Text!
Heute bin ich der Sache endlich deutlich näher gekommen. Damit ich das nächste Mal nicht wieder umsonst Ewigkeiten suche, beschreibe ich das Vorgehen hier.

Zunächst öffnet man eine Datei, oder legt halt mit dem vim eine neue an. Will man nun … sagen wir: Rot, blinkend und auf grünem Hintergrund schreiben, dann begibt man sich zunächst in den Insert – Modus (i) und drückt dann STRG+v , gefolgt von der “Pfeiltaste-nach-rechts”-Taste. Man sieht nun folgendes erscheinen: “^[OC ” , wobei der Teil “^[” blau dargestellt wird (sofern Konsole und vim auf farbige Darstellung konfiguriert sind). Die letzten beiden Zeichen, das “OC” löscht man nun wieder – es geht um darum, das man die Escape-Character “^[” erzeugt hat. Warum man nicht einfach “^[” eintippt? Nun: Testet meine Methode und vergleicht das Ergebnis mit dem Vorgehen “^[” nur einzutippen ;) Es wird dann halt als die Zeichen “^[” eingefügt, nicht aber als die Kontrollzeichen. Diese werden nur als blaue “^[” angezeigt; eigentlich stecken da ganz andere Codes hinter. Schwer zu erklären, einfach mal nach “escape sequences” googlen.

So, damit wird die Sequenz eingeleitet. Nun müssen wir eingeben, was wir darstellen wollen. Ein Blick in die Manpage von “dir_colors” gibt uns hier ein paar Möglichkeiten an die Hand. Man kann hier verschiedene Werte übergeben, welche durch ein “;” getrennt und durch ein weiteres “[” initialisiert werden. Für unser “Rote, blinkende Schrift auf grünem Grund” – Beispiel nehmen wir also “05;31;42″ (05 = blinkender Text; 31 = rote Schrift im Vordergrund und 42 = Hintergrundfarbe grün). Anschließend wird ein “m” angehangen, um die Kontrollstruktur zu beenden und zu signalisieren “Jetzt kommt mein Text!”. Bisher haben wir also: “^[[05;31;42m”

Als kleines Beispiel schreibe ich nun einfach “Ich bin haesslicher, blinkender Text auf einem unmoeglichen Hintergrund!” direkt hinter das “m”. Dieser Text soll also gleich in unserer sehr eigenwilligen Farbkonstellation ausgegeben werden.

Genau wie die Escapesequenz eingeleitet und aktiviert wurde, muss sie nun auch wieder beendet werden um normalen Text schreiben zu können. Sonst hätte man am Ende ja nur eine große, blinkende, häßliche Textdatei, und das wollen wir wohl nicht ;)
Hierzu bedienen wir uns wieder der Tastenkombination STRG-v, “Pfeiltaste-nach-rechts” – Taste und dem löschen der Zeichen “OC”. Als nächstes folgt noch ein “[0m”. Die 0 setzt den Text wieder auf seine Standardeigenschaften zurück.
Zur Überprüfung schreibe ich in diesem Beispiel noch den Text “Puh, endlich ist der Albtraum vorbei!” dahinter.

So, dann bewundern wir mal unser Werk: Abspeichern, vim verlassen und “cat Dateiname” eingeben.

Ich bin mir seeeeeehr sicher, das dieses HowTo vor inhaltlichen und fachlichen Ungenauigkeiten nur so strotzt. Ich habe jedoch bisher keine bessere Anleitung gefunden. Wer Fehler findet, kann mich gerne durch einen Kommentar korrigieren :)

USB Transfer unter Suse Linux suuuuper langsam …

Ich hatte heute den Fall auf der Arbeit, das ich auf eine an einem unserer Suse Linux Server angeschlossene USB 2.0 Festplatte mehrere Gibibyte an Daten kopieren musste.

Das dauerte …. und dauerte …. schliesslich fiel mir auf, das die Daten mit nur 160 KB/s kopiert wurden. Das kam mir komisch vor, schliesslich sollten die Datenraten von USB 2.0 doch deutlich höher liegen. In diesem Wiki-Artikel fand ich schliesslich heraus, das es (laut Spezifikation) 480 Mbit/s hätten sein sollen; also ca. 60 MebiByte pro Sekunde.
Das hat mich dann schon sehr gewundert, schliesslich ist das nur ca. 1/384tel Bruchteil der Transferkapazität des Buses.

Eine erste Recherche heute auf der Arbeit förderte diesen Foreneintrag von Dezember 2007 zu Tage, in dem der Hinweis gegeben wird, das dieses Problem verschwindet, wenn die mount-Option “sync” weggelassen wird. Als ich es ebenfalls probiert habe ohne “sync” zu mounten, war es auch schlagartig schneller.

Inzwischen habe ich etwas genauer nachrecherchiert:
Bei dem ganzen handelt es sich um einen zumindest bei Novell (Suse) bekannten Bug (siehe Novell Bugzilla Database #105871). Ob er nun nur bei Suse Linux auftritt oder ob es ein genereller Linux Bug ist, das weiss ich nicht. Und ehrlich gesagt bin ich jetzt auch zu faul den ganzen Bug zu lesen. Wer mag, kann das gerne nachholen.

Unter’m Strich bleibt zumindest für Suse Linux in der Version 10.x folgende Lösung: USB Laufwerke nicht mit der mountoption “sync” mounten!
(Ob andere Suse Linux Versionen oder gar andere Distributionen betroffen sind weiss ich nicht; einfach ausprobieren!).

Für per “subfs” gemountete Dateisysteme gibt es einen weiterführenden Workarround um sicher zu stellen, das diese Dateisysteme nicht mit “sync” gemounted werden:

  1. mkdir -p /usr/share/hal/fdi/policy/95userpolicy
  2. Eine Datei namens “nosync.fdi” darin erzeugen (vi /usr/share/hal/fdi/policy/95userpolicy/nosync.fdi) und darin folgenden Inhalt anlegen:
    <?xml version=”1.0″ encoding=”UTF-8″?>
    <deviceinfo version=”0.2″>
    <device>
    <!– disable sync for mount –>
    <match key=”block.is_volume” bool=”true”>
    <match key=”volume.fsusage” string=”filesystem”>
    <match key=”volume.uuid” string=”==UUID==”>
    <merge key=”volume.policy.mount_option.sync”
    type=”bool”>false</merge>
    </match>
    </match>
    </match>
    </device>
    </deviceinfo>
  3. Ausführen von “lshal“. Die Passage im unter Punkt 2. aufgeführten Text die hier temporär mit “==UUID==” befüllt ist, mit der Ausgabe dieses Befehls ersetzen.
  4. HAL Daemon neu starten (rhal restart)

Ich hoffe dieses hilft einigen von Euch :)

Wie immer würde ich mich freuen, wenn ihr einen kurzen Kommentar eintragen würdet!

Achja, wie immer der Hinweis: Wer sich über diese “merkwürdigen” Bezeichnungen wie “MebiByte”, GibiByte”, etc. wundert, dem sein mein Artikel über Binärpräfixe als Lektüre ans Herz gelegt :)

Automatisches einrücken im Editor vim

Der besonders unter Linux sehr weit verbreitete Texteditor vim bringt in der Standardkonfiguration eine Eigenschaft mit sich, die mich persönlich mehr stört als nutzt:

Die Option autoindent.
Diese sorgt dafür, das eine Einrückung am Anfang einer Zeile, durch Leerzeichen oder Tabs in der folgenden Zeile, nach drücken der Enter Taste, ebenfalls eingerückt wird.
Das klingt zunächst mal sehr praktisch, da man so sehr einfach eine Formatierung beibehalten kann. Sehr nervig wird sie jedoch, wenn man mit Einrückungen versehene Textteile per Copy&Paste im vim einfügt. Es werden dann nämlich, zusätzlich zu den Einrückungen im kopierten Text, vom vim Einrückungen der vorigen Zeile eingefügt.

Das sieht dann sehr unordentlich aus und man muß alles manuell wieder entfernen.

Daher stelle ich diese meistens lieber ab.

Das geht entweder, indem man die Einstellung in der Konfigurationsdatei des Editors setzt (unter Debian /etc/vim/vimrc) oder im Editor selbst.

In der Konfigurationsdatei fügt man einfach folgende Zeile ein:

set noautoindent

Im Editor selbst muss man sich im Kommandomodus befinden. Die Einstellung setzt man durch:

:set noautoindent

Setzt man sie im Editor selbst, wird die Einstellung jedoch nicht gespeichert und gilt nur für die aktuell ausgeführte Editorinstanz.

Gefunden habe ich diesen Hinweis auf dieser Seite.

NVidia Grafiktreiber unter Linux ab Kernel 2.6.24

Eine Veränderung im Linux Kernel 2.6 macht es unmöglich, ohne weitere Anpassungen einen NVidia Treiber der Versionen 71.86.04, 96.43.05, 169.12 und 171.06 zu installieren. Es kommt eine Fehlermeldung.

Die einzige Möglichkeit trotzdem einen Treiber zu installieren besteht derzeit aus einem Patch für den Treiber. Diese findet man hier. Nachdem man sich den passenden Patch heruntergeladen hat, wird dieser mit der Kommandozeilenoption –apply-patch installiert:

sh NVIDIA-Linux-Version.run –apply-patch NVIDIA_kernel-Version.diff.txt

Hierdurch wird ein neuer Installer generiert, der im selben Verzeichniss wie der originale liegt, jedoch auf -custom.run endet.

Dieser lässt sich nun wie gewohnt installieren:

sh NVIDIA-Linux-Version-custom.run

Leere Zeilen entfernen mit grep

Habe ich mich immer gefragt, aber nie herausgefunden: Wie entfernt man eine leere Zeile mit grep?

Geht ganz einfach:

grep -v '^$'

Ich werd’ ISP!

Genau, denn wenn man sich sein eigenes Internet baut, dann muss man nicht immer die Seiten gucken die Arcor einem gibt!

… naja etwas mehr niveau hat dieser Artikel dann doch ;)

Ich bin Congstar Kunde und damit soweit auch ganz zufrieden. Ich wollte keine Verträge mehr, wo ich zum Dank blöd genug gewesen zu sein, mich wieder 2 Jahre an einen gleichbleibendem Tarif auf einem Markt sinkender Kosten gebunden zu haben, für ein Telefon zweiter Wahl entscheiden darf, das dann “nur noch” 10 € (plus die Reingewinne der Grundgebühr über 24 Monate hinweg kostet). Daher bin ich zu Congstar gewechselt.

Ich weiss: Die haben NICHTS, sind nicht die billigsten, bieten keine gescheiten Handys, und, und, und.

Aber für mich ist es ideal.

Ich habe für 10 € meine Festnetzflat, kann je nach Lebenssituation Optionen hinzubuchen oder kündigen, und – mal ehrlich: Wie oft habt ihr während einem Eurer Verträge mal mit dem Support telefoniert und wart mit deren Aussagen zufrieden?

Was schert’s mich, da da die T-Mobile Ausschussware der Callagents sitzt für die 15 Minuten, die ich durchschnittlich im Jahr mit denen telefoniere?

Nun bin ich jedoch schon an die Grenzen des Congstar Angebotes gestoßen: KEINE DATENFLAT !!! *kreiiiiisch!!*

Was mache ich da nur?

Meine Idee©:

Ich modde meine Fritz Box Fon WLAN 7050 zum DialIn-Server um! Wie früher, wo man ein Modem hatte, ca. 50 km Kabel aus selbst zusammengelöteten Kabelteilenin der Telefondose verschwinden liess, Username, Passwort und Telefonnummer des Providers brauchte und sich dumm und dusselig bezahlt hat an Minutenpreisen.

Nur mit dem Unterschied, das ich dank der DSL Flatrate zuhause, damit verbundener ISDN Leitung bei Arcor und modding-fähiger Fritz Box und einer Festnetzflat im Handy keinen Cent dazu bezahlen werde! :)

Die Theorie ist so:

Ich richte mir im Handy eine Modemverbindung ein. Diese ruft auf einer meiner ISDN Nummern zuhause an. Nun soll die Fritz Box Anrufe auf dieser Nummer entgegen nehmen und Username/Passwort Authentifizierung betreiben. Stimmen die Daten, soll sie zwischen der Analogleitung zwischen angerufenem Anschluss und anrufendem Handy und der DSL Leitung routen.

Theoretisch dürfte das ganze so kostenfrei für mich bleiben :)

Ich habe mich mit so einer Technik nie beschäftigt. Ich weiss nichtmal, ob es dafür gescheite Software gibt, die man realistisch auf der Fritz Box laufen lassen kann.

Dieses kleine Erfahrungslogbuch wird’s zeigen :D