Εγκατάσταση #virtualbox σε #archlinux

Είδαμε την εγκατάσταση του Arch Linux. Ένα από τα προγράμματα που χρησιμοποιώ για δοκιμές λειτουργικών είναι και το VirtualBox. Στο GNOME υπάρχει και το GNOME Boxes που θα μπορούσε να αντικαταστήσει αυτά που κάνει το VirtualBox. Έχω στημένες κάποιες εικονικές μηχανές που δεν θα ήθελα να τις εγκαταστήσω ξανά. Στο παρόν άρθρο θα δούμε πως μπορεί να εγκατασταθεί και ποια προβλήματα αντιμετώπισα.

ΕΓΚΑΤΑΣΤΑΣΗ ΑΠΟ ΑΡΧΕΙΟ


Σχετικά με την εγκατάσταση, υπάρχει ένα αναλυτικό άρθρο πως να εγκαταστήσετε και να ρυθμίσετε το Virtual Box στο Arch Linux. Με λίγα λόγια μας λέει: 1. Κατεβάστε το αρχείο VirtualBox_XX_XX_XX.run από την διεύθυνση των λήψεων (εκεί που λέει All distributions). Όπου XX είναι οι αριθμοί της έκδοσης και της αρχιτεκτονικής που κατεβάσατε.

2. Εγκαταστήστε το αρχείο με την εντολή:
sh VirtualBox.run


3. Μην ξεχάσετε να προσθέσετε τον χρήστη στο group vboxusers.
gpasswd -a yourusername vboxusers


4. Για την υποστήριξη USB, ακολουθήστε τα βήματα:

Δώστε την εντολή
grep vboxusers /etc/group


και θα σας επιστρέψει ένα αποτέλεσμα

vboxusers:x:108:yourusername

Κρατήστε τον αριθμό (στην περίπτωσή μου ήταν 108)

Ανοίξτε και επεξεργαστείτε το αρχείο:
nano /etc/fstab


Προσθέστε την γραμμή:
/proc/bus/usb usbfs auto,busgid=###,busmode=0775,devgid=108,devmode=0664 0 0


Στην περίπτωσή μου, αντί για ### γράφω 108. Ακολουθεί επανεκκίνηση και είστε έτοιμος.

Σε περίπτωση που δεν σας παίξει, εγκαταστήστε και το παρακάτω.
pacman -S virtualbox-host-modules


ΕΓΚΑΤΑΣΤΑΣΗ ΑΠΟ AUR


Προσπάθησα να το εγκαταστήσω από το AUR αλλά μου έβγαλε σφάλμα "Δεν υπάρχει το αρχείο" ή κάτι τέτοιο. Αυτό που έκανα είναι:

1. Αρχικά επισκέφθηκα την ιστοσελίδα http://download.virtualbox.org/virtualbox/

2. Έδωσα την εντολή:
yaourt -S virtualbox-bin


και όταν ρωτήθηκα αν θέλω να επεξεργαστώ τι θέλω να εγκατασταθεί, επέλεξα yes.

3. Στο αρχείο, ψάχνω τα
pkver=
_build=


Βλέπω την έκδοση του πακέτου και ποιο build έχει. Στην ιστοσελίδα, πηγαίνω στην έκδοση του πακέτου που είδα παραπάνω, και βλέπω ποιο είναι το τρέχον build (βλέπε φωτογραφία). Στη συνέχεια, πηγαίνω στο αρχείο και αλλάζω με αυτό από την ιστοσελίδα.





4. Τώρα πρέπει να αλλάξουμε και το MD5SUMS. Στη ιστοσελίδα, υπάρχει ένα αρχείο που έχει τα αλφαριθμητικά για όλα τα αρχεία. Το αρχείο είναι το MD5SUMS. Βρείτε το κλειδί για την αρχιτεκτονική σας και κρατήστε το.




5. Στη συνέχεια βρείτε στο αρχείο το
[[ "${CARCH}" = i686 ]] && md5sums[0]='


και επικολλήστε το κλειδί που κρατήσατε στο βήμα 4. Δείτε στην φωτογραφία που περίπου βρίσκεται αυτό:




6. Στην περίπτωσή μου χρειάστηκε να εγκαταστήσω και το
pacman -S virtualbox-host-modules

Για USB ακολουθήστε τις παραπάνω οδηγίες.

ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ


Όπως ανέφερα, έχω κρατημένες κάποιες εικονικές μηχανές. Οπότε κρατάω και κάποιες ρυθμίσεις, ώστε να μην χρειάζεται κάθε φορά να κάνω εισαγωγή μηχανής κλπ. Όταν άνοιξα για πρώτη φορά το Virtual Box, μου έδωσε το μήνυμα:
Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

/etc/rc.d/vboxdrv setup

as root. If you don't use our stock kernel, install virtualbox-host-source andexecute dkms autoinstall


Ωραία λέω. Το έχω ξανακάνει. Οπότε δίνω την εντολή αλλά με αποτέλεσμα
[root@diamond]# /etc/rc.d/vboxdrv setup
bash: /etc/rc.d/vboxdrv: No such file or directory


Την λύση την βρήκα στην ιστοσελίδα https://bbs.archlinux.org/viewtopic.php?id=150349
Συγκεκριμένα:
1. Κάντε ανανέωση του συστήματος:
pacman -Syyu


2. Εγκαταστήστε (ή επανεγκαταστήστε) το virtualbox με τους drivers:
pacman -S virtualbox virtualbox-host-modules

Στην περίπτωσή μου χρειαζόμουν μόνο το virtualbox-host-modules.

3. Προσθέστε τον χρήστη στο virtualbox group (ως root):
gpasswd -a yourusername vboxusers


4. Δημιουργήστε ένα αρχείο "/etc/modules-load.d/vbox.conf" με περιεχόμενο:
#my vbox modules loaded on system startup
vboxdrv
vboxnetadp
vboxnetflt


και επανεκκινήστε.

Σε περίπτωση που σας βγάλει σφάλμα Failed to access the USB subsystem, μπορείτε να ακολουθήσετε τις οδηγίες που περιγράφονται στο πως να το διορθώσετε. Μόνη διόρθωση στο άρθρο (περιγράφεται στα σχόλια) είναι το:

systemctl restart systemd-sysctl.service.