19.5 Αποθηκευτικές συσκευές USB

Contributed by Marc Fonvieille.

Στις μέρες μας, πολλές εξωτερικές αποθηκευτικές υλοποιήσεις, χρησιμοποιούν το πρότυπο Universal Serial Bus (USB): σκληροί δίσκοι, USB sticks, συσκευές εγγραφής CD-R κτλ. Το FreeBSD υποστηρίζει αυτές τις συσκευές.

19.5.1 Ρύθμιση

Ο οδηγός συσκευών αποθήκευσης USB λέγεται umass(4) και υποστηρίζει τις συσκευές αποθήκευσης USB. Αν χρησιμοποιήτε τον πυρήνα GENERIC, δεν είναι απαραίτητο να αλλάξετε κάτι στις ρυθμίσεις του συστήματος σας. Αν χρησιμοποιήτε τροποποιημένο πυρήνα, σιγουρευτείτε ότι υπάρχουν στο αρχείο ρυθμίσεων του πυρήνα οι γραμμές που ακολουθούν:

device scbus
device da
device pass
device uhci
device ohci
device usb
device umass

Ο οδηγός umass(4) χρησιμοποιεί το υποσύστημα SCSI για να προσπελάσει τις συσκευές αποθήκευσης USB, ;έτσι η συσκευή σας USB θα φαίνεται στο σύστημα σαν συσκευή SCSI. Ανάλογα με το USB chipset της μητρικής του συστήματος σας, θα χρειαστείτε είτε την ρύθμιση device uhci, είτε τη ρύθμιση device ohci, ωστόσο η συνύπαρξη και των δύο αυτών ρυθμίσεων στο αρχείο ρυθμίσεων του πυρήνα είναι ακίνδυνη. Θυμηθείτε να μεταγλωττίσετε και να εγκαταστήσετε το νέο πυρήνα μετά την προσθήκη των ρυθμίσεων.

Σημείωση: Αν η συσκευή USB είναι κάποιο αντιγραφικό CD-R ή DVD, τότε θα πρέπει να προστεθεί στον πυρήνα ο οδηγός cd(4) για τις συσκευές SCSI CD-ROM. Αυτό γίνετε μέσο της γραμμής που ακολουθεί:

device cd

Εφόσον το αντιγραφικό αναγνωρίζεται ως συσκευή SCSI, δεν πρέπει να χρησιμοποιήτε ο οδηγός atapicam(4) στο αρχείο ρυθμίσεων του πυρήνα.

Για να λειτουργήσουν συσκευές με ελεγκτές USB 2.0 στο FreeBSD θα πρέπει να προσθέσετε τη γραμμή που ακολουθεί:

device ehci

στο αρχείο ρυθμίσεων. Έχετε υπόψη σας, ότι χρειάζονται ακόμα, οι οδηγοί uhci(4) και ohci(4) στη περίπτωση που θέλετε υποστήριξη USB 1.X .

19.5.2 Διαδικασία ελέγχου των ρυθμίσεων

Οι ρυθμίσεις είναι πλέον έτοιμες για έλεγχο: μπορείτε να συνδέσετε τη συσκευή USB και θα πρέπει να εμφανιστεί στην προσωρινή μνήμη μηνυμάτων του συστήματος (dmesg(8)), κάτι παρόμοιο με αυτό:

umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)

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

Αν η συσκευή USB αναγνωρίζεται ως συσκευή τύπου SCSI, με την εντολή camcontrol μπορείτε να εμφανίζετε μια λίστα που περιγράφει τις συσκευές αποθήκευσης οι οποίες είναι συνδεδεμένες στο σύστημα σας:

# camcontrol devlist
<Generic Traveling Disk 1.11>      at scbus0 target 0 lun 0 (da0,pass0)

Αν η συσκευή έχει κάποιο σύστημα αρχείων (για παράδειγμα τα usb sticks έρχονται με σύστημα αρχείων FAT), θα πρέπει να την προσαρτήσετε. Στο Τμήμα 19.3 θα βρείτε πληροφορίες σχετικά με τη διαμόρφωση και την δημιουργία νέων κατατμήσεων στην συσκευή σας.

