Linux mini-HOWTO

         

Известные проблемы


К сожалению, SCO работает с именами машин не длиннее восьми букв. Если название вашей машины состоит из более, чем восьми букв, или должно быть полным (FQDN), то вам придется указать это имя в строке NODename файла /usr/adsm/dsm.sys.

Если вы используете переменную DISPLAY, то вам придется указать в ней полное имя машины (т.е. DISPLAY=host.full.do.main:0 вместо DISPLAY=host:0).



Linux ADSM Mini-Howto


Thomas Koenig
Thomas.Koenig@ciw.uni-karlsruhe.de


Перевод: Станислав Рогин, ASPLinux

В этом документе описывается установка и использование в Linux/i386 клиента коммерческой системы резервного копирования ADSM.



Установка клиента ADSM


SCO-вариант клиента поставляется в виде трех tar-файлов или дисков. Перейдите в корневой каталог, установите необходимый umask, в соответствии с вашими требованиями и, будучи root-ом, распакуйте их там. В каталоге /tmp вы найдете инсталляционный скрипт - запустите его.

Затем вам придется вручную исправить файлы /usr/adsm/dsm.sys и /usr/adsm/dsm.opt. В файле dsm.sys не забудьте исправить следующие строки:

Servername

Имя сервера

TCPServeraddress

Полное имя машины сервера (Fully qualified host name FQDN)

NODename

Название вашей машины

В файле dsm.opt вам надо указать следующее:

Server

То же, что и выше

Followsymbolic

Следовать ли символьным ссылкам (вообще-то, не очень хорошая идея)

SUbdir

Создавать ли резервные копии подкаталогов (обычно это необходимо)

domain



Файловые системы, которые необходимо копировать

Затем необходимо создать совместимый со SCO файл /etc/mnttab, на основе вашего /etc/fstab. Вы можете использовать для этого приведенный ниже Perl-скрипт fstab2mnttab:

#!/usr/bin/perl

$mnttab_struct = "a32 a32 I L";

open(MTAB, "/etc/mtab") die "Не могу открыть /etc/mtab: $!\n"; open(MNTTAB, ">/etc/mnttab") die "Не могу открыть /etc/mnttab: $!\n";

while() { 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 "Создано: $device $mountpt $fstype\n"; } }

close(MNTTAB); exit 0;

Для этого клиента не требуется устанавливать каких-либо библиотек; все собрано статически.



Установка модуля iBCS


Модуль iBCS2 можно найти по адресу ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2. Если у вас ядро версии 1.2.13, возьмите файл ibcs-1.2-950721.tar.gz, разархивируйте его и используйте патчи ibcs-1.2-950808.patch1 и ibcs-1.2-950828.patch2. Затем наберите "make" и установите модуль iBCS командой "insmod".

Если у Вас ядро версии 2.0, возьмите файл ibcs-2.0-960610.tar.gz, распакуйте его в любой каталог, перейдите в этот каталог и внесите следующие изменения:

--- 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)

Затем скопируйте CONFIG.i386 в CONFIG и запустите make.

Создайте необходимые файлы устройств (если у вас еще их нет) при помощи команд

# cd /dev # ln -s null XOR # ln -s null X0R # mknod socksys c 30 0 # mknod spx c 30 1



это сетевая система резервного копирования,


ADSM - это сетевая система резервного копирования, продаваемая фирмой IBM и используемая многими организациями. Существует большой набор клиентских программ ADSM для различных систем (UNIX-системы, Windows, Novell, Mac, Windows NT). К сожалению, в настоящее время специальной Linux-версии не существует.
Вам придется использовать клиентскую программу для SCO и установить iBCS2-эмулятор для запуска ADSM. В этом документе описывается ADSM v2r1.
На текущий момент была испытана только версия, работающая в Linux для i386.

Запуск клиента ADSM


Существуют два клиента: dsm (с интерфейсом X11) и dsmc (с обычным текстовым интерфейсом). Системный администратор вашего сервера объяснит, как его запускать. Скорее всего, Вам будет необходимо внести в загрузочный скрипт строку типа: dsmc schedule -quiet 2>&1 >/dev/null &;