Per rispondere a questa domanda tenete in considerazione questi due punti:
Nel primo caso avete due possibilità:
libnsl.so
(o staticamente con la
libreria libnsl.a
). Questo significa che dovrete aggiungere la
linea:
LIBS=-lnsl
al vostro Makefile il che significa che volete collegare il programma
alla libreria dei servizi di rete. Fondamentalmente tutti i demoni di
rete ed i programmi di ``login'' necessitano di essere ricompilati.
Similarmente, come nel caso del NIS tradizionale, se non avete un server NIS, allora avrete bisogno di un programma server NIS (normalmente ypserv) e dovete assegnare una delle macchine della rete come server NIS master. E nuovamente, dovrete, come minimo, installare un server slave.
Dovrete procurarvi e compilare la libreria con i servizi NYS libnsl.so. Se non avete i ``DLL tools'' dovrete procurarvi le librerie (condivise, statiche e sorgenti) dallo stesso sito di cui sotto. Nota, tuttavia, che la versione precompilata potrebbe essere (e probabilmente lo è) più vecchia dell'ultima release formato sorgente.
Le librerie NYS (sogenti e compilati) si trovano a:
Site Directory File Name
ftp.lysator.liu.se /pub/NYS/libs nys-0.27.4.tar.gz
ftp.lysator.liu.se /pub/NYS/binaries/lib libnsl.so.1.0.a26
ftp.funet.fi /pub/Linux/BETA/NYS/libs nys-0.27.?.tar.gz
I programmi ``login'' e ``su'' precompilati si trovano a:
Site Directory File Name
ftp.lysator.liu.se /pub/NYS/binaries/bin login
ftp.lysator.liu.se /pub/NYS/binaries/bin su
ftp.funet.fi /pub/Linux/BETA/NYS/bin login
ftp.funet.fi /pub/Linux/BETA/NYS/bin su
Allo stesso modo, file di esempio di configurazione possono essere trovati a:
Site Directory File Name
ftp.lysator.liu.se /pub/NYS/binaries/etc *conf
ftp.funet.fi /pub/Linux/BETA/NYS/etc *conf
Per la compilazione delle librerie nsl, seguite le istruzioni provviste con il software. Se volete compilare le librerie condivise DLL dovete avere installato il programma ``DLL tools'' nella directory standard (/usr/dll). I ``DLL tools'' (il pacchetto tools-2.11.tar.gz o successivo) si possono trovare su diversi siti ftp.
A differenza del NIS tradizionale, non ci sono settaggi per il client NIS. Tutto ciò che serve è che il file di configurazione NIS (/etc/yp.conf) punti al(ai) server corretto(i) per ottenere le sue informazioni. Perciò, il file di configurazione dei ``Name Services Switch'' (/etc/nsswitch.conf) deve essere installato correttamente.
Consultate gli esempi provvisti con il sorgente.
Il file dei ``Network Services switch'' /etc/nsswitch.conf determina l'ordine dei controlli eseguiti quando viene richiesto un certo tipo di informazione, come nel file /etc/host.conf che determina il modo in cui vengono controllati i nomi delle macchine. Di nuovo, controllate il file di esempio incluso nella distribuzione del sorgente. Per esempio, la linea
hosts: files nis dns
specifica che la funzione di controllo dei nomi di macchina deve prima controllare il file /etc/hosts, seguita da un controllo del NIS ed alla fine attraverso i "domain name service" (/etc/resolv.conf e named), a quel punto se non c'è nessuna risposta verrà mostrata una stringa di errore.
Invece di ricollegare tutti i binari con la libreria NYS (libnsl.so), una soluzione pulita è stata raggiunta provvedendo all'utente la possibilità di costruire un NYS consapevole della libc esistente. Questo prevederà di ricompilare una nuova libc e rimpiazzare le esistenti /lib/libc.so.x.y.z per tutti i programmi (compilati non staticamente) al fine di renderli consapevoli della presenza del NYS.
Questa fusione vi dà il vantaggio sulla implementazione del NIS tradizionale nella libc di linux, nel senso che vi permette un supporto trasparente alle ``shadow passwords'' (tramite il file /etc/nisswitch.conf).
Seguite i seguenti passi per ricostruire una libreria libc con il supporto NYS.
ftp.lysator.liu.se:/pub/NYS/libs
e scompattateli sotto questa directory dei sorgenti ``libc-linux''. La
distribuzione corrente del NYS è ``nys-0.27.4.tar.gz''.
Values correct (y/n) [y] ?
Poi proseguite attraverso le altre domande e l'ultima sarà diventata:
Build a NYS libc from nys-0.27 (y default) ?
rispondete ``y'' a questa.
% make
La libreria generata dopo la compilazione avrà un nome tipo
libc.so.4.5.26
e sarà inserita nella directory jump/libc-nys. Per installarla il nostro consiglio è di copiarla in /lib con un nome lessicograficamente maggiore del numero di versione. Semplicemente aggiungendo una lettera ``a'' si risolve l'arcano. Per esempio:
% cp jump/libc-nys/libc.so.4.5.26 /lib/libc.so.4.5.26a
Alternativamente, aggiungete ``nys'' per poterla identificare facilmente. Adesso eseguite il comando
% ldconfig
che azzera la cache per permettervi di usare la nuova libreria. La strategia del collegamento dinamico può essere esaminata con il comando ``ldconfig -p''.
Questo è quanto. Tutti i vostri programmi, adesso, sapranno che c'è il NYS. Ricordate che normalmente il programma ``login'' è compilatao staticamente e perciò non può accedere alle funzioni del NYS tramite la nuova libc con il supporto del NYS. Dovrete quindi ricompilare il programma ``login'' senza il flag -static, oppure collegarlo staticamente alla libreria libnsl.a.