Για την προσάρτηση της συσκευή σας από λογαριασμό κανονικού χρήστη, θα πρέπει να γίνουν κάποιες συγκεκριμένες ενέργειες. Αρχικά, οι συσκευές (τα αρχεία των συσκευών στον κατάλογο /dev/*), που δημιουργήθηκαν όταν η συσκευή αποθήκευσης USB συνδέθηκε, θα πρέπει να είναι προσβάσιμες από αυτόν τον χρήστη. Μία λύση γι' αυτό, είναι να θέσετε όλους τους χρήστες αυτών των συσκευών ως μέλη της ομάδας operator. Αυτό γίνετε με το pw(8). Στη συνέχεια, όταν έχουν δημιουργηθεί οι συσκευές, θα πρέπει η ομάδα operator να μπορεί να διαβάζει και να γράφει σε αυτές. Αυτό γίνετε προσθέτοντας τις παρακάτω γραμμές στο αρχείο /etc/devfs.rules:

[localrules=5]
add path 'da*' mode 0660 group operator

Σημείωση: Αν υπάρχουν στο σύστημα σκληροί δίσκοι τύπου SCSI, θα πρέπει οι ρυθμίσεις να είναι λίγο διαφορετικές. Αν, για παράδειγμα, το σύστημα περιλαμβάνει σκληρούς δίσκους είδη συνδεδεμένους, με χαρακτηριστικά da0 μέχρι και da2, αλλάξτε τη δεύτερη γραμμή, με αυτή που ακολουθεί:

add path 'da[3-9]*' mode 0660 group operator

Έτσι θα εξαιρεθούν από τη συμμετοχή στην ομάδα operator όλοι οι είδη υπάρχοντες σκληροί δίσκοι.

Επίσης πρέπει να ενεργοποιήσετε τη ρύθμιση devfs.rules(5) στο αρχείο /etc/rc.conf:

devfs_system_ruleset="localrules"

Στη συνέχεια, θα πρέπει να ρυθμιστεί ο πυρήνας, προκειμένου να επιτρέπει την προσάρτηση των διάφορων συστημάτων αρχείων και από κανονικούς χρήστες. Ο ευκολότερος τρόπος για να γίνει αυτό, είναι με την προσθήκη της γραμμής που ακολουθεί στο αρχείο /etc/sysctl.conf:

vfs.usermount=1

Έχετε υπόψη σας ότι η πιο πάνω ρύθμιση ενεργοποιήτε μετά από επανεκκίνηση του συστήματος. Εναλλακτικά, θα μπορούσατε να χρησιμοποιήσετε το sysctl(8) προκειμένου να θέσετε τη μεταβλητή.

Η τελευταία ενέργεια που έχετε να κάνετε, είναι να δημιουργήσετε έναν κατάλογο στον οποίο θα γίνεται η προσάρτηση του συστήματος αρχείων. Ο κατάλογος αυτός, πρέπει να ανήκει στον χρήστη που πρόκειται να προσαρτηθεί το σύστημα αρχείων. Ένας τρόπος για να γίνει αυτό, είναι μέσο του χρήστη root, να δημιουργηθεί δηλαδή ένας υποκατάλογος, ο οποίος ανήκει στον κανονικό χρήστη, και βρίσκεται στη διαδρομή /mnt/όνομα_χρήστη (αντικαταστήστε το όνομα_χρήστη με το όνομα εισόδου του πραγματικού χρήστη, και το όνομα_ομάδας με αυτό της κύριας ομάδας στην οποία ανήκει ο χρήστης):

# mkdir /mnt/username
# chown username:usergroup /mnt/username

Αν υποθέσουμε ότι έχουμε ένα USB Stick συνδεδεμένο στο σύστημα μας και προκύπτει μια συσκευή /dev/da0s1. Εφόσον αυτές οι συσκευές συνήθως έρχονται αρχικά διαμορφωμένες με το σύστημα αρχείων FAT, θα μπορούσατε να τις προσαρτήσετε με την εντολή:

% mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/username

Αν αποσυνδέσετε την συσκευή (αφού πρώτα έχει γίνει αποπροσάρτηση), θα πρέπει να δείτε στην προσωρινή μνήμη συστήματος, κάτι περίπου σαν κι αυτό που ακολουθεί:

umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detached

19.5.3 Επιπρόσθετη τεκμηρίωση

Εκτός από τις παραγράφους Εγκατάσταση νέου σκληρού δίσκου και Προσάρτηση και αποπροσάρτηση συστήματος αρχείων, η μελέτη των διάφορων εγχειριδίων ενδεχομένως να φανεί χρήσιμη: Δείτε τα εγχερίδια των προγραμμάτων umass(4), camcontrol(8), και usbdevs(8).

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.