Archive for the ‘bash’ Category
VMWare Fusion Permissions
It’s always interesting when I have to sort out problems with VMWare Fusion on my Mac OS X. Right, as you guessed, interesting means frustrating.
What started the whole thing was my investigating why VMWare networking would sometimes not start. I noticed the problem began after my upgrade to VMWare Fusion 3.1.0 (261058).
Rather than reboot the Mac OS X, which has fixed the problem, I tried to restart the service after closing my VMs. You can find how to do that in this older post of mine.
When I tried to restart it with the following command:
# sudo /Library/Application\ Support/VMware\ Fusion/boot.sh --restartI got the following error on VMWare file permissions:
VMware Fusion 261058: Shutting down VMware Fusion: Stopped DHCP service on vmnet1 Disabled hostonly virtual adapter on vmnet1 Stopped DHCP service on vmnet8 Stopped NAT service on vmnet8 Disabled hostonly virtual adapter on vmnet8 Stopped all configured services on all networks No matching processes were found No matching processes were found No matching processes were found No matching processes were found No matching processes were found No matching processes were found (kernel) Kext com.vmware.kext.vmcrosstalk not found for unload request. Failed to unload com.vmware.kext.vmcrosstalk - (libkern/kext) not found. (kernel) Kext com.vmware.kext.vmmon not found for unload request. Failed to unload com.vmware.kext.vmmon - (libkern/kext) not found. VMware Fusion 261058: Starting VMware Fusion: 2010-06-10 22:22:30.588 repair_packages[455:607] PackageKit: *** Missing bundle identifier: /Library/Receipts/vpn.pkg Verifying files from package 'com.vmware.fusion.application' on '/'. Permissions differ on "Library/Application Support/VMware Fusion/VMDKMounter.app/Contents/MacOS/vmware-vmdkMounter", should be -rwxr-xr-x , they are -rwsr-xr-x . Warning: SUID file 'Library/Application Support/VMware Fusion/VMDKMounter.app/Contents/MacOS/vmware-vmdkMounter' has been modified and will not be repaired. Finished verifying files from package 'com.vmware.fusion.application' on '/'. Started network services Verifying and re-installing files from /Library/Application Support/VMware Fusion/thnuclnt
Navigating to the directory, an ls -al found the two files below and their respective permissions.
drwxr-xr-x 4 root wheel 136 Jun 10 22:51 . drwxr-xr-x 5 root wheel 170 May 27 21:22 .. -rwsr-xr-x 1 root wheel 1593620 May 21 03:51 vmware-vmdkMounter -rwsr-xr-x 1 root wheel 1475396 May 21 03:51 vmware-vmdkMounterTool
I thought perhaps both files required the same permissions but I was wrong. If you change the permissions on the vmware-vmdkMounterTool file, you’ll raise an error telling you that it should be -rwsr-xr-x. If you make that same mistake too, I’ve got the reset syntax at the bottom of the post.
You should only change the permissions of vmware-vmdkMounter file. The following syntax lets you remove the squeaky bit from the user permissions but you’ll need the root password (the administrator password).
sudo chmod u=rwx,go=rx vmware-vmdkMounter
That should leave you with the following permissions:
drwxr-xr-x 4 root wheel 136 Jun 10 22:51 . drwxr-xr-x 5 root wheel 170 May 27 21:22 .. -rwxr-xr-x 1 root wheel 1593620 May 21 03:51 vmware-vmdkMounter -rwsr-xr-x 1 root wheel 1475396 May 21 03:51 vmware-vmdkMounterTool
When you restart you should get the following pseudo clean output. Pseudo because apparently the two errors are not meaningful. At least, I couldn’t find anything on them and VMWare Fusion now works. I’ll probably investigate this a bit more later, and I’ll update anything in this post. If you know something, post it as a comment to help everybody.
VMware Fusion 261058: Shutting down VMware Fusion: Stopped DHCP service on vmnet1 Disabled hostonly virtual adapter on vmnet1 Stopped DHCP service on vmnet8 Stopped NAT service on vmnet8 Disabled hostonly virtual adapter on vmnet8 Stopped all configured services on all networks No matching processes were found No matching processes were found No matching processes were found No matching processes were found No matching processes were found No matching processes were found (kernel) Kext com.vmware.kext.vmcrosstalk not found for unload request. Failed to unload com.vmware.kext.vmcrosstalk - (libkern/kext) not found. (kernel) Kext com.vmware.kext.vmmon not found for unload request. Failed to unload com.vmware.kext.vmmon - (libkern/kext) not found. VMware Fusion 261058: Starting VMware Fusion: 2010-06-10 22:58:45.276 repair_packages[861:607] PackageKit: *** Missing bundle identifier: /Library/Receipts/vpn.pkg Verifying files from package 'com.vmware.fusion.application' on '/'. Finished verifying files from package 'com.vmware.fusion.application' on '/'. Started network services Verifying and re-installing files from /Library/Application Support/VMware Fusion/thnuclnt
If you fat fingered the resetting command and also changed the vmware-vmdkMounterTool file permissions, you can reset them to shared user by using the following syntax:
sudo chmod u=rwxs,go=rx vmware-vmdkMounterTool
As always, I hope this helps others.
VMWare nabs me again …
When I run into failures on VMWare Fusion, they’re always a bit tedious. This one happened on my iMac (OS X Leopard) running VMWare 2 (both constrained to old releases by university governance policies). The VM is Microsoft Vista in an IDE partition, it hung after running too long. I had to force quit the application. On reboot the socket file was still there, and it gave the following error message when trying to start it.
Here’s the error in plain text, so search engines can find it for others.
Virtual device serial0: File "/var/folders/Sf/SfvoJITAHMq1Vp8bNI7QZU+++TM/-Tmp-//vmware-mmclaugh/thnuclnt-641/socket" exists, but no server is listening to it. There are three possible causes for this: - The server is alive but not ready yet, and you can retry later. - The server is busy communicating with another client, so you cannot run this client at the same time. - A previous server exited abruptly, and you can remove the file and try again. The device will be disconnected.
How to fix it?
Delete the file, right? Yes, but there’s a trick. Navigating through the -Tmp- directory required a Unix shell trick because the - (dash) is a switch and backquoting it with a \ (backslash) didn’t work. Jeff Yoder, told me the trick to change directory into a dash leading directory name. It was this:
cd -- -Tmp-
The -- is how most shells mark the end of options to a command. After a -- all - (dashes) are treated as ordinary characters.
Mark Olaveson reminded me that using the present working directory before the directory name also worked. It demotes the dash to an ordinary character too.
cd ./-Tmp-
When I got to the directory, there was the socket file. I deleted it and everything worked like a charm.
srwxrwxrwx 1 mmclaugh staff 0 Dec 8 13:04 socket
