Installation der VMware-Tools unter UCS - Kernel 2.4.x

Die von VMware mitgelieferten VMware-Tools bringen Treiber und Erweiterungen in das Gastsystem ein. Unter anderem ermöglichen sie das Synchronisieren der Uhrzeit mit dem Host-System und das Anlegen von Shared-Folders, auf die das Gastsystem zugreifen kann. Die in VMware-Tools enthaltenen SVGA Treiber sind bereits in UCS integriert.
Diese Anleitung bezieht sich auf die mit VMware 4.5.1_build-7568 ausgelieferten VMware-Tools, sollte sich aber auch auf neuere Versionen anwenden lassen.

Folgende Pakete sollten vor der Installation der VMware-Tools installiert werden:
[ul]
[li]build-essential[/li]
[li]univention-kernel-headers[/li][/ul]

Für die Installation der VMware-Tools ist es außerdem notwendig ein CD-Rom Laufwerk in die VMware ein zu binden. Nach dem Start der VMware kann die Installation der VMware-Tools über das VMware-Menü “VM” - “Install VMware Tools…” gestartet werden. Ein ISO-Image mit dem benötigten vmware-linux-tools.tar.gz wird dann von VMware in das emulierte CD-Rom Laufwerk des Gastsystems eingehängt.

Wechseln Sie in das Gastsystem und Mounten Sie das CD-Rom Laufwerk mittels des Befehls:

# mount /cdrom

Kopieren Sie dann die Datei vmware-linux-tools.tar.gz auf die Festplatte z.B. in das Verzeichnis /tmp:

# cp /cdrom/vmware-linux-tools.tar.gz /tmp/

Anschließend entpacken Sie die Datei vmware-linux-tools.tar.gz mit folgendem Befehl:

# tar xfz vmware-linux-tools.tar.gz

Es wird ein Verzeichnis namens “vmware-tools-distrib” erstellt. Wechseln Sie in dieses und führen Sie dort als root das Script “vmware-install.pl” aus.

[code]# cd vmware-tools-distrib/

./vmware-install.pl[/code]

Es startet der VMware-Tools Installationsassistent der Ihnen ein paar Fragen stell, diese können Sie mit den angebotenen Werten übernehmen. Nachdem Sie die Installationspfade angegeben haben möchte der Assistent das Konfigurationsprogramm aufrufen, bestätigen Sie dies.

""
Before running VMware Tools for the first time, you need to configure it by
invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want this program to invoke the command for you now? [yes] <Enter>
""

Das Konfigurationsprogramm “vmware-config-tools.pl” wird jetzt gestartet. Es überprüft die Verfügbarkeit vorkompilierter Kernel-Module bzw. kompiliert diese falls keine passenden gefunden werden konnten. Da in UCS keine Standard Kernel verwendet werden ist es notwendig die Module zu kompilieren:

None of VMware Tools's pre-built vmhgfs modules is suitable for your running kernel. Do you want this program to try to build the vmhgfs module for your system (you need to have a C compiler installed on your system)? [yes] <Enter>

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running kernel?
[/usr/src/linux/include]

Geben Sie hier den vollen Pfad zu den Kernel-Headern Ihres laufenden Kernels an. Diesen können Sie mit folgendem Befehl auf einer zweiten Konsole ermitteln:

[code]

echo /lib/modules/$(uname -r)/build/include/[/code]

Das Konfigurationprogramm kompiliert jetzt das Modul und lädt es in den Kernel. Ist auf Ihrem System kein X-Server installiert gibt das Programm die Meldung: “No XFree86 install found.” aus, startet die Benötigten Dienste und beendet sich. Die Installation ist nun abgeschlossen.

Haben Sie in der VMware einen X-Server installiert folgt noch ein weiterer Schritt. Das Konfigurationprogramm meldet “Detected XFree86 version 3.0.” und fragt nach der verwendeten Auflösung, wählen Sie die für Sie passende und bestätigen sie mit .[ul][/ul]

