/usr/share/doc/HOWTO/fr-html/ADSM-Backup.html is in doc-linux-fr-html 2013.01-3ubuntu1.
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 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.72">
<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>
|