Αν είστε χρήστης ενός δικτύου διαφορετικών τεχνολογιών που συνδυάζει και τα δυο, IP και IPX, πρωτόκολλα είναι πιθανόν ότι κάποια στιγμή θα θέλετε το Linux να προσπελαύνει δεδομένα αποθηκευμένα σε ένα διακομιστή αρχείων Novell του δικτύου σας. Η Novell έχει προσφέρει ένα πακέτο NFS server για τους διακομιστές αρχείων, που το κάνει δυνατό, αλλά αν είστε ένα μικρό site ή έχετε μόνο έναν μικρό αριθμό ανθρώπων που ενδιαφέρονται να το κάνουν αυτό, είναι δύσκολο να δικαιολογήσετε το κόστος του εμπορικού πακέτου.
Ο Volker Lendecke <lendecke@namu01.gwdg.de>
έχει γράψει ένα Linux module για
συστήματα αρχείων που υποστηρίζει ένα υποσύνολο του Novell NCP
που θα σας επιτρέψει να προσαρτήσετε δίσκους Novell στο σύστημα αρχείων του Linux σας
χωρίς να απαιτούνται πρόσθετα προϊόντα για τον διακομιστή αρχείων σας.
ο Volker oνόμασε το πακέτο ncpfs και απέσπασε τις απαραίτητες πληροφορίες
κυρίως από το βιβλίο "Netzwerkprogrammierung in C" του
Manfred Hill και Ralf Zessin (περισσότερες λεπτομέρειες του βιβλίου
περιέχονται μέσα στο README αρχείο στο πακέτο ncpfs).
Το λογισμικό κάνει τo Linux να προσομοιάζει με ένα φυσιολογικό σταθμό εργασίας Novell για υπηρεσίες αρχείων. Ακόμη συμπεριλαμβάνει μια μικρή εκτυπωτική εφαρμογή που σας επιτρέπει να τυπώσετε σε ουρές εκτύπωσης Novell (Aυτό τεκμηριώνεται αργότερα στο Τμήμα "Πελάτης Εκτυπώσεων"). Το πακέτο ncpfs θα παίξει με διακομιστές αρχείων Novell της έκδοσης 3.x και νεότερους, δεν θα λειτουργήσει με το Novell 2.x. Tο ncpfs client θα λειτουργεί με προϊόντα που είναι ισχυρά συμβατά με Novell , αλλά δυστυχώς ορισμένα προϊόντα που ισχυρίζονται ότι είναι συμβατά δεν είναι και τόσο. Για να χρησιμοποιήσετε το ncpfs με διακομιστές αρχείων Novell 4.x , ο διακομιστής αρχείων πρέπει να ρυθμιστεί για να λειτουργήσει σε bindery emulation mode, γιατί το ncpfs δεν υποστηρίζει ακόμη το NDS.
Το νεότερο πακέτο ncpfs σχεδιάστηκε για να χτιστεί με τον πυρήνα έκδοσης
1.2.13
ή πυρήνες μετά από τη έκδοση 1.3.71
(αυτό συμπεριλαμβάνει και τους 2.x.x)
Αν δεν χρησιμοποιείτε ένα πυρήνα καμίας από αυτές τις κατηγορίες, τότε θα πρέπει να
αναβαθμίσετε τον πυρήνα σας . Tο
Kernel-HOWTO
περιγράφει λεπτομερώς πως να το κάνετε.
Μπορείτε να πάρετε το πακέτο ncpfs με ανώνυμο ftp από το home site του Volker στο:
ftp.gwdg.de
ή
sunsite.unc.edu
ή mirror site. Η τρέχουσα έκδοση τη στιγμή που γράφω είναι η εξής:
ncpfs-2.0.10.tgz
. Το πρώτο πράγμα που
χρειάζεστε να κάνετε είναι να εξασφαλίσετε πως ο πυρήνας σας δημιουργήθηκε με ενεργοποιημένη υποστήριξη IPX.
Στο πυρήνα έκδοσης 1.2.13
χρειάζεστε μόνο να σιγουρέψετε ότι έχετε
απαντήσει Y
στη ερώτηση: 'The IPX protocol
' όπως δείχνει παρακάτω:
... ... Assume subnets are local (CONFIG_INET_SNARL) [y] Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n] The IPX protocol (CONFIG_IPX) [n] y * * SCSI support ... ...Χρειάζεται ακόμη να βεβαιωθείτε ότι συμπεριλάβατε ένα κατάλληλο οδηγό για την Ethernet κάρτα σας. Αν δεν γνωρίζετε πώς να κάνετε αυτό, τότε πρέπει να διαβάσετε το Ethernet-HOWTO.
Τώρα μπορείτε να προχωρήσετε στο χτίσιμο του πυρήνα σας. Θυμηθείτε να να τρέξετε το lilo για να τον εγκαταστήσετε όταν έχετε τελειώσει.
# cd /usr/src # tar xvfz ncpfs-2.0.10.tgz # cd ncpfs
Αν σκοπεύετε να χρησιμοποιήσετε το kerneld για να φορτώνετε αυτόματα τα ncpfs module του πυρήνα, τότε πρέπει να βγάλετε από τα σχόλια τη γραμμή στο Makefile
που αναφέρετε στο: KERNELD
. Αν δεν είστε βέβαιος τι σημαίνει αυτό τότε πρέπει να διαβάσετε το
Kernel-HOWTO για να εξοικειωθείτε με τις ρυθμίσεις των module του πυρήνα.
Tο λογισμικό πρέπει να μεταγλωττιστεί άνετα, χωρίς να απαιτείται κάποια άλλη ρύθμιση:
# make
Όταν τελειώσει το make , πρέπει να βρείτε όλα τα εργαλεία που
χρειάζεστε στον κατάλογο ncpfs/bin
. Μπορείτε να χρησιμοποιήσετε το:
# make install
για να εγκαταστήστε τα εργαλεία στους καταλόγους που επέλεξε ο Volkers. Αν τρέχετε ένα
σύστημα βασισμένο σε ELF, τότε πρέπει να ξανατρέξετε το `ldconfig -v'
για να
σιγουρευτείτε ότι μπορεί να βρεθεί η shared βιβλιοθήκη.
Αν μεταγλωττίζετε ένα πυρήνα 1.2.*
τότε θα βρείτε στον κατάλογο ncpfs/bin
ένα αρχείο που ονομάζεται ncpfs.o
, αφού το make έχει τελειώσει.
Αυτό είναι το module του πυρήνα ncpfs. Πρέπει να το αντιγράψετε σε κάποιο μέρος χρήσιμο. Στο debian σύστημα μου, το έχω αντιγράψει στον κατάλογο /lib/modules/1.2.13/fs
και έχω προσθέσει το ncpfs
στο αρχείο /etc/modules
έτσι ώστε να ξεκινά αυτόματα κατά την εκκίνηση του συστήματος. Αν χρησιμοποιείτε κάποια άλλη διανομή, θα πρέπει να βρείτε πού φυλάει τα modules της και να το αντιγράψετε εκεί, ή απλά αντιγράψτε το στον κατάλογο /etc
. Για να φορτώσετε τα modules χειροκίνητα χρησιμοποιήστε την εντολή:
# insmod ncpfs.o
Για την τελευταία έκδοσή του ncpfs θα πρέπει να χρησιμοποιήσετε τον πυρήνα 1.3.71
ή νεώτερο του, συμπεριλαμβανομένων και των 2.0.*
.
Αν σκοπεύετε να χρησιμοποιήσετε κάποιον πυρήνα που είναι έκδοσης 1.3.71
ή πιο πρόσφατος,
τότε ο κώδικας του ncpfs έχει συμπεριληφθεί στη διανομή του πυρήνα.
Χρειάζεται μόνο να απαντήσετε Y
στo:
Networking options --->
...
...
<*> The IPX protocol
...
Filesystems --->
...
...
<*> NCP filesystem support (to mount NetWare volumes)
...
Χρειάζεται ακόμα να ακολουθήσετε τις οδηγίες για το χτίσιμο των πυρήνων
1.2.*
, έτσι ώστε να δημιουργήστε τα εργαλεία αλλά δεν θα υπάρχει αρχείο module
να εγκατασταθεί.
. Υπάρχουν δυο τρόποι ρύθμισης του λογισμικού ενός δικτύου IPX. Μπορείτε να ρυθμίσετε χειροκίνητα όλες τις παραμέτρους του IPX δικτύου σας ή να αφήσετε στο λογισμικό να αποφασίσει ορισμένες λογικές ρυθμίσεις, χρησιμοποιώντας την εντολή:
# ipx_configure --auto_interface=on --auto_primary=on
Αυτό πρέπει να αρκεί στις περισσότερες περιπτώσεις, αλλά αν δεν παίζει σε σας τότε διαβάστε το τμήμα 'Εργαλεία IPX (IPX tools)' παραπάνω για να το ρυθμίσετε χειροκίνητα.
Αφού το ΙPX δίκτυο σας έχει ρυθμιστεί θα πρέπει να μπορείτε να χρησιμοποιείτε την εντολή slist για να δείτε μια λίστα από όλους τους διακομιστές αρχείων Novell του δικτύου σας:
# slistΑν η εντολή slist βγάλει κάποιο μήνυμα σαν αυτό:
ncp_connect: Invalid argument
τότε ο πυρήνας σας ίσως να μην υποστηρίζει
IPX. Να ελέγξετε ότι πράγματι έχετε εκκινήσει τον κατάλληλο πυρήνα.
Κατά την εκκίνηση, πρέπει να δείτε στα μηνύματα εκκίνησης του συστήματος μηνύματα όπως 'IPX
' και 'ncpfs
'. Αν η εντολή slist δεν εμφανίζει όλους τους
διακομιστές αρχείων του δικτύου σας τότε ίσως να χρειαστεί να χρησιμοποιήστε
τη μέθοδο χειροκίνητης ρύθμισης του δικτύου.
Αν το λογισμικό δικτύου για IPX λειτουργεί κανονικά, θα πρέπει τώρα να μπορείτε να προσαρτήσετε ένα δίσκο ενός διακομιστή αρχείων Novell στο σύστημα αρχείων του Linux σας. Η εντολή ncpmount χρησιμοποιείται για αυτό το σκοπό και απαιτεί να προσδιορίσετε τουλάχιστον τις ακόλουθες πληροφορίες:
Υπάρχει μια αντίστοιχη εντολή ncpumount για να αποπροσαρτήσετε ένα προσαρτημένο NCP σύστημα αρχείων. Tα NCP συστήματα αρχείων αποπροσαρτηθούν ομαλά (cleanly) αν κατεβάσετε (shutdown) το μηχάνημα σας ομαλά, έτσι δεν χρειάζεται να ανησυχήσετε για να κάνετε ncpumoun τα συστήματα αρχείων σας χειροκίνητα πριν το halt ή το shutdown.
Ένα παράδειγμα εντολής για να προσαρμόσουμε το διακομιστή αρχείων ACCT_FS01
, με ένα login id guest
και κανένα κωδικό, κάτω από τον κατάλογο /mnt/Accounts
μπορεί να μοιάζει με την ακόλουθη:
# ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -nΣημειώστε τη χρήση της επιλογής
-n
, για να δείξετε ότι κανένας κωδικός δεν
απαιτείται για το login. Το ίδιο login όταν προσδιορίζουμε και κωδικό (password) secret
θα μοιάζει με:
# ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -P secretΑν δεν προσδιορίσετε τις επιλογές
-n
ή -P
θα ερωτηθείτε για κωδικό.
Αν η εντολή mount είναι επιτυχημένη θα έχετε τους δίσκους αυτούς προσβάσιμους, στο χρήστη με userid αυτήν που χρησιμοποιήθηκε κατά το login, ως κατάλογους κάτω από το σημείο προσάρτησης. Θα πρέπει επίσης να μπορείτε να διασχίζετε την δομή των καταλόγων για να βρείτε ό,τι άλλα αρχεία. Επειδή το ΝCP δεν παρέχει uid ή gid ιδιότητες αρχείων, όλα τα αρχεία θα έχουν τις ίδιες ιδιότητες ιδιοκτησίας με τον αρχικό κατάλογο προσάρτησης, έχετε το λοιπόν στο νου σας, όταν μοιράζετε τις προσαρτήσεις μεταξύ Linux χρηστών.
Αν έχετε ανάγκη για κάποια μόνιμη προσάρτηση τύπου ncp τότε θα θελήσετε
να ρυθμίσετε τις παραπάνω εντολές στα αρχεία rc, έτσι ώστε να συμβαίνουν αυτόματα
κατά την ώρα της εκκίνησης. Αν η διανομή σας δεν παρέχει ήδη κάποιο τρόπο ρύθμισης του IPX,
όπως το debian, τότε σας συνιστώ να τις τοποθετήσετε στο
/etc/rc.local
αρχείο σας, αν έχετε ένα. Ίσως να χρησιμοποιήσετε κάτι σαν:
#
# Start the ncp filesystem
/sbin/insmod /lib/modules/1.2.13/fs/ncpfs.o
# configure the IPX network
ipx_configure --auto_interface=on --auto_primary=on
# guest login to the Accounting διακομιστή αρχείων
ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n
#
Υπάρχει και άλλο μέσο για να ρυθμιστούν οι NCP προσαρτήσεις και αυτό γίνεται με τη δημιουργία ενός
αρχείου $HOME/.nwclient
. Αυτό το αρχείο περιέχει λεπτομέρειες για τις προσωρινές προσαρτήσεις ή
τις προσαρτήσεις συγκεκριμένων χρηστών, που θα εκτελούνται συχνά. Σας επιτρέπει
να αποθηκεύσετε τις λεπτομέρειες των προσαρτήσεων έτσι ώστε να μπορείτε να τα ξαναδημιουργήσετε
χωρίς να χρειάζεται κάθε φορά να προσδιορίζετε όλες τις παραμέτρους.
Η σύνταξη είναι σχεδόν αυτονόητη:
# The first entry is the 'preferred server' entry and is
# used whenever you do no specify a server explicitly.
#
# User TERRY login to DOCS_FS01 fileserver with password 'password'
DOCS_FS01/TERRY password
#
# Guest login to the ACCT_FS01 fileserver with no password.
ACCT_FS01/GUEST -
Για να ενεργοποιήσετε αυτές τις προσαρτήσεις μπορείτε να χρησιμοποιήσετε:
$ ncpmount /home/terry/docs
για να προσαρτήσετε το: DOCS_FS01 με TERRY ως login κάτω από τον κατάλογο /home/terry/docs. Σημειώστε ότι η καταχώρηση αυτή επιλέχτηκε, γιατί κανένας διακομιστής αρχείων δεν καθορίστηκε στη εντολή προσάρτησης (mount). Αν δίνατε την ακόλουθη εντολή :
$ ncpmount -S ACCT_FS01 /home/terry/docs
τότε το ACCT_FS01 θα προσαρτιόταν εκεί με GUEST login .
Σημείωση: για να λειτουργήσει αυτός ο μηχανισμός οι ιδιότητες (permissions) του
$HOME/.nwclient
αρχείου, θα πρέπει να είναι 0600
. Θα χρειαστείτε λοιπόν
να χρησιμοποιήστε τη εντολή:
$ chmod 0600 $HOME/.nwclient
Αν πρόκειται να επιτραπεί σε μη-root χρήστες να χρησιμοποιούν αυτό το μηχανισμό
τότε η εντολή ncpmount πρέπει να είναι Set Userid Root, έτσι θα
χρειαστεί να του χορηγήσετε τα κατάλληλα δικαιώματα:
# chmod 4755 ncpmount
, μια βοηθητική εντολή για αποστολή μηνυμάτων προς χρήστες Novell, η οποία επίσης συμπεριλαμβάνετε μέσα στο πακέτο, λέγεται nsend και χρησιμοποιείται ως εξής:
# nsend rod hello thereθα στείλει το μήνυμα "hello there" σε ένα χρήστη που είναι μέσα στον κύριο διακομιστή αρχείων σας, σαν "rod" (στον πρώτο διακομιστή που εμφανίζεται στο αρχείο
.nwclient
. Μπορείτε να προσδιορίσετε άλλον διακομιστή αρχείων με τη ίδια σύνταξη όπως και για την εντολή ncpmount.