Archive for the 'linux' Category

Linux Mint als LTSP Server für Diskless Workstation

Saturday, February 16th, 2013

Heute habe ich auf einem Linux Mint(Maya) PC einen LTSP Server für “Fat” Clients installiert.
Dabei gab es diese keine Hürde:

/usr/share/ltsp/plugins/ltsp-build-client/common/010-etc-hosts: line 3: /opt/ltsp/i386/etc/hosts: No such file or directory
error: LTSP client installation ended abnormally

und hier die Lösung dafür:
http://www.linuxmint-fr.org/forum/serveurs/108084-probleme-linux-mint-13-qmayaq-avec-ltsp-53.html

weiter ging es nach dieser Anleitung:
http://www.thefanclub.co.za/how-to/configure-update-auto-login-ubuntu-12-04-ltsp-fat-clients

apt-get install  ltsp-server-standalone
cd /etc/ltsp/
vi dhcpd.conf 
cd /etc/network/
vi interfaces 

cp -R /usr/share/ltsp/plugins/ltsp-build-client/Ubuntu /usr/share/ltsp/plugins/ltsp-build-client/LinuxMint
ln -s /usr/share/debootstrap/scripts/gutsy /usr/share/debootstrap/scripts/maya
sed -i 's/DIST=${DIST:-"$(lsb_release -s -c)"}/DIST=${DIST:-"precise"}/' "/usr/share/ltsp/plugins/ltsp-build-client/LinuxMint/000-basic-configuration"
ln -s /usr/share/ltsp/plugins/ltsp-build-client/Debian-functions /usr/share/ltsp/plugins/ltsp-build-client/LinuxMint-functions

ltsp-build-client --arch i386
  
service nbd-server restart
/etc/init.d/isc-dhcp-server start

Ein NFS Server wird nicht mehr benötigt. Das root-FS ist via nbd & squashfs gemounted und das $HOME des Benutzers wird per fuse.sshfs eingebunden.
Beim LDM Anmeldebildschirm unten links: Einstellungen->Sitzungsart wählen->Ubuntu 2D damit man nach dem Login auch die Icons an der linken Seite von Unitiy sieht.

TODO:
* flashplugin: es erscheint in about:plugins, wird aber nicht benutzt ?!
* auto-login
* KDM & NFS statt LDM für mehr Geschwindigkeit
* auch mal mit kubuntu und lubuntu ausprobieren
* nvidia-Trieber

pcal

Tuesday, February 12th, 2013

Für meinen Kalender verwende ich immer noch Papier. Früher habe ich korganizer zum drucken der Kalenderblätter benutzt, weil ich KDE Nutzer war. Leider hatte ich diverse Probleme mit akonadi und kmail. So musste ich korganizer deinstallieren. Als schlanke Alternative habe ich das Kosolenprogramm pcal entdeckt.

pcal -P a4 -t Helvetica-Bold/24 -d Helvetica-Narrow/14 -b Sun -b Sat  -F 1  7 2013 6 

-t …Font der Überschrift
-d …Font der Datumsnummern
-b …Samstag & Sonntag auch in schwarz statt grau
-F 1 …Die Woche mit Montag beginnen, statt mit Sonntag
7 …mit Monat Juli beginnen
2013 .. das Jahr
6 … Anzahl der Monate

Drucken ohne CUPS

Thursday, December 20th, 2012

Auf meinem Schreibtisch liegt seit ein paar Tagen ein kleiner mobiler Drucker: RW 420 von Zebra. Das Ziel: Von einem Android Gerät darauf drucken. Die Zebra Utility App hift momentan nicht, denn die App kann nur Blutooth und WLAN und der Drucker kann nur RS232 und USB.
Also den Drucker erst mal ans Linux Laptop angeschlossen. Linux Mint erkennt ihn nicht automatisch, aber ich konnte ihn mit Cups manuell einrichten (Zebra CPCL Label Printer). Danach konnte ich z.B. von LibreOffice aus drucken, auch Grafik mit 203dpi.
Der nächste Schritt war, es ohne CUPS zu probieren.
Der Drucker versteht “CPCL” – Dazu gibts beim Hersteller das Handbuch als pdf. Ein Hello World sieht z.B. so aus:

! 0 200 200 210 1
TEXT 4 0 30 40 Hello World
PRINT

