Virtualbox启动安装将不会卸载

如果您在VirtualBox guest上使用NetBeans,那么我认为这是一个非常有用的脚本。 似乎有一个问题:

如果您查看脚本,则会写入引导脚本,然后将NetBeansProjects从主机系统挂载到Guest。 这工作正常。 但是会创build一个附加的脚本并将其移动到用户本地文件夹中。 实际上,创build了两个脚本:1)允许用户安装和2)卸载安装的文件夹以提供灵活性。

我testing脚本和一切工作在我的Ubuntu客人,除了'netbeans-unmount.sh'脚本。

它不会卸载启动时安装的系统,我已经尝试给脚本文件“root”访问…

任何线索,如果这将工作,以及如何? :

#!/bin/bash #Author: Yucca Nel http://thejarbar.org #Will restart system PATH="/sbin:/usr/sbin:/bin:/usr/bin" export PATH #Modify these variables as needed... tempWork=/tmp/work startupScript=/etc/init.d/rc.local defaultNetBeansVersion=7.0.1 echo "Provide NetBeans version (7.0.1 is default) then hit [Enter] :" read NetBeansVersion if [ -z "$NetBeansVersion" ] then $NetBeansVersion=$defaultNetBeansVersion fi mkdir -p /$tempWork; cd /$tempWork; wget http://dlc.sun.com.edgesuite.net/netbeans/7.0.1/final/bundles/netbeans-$NetBeansVersion-ml-javase-linux.sh; sh $tempWork/*sh; #Add Netbeans launcher to your PATH. Doing so allows you to run 'netbeans' command from the terminal #This line will need to be changed if you changed the default install location (IOW Netbeans is not in ~/) sudo ln -f -s ~/netbeans-$NetBeansVersion/bin/netbeans /usr/bin/; #If you use VirtualBox , you can share your projects between Host and guest. Name of shared #folder must match 'NetBeansProjects' mkdir -p $HOME/NetBeansProjects if [ -f /sbin/mount.vboxsf ] then sudo /sbin/umount /home/$HOME/NetBeansProjects sudo /sbin/mount.vboxsf NetBeansProjects $HOME/NetBeansProjects fi if mountpoint -q ~/NetBeansProjects then #Add it to the universal start script to automate process... sudo sed -ie '$d' $startupScript echo "sudo /sbin/mount.vboxsf NetBeansProjects $HOME/NetBeansProjects"| sudo tee -a $startupScript echo "exit 0"| sudo tee -a $startupScript sudo chmod +x $startupScript #Create a mount and unmount script file and add it to users local bin rm -rf $tempWork/* echo '#!/bin/bash' > $tempWork/netbeans-mount.sh echo '#!/bin/bash' > $tempWork/netbeans-umount.sh echo '#!/bin/bash' > $tempWork/mount-from-host.sh echo '#!/bin/bash' > $tempWork/unmount-from-host.sh echo "sudo /sbin/mount.vboxsf NetBeansProjects $HOME/NetBeansProjects" >> $tempWork/netbeans-mount.sh echo "sudo /sbin/mount.vboxsf NetBeansProjects $HOME/NetBeansProjects" >> $tempWork/mount-from-host.sh echo "sudo umount $HOME/NetBeansProjects" >> $tempWork/netbeans-umount.sh echo "sudo umount $HOME/NetBeansProjects" >> $tempWork/unmount-from-host.sh echo "exit 0" >> $tempWork/unmount-from-host.sh echo "exit 0" >> $tempWork/mount-from-host.sh echo "exit 0" >> $tempWork/netbeans-mount.sh echo "exit 0" >> $tempWork/netbeans-umount.sh sudo chmod +x $tempWork/* sudo mv -f $tempWork/*.sh /usr/local/bin rm -rf $tempWork fi #This function is used to cleanly exit with an error code. function error_exit { sleep 7 exit 1 } #restart sudo reboot exit 0 

更新:在terminal中手动编码卸载也无法卸载NetBeans项目文件夹。 所以我想我需要问,如果系统初始化挂载文件夹,甚至可以卸载此文件夹?

更新2:仍然卡住,但我有一些新的信息后,在etc/mtab查找。 以下是我所看到的:

 ... NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 NetBeansProjects /home/yucca/NetBeansProjects vboxsf rw 0 0 ... 

很明显,我必须运行sudo unmount〜/ NetBeansProjects多次!

额外的安装选项,如“平”,将无法正常工作,因为它卸载所有的东西,我只希望我的目标目录卸载。

您可以通过以下方式卸下所有股票:

 sudo umount -a -t vboxsf 

或使用fusermount -u

 sudo fusermount -u /mnt 

我重新检查了所有我的init文件,发现有一些额外的挂载添加到/etc/init.d/rc.local我现在测试之前写现有的字符串像这样(作为一个例子):

 if ! grep "JAVA_HOME=${javaUsrLib}/jdk1.7.0_01" /etc/environment 

然后回显“JAVA_HOME = $ {javaUsrLib} /jdk1.7.0_01”| sudo tee -a / etc / environment fi