VMWare Module (vmmon und vmnet) für Kernel 2.6.25 RC

Ab Kernel 2.6.25 haben sich wieder einmal einige Dinge geändert, die zu Problemen mit VMWare führen. Nach einigen Recherchen in mehreren Newsgroups konnte ich genug hinweise finden, um die betroffenen Dateien anzupassen und auszutauschen. Da ich sehr lang und in sehr vielen Quellen gesucht habe, kann ich leider nicht mehr sagen wo ich nun den entscheidenden Tipp gefunden habe. Der Tipp für das vmnet-modul ist von einer Site, vmmon habe ich (da sehr einfach zu finden) selbst angepasst.


Details:
vmmon.tar
vcpuset.h
< #include "asm/bitops.h"
---
> #include "linux/bitops.h"
vmnet.tar
filter.c
14a15,18
> #define NF_IP_LOCAL_OUT NF_INET_LOCAL_OUT
> #define NF_IP_LOCAL_IN NF_INET_LOCAL_IN
> #define NF_IP_POST_ROUTING NF_INET_POST_ROUTING
vmnetInt.h
81c81
< #else
---
> #elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 25)
82a83,84
> #else
> # define SET_SK_DEAD(_sk, _val) sock_set_flag(_sk, SOCK_DEAD)

Hier die angepassten Module (ohne Garantie) zum Download:

vmmon-kernel-2.6.25-rc7-git2
vmnet-kernel-2.6.25-rc7-git2

Experimentierfreudige Admins und andere Probleme

Was gibt es schöneres als am Wochenende die letzten Tips und Tricks in den gängigen Foren, Newsgroups oder sonstwo zu lesen und diese am Montag Morgen in der Firma auszuprobieren? Naklar, diese Tips an Produktivsystemen auszuprobieren.  Oder vieleicht der darauf folgende Totalausfall des Netzwerkes? Nagut, was auch immer. Ließt man manche Beiträge in Foren oder Newsgroups könnte man manchmal denken das es mehr dieser “experimentierfreudigen” Menschen gibt als man denkt. So ließt man zb. sehr oft Beiträge wie “Hilfe – Anmeldung am Netzwerk dauert sehr lange” … nach einigen Rückfragen kommt dann heraus das der “Admin” auf empfehlung eines HowTo von Seite xy die DNS-Server Adressen vom DC auf den DSL-Router des ISP umgeschaltet hat um die letzten 2% aus der Leitung herauszuholen …. naja … ich meine natürlich die Variante ohne DNS-Weiterleitung für die interne Zone ;-) . Ich habe nichts dagegen, wenn jemand die entsprechende Technik noch nicht ganz verstanden hat und es schnell einrichten musste, aber wer blind irgendwas von einer Website abtippt und ein funktionierendes Netzwerk lahmlegt … ohne Worte. Ich meine, Fehler können jedem jederzeit passieren, aber abtippen, ich verstehe einfach nicht wie diese Menschen manchmal Jahre oder Jahrzehnte in der Branche überleben. HowTo’s sind Ansätze, “Wie wird’s gemacht?” um das Thema besser verstehen zu können und KEIN Freischein das es genau so und nicht anders funktioniert. Richtig angewendet, bringen sie jeden schneller an die Lösung eines Problems. Falsch angewendet passieren obengenannte Dinge.

Die andere Seite ist aber, das lesen von Foren oder Newsgroups würde ohne solche Menschen nicht wirklich Spaß machen.

Downloadmonitor für WordPress

Wer schon immer einen Downloadmonitor für WordPress gesucht hat, sollte einmal hier schauen. Das Plugin ist recht einfach gehalten und stellt Downloads wahlweise unter dem dateinamen, dem Titel oder einer ID bereit. Ein Userlevel-management ist leider nicht enthalten, für die meisten aber auch nicht erforderlich. Ich habe einige Plugins ausprobiert und finde dieses am besten. Nur zu empfehlen.

Von Diktaturen, unterdrückten andersdenkenden und sinnlosen Gesetzen

Was sagt die Welt zu kranken Menschen, die ohne jeden für andere Menschen erkennbaren Grund mit Waffen eine Schule stürmen und mehrere Menschen verletzten? Es werden mehr Überwachung, sinnlose Protokollierung aller Verbindungs und Nutzungsdaten, blind geschriebene Verbote gegen Werkzeuge, die die eigenen Experten als Verbrecher abstempelt und andere Dinge beschlossen. Sinnlose Aussagen von Pseudo-Experten stufen alles auch nur irgendwie mit Gewalt in Verbindung stehende als “Schlecht für die Allgemeinheit” oder “Terrorermutigend” ein ohne reale Studien auch nur ansatzweise zu beachten. Freie Informationsplatformen, Communitys und Kommunikationsmittel werden systematisch abgeschafft oder durch kommerzielle, gut kontrollierbare Systeme ersetzt. Sperrung und Zensur werden diskutiert, Spionage und Überwachungsmethoden ohne Rücksicht auf Grundrechte oder Branchenaussagen einfach beschlossen (auch wenn sie später durch Gerichte wieder ausgehoben oder eingeschränkt werden).

Das passiert also in Deutschland wenn mal wieder irgendetwas passiert. Nagut, die monatelange Gehirnwäsche der Medien sollte auch erwähnt werden, oder wie soll man sonst Dauerberichte von diesen Themen interpretieren? Informationen werden nur jeweils von einer Seite berichtet, eine quasi reine schwarz-weiß Darstellung und Flachrechnung der Weltansicht auf die jeweils für die Regierung passenden Ansichten.