Das habe ich mit

cat test.cpcl > /dev/usb/lp0 

geschickt, aber nix passierte. Im Handbuch steht CR+LF als Zeilenende wäre wichtig. hmmm….

hexdump -c test.cpcl
unix2dos test.cpcl
unix2dos: Datei test.cpcl wird ins DOS-Format konvertiert ...
hexdump -c test.cpcl
cat test.cpcl > /dev/usb/lp0

Es funktioniert! 🙂

Android als USB Host, Arduino

Sunday, December 16th, 2012

Seit einiger Zeit entwickle ich Android Software in Python (mit SL4A, PythonAPK). Mein aktuelles Android Tablet ist das Arnova 10d G3 (Android 4.0.3, Linux Kernel 3.0.8). Es hat leider kein Bluetooth aber es hat 2 USB Anschlüsse, einer davon als USB Host. Also habe ich mit dmesg und logcat geschaut, was passiert, wenn man verschiedene USB Geräte anschließt.

* USB-Tastatur & -Maus werden automatisch erkannt und können sofort benutzt werden. Tastatur-Layout ist aber immer US ?!

* USB Drucker werden zwar vom Kernel als “full speed USB device” erkannt aber nicht als Drucker.
Zum Vergleich ubuntu Linux:

usblp0: USB Bidirectional printer dev 14 if 0 alt 0 proto 2 vid 0x0482 pid 0x0011
[114688.541019] usbcore: registered new interface driver usblp

* USB-RS232-Konverter
1.) FTDI FT232RL – Das gleiche wie bei den Drucken. Ich habe zwar eine “Treiber-App” dafür gefunden, hatte damit aber bisher keinen Erfolg damit. http://android.serverbox.ch/?p=370

2.) Prolific PL2303
Der Kernel erkennt diesen USB-nach-Seriell Converter und stellt das serielle Device /dev/ttyUSB5 zur Verfügung:

<6>[27051.309145] usb 2-2: new full speed USB device number 3 using uhci_hcd
<6>[27051.478195] pl2303 2-2:1.0: pl2303 converter detected
<6>[27051.501198] usb 2-2: pl2303 converter now attached to ttyUSB5

Also habe ich versucht, von meinem Python Script aus den per pl2303 angeschlossenen Arduino anzusprechen. Es funktioniert! 🙂

python code:

import serial
ser = serial.Serial('/dev/ttyUSB5', 2400, timeout=1)
ser.write("hello")
ser.close()

arduino code:

#include <LiquidCrystal.h>
int inByte = 0;         // incoming serial byte
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print(".");
  lcd.setCursor(16, 0);
  lcd.autoscroll();
  Serial.begin(2400);
}
void loop() {
  if (Serial.available() > 0) {
    // get incoming byte:
    inByte = Serial.read();
    Serial.write(inByte);
    lcd.write(inByte);
  }
}

Alternativ gibt es für den pl2303 eine Erweiterung(Custom Facade) zu SL4A: https://bitbucket.org/kuri65536/usbhostserialfacade

Die hat bei mir aber nicht funktioniert (“device was not found” ) Möglicherweise werden von der Android API Geräte, die bereits durch einen Kernel Treiber verwaltet werden nicht mehr angeboten.

Linux Mint 13 MATE

Friday, August 3rd, 2012

Nach 2 Jahren mit ubuntu 10.4 war es mal wieder Zeit für ein frisches Linux. Ich hab’ viel gutes über Mint gehört und hatte es auch selber schon auf einem anderen PC. Die neuen Desktops unity oder Gnome3 gefallen mir nicht. Große Veränderungen auf meinem Notebook:
* Umstieg von 32 auf 64bit Linux
* Gnome2 -> Mate
* nach über 10 Jahren: Abschied von Kmail. Das aktuelle kmail war unbenutzbar: bloaty,langsam und instabil. Jetzt nutze ich Claws Mail und bin bisher sehr zufrieden.
Die meisten mail-Ordner konnte ich übernehmen, aber die >100 Filter-Regeln muss ich nach und nach neu anlegen.

Für eine Bekannte habe ich auch Linux Mint 13 MATE installiert. Sie wollte unbedingt Linux haben, weil ihr Windows 7 total sch… läuft (langsam, instabil)
Es war relativ einfach den UMTS-Stick einzurichten.
Bluetooth(-Maus) ging aber nicht so leicht.