Wird auf dem UCS-System Kernel 2.6 verwendet, muss ein anderes Paket für die Kernel-Header verwendet werden. Wird Kernel 2.6.14.7 verwendet, muss das Paket
[ul]
[li]univention-kernel-headers-2.6[/li][/ul]
installiert werden. Für Kernel 2.6.18 ist das Paket
[ul]
[li]univention-kernel-headers-2.6.18[/li][/ul]
zu verwenden. Der korrekte Pfad zu den Kernel-Headern kann anschließend mit

echo /usr/src/kernel-headers-$(uname -r)/include/
ermittelt werden.

Hallo, für die aktuelle Version mit Kernel 2.6.32 scheinen die VMWare-Tools noch nicht angepasst zu sein (ESXi 4.1 Upd.1).
Der über

echo /usr/src/kernel-headers-$(uname -r)/include

ermittelte Pfad wird immer noch als “not valid” bemängelt.
Gibt es hierfür bereits ein Workaround?

Hallo,

die Bennennung der Pakete sowie die Pfade haben sich mittlerweile geändert (linux-* statt kernel.*).

ls /usr/src/linux-headers-$(uname -r)/include/

In der Logdatei des Installationsprogramms sollten sich ggf. auch weitere Hinweise finden worauf geprüft wird bzw. was genau das Installationsprogramm vermuisst.

Mit freundlichen Grüßen
Janis Meybohm

Hallo,

stimmt, die neue Benennung war mir auch bereits aufgefallen, hatte ich schon entsprechend geändert - ohne Besserung.
Werde mir das Log nochmals ansehen.

Kann es sein, dass die neuen Kernel Headers noch nicht verfügbar sind?
Es werden nur die für 2.6.18 installiert:

root@ucs:~# apt-get install univention-kernel-headers Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Lese Status-Informationen ein... Fertig Die folgenden Pakete wurden automatisch installiert und werden nicht länger benö tigt: libapt-pkg-perl sqlite3 Verwenden Sie »apt-get autoremove«, um sie zu entfernen. Die folgenden zusätzlichen Pakete werden installiert: cpp-4.1 gcc-4.1 gcc-4.1-base linux-headers-2.6.18-ucs160 linux-headers-2.6.18-ucs160-686 linux-kbuild-2.6.18 univention-kernel-headers-2.6.18 Vorgeschlagene Pakete: gcc-4.1-locales gcc-4.1-multilib gcc-4.1-doc libmudflap0-dev Die folgenden NEUEN Pakete werden installiert: cpp-4.1 gcc-4.1 gcc-4.1-base linux-headers-2.6.18-ucs160 linux-headers-2.6.18-ucs160-686 linux-kbuild-2.6.18 univention-kernel-headers univention-kernel-headers-2.6.18 0 aktualisiert, 8 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 6624kB an Archiven heruntergeladen werden.

UPDATE:
Mit Angabe der Version lassen sich auch die aktuellen installieren, werde es damit versuchen…

 apt-get install univention-kernel-headers-2.6.32
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Lese Status-Informationen ein... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht länger benötigt:
  libapt-pkg-perl sqlite3
Verwenden Sie »apt-get autoremove«, um sie zu entfernen.
Die folgenden zusätzlichen Pakete werden installiert:
  linux-headers-2.6.32-ucs35-686 linux-headers-2.6.32-ucs35-common linux-kbuild-2.6.32
Die folgenden NEUEN Pakete werden installiert:
  linux-headers-2.6.32-ucs35-686 linux-headers-2.6.32-ucs35-common linux-kbuild-2.6.32
  univention-kernel-headers-2.6.32
0 aktualisiert, 4 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 4618kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 28,4MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]?

Leider führt auch das noch nicht zum Erfolg:


