LVM2 unter Gentoo
In meiner Workstations stecken mittlerweile drei Festplatten.
Eine 320 GB Platte (HDD1) von Western Digital, eine 320 GB Platte (HDD2) von Seagate und 160 GB Platte (HDD3) wiederum von Western Digital.
Auf HDD1 läuft mein Gentoo System, auf HDD2 lief ein Windows 7. HDD3 wird eigentlich nur als zusätzlicher Speicher verwendet. Da die Windows Installation auf HDD2 immer nutzloser wurde, da ich es so gut wie nie benutzt habe, habe ich mich dazu entschlossen, diese Installation zu löschen.
Nun hat sich aber das Problem ergeben, das ich auf HDD1 ca. 250 GB habe, auf der meine Daten liegen. HDD2 und HDD3 werden nach der Löschung von Windows nun nicht verwendet.
Nun wollte ich den gesamten freien Speicherplatz zusammenhängend nutzen und habe dafür nach dieser Anleitung: http://en.gentoo-wiki.com/wiki/LVM ein LVM eingerichtet.
Damit kann ich nun den gesamten Platz zusammenhängend nutzen und muss mir nicht für jede Partition/Platte einen eigenen Mount-Punkt anlegen und meine Daten sozusagen trennen. Außerdem ist es für mich so viel einfacher Backups zu erstellen und sinnvoll zu verwalten.
Da ich gerade Probleme mit der libpng habe gibt es keinen Screenshot sondern nur den “Konsolencode”:
fabi@schnecki-workstation ~/Musik $ df -h
Dateisystem Size Used Avail Use% Eingehängt auf
rootfs 60G 26G 31G 45% /
/dev/root 60G 26G 31G 45% /
rc-svcdir 1,0M 92K 932K 9% /lib64/rc/init.d
udev 10M 348K 9,7M 4% /dev
shm 2,0G 0 2,0G 0% /dev/shm
/dev/mapper/home_group-home
670G 272G 364G 43% /home
/dev/sdd1 459G 269G 167G 62% /mnt/backup
filedeleter – Automatisches Löschen von Dateien
Wer schomal von Windows zu Linux umgezogen ist kennt das Problem eventuell. In der Musik oder Filmesammlung finden sich eine Menge desktop.ini-Dateien, die da eigentlich nix verloren haben und die man unter Linux auch nicht benötigt.
Dieses Phänomen hat mich dazu bewogen ein kleines Tool zu schreiben, das von einem angegebenen Verzeichnis ab rekursiv alle Ordner nach den im zweiten Programmparametern übergebenen Dateinamen sucht und die gefundene Datei löscht.
Das Tool ist in C geschrieben.
Hier eine Beispielanwendung:
- Ich möchte alle “.ini” Files in dem Ordner “/home/fabi/test” und den vorhandenen Unterordnern löschen.
Verzeichnis, dass noch alle *.ini-Dateien enthält:
Aufruf von filedeleter:
Achtung: Der Ordnerpfad der im ersten Parameter des Tools übergeben wird, darf nicht mit einem Slash beendet werden!
Ordnerinhalt nach dem Aufruf von filedeleter:
Getestet und Programmiert habe ich das ganze unter Gentoo Linux mit 2.6.39er Kernel und gcc 4.4.5. Das ganze läuft auch unter OS X ( Snow Leopard ) und XCode 3.
Für eventuelle Schäden die durch das Programm entstehen übernehme ich keine Haftung!!!
Das Programm wird natürlich unter der GPL veröffentlicht. Für Kritik und Anregungen bin ich wie immer dankbar.
Um das Programm zu kann das beigelegte make-File verwendet werden. Download: http://dl.dropbox.com/u/2497774/FileDeleter.tar
ConfigParser
Ich bin gerade dabei mir eine kleine Toolchain zu bauen.
Ein Teil davon ist ein simpler Config-File-Parser der in C++ geschrieben ist.
Er kann “einfache” Config-Dateien wie z.B. .Xdefaults, ssh_config, etc. parsen und zeigt die Attribute mit zugehörigen Werten an.
Hier mal ein paar Beispiele:
.Xdefaults
fabi@schnecki-workstation ~/Programmierung/C_C++/ConfigParser $ ./configparser /home/fabi/.Xdefaults "#" ":" "" Number of attributes: 11 Option: URxvt*transparent Value: false Option: URxvt*savelines Value: 12000 Option: URxvt*scrollBar Value: false Option: URxvt*urlLauncher Value: firefox Option: URxvt*geometry Value: 80x50 Option: URxvt*secondaryScroll Value: true Option: URxvt*inheritPixmap Value: true Option: URxvt*shading Value: 25 Option: URxvt*font Value: xft:Bitstream Vera Sans mono:size=9 Option: URxvt*foreground Value: white Option: URxvt*background Value: black
/etc/ssh/ssh_config
fabi@schnecki-workstation ~/Programmierung/C_C++/ConfigParser $ ./configparser /etc/ssh/ssh_config "#" " " ";" Number of attributes: 3 Option: ForwardX11 Value: yes Option: Port Value: 22 Option: Host Value: * XAuthLocation /usr/bin/xauth
Das eigentliche Ziel ist nicht das Programm “configparser”, sondern die Klassen, da ich diese dann in weiteren Programmen verwenden kann.
Hier der Link zum Download: http://dl.dropbox.com/u/2497774/ConfigParser.tar
Darin ist der Source Code und ein Makefile enthalten mit dem sich das ganze übersetzen lässt.
Getestet habe ich das ganze unter Gentoo Linux 2.6.36-gentoo-r5 (Ich weiß ein Kernelupdate ist fällig
) und mit GCC 4.4.5.
Also viel Spaß damit.
Für Kritik und Anregungen bin ich wie immer dankbar.
clamzwatchdog – Watchdog für *.amz-Files
clamzwatchdog ist ein “Watchdog” der ein beliebiges Verzeichnis überwacht und sobald dort ein *.amz-File abgelegt wird die MP3-Dateien
mit Hilfe von clamz herunterlädt.
Das Programm wurde in C++ geschrieben, ist jedoch nicht objektorientiert aufgebaut und steht unter GPLv3.
Erfolgs- und Fehlermeldungen werden in das Syslog geschrieben.
Um das Programm verwenden zu können muss clamz installiert sein.
Für die sinnvolle Verwendung sollte das Programm beim Start geladen werden, damit das gewünschte Verzeichnis überwacht wird.
Download:
!Es handelt sich noch um eine Alpha-Version mit wenigen Funktionen!
Getestet wurde clamzwatchdog unter:
Gentoo
2.6.34-gentoo-r12
gcc 4.4.4
Für Kritik und Anregungen bin ich wie immer dankbar.
Amazon MP3 Download und Linux – Clamz
Wer wie ich gerne Musik bei Amazon runterlädt und Linx-User ist, der hat ein Problem, wenn er keine Distribution verwendet, für die es den MP3-Downloader von Amazon gibt.
Abhilfe schafft hier Clamz.
Clamz ist ein kleines CommandLine-Tool, mit dem sich die *.amz Dateien öffnen lassen und die MP3-Dateien werden automatisch runtergeladen.
Unter Gentoo ist das ganz über Portage verfügbar, ansonsten sind ja die Sourcen verfügbar, aus denen man sich das ganze selber bauen kann.
In nächster Zeit werde ich mal ein Script bauen, das einen Ordner überwacht, und wenn es sich um eine *.amz-Datei handelt , wird Clamz angeworfen und die MP3′s werden automatisch runtergeladen.
TP-LINK TL-WN821N unter Linux (Gentoo)
Mein alter RTL8187 USB W-LAN Stick hat jetzt endlich auch ausgedient, bzw. musste ich ihn ersetzen, da ich unglücklich
dran gestoßen bin und er einen Wackelkontakt hatte.
Ich habe ihn dann durch einen TP-LINK TL-WN821N ersetzt. Dieser Stick hat einen Atheros 9170 Chipsatz. Dieser Chipsatz wird momentan leider noch nicht
komplett von Haus aus vom Linux Kernel unterstützt. Aber um ihn zu verwenden sind nur wenige Schritte notwendig.
Also, zuerst müssen folgende Treiber im Kernel aktiviert werden:
Zu finden ist die Option unter “Device Drivers->Network Device Support->Wireless Lan->Atheros Wireless Cards“.
Als nächstes benötigen wir die Firmware für das Gerät, ohne diese Firmware kann der Stick nicht verwendet werden.
Zu finden ist die aktuelle Firmware hier: http://linuxwireless.org/en/users/Drivers/ar9170.fw.
Dort muss die Datei ar9170.fw runtergeladen werden. Diese Firmware-Datei sollte dann nach /lib/firmware kopiert werden (kann auch ein anders Verzeichnis sein, falls nicht vorhanden, einfach erstellen!!).
So jetzt kann der Kernel vollends konfiguriert werden. Dazu navigiert man zu folgendem Punkt: Device Drivers -> Generic Driver Options.
Dort muss der Punkt “Include in-kernel firmware blobs in kernel binary” ausgewählt werden. Bei dem Punkt “External firmware blobs to build into the kernel binrary” muss der Name der Firmware (ar9170.fw) angegeben werden.
Unter dem letzten Punkt muss der Speicherort der Datei angegeben werden. Im hier beschriebenen Fall ist das /lib/firmware.
Danach kann der Kernel ganz normal gebaut werden.
Getestet wurde das ganze unter:
System: Gentoo Linux
Kernel: 2.6.34-gentoo-r12 (x86_64)
Die Anleitung sollte auch für andere Distributionen funktionieren, bei denen man keinen eigenen Kernel verwendet. Die Firmware-Datei muss dann nur an den richtigen Platz kopiert werden, wie z.B. /lib/firmware, /usr/bin/firmware, etc. Über das Wiki der jeweiligen Distri sollte das herauszufinden sein.
Netwmpager – Ein nettes Tool für die Verwaltung von virtuellen Desktops
Um meine vier virtuellen Desktops zu verwalten verwende ich netwmpager.
Die Desktops und der jeweilige Inhalt der Desktops werden mir immer angezeigt und ich kann schnell und einfach wechseln.
Anwendungen lassen sich per Drag&Drop zwischen den Bildschirm hin und her ziehen, ohne das man den aktuellen Desktop verlassen muss.
Hier mal ein paar Screenshots:
Hier noch die jeweilige Config dazu:
# copy this file to ~/.config/netwmpager/config # desktop layout # set both to -1 to use default values (set by window manager) cols = 4 rows = 1 # window geometry # set height to 0 to make it automatically calculated # BreitexHoehe - links+unten geometry = "700x100-1215+960" # show window title popups? show_popups = true # show sticky windows in pager? show_sticky = false # show window titles in pager? show_titles = true # below, normal, above layer = "above" # opacity. 0.0 = transparent, 1.0 = normal # Requires Xcomposite extension in X and # xcompmgr or composition manager in WM. opacity = 0.30 # allow other windows to cover pager? #allow_cover = false # -- fonts -- # run `fc-list' to see available fonts # # format: "<family>:<option>=<value>:<option>=<value>..." # # some options: # size font size # weight light, medium, demibold, bold or black # slant roman, italic or oblique # antialias true or false # # More information: http://www.keithp.com/~keithp/render/Xft.tutorial popup_font = "Verdana:size=8" window_font = "Verdana:size=7" # -- colors -- active_desk_color = "rgb:03/1E/55" inactive_desk_color = "rgb:03/0D/31" win_border_color = "rgb:ff/ff/ff" grid_color = "rgb:0/0/0" active_win_color = "rgb:D2/D1/CF" active_win_font_color = "rgb:0/0/0" inactive_win_color = "rgb:42/42/42" inactive_win_font_color = "rgb:F4/F4/F4" popup_color = "rgb:e6/e6/e6" popup_font_color = "rgb:0/0/0"
Um Transparenz nutzen zu können, sollte xcompmgr aktiviert werden.
WinSplit – File splitting for Windows
WinSplit ist ein kleines Kommandozeilentool das dem UNIX Programm Split nachempfunden ist.
WinSplit ist in ANSI-C mit Hilfe des Visual Studio 2008 programmiert.
Gestest und entwickelt wurde das Programm unter Windows 7 (64-bit).
Mit WinSplit ist es möglich große Dateien wie z.B. *.csv- oder *.txt-Dateien in kleinere Dateien aufzuteilen.
Das Programm geht dabei Zeilenweise vor.
Aufruf des Programms:
“WinSplit Pfad\zur\Eingabedatei Pfad\zur\Ausgabedatei DateiendungAusgabedatei AnzahlZeilen”
Das Programm steht unter GPL V3. Über Anregungen und Krititk würde ich mich freuen.
(g)Vim + GDB + DDD = IDE
Ich bin schon seit langer Zeit nach einer vernünftigen IDE unter Linux und bin nie so richtig fündig geworden.
Der Editor meiner Wahl, ist und bleibt, im Linux-/Unix-Umfeld Vim mit GVim als grafischen Aufsatz.
Was mir immer nur gefehlt hat war ein guter Debugger. Ich bin da ziemlich verwöhnt von Visual Studio (2008 u. 2010), dass meiner
Meinung nach einen sehr guten Debugger hat.
Ich hab begonnen mich vor ca. zwei Wochen intensiv mit GDB zu beschäftigen und muss sagen, dass das Ding echt klasse ist.
Das einzige was ein bisschen störend war, ist das ich keine GUI dafür hatt. Eine GUI ist für mich in diesem Fall einfach
angenehmer als die Shell. Obwohl es damit auch ginge. Und nach kurzer Suche bin ich dann auf DDD gestoßen.
Die GUI ist zwar nicht mehr die neuste, dafür ist der Aufbau echt super. Das Debuggen geht echt schnell und ich bekomme
alle nötigen Infos die ich benötige.
Außerdem bietet DDD auch Funktionen um z.B. den Assembler-Code des Programms anzuzeigen, etc.
Für mich ist das ein klasse Trio….
Getestet habe ich das ganze mit C und C++.