logging the mini Protos

Tuesday, May 29th, 2012

Ein Freund hat mir einen Unilog(1) von sm-modellbau.de ausgeliehen. Um am mProtos und am Quadcopter Spannung & Strom zu loggen habe ich mir passende Adapterkabel gelötet. 80A Stromsensor und der Logger passen beim mProtos auf den Flugakku unter die Haube. Hinten am Chassis habe ich noch einen optischen Drehzahlsensor angebracht.

Die Daten habe ich auf ubuntu Linux mit dem Java Programm GNU Data Explorer von Winfried Brügmann aus dem UniLog ausgelesen und visualisiert.

Ich habe 5 mProtos Flüge und 2 Quadcopter Flüge geloggt.
Am mProtos habe ich versucht 3 Paar Rotorblätter zu vergleichen:
350mm CY Radix FBL
325mm Spinblades FBL
325mm Align 3G

Gewonnene Erkenntnisse

maximaler Strom(Peak): 43,7A
Reproduzierbar traten diese Spitzen nur dann auf, wenn ich bei geringer Drehzahl, also ca. 65% Throttle beginnend mit Vollpitch senkrecht nach oben steige.
40A kann man aber auch mit großen Loopings erreichen, oder wenn man aus dem Speedflug heraus plötzlich einen Haken schlägt, wobei die Drehzahl deutlich einbricht.
Speedflug geradeaus war mit nur 28A gar nicht so Strom-hungrig.

In den Kurven kann man Loopings an der Steigphase bei Höhe und Strom gut erkennen.
Aufeinander folgende Flips erzeugen auch markante Spitzen.
Ein 8-fach Flip ergibt genau 16 Spitzen.

Interessanterweise konnte ich zwischen den 325mm und 350mm Blättern keinen gravierenden Unterschied im Strom feststellen. Peak war bei allen ca. 40A – Möglicherweise begrenzt durch alte, schwache Akkus, aber auch mit dem 2 Monate jungen “35C” Akku kam ich nur bis 40,5A.
Das kleine 14er Ritzel sorgt wohl dafür, dass sich Motor,Regler und Akku nie zu sehr anstrengen müssen.
Durchschnittlicher Strom: 15A
Mit dem neuen Akku flog ich 3,5 + 5 Minuten, also 8:50 mit einer Ladung. Beim zweiten Flug habe ich mich bemüht zwar in Stunt-Mode aber trotzdem sparsam zu fliegen: 32A peak, 13,5A Durchschnitt.

Die durchschnittliche Drehzahl war 2930, also ca. 100 mehr als die mit Audacity ermittelte Schwebedrehzahl im Stunt Mode.

maximale Steigrate: 5,6m/s
maximale Höhe: 50m

Der Quadcopter mit ca. 360g Abfluggewicht:
25A peak, Durchschnitt: 9A
Den alten 2S800 nano-tech Akkus kann ich nur 470mAh entnehmen bis die Zellenspannung unter Last auf 3,0V gefallen ist. 🙁
Maximale Steigrate: 4,9m/s
maximale Höhe: 94m 🙂

Netzwerk Monitoring mit xymon

Friday, April 6th, 2012

Bisher habe ich für Server- und Netzwerk-Monitoring überwiegend munin verwendet. Munin zeigt viele rrd Graphen für den aktuellen Tag, Woche, Monat, Jahr.

xymon (aka Hobbit oder bb) zeig auf der Startseite zunächst keine Graphen sondern nur farbige Smilies nach dem Ampel-Schema. So hat man mehr Server & Dienste auf einmal im Blick. Klickt man auf ein Smilie, dann bekommt man den Graphen für die letzten 48h und weiteren Detail Infos. Bei “trends” kann man selber interaktiv den Zeitraum wählen, den man sich anschauen möchte.

Konfiguration
Ich habe xymon Server & client bisher nur auf einem Host installiert. Die anderen Geräte überwacht xymon mit ping oder ping auf einen Dienst, z.B. ssh

Dazu habe ich die zu überwachenden Geräte in
/etc/hobbit/bb-hosts
eingetragen. z.B.

192.168.10.78 host78 # ssh

