This blog post is of interest to people that need to install VMware Workstation on their Ubuntu system.
The goal is not to create Yet Another Blog (YAB) on this subject. There are already plenty of blogs on this subject. Unfortunately, it is rare to find blogs on performing the installation from the command line. It is even rarer to find detailed prerequisites for the installation.
It is assumed that the reader has some familiarity with Unix. This is not an unreasonable assumption because people should not be performing a command line installation of VMware Workstation unless they are familiar with Unix.
All the commands below were executed using Workstation Pro 15.0.2 on Ubuntu 18.04.01.
The goal is not to create Yet Another Blog (YAB) on this subject. There are already plenty of blogs on this subject. Unfortunately, it is rare to find blogs on performing the installation from the command line. It is even rarer to find detailed prerequisites for the installation.
It is assumed that the reader has some familiarity with Unix. This is not an unreasonable assumption because people should not be performing a command line installation of VMware Workstation unless they are familiar with Unix.
All the commands below were executed using Workstation Pro 15.0.2 on Ubuntu 18.04.01.
- Verify that Workstation 15.x is certified on Ubuntu 18.04
- Use "Supported host operating systems for Workstation Pro 12.x, 14.x and 15.x (2129859)" which is an official document from VMware.
- Use "Supported host operating systems for Workstation Pro 12.x, 14.x and 15.x (2129859)" which is an official document from VMware.
- Download VMware Workstation
- The download won't be quick because the file is over 400 MB in size.
- Examine the downloaded file
rlucente@rlucente-Bonobo-WS:~/lucente_robert/vm_ware/work_station_pro_download$ ls -l total 484052 -rw-rw-r-- 1 rlucente rlucente 495664015 Nov 30 15:37 VMware-Workstation-Full-15.0.2-10952284.x86_64.bundle
- The download won't be quick because the file is over 400 MB in size.
- Prepare environment for VMware Workstation
- Preliminaries
- Update operating sytem
- Command: sudo apt-get update
- Output of Command
rlucente@rlucente-Bonobo-WS:~$ sudo apt-get update [sudo] password for rlucente: Hit:1 http://us.archive.ubuntu.com/ubuntu bionic InRelease Get:2 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Hit:3 http://ppa.launchpad.net/system76-dev/stable/ubuntu bionic InRelease Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB] Get:5 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Fetched 247 kB in 1s (256 kB/s) Reading package lists... Done
- Output of Command
- Command: sudo apt-get dist-upgrade
- Output of Command
rlucente@rlucente-Bonobo-WS:~$ sudo apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396 nvidia-utils-396 xserver-xorg-video-nvidia-396 Use 'sudo apt autoremove' to remove them. The following packages will be upgraded: python3-update-manager unattended-upgrades update-manager update-manager-core 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 632 kB of archives. After this operation, 1,024 B of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-update-manager all 1:18.04.11.7 [35.0 kB] Get:2 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 update-manager-core all 1:18.04.11.7 [8,484 B] Get:3 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 update-manager all 1:18.04.11.7 [551 kB] Get:4 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 unattended-upgrades all 1.1ubuntu1.18.04.6 [37.7 kB] Fetched 632 kB in 2s (415 kB/s) Preconfiguring packages ... (Reading database ... 170931 files and directories currently installed.) Preparing to unpack .../python3-update-manager_1%3a18.04.11.7_all.deb ... Unpacking python3-update-manager (1:18.04.11.7) over (1:18.04.11.6) ... Preparing to unpack .../update-manager-core_1%3a18.04.11.7_all.deb ... Unpacking update-manager-core (1:18.04.11.7) over (1:18.04.11.6) ... Preparing to unpack .../update-manager_1%3a18.04.11.7_all.deb ... Unpacking update-manager (1:18.04.11.7) over (1:18.04.11.6) ... Preparing to unpack .../unattended-upgrades_1.1ubuntu1.18.04.6_all.deb ... Unpacking unattended-upgrades (1.1ubuntu1.18.04.6) over (1.1ubuntu1) ... Processing triggers for mime-support (3.60ubuntu1) ... Processing triggers for ureadahead (0.100.0-20) ... ureadahead will be reprofiled on next reboot Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) ... Processing triggers for libglib2.0-0:amd64 (2.56.3-0ubuntu0.18.04.1) ... Setting up python3-update-manager (1:18.04.11.7) ... Processing triggers for systemd (237-3ubuntu10.9) ... Setting up unattended-upgrades (1.1ubuntu1.18.04.6) ... Replacing config file /etc/apt/apt.conf.d/50unattended-upgrades with new version Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ... Setting up update-manager-core (1:18.04.11.7) ... Setting up update-manager (1:18.04.11.7) ...
- Comment
- Ignore "The following packages were automatically installed and are no longer required:" because they are related to nvidia.
- Ignore "The following packages were automatically installed and are no longer required:" because they are related to nvidia.
- Output of Command
- Command: sudo apt-get update
- Determine operating system version
- Command: lsb_release -a
- Output of Command
rlucente@rlucente-Bonobo-WS:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic
- Output of Command
- Command: lsb_release -a
- Determine kernel release
- This information is used in many places in the following steps.
- Command: uname -r
- Output of Command
rlucente@rlucente-Bonobo-WS:~$ uname -r 4.15.0-39-generic
- Output of Command
- This information is used in many places in the following steps.
- Update operating sytem
- VMware Workstation Prerequisites
- Operating System Prerequisites for VMware Workstation
- Real-Time Clock (RTC) Function Compiled into Kernel
- Command: sudo hwclock --debug
- Output of Command
rlucente@rlucente-Bonobo-WS:~$ sudo hwclock --debug hwclock from util-linux 2.31.1 System Time: 1543604238.820144 Trying to open: /dev/rtc0 Using the rtc interface to the clock. Assuming hardware clock is kept in UTC time. Waiting for clock tick... ...got clock tick Time read from Hardware Clock: 2018/11/30 18:57:19 Hw clock time : 2018/11/30 18:57:19 = 1543604239 seconds since 1969 Time since last adjustment is 1543604239 seconds Calculated Hardware Clock drift is 0.000000 seconds 2018-11-30 13:57:18.795241-0500
- Comment
- The following 2 lines indicate that RTC function is compiled into the kernel
- Trying to open: /dev/rtc0
- Using the rtc interface to the clock.
- Trying to open: /dev/rtc0
- The following 2 lines indicate that RTC function is compiled into the kernel
- Command: sudo hwclock --debug
- Parallel port PC-style hardware option (CONFIG_PARPORT_PC) set to m
- Content of file /boot/config-4.15.0-39-generic
# # Automatically generated file; DO NOT EDIT. # Linux/x86 4.15.0-39-generic Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y ... CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m CONFIG_PARPORT_PC_FIFO=y ...
- Content of file /boot/config-4.15.0-39-generic
- Swap space must be 8 GB or larger
- For the details, refer to my blog post "Increasing Swap Size on Ubuntu
- For the details, refer to my blog post "Increasing Swap Size on Ubuntu
- Real-Time Clock (RTC) Function Compiled into Kernel
- Package Prerequisites for VMware Workstation
- gcc (Gnu C compiler)
- Command: sudo apt-get install gcc
- Output of Command
rlucente@rlucente-Bonobo-WS:/boot$ sudo apt-get install gcc [sudo] password for rlucente: Reading package lists... Done Building dependency tree Reading state information... Done gcc is already the newest version (4:7.3.0-3ubuntu2.1). gcc set to manually installed. The following packages were automatically installed and are no longer required: libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396 nvidia-utils-396 xserver-xorg-video-nvidia-396 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- Command: sudo apt-get install gcc
- make (determines automatically which pieces of a program need to be re-compiled and issues the commands necessary to recompile them)
- Command: sudo apt-get install make
- Output of Command
rlucente@rlucente-Bonobo-WS:/boot$ sudo apt-get install make Reading package lists... Done Building dependency tree Reading state information... Done make is already the newest version (4.1-9.1ubuntu1). make set to manually installed. The following packages were automatically installed and are no longer required: libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396 nvidia-utils-396 xserver-xorg-video-nvidia-396 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- Command: sudo apt-get install make
- linux-headers (headers act as an interface between internal kernel components and also between userspace and the kernel)
- Command: sudo apt-get install linux-headers-$(uname -r)
- Output of Command
rlucente@rlucente-Bonobo-WS:/boot$ sudo apt-get install linux-headers-$(uname -r) Reading package lists... Done Building dependency tree Reading state information... Done linux-headers-4.15.0-39-generic is already the newest version (4.15.0-39.42). linux-headers-4.15.0-39-generic set to manually installed. The following packages were automatically installed and are no longer required: libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396 nvidia-utils-396 xserver-xorg-video-nvidia-396 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- Command: sudo apt-get install linux-headers-$(uname -r)
- dkms (Dynamic Kernel Module Support)
- Dynamic Kernel Module Support (DKMS) is a program/framework that enables generating Linux kernel modules whose sources generally reside outside the kernel source tree. The concept is to have DKMS modules automatically rebuilt when a new kernel is installed.
- Command: sudo apt-get install dkms
- Output of Command
rlucente@rlucente-Bonobo-WS:/boot$ sudo apt-get install dkms Reading package lists... Done Building dependency tree Reading state information... Done dkms is already the newest version (2.3-3ubuntu9.2). dkms set to manually installed. The following packages were automatically installed and are no longer required: libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396 nvidia-utils-396 xserver-xorg-video-nvidia-396 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- Dynamic Kernel Module Support (DKMS) is a program/framework that enables generating Linux kernel modules whose sources generally reside outside the kernel source tree. The concept is to have DKMS modules automatically rebuilt when a new kernel is installed.
- build-essential (convenient way to install a basic C/C++ development environment)
- Note that "build-essential" is singular. Some blogs make the mistake of making it plural.
- Command: sudo apt-get install build-essential
- Output of Command
rlucente@rlucente-Bonobo-WS:/boot$ sudo apt-get install build-essential Reading package lists... Done Building dependency tree Reading state information... Done build-essential is already the newest version (12.4ubuntu1). build-essential set to manually installed. The following packages were automatically installed and are no longer required: libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396 nvidia-utils-396 xserver-xorg-video-nvidia-396 Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- Note that "build-essential" is singular. Some blogs make the mistake of making it plural.
- libaio1 (Linux kernel Asynchronous I/O [AIO] library)
- library enables userspace to use Linux kernel asynchronous I/O system calls, important for the performance of databases and other advanced applications.
- Command: sudo apt-get install libaio1
- Output of Command
$ sudo apt-get install libaio1 Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libnvidia-cfg1-396 libnvidia-common-396 libnvidia-compute-396 libnvidia-compute-396:i386 libnvidia-decode-396 libnvidia-decode-396:i386 libnvidia-encode-396 libnvidia-encode-396:i386 libnvidia-fbc1-396 libnvidia-fbc1-396:i386 libnvidia-gl-396 libnvidia-gl-396:i386 libnvidia-ifr1-396 libnvidia-ifr1-396:i386 nvidia-compute-utils-396 nvidia-dkms-396 nvidia-driver-396 nvidia-utils-396 xserver-xorg-video-nvidia-396 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: libaio1 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 6,448 B of archives. After this operation, 30.7 kB of additional disk space will be used. Get:1 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 libaio1 amd64 0.3.110-5 [6,448 B] Fetched 6,448 B in 0s (53.2 kB/s) Selecting previously unselected package libaio1:amd64. (Reading database ... 170931 files and directories currently installed.) Preparing to unpack .../libaio1_0.3.110-5_amd64.deb ... Unpacking libaio1:amd64 (0.3.110-5) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... Setting up libaio1:amd64 (0.3.110-5) ... Processing triggers for libc-bin (2.27-3ubuntu1) ...
- library enables userspace to use Linux kernel asynchronous I/O system calls, important for the performance of databases and other advanced applications.
- gcc (Gnu C compiler)
- Operating System Prerequisites for VMware Workstation
- Create directories to house virtual machines
- /home/rlucente/lucente_robert/vmware/virtual_machines/<Virtual Machine Names>
- /home/rlucente/lucente_robert/vmware/virtual_machines/<Virtual Machine Names>
- Preliminaries
- Install VMware Workstation
- Make bundle installer executable
rlucente@rlucente-Bonobo-WS:~/lucente_robert/vm_ware/work_station_pro_download$ chmod +x *bundle
- Determine options of bundle installer
- Command & Output of Command
rlucente@rlucente-Bonobo-WS:~/lucente_robert/vm_ware/work_station_pro_download$ ./VMware-Workstation-Full-15.0.2-10952284.x86_64.bundle --help Extracting VMware Installer...done. [AppLoader] Use shipped Linux kernel AIO access library. An up-to-date "libaio" or "libaio1" package from your system is preferred. Usage: vmware-installer [options] VMware Installer Options: --version show program's version number and exit -h, --help show this help message and exit Manage: Install or uninstall products -i FILE, --install-bundle=FILE Install bundle from FILE --install-component=FILE Install a component --uninstall-component=NAME Force uninstallation of a component -u NAME, --uninstall-product=NAME Uninstall a product -r, --resolve-system Force the system to resolve the current state --register-file=COMPONENT_NAME (config|regular) FILE Register a file in the database -x DIR, --extract=DIR Extract the contents of the bundle into DIR -p DIR, --prefix=DIR Set a custom install location Information: Look up information on installed products -l, --list-products List installed products -t, --list-components List the installed components -L COMPONENT, --list-files=COMPONENT List files for a given component -S FILE, --find-file=FILE List components and files matching the given pattern Settings: Set and retrieve settings -g COMPONENT KEY, --get-setting=COMPONENT KEY Get setting -s COMPONENT KEY VALUE, --set-setting=COMPONENT KEY VALUE Set setting -d COMPONENT KEY, --delete-setting=COMPONENT KEY Delete setting Options: --gtk Use the Gtk+ UI (Default) --console Use the console UI --custom Allow customization of the install, including file locations. --regular Displays questions that have no good defaults (Default) --required Displays only questions absolutely required -I, --ignore-errors Ignore component script errors --eulas-agreed Agree to the EULA rlucente@rlucente-Bonobo-WS:~/lucente_robert/vm_ware/work_station_pro_download$
- Command & Output of Command
- Start VMware Workstation installer in console (non-gui) and custom modes
- Command: sudo ./VMware-Workstation-Full-15.0.2-10952284.x86_64.bundle --console --custom
- Output of Command
Extracting VMware Installer...done.
- Command: sudo ./VMware-Workstation-Full-15.0.2-10952284.x86_64.bundle --console --custom
- Question Before Intallation
- End User License Agreement
- Hit the letter "q" and type "yes" to the prompt that shows up
Do you agree? [yes/no]: yes
- Hit the letter "q" and type "yes" to the prompt that shows up
- VMware OVF Tool component
- Screen Output
You must accept the VMware OVF Tool component for Linux End User License Agreement to continue. Press Enter to proceed.
- Hit the letter "q" and type "yes" to the prompt that shows up
Do you agree? [yes/no]: yes
- Screen Output
- Product installation path prefix
- Screen Output
Product installation path prefix. (Desktop integration files, such as icons and .desktop entries, will still be installed under /usr.) [/usr]:
- Screen Output
- System service runlevel directory
- Screen Output
System service runlevel directory (contains rc?.d directories). Use an empty directory if your system does not support rc?.d style directories. [/etc]:
- Screen Output
- System service scripts directory
- Screen Output
System service scripts directory (commonly /etc/init.d). [/etc/init.d]:
- Screen Output
- Shortcuts for desktop
- Screen Output
Do you want to install shortcuts for your desktop? [yes]: yes
- Screen Output
- Check for product updates on startup?
- Screen Output
Would you like to check for product updates on startup? [yes]: yes
- Screen Output
- Customer Experience Improvement Program ("CEIP")
- Screen Output
VMware's Customer Experience Improvement Program ("CEIP") ... [yes]: yes
- Screen Output
- User that will initially connect to Workstation Server
- Screen Output
Please enter the user that will initially connect to Workstation Server. Without setting this correctly, you will not be able to share VMs with other users. Additional users and administrators can be configured later in Workstation by selecting "Shared VMs" and clicking "Permissions". [rlucente]:
- Screen Output
- Directory for shared virtual machines
- Screen Output
Please choose a directory for your shared virtual machines. [/var/lib/vmware/Shared VMs]:
- Screen Output
- Port for https access to Workstation Server
- Screen Output
Please enter the port to use for https access to Workstation Server. (HTTPS port:) [443]:
- Screen Output
- License key
- Screen Output
Enter license key. (optional) You can enter this information later.: xxx
- Screen Output
- End User License Agreement
- Product ready to be installed / Begin Installation / Complete Installation
- Screen Output
The product is ready to be installed. Press Enter to begin installation or Ctrl-C to cancel. Installing VMware VMX 15.0.2 Configuring... Installing VMware Workstation 15.0.2 Configuring... [######################################################################] 100% Installation was successful.
- Screen Output
- Make bundle installer executable
- Start Workstation from a Terminal Window
- Command: sudo vmware
- Command: sudo vmware
- Upgrade virtual machines from version 14 to 15
- Upgrade VMware Tools on virtual machines
Great job for publishing such a beneficial web site. Your web log isn’t only useful but it is additionally really creative too. There tend to be not many people who can certainly write not so simple posts that artistically. Continue the nice writing bristol plumber
ReplyDeleteI found this is an informative and interesting post so i think so it is very useful and knowledgeable. I would like to thank you for the efforts you have made in writing this article.
ReplyDeletenorth hollywood emergency plumber
Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. do electricians need a license
ReplyDelete
ReplyDeleteI like your site, the way you write, and the way your blog looks.
VMware Workstation Pro
Brilliant showed data. I thank you about that. Most likely it will be exceptionally valuable for my future ventures. Might want to see some different posts on the same subject!
ReplyDeleteVMWare Workstation Pro