/usr/share/doc/HOWTO/fr-html/ADSM-Backup.html is in doc-linux-fr-html 2013.01-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>Linux ADSM Mini-Howto</title>
</head>
<body>
<h1>Linux ADSM Mini-Howto</h1>
<h2>par Thomas König,
<code>Thomas.Koenig@ciw.uni-karlsruhe.de</code></h2>
v, 15 Janvier 1997
<hr>
<em>Ce document décrit l'installation et l'utilisation sur
un poste de travail Linux d'un client pour le système de
sauvegarde commercial ADSM.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>ADSM est un système de sauvegarde en réseau vendu
par IBM que l'on retrouve dans de nombreuses organisations. Les
programmes clients existent pour une large palette de
systèmes : différents Unix, Windows, Novell,
Mac, Windows NT. Malheureusement, à la date de
rédaction de ce document, aucune version spécifique
à Linux n'existe.</p>
<p>L'utilisation d'ADSM implique donc le recours au binaire SCO et
à l'émulateur iBCS2. Il est ici question d'ADSM
v2r1.</p>
<p>A ce jour, je ne connais qu'une version fonctionnant sous Linux,
et uniquement sur plate-forme i386.</p>
<h2><a name="s2">2. Installation du module iBCS</a></h2>
<p>Le module iBCS est disponible à l'adresse suivante :
<a href=
"ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2">ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2</a>.
[NdT : un miroir français <a href=
"ftp://ftp.lip6.fr/pub/linux/tsx-11/BETA/ibcs2">ftp://ftp.lip6.fr/pub/linux/tsx-11/BETA/ibcs2</a>
] Si vous employez une version 1.2.13 du noyau,
récupérez <code>ibcs-1.2-950721.tar.gz</code>,
décompactez-le et appliquez les patches
<code>ibcs-1.2-950808.patch1</code> et
<code>ibcs-1.2-950828.patch2</code>. Vous pouvez alors invoquer
"<code>make</code>" et insérer le module iBCS via
"<code>insmod</code>".</p>
<p>Pour un noyau 2.0, récupérez
<code>ibcs-2.0-960610.tar.gz</code>, décompressez-le dans un
répertoire adéquat, allez dans ce répertoire
et appliquez le patch ci-dessous :</p>
<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 & TRACE_API) || ibcs_func_p->trace)
</pre>
Copiez ensuite <code>CONFIG.i386</code> en <code>CONFIG</code> et
invoquez <code>make</code>.
<p>S'ils ne sont pas déjà présents,
créez les périphériques requis en
exécutant :</p>
<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. Installation du client ADSM</a></h2>
<p>Le binaire SCO est divisé en trois fichiers
<code>tar</code>. Positionnez-vous à la racine de votre
système de fichiers, vérifiez la valeur de umask et
décompactez-les en tant qu'utilisateur <code>root</code>. Un
script d'installation apparaîtra dans votre répertoire
<code>/tmp</code>. Invoquez-le.</p>
<p>Éditez ensuite <code>/usr/adsm/dsm.sys</code> et
<code>/usr/adsm/dsm.opt</code>. Certaines lignes du fichier
<code>dsm.sys</code> requièrent une attention
particulière :</p>
<dl>
<dt><b>Servername</b></dt>
<dd>
<p>le nom du serveur</p>
</dd>
<dt><b>TCPServeraddress</b></dt>
<dd>
<p>le nom complet du serveur (FQDN)</p>
</dd>
<dt><b>NODename</b></dt>
<dd>
<p>le nom de votre station</p>
</dd>
</dl>
Vous préciserez dans le fichier <code>dsm.opt</code> :
<dl>
<dt><b>Server</b></dt>
<dd>
<p>comme précédemment</p>
</dd>
<dt><b>Followsymbolic</b></dt>
<dd>
<p>s'il faut suivre les liens symboliques (c'est rarement une bonne
idée)</p>
</dd>
<dt><b>SUbdir</b></dt>
<dd>
<p>faut-il sauvegarder les sous-répertoires ?
(généralement oui)</p>
</dd>
<dt><b>domain</b></dt>
<dd>
<p>le système de fichiers à archiver</p>
</dd>
</dl>
<p>Créez ensuite un fichier <code>/etc/mnttab</code>
à la mode SCO à partir de votre
<code>/etc/fstab</code>. Le script Perl suivant,
<code>fstab2mnttab</code>, le fera pour vous.</p>
<blockquote>
<hr>
<pre>
<code>#!/usr/bin/perl
$mnttab_struct = "a32 a32 I L";
open(MTAB, "/etc/mtab") || die "Impossible d'ouvrir /etc/mtab: $!\n";
open(MNTTAB, ">/etc/mnttab") || die "Impossible d'ouvrir /etc/mnttab: $!\n";
while(<MTAB>) {
next if /pid/;
chop;
/^(\S*)\s(\S*)\s(\S*)\s.*$/;
$device = $1;
$mountpt = $2;
$fstype = $3;
if($fstype ne "nfs" && $fstype ne "proc") {
$mnttab_rec =
pack($mnttab_struct, $device, $mountpt, 0x9d2f, time());
syswrite(MNTTAB, $mnttab_rec, 72);
print "Entrée créée pour : $device $mountpt $fstype\n";
}
}
close(MNTTAB);
exit 0;
</code>
</pre>
<hr></blockquote>
Le client ne réclame aucune bibliothèque
dynamique : il est lié statiquement.
<h2><a name="s4">4. Fonctionnement du client</a></h2>
<p>Il existe deux clients. <code>dsm</code> propose une interface
X11 tandis que <code>dsmc</code> reste en ligne de commande. Votre
service informatique vous en dira davantage à leur sujet. Un
script de démarrage du style :</p>
<pre>
dsmc schedule -quiet 2>&1 >/dev/null &
</pre>
s'avèrera vraisemblablement nécessaire.
<h2><a name="s5">5. Problèmes identifiés</a></h2>
<p>SCO se révèle malheureusement incapable de
supporter les noms de machines dépassant les 8
caractères. Si le nom de votre machine dépasse cette
limite ou qu'il inclut le nom de domaine, vous devrez le
préciser dans la ligne <code>NODename</code> du
<code>/usr/adsm/dsm.sys</code>.</p>
<p>Le recours à la variable DISPLAY requiert de la part de
celle-ci qu'elle comprenne le nom complet de votre machine, c'est
à dire <code>DISPLAY=maMachine.monDomaine:0</code> au lieu
de <code>DISPLAY=maMachine:0</code>.</p>
</body>
</html>
|