(# ssh ist kein Kommentar, sondern ein Dienst, der überwacht werden soll)
Wenn man in der Datei etwas ändert wird es sofort erkannt, man muss nichts neu starten.

Damit ich die Status-Seite auch von anderen Rechnern aus ansehen kann, habe ich entsprechende
Allow from ...” Zeilen
in
/etc/apache2/conf.d/hobbit
eingetragen. (danach apache neu starten)

Um einzelne Prozesse auf meinem Server zu überwachen, habe ich diese in
/etc/hobbit/hobbit-clients.cfg
eingetragen, z.B.

PROC cron HOST=myhost
PROC dhcpd HOST=myhost

devede, dual-boot

Wednesday, March 7th, 2012

2 Herausforderungen haben wir heute auf dem Linux-Treffen erfolgreich gemeistert:

1.) Eine Video-DVD mit Menu erstellen.
Zunächst haben wir bombono-dvd probiert. Das ist leider bei 2 Versuchen auf 2 verschiedene Arten abgestürzt. Also weiter zum nächsten Programm in der Liste vom ubuntuusers wiki: devede
Das klappte sofort. Wie haben mit devede eine iso-Datei erzeugt und diese dann mit k3b auf eine DVD gebrannt. vlc und auch mein DVD Player zeigen das funktionierende DVD Menü (mit Hintergrundbild und Hintergrund-Musik)

2.) Dual Boot Windows7 und Debian
Die Festplatte eines Notebooks war komplett mit Windows und NTFS Partitionen verseucht. Der grafische Installer von Debian bietet die Möglichkeit, Windows partitionen zu verkleinern. Das haben wir gemacht. Anschließend installiert debian, aber am Ende mislingt es den Bootmanager zu installieren. 2 x probiert,
2 x das gleiche Ergebnis. Ohne Bootmanger kann jetzt gar nichts mehr von der Festplatte gebootet werden. Ich wollte grub-install benutzen, wie ich es schon oft mit Knoppix gemacht habe, aber es war nicht auf dem Debian Live-Stick enthalten. Dann haben wir den klassischen Debian Installer im Testmodus probiert – der hatte keine Probleme mit grub. Installation erfolgreich abgeschlossen. Per grub kann man nun Windows 🙁 oder Debian 🙂 booten.

android: screenshots ohne root

Thursday, January 12th, 2012

Heute habe ich auf meinem Linux Notebook ddms (Dalvik Debug Monitor Server) ausprobiert. Es wirkt teilweise wie eine GUI für adb (Android Debug Bridge) z.B kann man Dateien vom oder zum Phone kopieren. Dieses Programm aus dem Android SDK Ordner “tools” funktioniert auch wenn ich es als normaler User starte. Im Menu “Device” gibt es “Screen capture (ctrl-S)” und das macht, was es soll, auch bei einem non-rooted Phone.

Android SDK, adb

Wednesday, January 11th, 2012

Weil diverse Programme ohne root nicht funktionieren, z.B. VNC-Server, Screenshot, Droidwall und weil ich es gewohnt bin, auf Geräten die mir gehören uach root zu sein, mochte ich mein HTC Wildfire s gerne rooten. Da gibt es offenbar mehrere Möglichkeiten. Ich habe mir den “offiziellen” Weg über http://www.htcdev.com angesehen. Wenn man es so macht, wird alles geöscht, steht da. Hmmm… Ich hab zwar noch nicht viel ‘drauf, trozdem mal nach einer (Full-)Backup Lösung suchen….
Zwischendurch was über Exploits und Malware gelesen und lookout als Malware-Scanner installiert.

Auf der Suche nach der Backup-Lösung fand ich adb (Android Debug Bridge) aus dem Android SDK welches ich schon auf meinem Notebook entpackt hatte.

adb devices

zeigt zunächst nur “??????????”, nochmal als root gestartet sah’s dann besser aus:

List of devices attached
XY12345678 device

adb pull /system

saugt schonmal eine ganze Menge Zeug(250MB) aus dem Phone auf meine Festplatte. Per

adb shell

und den üblichen Unix/Linux Kommandos finde ich heraus was so alles gemountet ist, und dass ich /data , /config , /sbin … nicht lesen darf, somit bringt adb pull /data auch kein Ergebnis.

So weit so gut. Werde noch ein bisschen lesen und Freunde fragen wie man am besten rootet.