RSS
 

Posts Tagged ‘Linux’

Dockstar, OpenWRT & udev

22 Nov

Mahlzeit,

ich habe seit geraumer Zeit eine Seagate Dockstar, auf die ich mit der Hilfe eines guten Freundes ein OpenWRT mit Samba und NFS gezogen habe. Es lief auch alles ganz gut. Auch das mounten der USB-Platten mittels fstab.Nun passierte es jedoch eines Tages, dass ich einen USB-Stick anschließen wollte um per WLAN auf dem Sofa drauf zugreifen zu können, dies funktionierte jedoch nicht, da der Stick nicht gemounted wurde. Was nun? Da ich eh einen neuen Kernel und ein RootFS bauen musste, weil ich ein Modul für FTDI-Serial-USB-Adapter vergessen hatte, entschloss ich mich, udev mit zu kompilieren:

1
2
3
CONFIG_DEFAULT_udevtrigger=y
CONFIG_PACKAGE_udev=y
CONFIG_PACKAGE_udevtrigger=y

Nach einiger Recherche im World-Wide-Web hatte ich auch ungefähre Ahnung davon, wie ich udev für meine Zwecke misbrauchen kann. Ersteinmal sollte beim Start des Systems ein Ordner angelegt werden, welchen ich per NFS und Samba freigeben könne. Dies habe ich einfach mit der Zeile

1
mkdir /tmp/disks

in der /etc/rc.local realisiert.

Nun ist es an der Zeit udev ein Init-Script zu verpassen, wir wollen beim Systemstart den udev-daemon starten und auch gleich antriggern, damit er eventuell vorhandene Scripts ausführt. Erstellt wird hierzu die Datei /etc/init.d/udev. Diese wird mit folgendem Inhalt gefüllt:

1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh /etc/rc.common

start() {
killall udevd > /dev/null 2> /dev/null
/sbin/udevd --daemon
/sbin/udevadm trigger
}

stop() {
killall udevd
}

Noch ein

1
chmod 755 /etc/init.d/udev

und das Init-Script ist fertig.

Nun müssen wir udev noch dazu bringen, etwas auszuführen, wenn wir ein USB-Speichergerät anstöpseln. Also eine neue Rule erstellen:

1
vi /etc/udev/rules.d/10-mount.rules

Diese füllen wir mit der Regel zum Mounten und der zum Verzeichnis anlegen des USB-Mediums und der Regel zum Unmounten und der zum Verzeichnis löschen, wenn das Medium entfernt wird:

1
2
KERNEL=="sd[a-z][0-9]", BUS=="usb", ACTION=="add", RUN+="/bin/mkdir -p /tmp/disks/%k", RUN+="/bin/mount -t auto /dev/%k /tmp/disks/%k"
KERNEL=="sd[a-z][0-9]", BUS=="usb", ACTION=="remove", RUN+="/bin/umount -l /dev/%k", RUN+="/bin/rmdir /tmp/disks/%k"

Nach einem Reboot der Dockstar sollten nur alle USB-Sticks oder Festplatten automatisch gemounted werden.

Falls ihr Geräte immer unter dem gleichen Mountpoint mounten wollte, z.B. einen bestimmten Stick immer unter /mnt/sonstwas, hilft euch udev hier auch, da es unter /dev/disk/by-id Symlinks zu dem Device anlegt. ein fstab-Eintrag mit “/dev/[ID-DES-GERÄTES] /mnt/sonstwas …” mounted natürlich das Gerät immer am selben Punkt

bis neulich.

j-zero

 
 

Perl Twitter

06 Mrz

Mahlzeit!

Ich bin nun auch unter die Twitterer gegangen, nach dem ich ja den Blogkram auch schon mit gemacht habe. Nach kurzer Zeit habe ich ein Tool gesucht, mit dem ich aus der Kommandozeile unter Linux einen Tweet absetzen kann, habe aber erstmal nix gefunden. Also habe ich mal geschaut, ob es ein Perl Modul gibt. Und ja(!), es gibt eins, und zwar: “Net::Twitter” – wär hätte das gedacht! Ihr könnt das einfach mittels “perl -MCPAN -e “install Net::Twitter” installieren.

Hier ist mein kleines Script, welches aus der Konsole Tweets sendet, viel Spaß damit.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl
use Getopt::Std;
use Term::ReadKey;
use Net::Twitter;
getopt('upt',\%opts);
$usage= <<USAGE;
commandline twitter 0.1b - www.j-zero.de
Usage
: twitter_cmd -u username [-t tweet] [-p password]
USAGE
sub gp{
    print "password: ";
    ReadMode 2;
    chomp($l = ReadLine(0));
    ReadMode 0;
    print "\n";
    return $l;
}
if(!$opts{u}){print $usage;exit 1;}
    else{$u=$opts{u};}

if(!$opts{t}){print "tweet: ";chomp($t=<STDIN>);}
    else{$t=$opts{t};}

if(!$opts{p}){$p=&gp;}
    else{$p=$opts{p};}
$s=Net::Twitter->new({username=>"$u",password=>"$p" });
$s->update({status=>"$t"});
exit 0;

j-zero

 

Super-Storage

29 Jan

Mahlzeit,

ich habe es endlich getan! Ein RAID5 auf sechs USB-Disketten Laufwerken, welch ein Spaß!