Bildung, Informationsbereitstellung, Freiheit und Grundrechte werden immer mehr in den Hintergrund geschoben. Die Menschheit wird immer gefügiger und denkt quasi blind an alles mögliche. Globale, unabhängige Netzwerke wie das Internet müssen natürlich dermaßen eingeschränkt und kontrolliert werden das sich niemand mehr daran erinnert wofür Netze wie das DFN oder das Internet eigentlich erfunden wurden … abgesehen von den Militärischen Zielen.

Was bringt die Menschheit dazu, verbrechen in Ländern wie China zuzulassen? Würde ein anderes, kleineres Land ein anderes überfallen würden sich sofort Politiker aller anderen Länder einmischen. Was ist aber mit Tibet? Warum werden hier keine Sanktionen gegen China ausgesprochen? Wer baut nochmal unsere Elektronik? Ohne Worte….Passiert im einenem Land irgendetwas, wird das für die tollsten Gesätzesänderungen genutzt. Betreibt ein anderes Land jahrzehntelange Unterdrückung und Ressourcenausbeutung, passiert aufgrund der wirtschaftlichen Partnerschaften mit den Unterdrückerland nichts. Vielleicht vergisst man es ja.

Ich musste das einfach mal loswerden ;-)

Schaut euch doch einmal dieses Land an, hier ein paar Links:

http://www.tibet-initiative.de

http://de.wikipedia.org/wiki/Tibet

http://www.google.de/search?hl=de&q=tibet&btnG=Suche

loopback für alles – Partitionen direkt einbinden

Schon einmal eine Partition direkt eingebunden? Das klingt nun vieleicht etwas merkwürdig, der Kernel erkennt ja die Partitionen und udev legt die passenden nodes unter /dev an … aber, was, wenn die Partitionstabelle beschädigt wurde oder man aus versehen mit einer grub-installation diese zerstört hat? Kein Problem. Kennt man das offset der Partition, kann die Festplatte mit einem offset als neues Gerät bereitgestellt werden, was ausreicht, um Dateien noch kopieren zu können. Schreiben sollte man mit dieser Methode nicht.

Beispiel an meiner HDD


fdisk -ul /dev/sda

Platte /dev/sda: 250.0 GByte, 250059350016 Byte
255 Köpfe, 63 Sektoren/Spuren, 30401 Zylinder, zusammen 488397168 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Disk identifier: 0xc606c606
Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 * 63 146496734 73248336 7 HPFS/NTFS
/dev/sda2 146496735 193374404 23438835 83 Linux
/dev/sda3 193374405 486978344 146801970 b W95 FAT32
/dev/sda4 486978345 488392064 706860 82 Linux Swap / Solaris

Die erste Partition startet bei Sektor 63 und endet bei 146496734. Dabei ist zu beachten, das die Start/Endposition unbedingt in Sektoren, und nicht in Zylindern anzugeben ist. 146496735 Sektoren entsprechen 146496735*512/1024/1024/1024 Gigabyte. losetup benötigt das offset in bytes, so ist zb. 146496735*512=75006328320 für die 2. Partition zu übergeben. Andersherum kann man diese Rechnung auch nutzen, um bei zerstörten Partitionstabellen sich in etwa an den 1. Block heranzutasten. Dabei muss man in diesem Bereich nach einer gültigen Dateisystem-Signatur suchen und den 1. Sektor als offset nutzen. Das geht besonders gut mit einem hexeditor (zb. hexedit). Die größe der Partition in byte umrechnen, die HDD im hexeditor öffnen und nach einer Signatur suchen und per loopback als neues device bereitstellen. OK, zurück zur Aufgabe.

Um meine 1. Partition zu mounten, muss das Offset in byte angegeben werden, bei der diese Physisch auf der HDD startet. Also, 63sektoren a 512 Byte. Also, 63*512 = 32256. Dieses offset übergibt man zusammen mit dem zu verwendendem loop-device und der hdd an losetup. Anschließend kann das Device normal gemountet werden (wenn das offset stimmt und ein Dateisystem-header im loop-device gefunden wird)

~ # losetup -o 32256 /dev/loop4 /dev/sda
~ # losetup -a
/dev/loop/4: [000f]:1108 (/dev/sda) offset=32256
~ # mount /dev/loop4 tmp2
~ # mount
/dev/sda2 on / type ext3 (rw,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
svcdir on /var/lib/init.d type tmpfs (rw,mode=0755,size=2048k)
none on /sys/fs/fuse/connections type fusectl (rw)
/dev/loop/4 on /root/tmp2 type ntfs (rw)
~ # ls tmp2
AUTOEXEC.BAT ntldr
BOOT.BAK pagefile.sys
bootfont.bin Programme
boot.ini RECYCLER
Dokumente und Einstellungen hiberfil.sys
System Volume Information NTDETECT.COM
IO.SYS Update
MSDOS.SYS WINDOWS
mount | grep -i loop
/dev/loop/4 on /root/tmp2 type ntfs (rw)
df -h | grep -i loop
/dev/loop/4 70G 68G 2,1G 98% /root/tmp2

nagut, wie man sieht lassen sich die Dateisysteme problemlos mounten und lesen. Wurde die Partitionstabelle beschädigt, kann man in einer Region der HDD in der sich das Dateisystem befinden sollte nach der Signatur suchen und anschließend mit offset mounten.