Νέος οδηγός για την έκδοση 3.χ υπάρχει εδώ: viewtopic.php?f=9&t=5955
_______________________________________________________________________________________
ΠΡΟΣΟΧΗ!!!
Ο παρών οδηγός το διάστημα που γραφόταν, η τρέχουσα έκδοση του Sun xVM VirtualBox ήταν η 1.6 και σε αυτή βασίστηκε ο οδηγός.
Από την έκδοση 2.0 και έπειτα έγιναν όμως δραματικές αλλαγές στο κομμάτι του Network Host Interface. Ενσωματώνεται πλέον απευθείας και δεν χρειάζεται να ακολουθήσετε εκείνο το κομμάτι του οδηγού.
Κάποια στιγμή μόλις βρω χρόνο θα κάνω έναν νέο οδηγό με τα νέα δεδομένα που υπάρχουν πλέον στην έκδοση 2.Χ
Έως τότε προσοχή στον παρόν οδηγό... Εάν δεν είστε σίγουροι τι κάνετε, κάντε υπομονή έως ότου κάνω τον νέο οδηγό ή κάντε googling

ΠΡΟΣΟΧΗ:
Αυτός ο οδηγός λειτουργεί στο Ubuntu 8.04 Hardy. Μην επιχειρήσετε να τον χρησιμοποιήσετε σε προηγούμενες εκδόσεις. Υπάρχουν σημεία που λειτουργούν μόνο στη έκδοση Ubuntu 8.04 Hardy.
Επίσης ο οδηγός λειτουργεί και στο Ubuntu 8.10 εκτός από το κομμάτι για το δίκτυο και τις usb. Για αυτά μπορείτε να συμβουλευτείτε τις οδηγίες εδώ (https://help.ubuntu.com/community/VirtualBox)
Μετά από πολύωρη ταλαιπωρία και μετά από "συνδυασμό" δεκάδων howtos αποφάσισα να τα συγκεντρώσω όλα μαζί και να γράψω αυτόν τον οδηγό.
Όταν θα έχετε τελειώσει αυτόν τον οδηγό θα έχετε εγκατεστημένο το Sun xVM VirtualBox (η κλειστή έκδοση του VirtualBox) με σύνδεση δικτύου μέσω host interface (έτσι έχουμε την δυνατότητα να δώσουμε σταθερή ή dhcp ip στο μηχάνημά μας σύμφωνα με το φυσικό μας δίκτυο) και υποστήριξη συσκευών usb.
Ξεκινάμε...
Εγκατάσταση του Sun xVM VirtualBox
-Κατεβάζουμε την τελευταία έκδοση του Sun xVM VirtualBox για την πλατφόρμας που θέλουμε από εδώ:
http://www.virtualbox.org/wiki/Linux_Downloads
-Κάνουμε διπλό κλικ στο πακέτο που κατεβάσαμε για να εγκατασταθεί και ακολουθούμε τις οδηγίες (αποδοχή license, registration και next>next).
-Προσθέτουμε το username μας στο group vboxusers που δημιουργήθηκε με την εγκατάσταση:
- Κώδικας: Επιλογή όλων
sudo usermod -a -G vboxusers το_username_μας
Μόλις τελειώσει η εγκατάσταση κάνουμε επανεκκίνηση.
Εγκατάσταση μιας Virtual Machine
Σε αυτό το σημείο εκτελούμε το Sun xVM VirtualBox από το μενού > Εργαλεία Συστήματος > Sun xVM VirtualBox.
Πατάμε στο εικονίδιο "New" για να εγκαταστήσουμε μια ένα virtual machine και ακολουθούμε τα εξής βήματα:
-Στο πρώτο παράθυρο που μας εμφανίζεται δίνουμε το όνομα της virtual machine που θέλουμε και τον τύπο του λειτουργικού συστήματος που θέλουμε να εγκαταστήσουμε:

-Στο δεύτερο παράθυρο επιλέγουμε το μέγεθος της μνήμης που θα χρησιμοποιήσει η virtual machine. Καλό είναι να επιλέγουμε πάντα τη μισή μνήμη από την φυσική που διαθέτει ο υπολογιστής μας. Εάν πχ έχουμε 2GB φυσική μνήμη, επιλέγουμε 1GB για την virtual machine και ου το καθεξής. Έτσι και η virtual machine θα λειτουργεί ικανοποιητικά και δεν αφήνουμε το host λειτουργικό χωρίς μνήμη.

-Στο τρίτο παράθυρο θα δημιουργήσουμε τον εικονικό σκληρό δίσκο της virtual machine. Πατάμε στο "New" και στο νέο παράθυρο που μας εμφανίζει πατάμε "next". Θα μας εμφανίσει δύο επιλογές: "Dynamically expanding image" και "Fixed-size image". Η διαφορά είναι ότι στο "Dynamically expanding image" ο εικονικός δίσκος θα μεγαλώνει ανάλογα με τον όγκο δεδομένων που θα έχουμε (χωρίς να ξεπεράσει το μέγιστο επιτρεπτό όριο που θα του δώσουμε) ενώ το "Fixed-size image" καταλαμβάνει εξ' αρχής όλον τον μέγιστο επιτρεπτό χώρο που του δίνουμε. Ποιο είναι καλύτερο; Το "Fixed-size image" γιατί μπορεί να δημιουργείται πιο αργά αλλά δεν θα κατακερματίζονται τα περιεχόμενά του όπως στο "Dynamically expanding image" που ως αποτέλεσμα θα είχε την αργή απόκριση του εικονικού λειτουργικού συστήματος. Μετά την επιλογή του τύπου του εικονικού δίσκου μας μένει να αλλάξουμε την ονομασία του εάν θέλουμε και να καθορίσουμε τη μέγιστη επιτρεπτή χωριτηκότητα που θα έχει.

Πατάμε "next" και "Finish" για να δημιουργηθεί ο δίσκος και αφού επιστρέψουμε πίσω πατάμε "next" και "finish" για να δημιουργηθεί η virtual machine.

Εγκατάσταση του Guest OS
Στο σημείο αυτό εγκαθιστούμε το εικονικό λειτουργικό σύστημα που θέλουμε ρυθμίζοντας πρώτα τις επιλογές μας στο "Settings". Ενεργοποιούμε τον ήχο, το usb με υποστήριξη 2.0 και εάν θέλουμε αυξάνουμε την video memory. Όλα τα άλλα τα αφήνουμε ως έχουν. Έπειτα πατάμε στο "Start" αφού έχουμε εισάγει το cd εγκατάστασης του λειτουργικού συστήματος και ακολουθούμε τη γνωστή διαδικασία εγκατάστασης του λειτουργικού που επιλέξαμε να εγκαταστήσουμε.

Εγκατάσταση Guest Additions
Μετά το πέρας της εγκατάστασης του εικονικού λειτουργικού συστήματος, εγκαθιστούμε τα επιπρόσθετα εργαλεία "Guest Additions" με τα οποία βελτιώνεται δραματικά η λειτουργία του εικονικού λειτουργικού.
Αφού έχουμε εκκινήσει και τρέχει το εικονικό λειτουργικό, από το μενού "Devices" επιλέγουμε "Mount CD/DVD-ROM > CD/DVD-ROM Image" και κάνουμε mount το iso που μας εμφανίζει ως προεπιλογή (VboxGuestAdditions.iso):

-Σε winblows συστήματα θα γίνει autostart και ακουλουθούμε τις οδηγίες εγκατάστασης.
-Σε linux συστήματα (σε μερικά πρέπει να κάνουμε χειροκίνητα mount) πηγαίνουμε στο root του cd και ως root δίνουμε:
- Κώδικας: Επιλογή όλων
sh ./VBoxLinuxAdditions.run
Και ξεκινά η εγκατάσταση των Guest Additions. Μόλις τελειώσει η εγκατάσταση μπορούμε να βελτιώσουμε-αυξήσουμε την ανάλυση της οθόνης (που ίσως πριν δεν γινόταν).
Ρύθμιση Network Host Interface
Με τη ρύθμιση του Host Interface επιτυγχάνουμε να δώσουμε στο εικονικό λειτουργικό σύστημα μια φυσική (στατική ή με dhcp) ip μέσα στο τοπικό δίκτυο αποφεύγοντας έτσι το πρόβλημα που μας δημιουργεί το NAT, τη αδυναμία πρόσβασης των υπολογιστών του τοπικού δικτύου στο εικονικό μας λειτουργικό. Για να γίνει αυτό είμαστε στο host υπολογιστή και ακολουθούμε τα εξής βήματα:
-Εγκατάσταση των "bridge-utils"
- Κώδικας: Επιλογή όλων
sudo apt-get install bridge-utils
-Ανοίγουμε προς επεξεργασία το αρχείο "/etc/network/interfaces"
- Κώδικας: Επιλογή όλων
sudo gedit /etc/network/interfaces
-Προσθέτουμε στο τέλος του αρχείου τη γέφυρα με ονομασία "br0" (Στο παράδειγμα με ip 192.168.1.3)
- Κώδικας: Επιλογή όλων
auto br0
iface br0 inet static
bridge_ports eth0
address 192.168.1.3
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.100
Φυσικά εδώ θα το προσαρμόσετε στις δικές σας ρυθμίσεις δικτύου
-Έπειτα κάνουμε επανεκκίνηση του δικτύου
- Κώδικας: Επιλογή όλων
sudo /etc/init.d/networking restart
-Δημιουργούμε το host interface με ονομασία "vbox0"
- Κώδικας: Επιλογή όλων
sudo VBoxAddIF vbox0 <όνομα_χρήστη> br0
Αντικαθιστούμε το <όνομα_χρήστη> με το δικός μας username
-Στο εικονικό λειτουργικό σύστημα δίνουμε τις εξής ρυθμίσεις δικτύου (σύμφωνα με το παραπάνω παράδειγμα):
- Κώδικας: Επιλογή όλων
auto eth0
iface eth0 inet static
address 192.168.1.4
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.100
Προσοχή εδώ να μην δώσουμε την ίδια ip με τον host υπολογιστή ή με το br0 (bridge ip). Στο παράδειγμα μου χρησιμοποιώ στο host υπολογιστή την ip 192.168.1.1, στο br0 την ip 192.168.1.3 και στο εικονικό λειτουργικό την ip 192.168.1.4.
Στα εικονικά winblows δίνουμε τα παραπάνω στοιχεία από τις ρυθμίσεις δικτύου > tcp/ip > ιδιότητες.
-Τέλος, πάμε στις ρυθμίσεις του Sun xVM VirtualBox και στην ενότητα "Network" στο "adapter 0" επιλέγουμε στο "Attached to" το "Host Interface" και στο "Interface Name" προσθέτουμε το "vbox0".

Πλέον μπορείτε να έχετε πρόσβαση σε όλες τις υπηρεσίες του εικονικού λειτουργικού από οποιοδήποτε υπολογιστή του τοπικού δικτύου δίνοντας την ip 192.168.1.4
Υποστήριξη USB Συσκευών
Για να μπορούμε να συνδέουμε usb συσκευές στο εικονικό λειτουργικό σύστημα ακολουθούμε τα εξής βήματα:
-Δημιουργούμε μια νέα ομάδα "usbusers" και προσθέτουμε το "username" μας σε αυτό:
- Κώδικας: Επιλογή όλων
sudo groupadd usbusers
- Κώδικας: Επιλογή όλων
sudo gpasswd -a το_username_μας usbusers
-Ανοίγουμε το αρχείο "/etc/init.d/mountdevsubfs.sh"
- Κώδικας: Επιλογή όλων
sudo gedit /etc/init.d/mountdevsubfs.sh
-Κάνουμε αποσχολιασμό (σβήνουμε το σύμβολο "#") των τεσσάρων γραμμών που βρίσκονται κάτω από τη ενότητα "Magic to make /proc/bus/usb work" ώστε το αποτέλεσμα να φαίνεται έτσι:
- Κώδικας: Επιλογή όλων
#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
-Τροποποιούμε τους κανόνες στο αρχείο "/etc/udev/rules.d/40-basic-permissions.rules"
- Κώδικας: Επιλογή όλων
sudo gedit /etc/udev/rules.d/40-basic-permissions.rules
βρίσκουμε και αντικαθιστούμε τις παρακάτω γραμμές:
- Κώδικας: Επιλογή όλων
# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
SUBSYSTEM=="usb_device", MODE="0664"
με αυτές τις δύο:
- Κώδικας: Επιλογή όλων
# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usbusers", MODE="0664"
SUBSYSTEM=="usb_device", MODE="0664"
-Ανοίγουμε το αρχείο "etc/group":
- Κώδικας: Επιλογή όλων
sudo gedit /etc/group
-Βρίσκουμε την γραμμή "vboxusers:x:νούμερο_groupid:το_username_μας" και σημειώνουμε τον τριψήφιο αριθμό του vboxusers groupid (πχ ας πούμε ότι είναι το 120 με username foufoutos):
- Κώδικας: Επιλογή όλων
vboxusers:x:120:foufoutos
-Ανοίγουμε το αρχείο "/etc/fstab" για επεξεργασία:
- Κώδικας: Επιλογή όλων
sudo gedit /etc/fstab
-Προσθέτουμε τις παρακάτω γραμμές στο τέλος του αρχείου αντικαθιστώντας τα ΧΧΧ με το δικό μας groupid που είχαμε σημειώσει προηγουμένως (στο παράδειγμά μας το 120):
- Κώδικας: Επιλογή όλων
# usb virtualbox
none /proc/bus/usb usbfs devgid=XXX,devmode=664 0 0
-Κάνουμε επανεκκίνηση τον υπολογιστή
-Εκτελούμε το Sun xVM VirtualBox από το μενού > Εργαλεία Συστήματος > Sun xVM VirtualBox και στο "Settings" ανοίγουμε την ενότητα "USB" και πατάμε στο κουμπί "Add Device" για να προσθέσουμε κάποια usb συσκευή. Εναλλακτικά μιας και πρόκειται για usb συσκευές μπορούμε να επιλέξουμε μια ή και περισσότερες την ώρα που τρέχει το εικονικό λειτουργικό από το μενού "Devices" > USB Devices > Επιλογή από τη λίστα συσκευών.

-Τέλος... ουφ!!!