Searching for GCC...
Detected GCC binary at "/usr/bin/gcc".
The path "/usr/bin/gcc" appears to be a valid path to the gcc binary.
Would you like to change it? [no]

Searching for a valid kernel header path...
The path "" is not valid.
Would you like to change it? [yes]

What is the location of the directory of C header files that match your running
kernel? /usr/src/linux-headers-2.6.32-ucs35-686-bigmem/include

The path "/usr/src/linux-headers-2.6.32-ucs35-686-bigmem/include" is not valid.

Would you like to change it? [yes]

Sofern vorhanden, reiche ich Einträge aus dem Log nach…

Folgendes war die Lösung:

apt-get install linux-headers-$(uname -r)

Der korrekte Pfad muss anschließend lauten:

/usr/src/linux-headers-2.6.32-ucs35-686/include

Aktuell besteht das gleiche Problem mit den VMWare Tools erneut - in diesem Fall scheint es an den Paketen für ucs48 zu liegen:

linux-headers-$(uname -r)[/code]
Endet mit Fehlermeldung:
[code]Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Lese Status-Informationen ein... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht länger benötigt:
  texlive-lang-finnish tetex-extra texlive-lang-latin tetex-base
  texlive-math-extra libapt-pkg-perl texlive-pstricks texlive-lang-portuguese
  texlive-lang-french tetex-bin texlive-lang-greek texlive-lang-spanish
  texlive-lang-cyrillic texlive-lang-swedish texlive-publishers
  texlive-bibtex-extra texlive-lang-norwegian texlive-generic-recommended
  texlive-lang-italian texlive-fonts-extra texlive-lang-polish
  texlive-font-utils texlive-lang-danish sqlite3 texlive-lang-croatian
  texlive-lang-dutch texlive-lang-hungarian texlive-lang-mongolian
  texlive-lang-vietnamese texlive-lang-czechslovak texlive-lang-other
Verwenden Sie »apt-get autoremove«, um sie zu entfernen.
Die folgenden NEUEN Pakete werden installiert:
  linux-headers-2.6.32-ucs48-686-bigmem
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 541kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 7315kB Plattenplatz zusätzlich benutzt.
WARNUNG: Die folgenden Pakete können nicht authentifiziert werden!
  linux-headers-2.6.32-ucs48-686-bigmem
Authentifizierungswarnung überstimmt.
Hole:1 http://apt.univention.de 2.4-3/i386/ linux-headers-2.6.32-ucs48-686-bigmem 2.6.32-35~ucs1.48.201109051614 [541kB]
Es wurden 541kB in 1s geholt (374kB/s)
Wähle vormals abgewähltes Paket linux-headers-2.6.32-ucs48-686-bigmem.
(Lese Datenbank ... 174849 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke linux-headers-2.6.32-ucs48-686-bigmem (aus .../linux-headers-2.6.32-ucs48-686-bigmem_2.6.32-35~ucs1.48.201109051614_i386.deb) ...
Richte linux-headers-2.6.32-ucs48-686-bigmem ein (2.6.32-35~ucs1.48.201109051614) ...
PKGDB: cannot create a handle to the database pkgdb in xx.xx.xx

PKGDB Fehler lässt sich durch setzen von pkgdb/scan auf “no” vermeiden - Frage ist warum der auftritt?
Falsche Systemzeit (rennt tatsächlich vor - wo kann ich die einstellen, bzw. ntp konfigurieren?)?

Die Tools lassen sich im Anschluss jedenfalls problemlos installieren.

Hallo,

zu der entsprechenden Meldung finden Sie z.B. in der Kategorie Softwarepflege und Paketverwaltung (im speziellen der Artikel PKGDB: cannot create a handle to the database pkgdb) unserer Supportdatenbank weitere Informationen. In diesem Forum wurde das Thema, z.B. im Thread PKGDB: cannot create a handle to the database pkgdb auch bereits diskutiert.

Mit freundlichen Grüßen
Janis Meybohm

Mastodon