Installing/using VB 6.0 on Fedora 29.
# dnf update
# cd /etc/yum.repos.d # wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo
Contents:
[virtualbox] name=Fedora $releasever - $basearch - VirtualBox baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/$releasever/$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
# dnf install VirtualBox-6.0
vboxusers
groupusermod
)When necessary, update the kernel modules with:
/usr/lib/virtualbox/vboxdrv.sh setup
$ svn co https://www.virtualbox.org/svn/vbox/trunk vbox
preinstall scriptlet (using /bin/sh): # defaults [ -r /etc/default/virtualbox ] && . /etc/default/virtualbox # check for old installation if [ -r /etc/vbox/vbox.cfg ]; then . /etc/vbox/vbox.cfg if [ "x$INSTALL_DIR" != "x" -a -d "$INSTALL_DIR" ]; then echo "An old installation of VirtualBox was found. To install this package the" echo "old package has to be removed first. Have a look at /etc/vbox/vbox.cfg to" echo "determine the installation directory of the previous installation. After" echo "uninstalling the old package remove the file /etc/vbox/vbox.cfg." exit 1 fi fi # check for active VMs of the installed (old) package # Execute the installed packages pre-uninstaller if present. /usr/lib/virtualbox/prerm-common.sh 2>/dev/null # Stop services from older versions without pre-uninstaller. /etc/init.d/vboxballoonctrl-service stop 2>/dev/null /etc/init.d/vboxautostart-service stop 2>/dev/null /etc/init.d/vboxweb-service stop 2>/dev/null VBOXSVC_PID=`pidof VBoxSVC 2>/dev/null || true` if [ -n "$VBOXSVC_PID" ]; then # ask the daemon to terminate immediately kill -USR1 $VBOXSVC_PID sleep 1 if pidof VBoxSVC > /dev/null 2>&1; then echo "A copy of VirtualBox is currently running. Please close it and try again." echo "Please note that it can take up to ten seconds for VirtualBox (in particular" echo "the VBoxSVC daemon) to finish running." exit 1 fi fi
postinstall scriptlet (using /bin/sh): LOG="/var/log/vbox-install.log" # defaults [ -r /etc/default/virtualbox ] && . /etc/default/virtualbox # remove old cruft if [ -f /etc/init.d/vboxdrv.sh ]; then echo "Found old version of /etc/init.d/vboxdrv.sh, removing." rm /etc/init.d/vboxdrv.sh fi if [ -f /etc/vbox/vbox.cfg ]; then echo "Found old version of /etc/vbox/vbox.cfg, removing." rm /etc/vbox/vbox.cfg fi rm -f /etc/vbox/module_not_compiled # create users groups (disable with INSTALL_NO_GROUP=1 in /etc/default/virtualbox) if [ "$INSTALL_NO_GROUP" != "1" ]; then echo echo "Creating group 'vboxusers'. VM users must be member of that group!" echo groupadd -r -f vboxusers 2> /dev/null fi update-mime-database /usr/share/mime &> /dev/null || : update-desktop-database -q > /dev/null 2>&1 || : touch --no-create /usr/share/icons/hicolor gtk-update-icon-cache -q /usr/share/icons/hicolor 2> /dev/null || : # Disable module compilation with INSTALL_NO_VBOXDRV=1 in /etc/default/virtualbox if test "${INSTALL_NO_VBOXDRV}" = 1; then POSTINST_START=--nostart else POSTINST_START= fi # Install and start the new service scripts. /usr/lib/virtualbox/prerm-common.sh || true /usr/lib/virtualbox/postinst-common.sh ${POSTINST_START} > /dev/null || true
# Put bits of the pre-uninstallation here which should work the same for all of # the Linux installers. We do not use special helpers (e.g. dh_* on Debian), # but that should not matter, as we know what those helpers actually do, and we # have to work on those systems anyway when installed using the all # distributions installer. # # We assume that all required files are in the same folder as this script # (e.g. /opt/VirtualBox, /usr/lib/VirtualBox, the build output directory). # # Script exit status: 0 on success, 1 if VirtualBox is running and can not be # stopped (installers may show an error themselves or just pass on standard # error). # The below is GNU-specific. See VBox.sh for the longer Solaris/OS X version. TARGET=`readlink -e -- "${0}"` || exit 1 MY_PATH="${TARGET%/[!/]*}" cd "${MY_PATH}" . "./routines.sh" # Stop the ballon control service stop_init_script vboxballoonctrl-service >/dev/null 2>&1 # Stop the autostart service stop_init_script vboxautostart-service >/dev/null 2>&1 # Stop the web service stop_init_script vboxweb-service >/dev/null 2>&1 # Do this check here after we terminated the web service: check whether VBoxSVC # is running and exit if it can't be stopped. check_running # Terminate VBoxNetDHCP if running terminate_proc VBoxNetDHCP # Terminate VBoxNetNAT if running terminate_proc VBoxNetNAT delrunlevel vboxballoonctrl-service remove_init_script vboxballoonctrl-service delrunlevel vboxautostart-service remove_init_script vboxautostart-service delrunlevel vboxweb-service remove_init_script vboxweb-service # Stop kernel module and uninstall runlevel script stop_init_script vboxdrv >/dev/null 2>&1 delrunlevel vboxdrv remove_init_script vboxdrv # And do final clean-up "${MY_PATH}/vboxdrv.sh" cleanup >/dev/null # Do not silence errors for now # Stop host networking and uninstall runlevel script (obsolete) stop_init_script vboxnet >/dev/null 2>&1 delrunlevel vboxnet >/dev/null 2>&1 remove_init_script vboxnet >/dev/null 2>&1 finish_init_script_install rm -f /sbin/vboxconfig exit 0
# Put bits of the post-installation here which should work the same for all of # the Linux installers. We do not use special helpers (e.g. dh_* on Debian), # but that should not matter, as we know what those helpers actually do, and we # have to work on those systems anyway when installed using the all # distributions installer. # # We assume that all required files are in the same folder as this script # (e.g. /opt/VirtualBox, /usr/lib/VirtualBox, the build output directory). # The below is GNU-specific. See VBox.sh for the longer Solaris/OS X version. TARGET=`readlink -e -- "${0}"` || exit 1 MY_PATH="${TARGET%/[!/]*}" cd "${MY_PATH}" . "./routines.sh" START=true while test -n "${1}"; do case "${1}" in --nostart) START= ;; *) echo "Bad argument ${1}" >&2 exit 1 ;; esac shift done # Remove any traces of DKMS from previous installations. for i in vboxhost vboxdrv vboxnetflt vboxnetadp; do rm -rf "/var/lib/dkms/${i}"* done # Install runlevel scripts and systemd unit files install_init_script "${MY_PATH}/vboxdrv.sh" vboxdrv install_init_script "${MY_PATH}/vboxballoonctrl-service.sh" vboxballoonctrl-service install_init_script "${MY_PATH}/vboxautostart-service.sh" vboxautostart-service install_init_script "${MY_PATH}/vboxweb-service.sh" vboxweb-service finish_init_script_install delrunlevel vboxdrv addrunlevel vboxdrv delrunlevel vboxballoonctrl-service addrunlevel vboxballoonctrl-service delrunlevel vboxautostart-service addrunlevel vboxautostart-service delrunlevel vboxweb-service addrunlevel vboxweb-service ln -sf "${MY_PATH}/postinst-common.sh" /sbin/vboxconfig # Set SELinux permissions # XXX SELinux: allow text relocation entries if [ -x /usr/bin/chcon ]; then chcon -t texrel_shlib_t "${MY_PATH}"/*VBox* > /dev/null 2>&1 chcon -t texrel_shlib_t "${MY_PATH}"/VBoxAuth.so \ > /dev/null 2>&1 chcon -t texrel_shlib_t "${MY_PATH}"/VirtualBox.so \ > /dev/null 2>&1 chcon -t texrel_shlib_t "${MY_PATH}"/components/VBox*.so \ > /dev/null 2>&1 chcon -t java_exec_t "${MY_PATH}"/VirtualBox > /dev/null 2>&1 chcon -t java_exec_t "${MY_PATH}"/VBoxSDL > /dev/null 2>&1 chcon -t java_exec_t "${MY_PATH}"/VBoxHeadless \ > /dev/null 2>&1 chcon -t java_exec_t "${MY_PATH}"/VBoxNetDHCP \ > /dev/null 2>&1 chcon -t java_exec_t "${MY_PATH}"/VBoxNetNAT \ > /dev/null 2>&1 chcon -t java_exec_t "${MY_PATH}"/VBoxExtPackHelperApp \ > /dev/null 2>&1 chcon -t java_exec_t "${MY_PATH}"/vboxwebsrv > /dev/null 2>&1 chcon -t bin_t "${MY_PATH}"/src/vboxhost/build_in_tmp \ > /dev/null 2>&1 chcon -t bin_t /usr/share/virtualbox/src/vboxhost/build_in_tmp \ > /dev/null 2>&1 fi test -n "${START}" && { if ! "${MY_PATH}/vboxdrv.sh" setup; then "${MY_PATH}/check_module_dependencies.sh" >&2 echo >&2 echo "There were problems setting up VirtualBox. To re-start the set-up process, run" >&2 echo " /sbin/vboxconfig" >&2 echo "as root." >&2 else start_init_script vboxdrv start_init_script vboxballoonctrl-service start_init_script vboxautostart-service start_init_script vboxweb-service fi }
Building the main VirtualBox module. Building the net filter module. Building the net adaptor module. Building the PCI pass-through module.
vboxautostart-service.service vboxballoonctrl-service.service vboxdrv.service vboxweb-service.service
[Unit] SourcePath=/usr/lib/virtualbox/vboxdrv.sh Description=VirtualBox Linux kernel module Before=runlevel2.target runlevel3.target runlevel4.target runlevel5.target shutdown.target After= Conflicts=shutdown.target [Service] Type=forking Restart=no TimeoutSec=5min IgnoreSIGPIPE=no KillMode=process GuessMainPID=no RemainAfterExit=yes ExecStart=/usr/lib/virtualbox/vboxdrv.sh start ExecStop=/usr/lib/virtualbox/vboxdrv.sh stop [Install] WantedBy=multi-user.target
Oracle_VM_VirtualBox_Extension_Pack-6.0.2.vbox-extpack
File
→ Preferences
→ Extensions