Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1370

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Linux ADSM Mini-Howto</TITLE>


</HEAD>
<BODY>
<H1>Linux ADSM Mini-Howto</H1>

<H2>di Thomas K&ouml;nig, <CODE>Thomas.Koenig@ciw.uni-karlsruhe.de</CODE></H2> $Date: 1997/01/15 20:36:34 $
<P><HR>
<EM> Questo documento descrive l'installazione e l'uso di un client
per il sistema di backup commerciale ADSM per Linux/i386.</EM>
<HR>
<H2><A NAME="s1">1. Introduzione</A></H2>

<P>ADSM &egrave; un sistema di baskup basato sulla rete, venduto dalla IBM ed usato
in molte organizzazioni. Esistono client per una grande variet&agrave; di sistemi
(vari tipi di UNIX, Windows, Novell, Mac, Windows NT). Sofrtunatamente, 
nel momento in cui sto scrivendo, non esiste una versione nativa per
Linux.
<P>Per usare ADSM dovrete usare il binario SCO, ed installare l'emulatore
iBCS2. La descrizione che segue &egrave; valida per ADSM v2r1.
<P>Nel momento in cui sto scrivendo, che io sappia esiste solo una versione
che funziona con la versione i386 di Linux. 
<H2><A NAME="s2">2. Installazione del modulo iBCS2</A></H2>

<P>Il modulo iBCS2 &egrave; disponibile su
<A HREF="ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2">ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2</A>.  Se usate il kernel
1.2.13, scaricate 
<CODE>ibcs-1.2-950721.tar.gz</CODE>, spacchettatelo ed applicate le patch 
<CODE>ibcs-1.2-950808.patch1</CODE> e <CODE>ibcs-1.2-950828.patch2</CODE>.
Potete poi digitare &quot;<CODE>make</CODE>&quot; ed installare il modulo iBCS2
con &quot;<CODE>insmod</CODE>&quot;.
<P>Per i kernel 2.0, scaricate <CODE>ibcs-2.0-960610.tar.gz</CODE>, spacchettatelo in
una directory adatta, fate chdir in quella directory ed applicate questa
patch:
<PRE>

--- iBCSemul/ipc.c.orig Wed Jan 15 21:32:15 1997
+++ iBCSemul/ipc.c      Wed Jan 15 21:32:31 1997
@@ -212,7 +212,7 @@
        switch (command) {
                case U_SEMCTL:
                        cmd = ibcs_sem_trans(arg3);
-                       arg4 = (union semun *)get_syscall_parameter (regs, 4);
+                       arg4 = (union semun *)(((unsigned long *) regs->esp) + (5));
                        is_p = (struct ibcs_semid_ds *)get_fs_long(arg4->buf);
 #ifdef IBCS_TRACE
                        if ((ibcs_trace &amp; TRACE_API) || ibcs_func_p->trace)
</PRE>

Poi, copiate <CODE>CONFIG.i386</CODE> in <CODE>CONFIG</CODE>, e digitate <CODE>make</CODE>.
<P>Se non li avete ancora, create i file di device necessari eseguendo
<PRE>
# cd /dev
# ln -s null XOR
# ln -s null X0R
# mknod socksys c 30 0
# mknod spx c 30 1
</PRE>
<H2><A NAME="s3">3. Installazione del client ADSM</A></H2>

<P>Il file binario SCO &egrave; distribuito sotto forma di tre file tar o tre
dischi. Spostatevi nella directory di root, impostate gli umask a seconda
delle vostre preferenze e spacchettatele da l&igrave; (come root). Nella
directory /tmp troverete uno script di installazione; eseguitelo.
<P>Dovrete quindi modificare a mano <CODE>/usr/adsm/dsm.sys</CODE> and
<CODE>/usr/adsm/dsm.opt</CODE>.
In <CODE>dsm.sys</CODE>, le linee importanti da specificare sono:
<DL>
<DT><B>Servername</B><DD><P>Il nome del server
<DT><B>TCPServeraddress</B><DD><P>L'hostname del server completo di dominio
<DT><B>NODename</B><DD><P>Il vostro hostname
</DL>

In <CODE>dsm.opt</CODE>, dovrete specificare
<DL>
<DT><B>Server</B><DD><P>Come sopra
<DT><B>Followsymbolic</B><DD><P>Se seguire o no i link simbolici (in generale non &egrave;
una buona idea)
<DT><B>SUbdir</B><DD><P>Se fare o no il backup delle sottodirectory (in genere
vorrete farlo)
<DT><B>domain</B><DD><P>I filesystem di cui fare il backup
</DL>
<P>Dovrete poi creare un <CODE>/etc/mnttab</CODE> SCO-compatibile. Per farlo
potete usare il seguente script Perl, <CODE>fstab2mntab</CODE>.
<BLOCKQUOTE><CODE>
<HR>
<PRE>
#!/usr/bin/perl

$mnttab_struct = "a32 a32 I L";

open(MTAB, "/etc/mtab") || die "Non posso aprire /etc/mtab: $!\n";
open(MNTTAB, ">/etc/mnttab") || die "Non posso aprire /etc/mnttab: $!\n";

while(&lt;MTAB>) {
    next if /pid/;
    chop;
    /^(\S*)\s(\S*)\s(\S*)\s.*$/;
    $device = $1;
    $mountpt = $2;
    $fstype = $3;
    if($fstype ne "nfs" &amp;&amp; $fstype ne "proc") {
        $mnttab_rec =
            pack($mnttab_struct, $device, $mountpt, 0x9d2f, time());
        syswrite(MNTTAB, $mnttab_rec, 72);
        print "Made entry for: $device $mountpt $fstype\n";
    }
}

close(MNTTAB);
exit 0;
</PRE>
<HR>
</CODE></BLOCKQUOTE>

Per usare questi client non avete bisogno di installare librerie
condivise; sono linkate tutte staticamente.
<H2><A NAME="s4">4. Far girare il client</A></H2>

<P>Esistono due client, <CODE>dsm</CODE>, che ha un'interfaccia X11, e 
<CODE>dsmc</CODE>, che lavora da linea di comando. Il vostro centro di computer vi
dir&agrave; come farlo girare. Ci sar&agrave; probabilmente bisogno di qualche script
all'avvio, come ad esempio
<PRE>
dsmc schedule -quiet 2>&amp;1 >/dev/null &amp;
</PRE>
<H2><A NAME="s5">5. Problemi noti</A></H2>

<P>Sfortunatamente, SCO pu&ograve; trattare solo hostname non pi&ugrave; lunghi di otto
caratteri. Se il vostro hostname &egrave; pi&ugrave; lungo, o se specificate il dominio 
completo,
dovrete specificare l'hostname nella linea 
<CODE>NODename</CODE> line in <CODE>/usr/adsm/dsm.sys</CODE>.
<P>Se usate la variabile DISPLAY, dovrete dare l'hostname completo
(ad esempio <CODE>DISPLAY=host.full.do.main:0</CODE> invece di 
<CODE>DISPLAY=host:0</CODE>).
</BODY>
</HTML>