Die Idee rührte eigentlich aus der Frage, welchen Laufwerksbuchstaben ein drittes an einen Windows angeschlossenes Diskettenlaufwerk bekommt. Die Antwort ist so einfach wie unspektakulär: Den nächst freien. Nun hatte ich aber drei Floppys, daraus musste sich ja etwas basteln lassen. Kurz darauf kam auch die Idee, ein Linux Software-RAID! Ich habe also alle verfügbaren Floppys zusammengetragen und mittels USB-Hubs an mein Notebook geklemmt. Flink Datenträger rein, mit Partitiontype “FD” partitioniert, das RAID5 gebildet und ‘nen “mkfs.ext3″ auf mein /dev/md0. Siehe da: 6,7MiB unglaublicher highspeed-performance (ca. 100KiB/s) . Hier nun einige Bilder des Aufbaus und Screenshots der Daten.

Und hier noch ein Video in Aktion:

(Entweder JavaScript ist nicht aktiviert, oder Sie benutzen eine alte Version von Adobe Flash Player. Installieren Sie bitte den aktuellsten Flash Player. )

bis neulich und viel Spaß beim Nachbauen.

j-zero

 
 

Ubuntu vs. Windows Mobile 6

14 Jul

Ich habe es heute endlich geschafft mein Windows Mobile Handy (HTC Kaiser mit Windows Mobile 6.1) mit Evolution unter Ubuntu 8.04 Hardy Heron zu syncronisieren. Da dies allerdings nicht so einfach ist, schreibe ich hier nochmal dieses kleine HowTo.

Installation
Als erstes braucht ihr die Repository-Einträge für SynCE, also fügen wir folgendes in die »/etc/apt/sources.list« ein:

1
2
deb http://ppa.launchpad.net/synce/ubuntu hardy main
deb-src http://ppa.launchpad.net/synce/ubuntu hardy main

Nun macht ihr ein »sudo apt-get update« um unsere Quellen zu aktualisieren.

Um die Module/Treiber zu entfernen, die Hardy mitbringt, die aber Bugs enthalten führt ihr folgendes aus:

1
2
sudo rmmod rndis_host cdc_ether usbnet
sudo rm /lib/modules/`uname -r`/kernel/drivers/net/usb/{rndis_host,cdc_ether,usbnet}.ko

Und holt euch eine aktuallisierte Version mit:

1
2
sudo apt-get install usb-rndis-source cdbs
sudo module-assistant auto-install usb-rndis

Wenn das erfolgreich war könnt die benötigte Software mit

1
sudo apt-get install odccm librra0-tools librapi2-tools

installieren und darauf mit

1
synce-pls

testen, ob die Verbindung steht.
(Es sollten euch hier die Dateien angezeigt werden, die auf dem Gerät sind.)

Wenn ja, könnt ihr OpenSync installieren:

1
sudo apt-get install multisync-tools opensync-plugin-evolution opensync-plugin-synce

Wenn alles funktioniert hat, geht es daran alles zu konfigurieren.

Konfiguration
Zuerst erstellt ihr eine Parnerschaft mit eurem WM6-Device mittels

1
synce-create-partnership "Linux Desktop" "Contacts,Calendar"

(Wobei »Linux Desktop« der Name der Partnerschaft ist und bei »Contacts,Calendar« zusätzlich noch »Tasks« und »Files« eingetragen werden kann, um Aufgaben und Dateien zu syncen. Sonst sind es eben nur die Kontakte und der Kalender.)

Als nächstes erstellt ihr eine Syncronisationsgruppe, in der angegeben wird was mit wem und umgekehrt syncronisiert werden soll und fügt dort zwei Mitglieder ein, nämlich »synce-opensync-plugin« für das Device und »evo2-sync« für Evolution.

1
2
3
msynctool --addgroup MeineGruppe
msynctool --addmember MeineGruppe synce-opensync-plugin
msynctool --addmember MeineGruppe evo2-sync

(»MeineGruppe« könnt ihr natürlich ändern in z.B. »Kaiser« oder »HTC_Tytan_II« oder was auch immer.)

Nun braucht ihr nur noch mit

1
synce-sync-engine

die SynCE-Engine starten und mittels msynctool –sync MeineGruppe die Syncronisation anstoßen.

Viel Erfolg.

j-zero

 
3 Comments

Posted in Anderes

 

Jad und Ubuntu

13 Jul

Mahlzeit.
Ich hab gerade verzweifelt versucht den »Jad – Java Decompiler« unter Ubuntu zum laufen zu bekommen, um eine Java Anwendung nach einem Fehler zu durchsuchen. »Jad« war natürlich nicht im Pool. Also hab ich ihn von www.kpdus.com herrunter geladen, konnte ihn aber nicht starten da immer diese sehr aufschlussreiche Fehlermeldung kam:

1
./jad: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory

Nun hatte ich aber die »libc6« und die »libstdc++« installiert. Nach kurzer suche fand ich auf rpmfind.net dieses tolle RPM-Archive. Ich benutze jedoch Ubuntu. Kurzerhand Alien installiert, mittels

1
alien -d alien -d libstdc++2.10-2.96-0.83mdk.i586.rpm

ein Debian Archive erstellt, mit

1
dpkg -i libstdc++2.10_2.96-1.83_i386.deb

installiert und alles funktionierte wunderbar.
Ryan gehown

j-zero

 
No Comments

Posted in Anderes

 
 

Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei Ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Politikern schützt.

Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.

Mehr Informationen unter www.politiker-stopp.de.