This file is indexed.

/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&nbsp;:
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&nbsp;:
<a href=
"ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2">ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2</a>.
[NdT&nbsp;: 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&nbsp;:</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-&gt;esp) + (5));
                        is_p = (struct ibcs_semid_ds *)get_fs_long(arg4-&gt;buf);
 #ifdef IBCS_TRACE
                        if ((ibcs_trace &amp; TRACE_API) || ibcs_func_p-&gt;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&nbsp;:</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&nbsp;:</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>&nbsp;:
<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&nbsp;? (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, "&gt;/etc/mnttab") || die "Impossible d'ouvrir /etc/mnttab: $!\n";

while(&lt;MTAB&gt;) {
    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 "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&nbsp;: 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&nbsp;:</p>
<pre>
dsmc schedule -quiet 2&gt;&amp;1 &gt;/dev/null &amp;
</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>