기본 콘텐츠로 건너뛰기

VMware tools and shared folders in Unbuntu 9.04 Jaunty


The latest version of Ubuntu does indeed have some sexy new features, new notifications, eucalyptus cloud support. All around a pretty awesome release. In what I will kindly call a fit of nievete, I decided to upgrade the my VM that I have been using for web development. Although the upgrade from 8.10 to 9.04 went smoothly, the reinstall of VMware tools failed leaving me without any shared folders. So after a little profanity and a lot of googling I thought I would share what got my shared folders back up and running.
First you will want to make sure that you have the headers and other stuff so VMware tools has what it needs to compile everything:
sudo apt-get install linux-headers-`uname -r` build-essential
If you are not running VMware 6.5.2 you will likely be asked where your header files are. 6.5.2 added “experimental” support for Jaunty so it already knows where to look. I was running the server version so my headers were in/lib/modules/2.6.28-11-server/build/include.
If you are running the desktop version you can probably find them here: /lib/modules/2.6.28-11/build/include
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.28-11-server/build/include]
The first time I tried to install VMware tools, two of the modules failed. I upgraded to version 6.5.2 build 156735 and tried it again and that time only the HGFS module failed with the following error:
CC [M]  /tmp/vmware-config3/vmhgfs-only/page.o
/tmp/vmware-config3/vmhgfs-only/page.c: In function âHgfsDoWriteBeginâ:
/tmp/vmware-config3/vmhgfs-only/page.c:763: warning: ISO C90 forbids mixed declarations and code
/tmp/vmware-config3/vmhgfs-only/page.c: In function âHgfsWriteBeginâ:
/tmp/vmware-config3/vmhgfs-only/page.c:867: error: implicit declaration of function â__grab_cache_pageâ
/tmp/vmware-config3/vmhgfs-only/page.c:867: warning: assignment makes pointer from integer without a cast
make[2]: *** [/tmp/vmware-config3/vmhgfs-only/page.o] Error 1
make[1]: *** [_module_/tmp/vmware-config3/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-11-server’
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/vmware-config3/vmhgfs-only’
Unable to build the vmhgfs module.
Fortunately some googling turned up this clever fellow who tells you how to fix the problematic line of code. I did it and am happy to report that it works. Just to make everybody’s lives a little easier I thought I would make the patched code available to save people some time and bother.  You can see the link to it in the code below. So without further ado, here is what you need to do to fix the HGFS. You will need the vmware-tools-distrib folder. I had it laying around from my previous install attempts.
mike@ubuntu:~$ cd vmware-tools-distrib/lib/modules/source/
mike@ubuntu:~/vmware-tools-distrib/lib/modules/source$ rm vmhgfs.tar
rm: remove write-protected regular file `vmhgfs.tar’? y
mike@ubuntu:~/vmware-tools-distrib/lib/modules/source$ wgethttp://www.dexterchief.com/vmhgfs.tar
–2009-05-03 00:18:25–  http://www.dexterchief.com/vmhgfs.tar
Resolving www.dexterchief.com… 67.205.50.232
Connecting to www.dexterchief.com|67.205.50.232|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 901120 (880K) [application/x-tar]
Saving to: `vmhgfs.tar’
100%[======================================>] 901,120      176K/s   in 5.8s
2009-05-03 00:18:32 (152 KB/s) – `vmhgfs.tar’ saved [901120/901120]
mike@ubuntu:~/vmware-tools-distrib/lib/modules/source$ ls -al vmhgfs.tar
-rw-r–r– 1 mike mike 901120 2009-05-02 23:26 vmhgfs.tar
mike@ubuntu:~/vmware-tools-distrib/lib/modules/source$ chmod 444 vmhgfs.tar
mike@ubuntu:~/vmware-tools-distrib/lib/modules/source$ ls -al vmhgfs.tar
-r–r–r– 1 mike mike 901120 2009-05-02 23:26 vmhgfs.tar
Now that the permissions are set correctly just rerun the install script:
mike@ubuntu:~/vmware-tools-distrib/lib/modules/source$ sudo ./vmware-install.pl
I hope that ends up being useful for somebody.




댓글

이 블로그의 인기 게시물

VIDEO_DXGKRNL_FATAL_ERROR on Windows 8.1

Windows 8.1 로 업데이트 이후, Booting 시 Blue Screen 이 뜨면서, VIDEO_DXGKRNL_FATAL_ERROR 또는 SYSTEM_SERVICE_EXCEPTION (atikmpag.sys)  가 발생하는 문제점이 있을 때, 아래와 같이 조치해 보십시오. 제어판 -> 전원 옵션 -> 설정 변경 덮개를 닫으면 수행되는 작업 선택 -> 현재 사용할 수 없는 설정 변경 -> 종료 설정 -> 빠른 시작 켜기(권장)의 Check Box 를 해제함.

Ubuntu (Kubuntu) 에 desktop 파일 만들기

Package 관리자등을 통해 직접 Repository 에 있는 Application 을 설치하는 경우에는 필요한 경로와 파일, Category 로 분류된 Icon 등록 등이 자동적으로 이루어지나 firefox, eclipse 등 새로운 버전을 새로 설치할 경우, 다음과 같은 절차를 통해 시작메뉴에 등록시킬 수 있다. 다음은 eclipse-SDK-3.6-linuxx-gtk.tar.gz 을 받아 설치 등록하는 것을 예로 든다. 1. 다운받은 파일을 /usr/lib에 압축해제한다. (물론, super user 계정으로 실행해야 한다.) 2. 보통의 경우, /usr/bin Directory 는 PATH 에 물려 있으므로 다음과 같은 실행 파일을 만들어 놓는다. # cd /usr/lib # chmod +x eclipse # cd /usr/bin # sudo nano eclipse eclipse 파일에는 아래의 내용을 입력하여 넣는다. export ECLIPSE_HOME="/usr/lib/eclipse" $ECLIPSE_HOME/eclipse $ * # sudo chmod 755 eclipse 3. Desktop Menu 에 추가하려면 # cd /usr/share/applications # sudo nano eclipse.desktop [Desktop Entry] Encoding=UTF-8 Name=Eclipse Comment=Eclipse IDE Exec=eclipse Icon=/usr/lib/eclipse/icon.xpm Terminal=false Type=Application Categories=GNOME;Application;Development' StartupNotify=true 이렇게 입력한 파일을 저장하면, 시작메뉴 > 개발 > Eclipse 아이콘이 생성되어 메뉴에서 직접 실행할 수 있게된다.

네트워크 상의 IP 주소로 MAC 주소를 추출하는 방법

Subject :  How can I get a list of MAC to IP addresses on the network? An easy way to get a list of MAC to IP addresses on the local subnet is to ping every host on the subnet and then check you ARP cache, however pinging every individual node would take ages and the entries only stay in the ARP cache for 2 minutes. 로컬 서브넷 상의 IP 주소에 대한 MAC 주소 목록을 획득하는 쉬운 방법은 서브넷 상의 모든 호스트에게 Ping 을 하고 ARP(Address Resolution Protocol) 캐쉬를 확인하는 것이다.  그러나, 모든 개별 노드에 Ping 하는 것은 많은 시간이 걸릴 것이고 2분동안만 ARP 캐쉬에 체재하면서 들어갈 수 있다. (참고) ARP 캐쉬는 Linux 의 경우 20분, Windows Server 의 경우 2분이 기본적인 Life Time  이다. 그 이후에는 그 데이타가 지워진다. An alternative is to ping the broadcast mask of your subnet which will ping every host on the local subnet (you can't ping the entire network as you only communicate directly with nodes on the same subnet, all other requests are via the gateway so you would just get a ARP entry for the gateway). 로컬 서브넷상의 모든 호스트를 Ping 하게 될 사용자의 서브넷 브로드캐스트 마스크를 Ping 하는 것이 또 다른 방법이다.(동일 서브넷 상의 노드와 직접적으로