This is a guide on How to install latest VirtualBox,VirtualBox Guest Additions and  Extension Pack on Arch Linux.Arch Linux is one of the most customizable, if not the best customizable Linux Distribution.On Arch Linux, you can easily get latest VirtualBox from either Pacman mirrors or pulling it directly from AUR.
I started using Arch Linux Early this year and i have enjoyed the experience so far. It’s super fast,stable,easy to customize and many bells and whistles you can enjoy with this Linux distro.Without further ado, let’s get into installation of VirtualBox on Arch Linux.
VirtualBox
As you all know,VirtualBox is a free, cross-platform consumer virtualization product.It’s one of most used Hypervisor for home/personal use.It allows you to run more than one operating system on top of existing Operating system.it’s free to use,Can run on Windows,Linux and Unix systems.
One major advantage of VirtualBox over free Vmware Player is that vagrant tool for managing Virtual Machines is free for use with VirtualBox. But, with Vmware, you’ll have to use paid version of Vagrant that integrate with Vmware.
Installation
It’s easy to install VirtualBox on Arch Linux, just issue the folllowing command on the terminal, and boom!, VirtualBox is installed. 

[root at darkpy]# pacman -S virtualbox virtualbox-guest-iso 
warning: virtualbox-guest-iso-5.0.16-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (4) dkms-2.2.0.3+git151023-8  virtualbox-host-dkms-5.0.16-3
             virtualbox-5.0.16-3  virtualbox-guest-iso-5.0.16-1

Total Installed Size:  155.38 MiB
Net Upgrade Size:       98.09 MiB

:: Proceed with installation? [Y/n] y
(4/4) checking keys in keyring                     [######################] 100%
(4/4) checking package integrity                   [######################] 100%
(4/4) loading package files                        [######################] 100%
(4/4) checking for file conflicts                  [######################] 100%
(4/4) checking available disk space                [######################] 100%
:: Processing package changes...
(1/4) installing dkms                              [######################] 100%
Optional dependencies for dkms
    linux-headers: build modules against the Arch kernel [installed]
    linux-lts-headers: build modules against the LTS kernel
    linux-zen-headers: build modules against the ZEN kernel
    linux-grsec-headers: build modules against the GRSEC kernel
(2/4) installing virtualbox-host-dkms              [######################] 100%
Optional dependencies for virtualbox-host-dkms
    linux-headers: build modules against Arch kernel [installed]
    linux-lts-headers: build modules against LTS kernel
    linux-zen-headers: build modules against ZEN kernel
    linux-grsec-headers: build modules against GRSEC kernel
(3/4) installing virtualbox                        [######################] 100%
Optional dependencies for virtualbox
    qt4: GUI support [installed]
    vde2: Virtual Distributed Ethernet support [installed]
    virtualbox-guest-iso: Guest Additions CD image [installed]
    virtualbox-ext-vnc: VNC server support
    virtualbox-sdk: Developer kit
    net-tools: Host-only or bridged networking support [installed]
(4/4) reinstalling virtualbox-guest-iso            [######################] 100%
:: Running post-transaction hooks...
(1/1) Install DKMS modules
Creating symlink /var/lib/dkms/vboxhost/5.0.16_OSE/source ->
                 /usr/src/vboxhost-5.0.16_OSE
DKMS: add completed.

After installing, we’ll have to make current system user a member of vboxusers group.This will grant the user permissions to manage Virtual machines.

[root at darkpy]# gpasswd -a $USER vboxusers

Next step is to enable VirtualBox kernel modules to load automatically at boot time.

[root at darkpy]# systemctl enable vboxweb.service  
Created symlink from /etc/systemd/system/multi-user.target.wants/vboxweb.service to /usr/lib/systemd/system/vboxweb.service. 

Up to this step, we’ve installed VirtualBox,Virtualbox-guest-{iso,utils,dkms}.The only remaining part is installation of Extension pack provide support for USB 2.0 devices, VirtualBox RDP and PXE boot for Intel cards. Install it using steps below:

  1. Install yaourt and rdesktop prerequisites:
[root at darkpy]# pacman -S yaourt
[root at darkpy]# pacman -S rdesktop 
  1. Installing VirtualBox Extension Pack:
[root at darkpy]# yaourt -Syu

Make sure you’re running below command as non-root user.

[josepy at darkpy]# yaourt -S virtualbox-ext-oracle
==> Downloading virtualbox-ext-oracle PKGBUILD from AUR...
x .SRCINFO
x PKGBUILD
x virtualbox-ext-oracle.install
Mikaela commented on 2015-09-18 14:06             
Sorry for flagging out-of-date, pamac hadn't checked for updates and I missed the last updated time.

thirtythreeforty commented on 2015-11-23 05:25             
It is now actually out-of-date, as the newly-packaged VirtualBox 5.0.10 complains about the 5.0.8 extension pack.

mabra commented on 2015-12-06 22:14             
Dependeny to 'fakeroot' is wether checked nor mentioned!

bartki commented on 2015-12-07 11:00             
@mabra: 'fakeroot' is a member of the package group 'base-devel', which is a prerequisite for building packages. Therefore it is not necessary to specify it as a build dependency.

Rainmaker commented on 2016-03-11 09:40             
@seblu. 
I am the current maintainer of virtualbox-bin in AUR.
As virtualbox-bin and virtualbox-ext-oracle are related (a newer version of virtualbox-bin without an updated virtualbox-ext-oracle will not work), may I suggest making eachother co-maintainer?

virtualbox-ext-oracle 5.0.16-1  (2016-03-12 18:52)
( Unsupported package: Potentially dangerous ! )
==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==> n
==> virtualbox-ext-oracle dependencies:

==> Edit virtualbox-ext-oracle.install ? [Y/n] ("A" to abort)
==> ---------------------------------------------------------
==> n
==> Continue building virtualbox-ext-oracle ? [Y/n]
==> -----------------------------------------------
==> y
==> Building and installing package
==> Making package: virtualbox-ext-oracle 5.0.16-1 (Thu Mar 17 14:57:32 UTC 2016)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading Oracle_VM_VirtualBox_Extension_Pack-5.0.16.vbox-extpack...

Answer prompted questions as below:
Edit PKGBUILD ? [Y/n] ("A" to abort) : Enter n
Edit virtualbox-ext-oracle.install ? [Y/n] ("A" to abort) : Enter n
Continue building virtualbox-ext-oracle ? [Y/n]: Enter Y 

See screenshot below:

In case you downloaded Extension pack manually from Oracle VirtualBox’s web site, you may use below command to install:

[root at darkpy]#VBoxManage extpack install <.vbox-extpack>

If you’ll be using vboxweb, you can enable it to start on boot up.

[root at darkpy]#systemctl enable vboxweb.service 
[root at darkpy]# systemctl start vboxweb.service  

Manually invoke start of VirtualBox modules by

[root at darkpy]#/sbin/rcvboxdrv setup

Then check:

[root at darkpy]# ps ax | grep -i vbox

If you’re running Debian or Debian Derivative distributions like Kali Linux, Ubuntu, Xubuntu, Kubuntu,Linux Mint, Elementary OS e.t.c. Check out this tutorial on installing Latest VirtualBox on such systems:
How to install Virtualbox Latest on Ubuntu and Kali Linux | Computing For Geeks

Other Arch Linux Tutorials are available on Arch Linux Page below:

All Arch Linux Tutorials

Hope this article helped someone.You can drop a comment in comments section if you encounter any problem.