###### tags: `ubuntu` `Unix` # Installing Ubuntu Desktop in Virtual Box ## Install Ubuntu Desktop in VirtualBox Reference [Install Ubuntu Linux on VirtualBox in Windows 7](https://youtu.be/CkDd6jClqEE) **Backed up D drive before installation** **Create Virtual Machine** New > Create Virtual Machine : Machine folder= `D:\OracleVirtualBox`, Memory size= 4096 MB, Storage on physical hard disk= fixed size, File location=D:\OracleVirtualBox\Ubuntu_Linux\Ubuntu_Linux.vdi Settings > Storage > Add optical drive > Add > D:\My Software\ubuntu-18.04.4-desktop-amd64.iso This drive is mounted to the virtual machine. It's used like a DVD/CD rom device in the virtual computer Settings > System > processor > increase processor to 2 CPU & check 'enable PAE/NX' Settings > System > Acceleration > all checked Settings > Display > screen > maximise video memory to 128 MB (if you can afford this) & check Enable 3D Acceleration **Install Ubuntu Desktop** Start > Install Ubuntu > installation type: select 'erase disk and install ubuntu' (because you are installing the OS in a virtual machine, this will not erase the disk and will not delete all the files there.) > language > time zone > add username 'chang', computers name='chang-VirtualBox' ,passowrd, checked 'log in automatically' This prevents repeated screen lock and log in > installing system until installation is completed > Restart now when installation is completed **Add a Windows shared folder (Method 1)** VirtualBox Settings > Shared Folder > D:\bioinformatics, checked auto-mount. This created 3 folders /media/bioinformatics /media/chang /media/sf_bioinformatics Close Ubuntu and VirtualBox, ensuring these changes will become effective In terminal, run the following command [Virtualbox shared folder permissions](https://stackoverflow.com/questions/26740113/virtualbox-shared-folder-permissions) ```bash! sudo adduser $USER vboxsf ``` Restart Ubuntu> Now access the shared folder under ```bash! ls /media/sf_bioinformatics ``` **Add a Windows shared folder (Method 2) [How to Share Folder Between Windows to Ubuntu - Step by Step Guide](https://www.youtube.com/watch?v=lI-HwfRZqqs)** 1. Change properties of the Windows folder bioinformatics Right Click on it > Properties > Sharing > Advance Sharing > Check option "share this folder" > permission > remove Group or Username "Everyone" > Add user > select your user account from the list (here chang) > Check Full Control, Read, Change > Apply > Ok > exit 2. open cmd.exe and type ```bash! ipconfig ``` 3. Use Use IPv4 Address under Wireless LAN adapter wireless network connection as Windows IP address if you are using wifi; otherwise, use the IP address under ethernet adapter Local Area Connection if you are using LAN (cable) e.g. When using UQ wifi, IPv4 Address=10.89.101.122 e.g. When using home wifi, IPv4 Address= 192.168.0.167 4. Check if you have installed cifs-utils ```bash! apt-cache search cifs ``` 5. install cifs-utils if you have not installed cifs-utils ```bash! sudo apt-get install cifs-utils ``` 6. Check if you have any mounted folders ```bash! df -h ``` 7. Create a new folder in Utuntu terminal which will reflect the mounted Windows folder ```bash! mkdir /media/bioinformatics ``` 8. Mount a Windows folder to Ubuntu ```bash! mount.cifs -o username=chang //192.168.0.167/bioinformatics /media/bioinformatics ``` 9. Access the Windows shared folder mounted to Ubuntu ```bash! ls /media/bioinformatics ``` --- ## Enable bi-directional copy and paste (not working) ```bash! pkill 'VBoxClient --clipboard' -f & sleep 1 && VBoxClient --clipboard ``` Settings > General > Advanced: Shared Clipboard= bidirectional, Drag and drop= bidirectional --- ## Install Portable Batch System (PBS) https://github.com/PBSPro/pbspro/blob/master/INSTALL ```bash! # Find out which version of Debian your Ubuntu is cat /etc/debian_version # buster/sid #For Debian systems you should run the following command as root: sudo apt-get install gcc make libtool libhwloc-dev libx11-dev libxt-dev libedit-dev libical-dev ncurses-dev perl postgresql-server-dev-all postgresql-contrib python3-dev tcl-dev tk-dev swig libexpat-dev libssl-dev libxext-dev libxft-dev autoconf automake # Install the prerequisite packages for running PBS Pro. In addition to the commands below, you should also install a text editor of your choosing (vim, emacs, gedit, etc.) # For Debian (buster) systems you should run the following command as root: sudo apt-get install expat libedit2 postgresql python3 postgresql-contrib sendmail-bin sudo tcl tk libical3 # Download [PBS Pro v19.1.3](https://github.com/PBSPro/pbspro/releases) into the Downloads folder # Open a terminal as a normal (non-root) user, unpack the PBS Pro tarball, and cd to the package directory. cd Downloads tar -xpvf pbspro-19.1.3.tar.gz cd pbspro-19.1.3 # Generate the configure script and Makefiles. (See note 1 below) ./autogen.sh # Display the available build parameters. ./configure --help # Configure the build for your environment. You may utilize the parameters displayed in the previous step. (See note 2 below). For CentOS and Debian systems you should run the following command: ./configure --prefix=/opt/pbs # Build PBS Pro by running "make". (See note 4 below) make # Configure sudo to allow your user account to run commands as root. Refer to the online manual pages for sudo, sudoers, and visudo. # 9. Install PBS Pro. Use sudo to run the command as root. sudo make install [sudo] password for chang: Making install in buildutils make[1]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/buildutils' make[2]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/buildutils' make[2]: Nothing to be done for 'install-exec-am'. make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/buildutils' make[1]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/buildutils' Making install in src make[1]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src' Making install in include make[2]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/include' make[3]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/include' make[3]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/opt/pbs/include' /usr/bin/install -c -m 644 pbs_error.h pbs_ifl.h rm.h tm_.h tm.h '/opt/pbs/include' make[3]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/include' make[2]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/include' Making install in lib make[2]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib' Making install in Libattr make[3]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libattr' make[4]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libattr' /bin/mkdir -p '/opt/pbs/lib' /usr/bin/install -c -m 644 libattr.a '/opt/pbs/lib' ( cd '/opt/pbs/lib' && ranlib libattr.a ) make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libattr' make[3]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libattr' Making install in Libdb make[3]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libdb' make[4]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libdb' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libdb' make[3]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libdb' Making install in Liblog make[3]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Liblog' make[4]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Liblog' /bin/mkdir -p '/opt/pbs/lib' /usr/bin/install -c -m 644 liblog.a '/opt/pbs/lib' ( cd '/opt/pbs/lib' && ranlib liblog.a ) make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Liblog' make[3]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Liblog' Making install in Libnet make[3]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libnet' make[4]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libnet' /bin/mkdir -p '/opt/pbs/lib' /usr/bin/install -c -m 644 libnet.a '/opt/pbs/lib' ( cd '/opt/pbs/lib' && ranlib libnet.a ) make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libnet' make[3]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libnet' Making install in Libpbs make[3]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libpbs' make[4]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libpbs' /bin/mkdir -p '/opt/pbs/lib' /bin/bash ../../../libtool --mode=install /usr/bin/install -c libpbs.la '/opt/pbs/lib' libtool: install: /usr/bin/install -c .libs/libpbs.so.0.0.0 /opt/pbs/lib/libpbs.so.0.0.0 libtool: install: (cd /opt/pbs/lib && { ln -s -f libpbs.so.0.0.0 libpbs.so.0 || { rm -f libpbs.so.0 && ln -s libpbs.so.0.0.0 libpbs.so.0; }; }) libtool: install: (cd /opt/pbs/lib && { ln -s -f libpbs.so.0.0.0 libpbs.so || { rm -f libpbs.so && ln -s libpbs.so.0.0.0 libpbs.so; }; }) libtool: install: /usr/bin/install -c .libs/libpbs.lai /opt/pbs/lib/libpbs.la libtool: install: /usr/bin/install -c .libs/libpbs.a /opt/pbs/lib/libpbs.a libtool: install: chmod 644 /opt/pbs/lib/libpbs.a libtool: install: ranlib /opt/pbs/lib/libpbs.a libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /opt/pbs/lib ---------------------------------------------------------------------- Libraries have been installed in: /opt/pbs/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the '-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the 'LD_RUN_PATH' environment variable during linking - use the '-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to '/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- /bin/mkdir -p '/opt/pbs/lib/pkgconfig' /usr/bin/install -c -m 644 pbs.pc '/opt/pbs/lib/pkgconfig' make[4]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libpbs' make[3]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libpbs' Making install in Libpython make[3]: Entering directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libpython' gcc -DHAVE_CONFIG_H -I. -I../../../src/include -I../../../src/include -I/usr/include/python2.7 -I/usr/include/python2.7 -g -O2 -MT libpbspython_a-common_python_utils.o -MD -MP -MF .deps/libpbspython_a-common_python_utils.Tpo -c -o libpbspython_a-common_python_utils.o `test -f 'common_python_utils.c' || echo './'`common_python_utils.c In file included from common_python_utils.c:40:0: ../../../src/include/pbs_python_private.h:64:10: fatal error: Python.h: No such file or directory #include <Python.h> ^~~~~~~~~~ compilation terminated. Makefile:567: recipe for target 'libpbspython_a-common_python_utils.o' failed make[3]: *** [libpbspython_a-common_python_utils.o] Error 1 make[3]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib/Libpython' Makefile:504: recipe for target 'install-recursive' failed make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src/lib' Makefile:506: recipe for target 'install-recursive' failed make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory '/home/chang/Downloads/pbspro-19.1.3/src' Makefile:542: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1 # Configure PBS Pro by executing the post-install script. #sudo /opt/pbs/libexec/pbs_postinstall Cannot find this script in version 19 ``` ---