Next Previous Contents

8. Ρυθμίστε το Linux μηχάνημα σας σαν NCP πελάτη (client).

Αν είστε χρήστης ενός δικτύου διαφορετικών τεχνολογιών που συνδυάζει και τα δυο, 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.

8.1 Αποκτώντας το ncpfs.

Το νεότερο πακέτο 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

8.2 Χτίζοντας το ncpfs για τον πυρήνα 1.2.13.

Δημιουργήστε ένα πυρήνα με υποστήριξη Ethernet και IPX

. Το πρώτο πράγμα που χρειάζεστε να κάνετε είναι να εξασφαλίσετε πως ο πυρήνας σας δημιουργήθηκε με ενεργοποιημένη υποστήριξη 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 για να τον εγκαταστήσετε όταν έχετε τελειώσει.

Κάνετε Untar το λογισμικό ncpfs

# cd /usr/src
# tar xvfz ncpfs-2.0.10.tgz
# cd ncpfs

Ελέγξτε το Makefile

Αν σκοπεύετε να χρησιμοποιήσετε το kerneld για να φορτώνετε αυτόματα τα ncpfs module του πυρήνα, τότε πρέπει να βγάλετε από τα σχόλια τη γραμμή στο Makefile που αναφέρετε στο: KERNELD. Αν δεν είστε βέβαιος τι σημαίνει αυτό τότε πρέπει να διαβάσετε το Kernel-HOWTO για να εξοικειωθείτε με τις ρυθμίσεις των module του πυρήνα.

Κάνε make το λογισμικό ncpfs

Tο λογισμικό πρέπει να μεταγλωττιστεί άνετα, χωρίς να απαιτείται κάποια άλλη ρύθμιση:

# make

Αντιγράψτε τα IPX εργαλεία κάπου αν δεν το έχετε ήδη κάνει.

Όταν τελειώσει το make , πρέπει να βρείτε όλα τα εργαλεία που χρειάζεστε στον κατάλογο ncpfs/bin. Μπορείτε να χρησιμοποιήσετε το:

# make install

για να εγκαταστήστε τα εργαλεία στους καταλόγους που επέλεξε ο Volkers. Αν τρέχετε ένα σύστημα βασισμένο σε ELF, τότε πρέπει να ξανατρέξετε το `ldconfig -v' για να σιγουρευτείτε ότι μπορεί να βρεθεί η shared βιβλιοθήκη.

Αντιγράψτε το module ncpfs.o σε κάποιο μέρος χρήσιμο αν είναι απαραίτητο.

Αν μεταγλωττίζετε ένα πυρήνα 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

8.3 Χτίζοντας το ncpfs για πυρήνες 1.3.71++/2.0.*.

Για την τελευταία έκδοσή του 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 να εγκατασταθεί.

8.4 Ρυθμίζοντας και χρησιμοποιώντας το ncpfs.

Ρύθμιση του λογισμικού ενός δικτύου IPX

. Υπάρχουν δυο τρόποι ρύθμισης του λογισμικού ενός δικτύου 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 δεν εμφανίζει όλους τους διακομιστές αρχείων του δικτύου σας τότε ίσως να χρειαστεί να χρησιμοποιήστε τη μέθοδο χειροκίνητης ρύθμισης του δικτύου.

Προσάρτηση ενός δίσκου (volume) Novell(tm).

Αν το λογισμικό δικτύου για IPX λειτουργεί κανονικά, θα πρέπει τώρα να μπορείτε να προσαρτήσετε ένα δίσκο ενός διακομιστή αρχείων Novell στο σύστημα αρχείων του Linux σας. Η εντολή ncpmount χρησιμοποιείται για αυτό το σκοπό και απαιτεί να προσδιορίσετε τουλάχιστον τις ακόλουθες πληροφορίες:

  1. Tο όνομα του διακομιστή αρχείων
  2. Tην ταυτότητα του login σας στο διακομιστή. Αν έχετε και password θα το χρειαστείτε και αυτό.
  3. Tο σημείο προσάρτησης πχ, εκεί όπου θέλετε να προσαρτηθεί ο δίσκος. Αυτό θα είναι ένας υπάρχων κατάλογος στο μηχάνημα σας.

Υπάρχει μια αντίστοιχη εντολή 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

Αν η εντολή 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

Δοκιμάστε τη βοηθητική εφαρμογή nsend

, μια βοηθητική εντολή για αποστολή μηνυμάτων προς χρήστες Novell, η οποία επίσης συμπεριλαμβάνετε μέσα στο πακέτο, λέγεται nsend και χρησιμοποιείται ως εξής:

# nsend rod hello there
θα στείλει το μήνυμα "hello there" σε ένα χρήστη που είναι μέσα στον κύριο διακομιστή αρχείων σας, σαν "rod" (στον πρώτο διακομιστή που εμφανίζεται στο αρχείο .nwclient. Μπορείτε να προσδιορίσετε άλλον διακομιστή αρχείων με τη ίδια σύνταξη όπως και για την εντολή ncpmount.


Next Previous Contents