СПО в российских школах

Команда ALT Linux рассказывает о внедрении свободного программного обеспечения в школах России
Декабрь 21, 2009

Г. Курячий. Сетевая установка и сетевая загрузка

Книги, Методические материалы, Опыт работы с ПСПО
Автор: ALT Linux

Предлагаем вашему вниманию вторую статью Георгия Курячего по использованию решений на базе Пятой Платформы. Предыдущая статья

Предварительное замечание. В тексте используются термины «Альт Линукс Ковчег 5.0 Сервер» и «Альт Линукс Ковчег 5.0 Рабочая Станция», их можно безболезненно заменить на «Альт Линукс 5.0 Школьный Сервер» и «Альт Линукс 5.0 Школьный Юниор/Мастер».


Сетевая установка и сетевая загрузка

Харе Кришна

Рабочий полдень застал Системного Администратора в глубоких, но слегка неплодотворных раздумьях. Дело заключалось в следующем. По слухам, у боговоплощённого Кришны было шестнадцать тысяч сто восемь жён (из них сто восемь главных, из них — восемь главнейших, из них — одна наиглавнейшая). Обладая божественной способностью пребывать со всеми жёнами одновременно, Кришна творил с ними лилы, танцевал и играл на флейте. Древние фрески изображают, как Кришна танцует с флейтой у губ перед каждой из своих жён.

Вот эта-то флейта сейчас и занимает Системного Администратора более всего. Во-первых, она здоровенная, и должна петь басовито и гулко; хорошо бы поиграть на такой. А во-вторых, она, очевидно, переняла у Кришны способность пребывать со всеми жёнами одновременно!

Дело за малым: перенять эту способность — если не у Кришны, так хотя бы у флейты — и распространить на загрузочный DVD «Альт Линукс Ковчег 5.0 Рабочая Станция». Другими словами, Системному Администратору хочется пребывать со всеми рабочими станциями локальной сети одновременно и творить с ними процесс установки. Желание особенно обостряется при мысли, что через неделю (и через две, и через три) ситуация повторится. Однако эффект одновременного пребывания если и наблюдался, то пять с небольшим тысяч лет назад, и с той поры никто его не воспроизводил.

Порция утреннего кофе направляет мысли Системного Администратора в более рациональное русло.

В подведомственной ему локальной сети неожиданно образовалась текучка рабочих станций. Каждую неделю появляется с дюжину ранее не тронутых машин, и примерно такое же число (с установленной системой) убывает в филиалы. На новых компьютерах следует, не щадя их содержимого, устанавливать «Альт Линукс Ковчег 5.0 Рабочая Станция», это если он устанавливается. Если по какой-то причине дистрибутив установить нельзя, желательно (но не обязательно) содержимое жёсткого диска сохранить.

Загрузочный DVD «Альт Линукс Ковчег 5.0 Рабочая Станция» позволяет работать в т. н. режиме «Live CD», при котором система загружается с этого DVD, вообще не затрагивая жёсткого диска. Если LiveCD загрузился, то и установка системы с него пройдёт нормально.

Сюжет новой фрески: Системный Администратор танцует с диском в руках перед каждой их своих рабочих станций одновременно.

Постановка задачи
Ещё одна порция кофе заставляет Системного Администратора понять, что он чуть было не перепутал задачу и один из способов её решения (к тому же трудно реализуемый).

Дано

  • Одноранговая локальная сеть, в которой появляются всё новые компьютеры
  • Сеть обслуживается сервером на базе дистрибутива «Альт Линукс Ковчег 5.0 Сервер»

Требуется

  • Обеспечить по возможности быструю и простую проверку работоспособности дистрибутива «Альт Линукс Ковчег 5.0 Рабочая Станция» на новых компьютерах (без модификации содержимого жёстких дисков)
  • Обеспечить по возможности быструю и простую установку дистрибутива «Альт Линукс Ковчег 5.0 Рабочая Станция» на новые компьютеры

Условия

  • Все новые компьютеры подключаются к локальной сети
  • Сетевые карты этих компьютеров поддерживают т. н. «сетевую загрузку» (по протоколу PXE)

Решение

На сервере

Самый очевидный — и, по-видимому, правильный — путь решения состоит в том, чтобы заставить рабочую станцию загружать и устанавливать операционную систему с сервера посредством локальной сети, а не с отдельного носителя. Более точно: надо изыскать способ загрузить по сети установщик «Альт Линукс Ковчег 5.0 Рабочая Станция» и указать ему хранилище пакетов для «чистой» установки пакетов.

Здесь нас подстерегает тщательно подготовленная удача: именно такая возможность встроена в дистрибутивы Пятой платформы! В конфигураторе сервера

Ковчег. Пожалуйста, зарегистрируйтесь
Ковчег. Пожалуйста, зарегистрируйтесь

есть отдельный модуль «Сервер сетевых установок»:

Волшебный горшочек?
Волшебный горшочек?

Всё, что от нас требуется, — это вставить DVD с дистрибутивом «Альт Линукс Ковчег 5.0 Рабочая Станция» в привод сервера,

Добавим диск «Альт Линукс Ковчег 5.0 Рабочая Станция»
Добавим диск «Альт Линукс Ковчег 5.0 Рабочая Станция»

скопировать его,

Полузащитник обрабатывает мяч... обрабатывает его... обрабатывает...
Полузащитник обрабатывает мяч… обрабатывает его… обрабатывает…

и попросить сервер раздавать содержимое этого диска для сетевой загрузки

...обработал!
…обработал!

На клиентской машине

Большинство современных сетевых карт, в том числе интегрированных в системные платы, поддерживают загрузку специального вида программ по сети посредством семейства протоколов PXE. На отдельных, не интегрированных, устройствах можно иногда заметить ряды неиспользуемых контактов или колодки для подключения микросхем. Это верный признак того, что устройство не поддерживает сетевую загрузку. Обычно возможность загрузки по сети обозначена в BIOS (где-нибудь в разделе «Boot priority»), либо самостоятельно анонсируется сетевой картой при включении компьютера.

В некоторых версиях BIOS даже есть возможность не меняяя настроек BIOS разово выбрать иное устройство для загрузки:

Спасибо тебе
Спасибо тебе

Иногда в этих меню пишут ключевое слово «PXE», иногда «int 18», иногда показывают модель сетевого устройства, а иногда без затей предлгают «загрузку по сети»:

Выбор сетевой загрузки
Выбор сетевой загрузки

Сетевая карта самостоятельно обращается к DHCP-серверу, и требует у него два вида информации: сетевые настройки и имя файла с программой, которую следует загрузить по сети (испльзуетеся протокол TFTP) и запустить; адрес TFTP-сервера также предварительно запрашивается:

Сетевая загрузка: DHCP
Сетевая загрузка: DHCP

Загрузчик (в нашем слкчае он называется pxelinux.0), в свою очередь, скачивает с сервера конфигурационный файл:

Сетевая загрузка: PXE-загрузчик
Сетевая загрузка: PXE-загрузчик

«Лесенка» на этой картинке показывает, что ни один из конфигурационных файлов найти не удалось, кроме последнего, с именем pxelinix.cfg/default («unknown keyword», т. е. нераспознанное ключевое слово, очевидно, не сказалось на работоспособности загрузчика). Намётанный глаз Системного Администратора уловил соответствие MAC-адреса сетевой карты и первого из имён конфигурационного файла, а вот что последующие имена представляют собой шестнадцатеричное выражение IP-адреса и его частей, ему в голову не пришло.

Так или иначе, конфигурацонный файл загружен; можно выбирать разные профили загрузки, если ничего не трогать, будет использован профиль по умолчанию:

Сетевая загрузка: меню выбора
Сетевая загрузка: меню выбора

Загрузчик, опять-таки по SFTP, добудет ядро Linux и стартовый виртуальный диск

Сетевая загрузка: ядро и стартовый виртуальный диск
Сетевая загрузка: ядро и стартовый виртуальный диск

и передаст управление ядру. Ядро, как водится, запустит со стартового виртуального диска «маленький Linux»

Старт установщика по сети
Старт установщика по сети

В дистрибутивах принято «занавешивать» процесс загрузки экраном-индикатором, но можно нажать ESC, и появятся сообщения, выводимые при загрузке различными подсистемами.

Задача сведена к уже решённой!
Задача сведена к уже решённой!

А это уже совсем настоящий установщик системы! Далее мы без особых трудностей устанавливаем «Альт Линукс Ковчег 5.0 Рабочая Станция»; надо только не забыть подключиться к имеющемуся домену.

Не забыть зарегистрироваться в домене
Не забыть зарегистрироваться в домене

Аппетит приходит во время еды

С одной стороны, загрузчик, дошедший до стадии «разметка диска» — вполне серьёзное тестирование компьютера на предмет устанавливаемости дистрибутива: сеть работает, графическая подсистема работает, диск виден. С другой стороны, это совсем не эффектно: ни приложение запустить, ни в Интернет выйти, не говоря уже о том, что начальству показывать ровным счётом нечего.

В конце концов, раз уж можно установщик загрузить по сети, то почему нельзя загрузить LiveCD?

Отчего же нельзя? Можно; для этого достаточно загрузчику указать имя профиля live, отличного от профиля linux по умолчанию:

Загрузка профиля «live»
Загрузка профиля «live»

Система чудесным образом загрузится! Правда, интерфейс отчего-то окажется на английском языке:

Отсутствие DNS при загрузке по сети
Отсутствие DNS при загрузке по сети

Вдобавок сетевые настройки в таком режиме явно недостаточные: например, нет информации о DNS-сервере, что означает невозможность использовать доменные имена — только IP-адреса. Наконец, все обнаруженные на жёстком диске разделы LiveCD смонтировал в каталог /mnt с правами записи кого угодно. Вдобавок пароль суперпользователя на LiveCD попросту пустой, так что возможность испортить содержимое жёсткого диска есть даже и без автоматического монтирования. Получается, что задача-то протестировать работу дистрибутива решена, а вот использовать загрузку LiveCD по сети для каких-то других задач (например, для работы в Linux на компьютерах без Linux) — проблематично.

Первые шаги

Шаг вправо, шаг влево…

Между прочим, эксплуатация сетевой установки выявила недочёты в аппаратной части локальной сети! Некоторые особенно новые компьютеры отчего-то отказывались загружать что-либо по сети, мотивируя это тем, что сети-то вообще нет.

Дело оказалось в том, что не все соединительные шнуры (т. н. patch cord-ы) в офисной сети соответствовали требованиям гигабитной Ehternet-сети (1000BASE-T). Встроенная в не слишком дешёвую гигабитную сетевую карту процедура тестирования кабеля обнаруживала эту несовместимость. Пришлось заменить эти самодельные шнуры на покупные (категории 5E), после чего неполадки прекратились.

Как же работает сетевая загрузка?

Первым делом ясно, что вместе со стандартными сетевыми настройками сетевая карта клиентской машины получает по протоколу DHCP ещё какие-то (здесь и далее приводятся примеры команд с сервера; строчки вида « . . .» означают, что часть выдачи пропущено из соображений экономии места):

[root@host-15 ~]# cat /etc/dhcp/dhcpd.conf
 . . .
subnet 10.30.50.0 netmask 255.255.255.0 {
    next-server 10.30.50.1;
    filename "pxelinux.0";
    option root-path "/var/srv/public/netinst/current";
    option routers 10.30.50.1;
    option domain-name-servers 10.30.50.1;
    option domain-name "office";
    default-lease-time 86400;
    max-lease-time 86400;
    range 10.30.50.10 10.30.50.100;
}

Вот эти настройки:

  • filename — имя файла, который надо загрузить с TFTP-сервера, загрузить в память и передать туда управление (это pxelinux.0 из пакета syslinux, специальный первичный сетевой загрузчик)
  • next-server — адрес TFTP-сервера (совпадает с адресом сервера)
  • root-path — адрес каталога на сервере, в котором хранятся все файлы, необходимые для сетевой загрузки Linux; этот каталог будет смонтирован по протоколу NFS системой в стартовом виртуальном диске

Файл pxelinux.0 хранится в стандартном для TFTP-сервера каталоге /var/lib/tftpboot:

[root@host-15 ~]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg syslinux

Подкаталог syslinux используется для загрузки системы с носителя, и в сетевой загрузке почти не используется:

[root@host-15 ~]# ls /var/lib/tftpboot/syslinux/
16x16.fnt da.hlp fi.tr    init     lt.tr  pt.tr   timer_a.jpg
af.tr   da.tr  fr.hlp    isolinux.bin memtest pt_BR.tr tr.tr
alt0    de.tr  fr.tr    isolinux.cfg mr.hlp  ro.hlp  uk.hlp
ar.hlp   el.hlp gfxboot.cfg it.hlp    mr.tr  ro.tr   uk.tr
ar.tr   el.tr  gl.hlp    it.tr     nb.hlp  ru.hlp  wa.tr
back.jpg  en.hlp gl.tr    ja.tr     nb.tr  ru.tr   xh.tr
bg.tr   en.tlk gu.hlp    ka.tr     nl.hlp  sk.hlp  zh_CN.hlp
boot.cat  en.tr  gu.tr    ko.hlp    nl.tr  sk.tr   zh_CN.tr
bootlogo  es.hlp hi.tr    ko.tr     pa.hlp  sl.tr   zh_TW.hlp
ca.hlp   es.tr  hr.tr    kroete.dat  pa.tr  sr.tr   zh_TW.tr
ca.tr   et.hlp hu.hlp    lang     pl.hlp  sv.hlp  zu.tr
cs.hlp   et.tr  hu.tr    languages   pl.tr  sv.tr
cs.tr   fi.hlp id.tr    lt.hlp    pt.hlp  ta.tr

Почти, потому что в нём, в подкаталоге alt0, хранится ядро Linux (vmlinuz) и образ стартового виртуального диска (full.cz):

[root@host-15 ~]# ls /var/lib/tftpboot/syslinux/alt0/
full.cz vmlinuz

Это особенный стартовый виртуальный диск, более сложный, чем тот, что применяется при загрузке уже установленной системы. По сути, он содержит маленькую операционную систему (называемую «Propagator»), цель которой — найти и задействовать устройство, в том числе сетевое, для последующей загрузки оттуда. Что загружать — установщик, подсистему LiveCD или т. н. «спасательный диск» — выбирает пользователь.

Подкаталог pxelinux.cfg предназначен для хранения настроек pxelinux:

[root@host-15 ~]# cat /var/lib/tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 100
gfxboot syslinux/bootlogo
display syslinux/boot.msg
implicit 1
label harddisk
 localboot 0x80
label linux
 kernel syslinux/alt0/vmlinuz
  append initrd=syslinux/alt0/full.cz changedisk ramdisk_size=65536 lang=ru_RU vga=0x314 splash=silent splashcount=17 xdriver=auto showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow
 . . .
label live
 kernel syslinux/alt0/vmlinuz
 append initrd=syslinux/alt0/full.cz live fastboot vga=0x314 splash=silent splashcount=17 stagename=live showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow
 . . .

Ключевые слова gfxboot и display, не используемые загрузчиком PXE, наводят на мысль, что этот файл был сгенерирован при включении «Сервера сетевых установок» автоматически из соответствующего настроечного файла syslinux на DVD.

Кроме того, уже сейчас ясно, отчего профиль live загрузился с английским языком: в профиле установщика linux язык указан явно (lang=ru_RU), а тут его нет; возможно, отказали электромозги конвертора настроек. Наконец, каталог /var/srv/public/netinst/current, который впоследствии монтируется по NFS, должен быть проэкспортирован. На деле экспортируется один из его родительских каталогов, /srv/public:

[root@host-15 ~]# cat /etc/exports 
/srv/public -ro,insecure,no_subtree_check *
/srv/share -rw,insecure,fsid=0,sec=krb5 *

…Прыжок на месте

Что же это такое за «всё необходимое для сетевой установки» хранится в /var/srv/public/netinst/current? Вот содержимое /var/srv/public/netinst:

[root@host-15 ~]# ls -l /srv/public/netinst/
-rw-r--r-- 1 root root  2690922496 Dec 17 20:34 1.img
lrwxrwxrwx 1 root root       6 Dec 18 15:45 current -> 1.img
drwxr-xr-x 2 root _ahttpd    4096 Dec 17 20:35 download
-rw-r--r-- 1 root root      67 Dec 17 20:34 list
drwxr-xr-x 2 root root     4096 Dec 17 20:35 mnt

Негусто, учитывая, что оба подкаталога пустые. К тому же /var/srv/public/netinst/current — не каталог, а файл (точнее, ссылка на файл 1.img). Как он может быть корнем файловой системы?

[root@host-15 ~]# file /srv/public/netinst/1.img 
/srv/public/netinst/1.img: ISO 9660 CD-ROM filesystem data 'ALT Linux 5.0.0 Ark Desktop' (bootable)

Дело начинает проясняться. В качестве root-path предлагается образ загрузочного DVD, который впоследствии монтируется примерно так:

[root@host-15 ~]# mount -t iso9660 -o loop /srv/public/netinst/1.img /mnt

Что же у неё внутри?

[root@host-15 mnt]# ls -aF
./  .disk/   Metadata/    altinst index.html    license.ru.html rescue
../ ALTLinux/ RPM-GPG-KEY.bz2 docs/  license.all.html live       syslinux/

Из интересного: ALTLinux — каталог с хранилищем пакетов, syslinux — каталог с настройками загрузчика (эти-то настройки и были преобразованы в настройки pxelinux), altinst, live и rescue — файлы с образами, соответственно, установщика, LiveCD и «спасательного диска».

Наша цель — live:

[root@host-15 ~]# file /mnt/live
/mnt/live: Squashfs filesystem, little endian, version 4.0, 183451597311 bytes, 77617 inodes, blocksize: 42 bytes, created: Mon Jan 15 12:46:40 1945
[root@host-15 ~]# mount -t squashfs -o loop /mnt/live /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
    missing codepage or helper program, or other error
    In some cases useful info is found in syslog - try
    dmesg | tail or so

Не тут-то было. Что-то не заладилось у Squashfs. Да и дата создания файла какая-то подозрительная.

[root@host-15 ~]# dmesg | tail -3
[ 4700.690029] squashfs: version 3.4 (2008/08/26) Phillip Lougher
[ 4700.695179] SQUASHFS error: Major/Minor mismatch, trying to mount newer 4.0 filesystem
[ 4700.695194] SQUASHFS error: Please update your kernel

Всё ясно: образ установщика сделан посредством Squashfs версии 4.0, а на сервере поддерживается только 3.4. Совместимости, очевидно, нет.

Неясно только, что дальше делать. Стоит ли тратить усилия на разбор Squashfs-образа? Может, в самом деле ядро обновить? Но разобрать мало, надо же ещё ошибку с сетью исправить и монтирование диска запретить. А потом обратно два образа, как матрёшек друг в друга, запаковывать. А если допустить какую-нибудь ошибку — всё по новой.

Может, ну его? Ведь работает же и так?

Кришна Харе

Всё-таки полуденные мысли о божественной сущности Кришны не были такими уж неплодотворными. По крайней мере, ничем другим нельзя объяснить, отчего именно в эту минуту в офисе 221-б появился глубоко Системным Администратором уважаемый и даже отчасти почитаемый Внесистемный Администратор Гуру (далее, для краткости, просто Гуру). Сущность Гуру далека от божественной, но ему открыто Тайное Знание, хотя сам он это категорически отрицает. Как бы то ни было, именно его совет помог сдвинуть дело с мёртвой точки.

Оказалось, что:

  1. Серверный и десктопный дистрибутивы основаны на ядрах Linux разных версий (серверное — более старое, но с поддержкой виртуализации, десктопное — более новое).
  2. Propagator умеет монтировать по сети не только образ ISO, но и каталог.

Поэтому:

  1. Чтобы добыть содержимое live, достаточно загрузиться с LiveCD на сервере, и переписать это содержимое туда. Главное, чтобы для 32-разрядных клиентов использовался LiveCD с 32-разрядным дистрибутивом.
  2. Вместо ISO-образа DVD с Squashfs-образом live внутри можно организовать каталог с содержимым DVD с каталогом live внутри, загрузка в такой конфигурации будет также возможна, а отлаживать её и экспериментировать с нею станет намного проще.

Загрузка с LiveCD на сервере

Возьмём диск с дистрибутивом «Альт Линукс Ковчег 5.0 Рабочая Станция», который мы собираемся использовать на рабочих станциях, и загрузимся с него на сервере в режиме «LiveCD»

Загрузка LiveCD на сервере
Загрузка LiveCD на сервере

Вот что видно на сервере после загрузки:

[root@localhost ~]# cat /etc/fstab
proc      /proc          proc  nosuid,noexec,gid=proc     0 0
devpts     /dev/pts        devpts nosuid,noexec,gid=tty,mode=620 0 0
tmpfs      /tmp          tmpfs  nosuid             0 0
/dev/root / auto defaults,ro 0 0
UUID=b391cc0a-59c0-4313-b6f2-31f9096b6ba4    swap  swap  defaults    0   0
UUID=e40fc352-f031-4827-ab7c-a7ebe12ecc5e    /mnt/hda2    ext3  noauto 0   0
UUID=2a86bf2b-5d8c-4c04-9acf-0f47448ea45c    /mnt/hda5    ext3  noauto 0   0
UUID=a12e05b3-671f-4914-9d5e-f07cefd2570c    /mnt/hda6    ext3  noauto 0   0

По всей видимости (не стоит удивляться, видимость Гуру много глубже видимостей обычного человека), первый раздел диска, hda1, используется под swap, второй, hda2 — под корневую файловую систему, раздел в первом расширении таблицы разделовi, hda5 — под /var, а раздел во втором расширении, hda6 — под каталог с виртуальными машинами. Нам нужен ‘/var`:

[root@localhost ~]# mount /mnt/hda5
[root@localhost ~]# ls /mnt/hda5/
adm      avahi empty local lost+found nobody  resolv srv yp
aquota.group cache ftp  lock  mail    opt    run   tmp
aquota.user  db   lib  log  nis     preserve spool  www

Теперь смонтируем live, лежащий с точки зрения LiveCD в каталоге /image, куда-нибудь и скопируем его содержимое в /srv/public/netinst на серверном диске:

[root@localhost ~]# mount -t squashfs -o loop /image/live /mnt/hda2
[root@localhost ~]# cp -a /mnt/hda2 /mnt/hda5/srv/public/netinst

Внимательное изучение /image приводит к выводу о том, что этот каталог — результат монтирования DVD. Скопируем оттуда всё, включая скрытые файлы, но исключая файл live (его мы уже запасли в виде каталога):

[root@localhost ~]# mkdir /mnt/hda5/srv/public/netinst/livefs
[root@localhost ~]# cd /image
[root@localhost image]# cp -a .??* [^l]* lic* /mnt/hda5/srv/public/netinst/livefs/

Дело сделано, пора загружать сервер в штатный режим, а то пользователи уже начали волноваться: доступа в Интернет-то нет.

Настройка сервера

На сервере необходимо проделать несколько изменений, их порядок несущественен. Так, при монтировании каталога по NFS, доступ к файлам с правами суперпользователя превращается в доступ с правами пользователя nobody. NFS доверяет не пользователю, а компьютеру целиком, а эта дополнительная мера безопасности позволяет не доверять хотя бы суперпользователю с удалённого компьютера. Такое преобразование прав доступа называется «root squash» («придавить root», не надо путать со Squashfs, ничего общего, кроме звучного слова, в этих двух терминах нет!).

Когда по NFS монтируется каталог с единственным файлом образа преобразование прав действует только на обращение к этому файлу, а уж после он монтируется в качестве файловой системы посредством -o loop. Однако в нашем случае монтироваться будет непосредственно каталог, так что преобразование прав доступа надо отключить с помощью no_root_squash в параметрах монтирования:

[root@host-15 ~]# cat /etc/exports 
/srv/public -ro,insecure,no_subtree_check,no_root_squash *
/srv/share -rw,insecure,fsid=0,sec=krb5 *

После чего стоит перезапустить службу nfs:

[root@host-15 ~]# service nfs restart
Stopping NFS mount service: [ DONE ]
Stopping NFS daemon: [ DONE ]
Stopping NFS svcgssd service: [ DONE ]
Stopping NFS quotas service: [ DONE ]
Unexporting NFS file systems: [ DONE ]
Exporting NFS file systems: [ DONE ]
Starting NFS quotas service: [ DONE ]
Starting NFS svcgssd service: [ DONE ]
Starting NFS daemon: [ DONE ]
Starting NFS mount service: [ DONE ]
Stopping rpc.idmapd service: [ DONE ]
Starting rpc.idmapd service: [ DONE ]

Теперь подготовим корневую файловую систему для монтирования по сети:

[root@host-15 ~]# cd /srv/public/netinst/
[root@host-15 netinst]# chmod 755 hda2/
[root@host-15 netinst]# mv hda2 livefs/live

Предпоследняя команда продиктована тем, что у каталога hda оказались довольно странные права доступа. Скопируем куда-нибудь исходный файл настроек pxelinux и отредактируем актуальный файл до следующего состояния (не забудем вписать lang=ru_RU в список параметров):

[root@host-15 ~]# cat /var/lib/tftpboot/pxelinux.cfg/default
default live
prompt 0
timeout 0
noescape 1
label live
 kernel syslinux/alt0/vmlinuz
 append initrd=syslinux/alt0/full.cz live fastboot lang=ru_RU vga=0x314 splash=silent splashcount=17 stagename=live showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow

Такая конфигурация заставит загружаемый компьютер немедленно использовать профиль live, причём пользователь даже не сможет в этот процесс вмешаться (это обеспечивает параметр noescape 1).

Если всё-таки надо соответствовать условиям задачи, конфигурационный файл должен быть побольше:

[root@host-15 mnt]# cat /var/lib/tftpboot/pxelinux.cfg/default
default live
prompt 1
timeout 100
label harddisk
 localboot 0x80
label linux
 kernel syslinux/alt0/vmlinuz
  append initrd=syslinux/alt0/full.cz changedisk ramdisk_size=65536 lang=ru_RU vga=0x314 splash=silent splashcount=17 xdriver=auto showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow
label rescue
 kernel syslinux/alt0/vmlinuz
 append initrd=syslinux/alt0/full.cz live ramdisk_size=65536 fastboot stagename=rescue showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow
label live
 kernel syslinux/alt0/vmlinuz
 append initrd=syslinux/alt0/full.cz live fastboot lang=ru_RU vga=0x314 splash=silent splashcount=17 stagename=live showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow

Заметим, что для плохо работающих компьютеров имеется профиль rescue («спасательный диск»), позволяющий, как минимум, собрать информацию об аппаратном обеспечении. Эту информацию стоит отослать разработчикам, дабы совместно выяснить, отчего же система работает на машине плохо. Название («label») профиля надо вводить в ответ на подсказку boot:.

Перекинем символьную ссылку current с ISO-образа на созданный каталог:

[root@host-15 ~]# ln -sf livefs /srv/public/netinst/current
[root@host-15 ~]# l /srv/public/netinst/
total 2630452
drwxr-xr-x 5 root _ahttpd    4096 Dec 18 15:45 ./
lrwxrwxrwx 1 root root       6 Dec 18 15:45 current -> livefs/
drwxr-xr-x 8 root root     4096 Dec 17 21:01 livefs/
drwxr-xr-x 3 root root     4096 Dec 17 21:00 ../
drwxr-xr-x 2 root root     4096 Dec 17 20:35 mnt/
drwxr-xr-x 2 root _ahttpd    4096 Dec 17 20:35 download/
-rw-r--r-- 1 root root      67 Dec 17 20:34 list
-rw-r--r-- 1 root root  2690922496 Dec 17 20:34 1.img

Стоит заметить, что ручная настройка приведёт модуль Центр Управления Системой «Сервер сетевых установок» в дезориентированное состояние; с этих пор лучше им не пользоваться, либо проверять результат.

Настройка файловой системы клиента

Подготовительный этап закончен, теперь пора приниматься за настройку клиентской части. По сути мы будем модифицировать корневую файловую систему бездискового клиента.

LiveCD Пятой Платформы устроен так, что при загрузке системы с него производятся некоторые действия, не характерные для установленного дистрибутива. В частности, пресловутое монтирование файловых систем с жёcткого диска — результат работы стартового сценария livecd-fstab. Сценарий сканирует доступные устройства хранения данных на предмет того, какие разделы можно было бы смонтировать, и записывает в стандартный файл /etc/fstab соответствующие настройки. Отключать этот сценарий не совсем правильно, зато можно насильственно выставить параметр ro (read only, только на чтение):

[root@host-15 ~]# diff -u /srv/public/netinst/livefs/live/etc/init.d/livecd-fstab{.orig,}
--- /srv/public/netinst/livefs/live/etc/init.d/livecd-fstab.orig    2009-12-17 21:52:20 +0300
+++ /srv/public/netinst/livefs/live/etc/init.d/livecd-fstab   2009-12-17 21:52:51 +0300
@@ -16,9 +16,9 @@
 MNT_PREFIX="/mnt"
 FSTAB="/etc/fstab"
 UDEVADM="/sbin/udevadm"
-MOUNT_OPTIONS_VFAT="users,noatime,codepage=866,shortname=winnt,iocharset=utf8,gid=0100,fmask=111,dmask=0000"
-MOUNT_OPTIONS_NTFS3G="users,locale=ru_RU.utf8,gid=100,fmask=111,force,dmask=000" # force
-MOUNT_OPTIONS_OTHER="noauto"
+MOUNT_OPTIONS_VFAT="users,ro,noatime,codepage=866,shortname=winnt,iocharset=utf8,gid=0100,fmask=111,dmask=0000"
+MOUNT_OPTIONS_NTFS3G="users,ro,locale=ru_RU.utf8,gid=100,fmask=111,force,dmask=000" # force
+MOUNT_OPTIONS_OTHER="noauto,ro"
 
 log() {
   initlog $INITLOG_ARGS -n $0 -s "$1"

В этом примере приведён не весь файл livecd-fstab, а только различия между исходной и отредактированной его версиями. Знаками «-» в первой колонке помечены удалённый строки, знаками «+» — добавленные. Нетрудно видеть, что к значению трёх каких-то переменных (чтение сценария показывает, что они хранят параметры монтирования файловых систем разного типа) добавлен ,ro.

Осталось сделать две модификации: задать пароль суперпользователя (чтобы окончательно исключить возможность непреднамеренной порчи содержимого жёсткого диска) и разобраться с плохо работающей сетью.

Воспользуемся тем, что получившаяся файловая система — полноценное рабоче окружение. Это значит, что выполнив chroot в каталог livefs/live, мы сможем менять настройки и даже запускать некоторые сценарии, как если бы это происходило на клиенте, причём на клиенте, имеющем доступ к этому каталогу на запись:

[root@host-15 ~]# chroot /srv/public/netinst/livefs/live/
[root@host-15 /]# pwd
/
[root@host-15 /]# ls
bin  dev home  lib  mnt proc sbin sys usr
boot etc image media opt root srv  tmp var
[root@host-15 /]# cat /etc/redhat-release 
ALT Linux 5.0.0 Ark Desktop (none)

Теперь пароль суперпользователя можно задать обычной командой passwd:

[root@host-15 /]# { echo "P@sSw0RD" ; echo "P@sSw0RD" ; } | passwd --stdin root

Что же касается сети, то её настройка при сетевой загрузке — особая статья. В самом деле: первоначальная настройка сетевой карты и монтирование корневой файловой системы по NFS должны происходить до запуска и установщика, и профиля live, ведь их файлы как раз и находятся на удалённой файловой системе! К моменту, когда в LiveCD запускается служба Network Manager, сетевая карта уже настроена, настроен и маршрут по умолчанию. Если допустить Network Manager до перенастройки этой карты, он первым делом сбросит её IP-адрес, по сути, отключит её. Включить её обратно он уже не сможет: клиент-то бездисковый, все файлы — программы, библиотеки — находились на сетевом диске, который при выключенной карте не работает.

Поэтому дистрибутивы Пятой платформы, видя, что их загружают по сети, первым делом определяют, какая сетевая карта уже настроена, делают из этого вывод, что именно посредством этой карты осуществляется доступ к удалённой файловой системе, и добавляют специальную настройку, запрещающую службе Network Manager заниматься этим устройством. В LiveCD за это отвечает стартовый сценарий livecd-save-nfs. Подсистема etcnet, отвечающая за сетевые настройки в целом, также не занимается уже настроенными сетевыми интерфейсами.

Настроек, полученных по DHCP ещё подсистемой Propagator, достаточно для установки системы с сервера или загрузки произвольного профиля, но, как мы видели выше, информация о DNS-сервере (которая есть в DHCP) либо не запрашивается, либо не доживает до стадии загрузки профиля, и файл /etc/resolv.conf остаётся пустым.

Если в компьютере одна сетевая карта, сетевой интерфейс, скорее всего, будет называться eth0, Простейший способ всё-таки получить все причитающиеся этому интерфейсу настройки — это запустить службу «DHCP Client Daemon» (dhcpcd) самостоятельно. Сделать это можно в специальном дополнительном сценарии rc.local. По умолчанию его нет, но если он есть, то стартует после запуска всех стартовых сценариев.

[root@host-15 /]# cat > /etc/rc.d/rc.local <<@@@
#!/bin/sh
dhcpcd -p eth0
@@@
[root@host-15 /]# chmod +x /etc/rc.d/rc.local

Ключ «-p» (persistent) указывает dhcpcd не сбрасывать состояние сетевой карты, чего Network Manager пока не умеет. Вообще говоря, непосредственная привязка к eth0 — не слишком красивое решение. Как минимум, можно довериться livecd-save-nfs, который для всех уже настроенных сетевых карт создаёт каталог /etc/net/ifaces/ethномер, а в нём — файл options. Можно было бы написать что-то вроде for I in /etc/net/ifaces/eth*; do dhcpcd -p $(basename $I); done.

Но здесь выяснилось одно совсем уж загадочное обстоятельство: деятельность livecd-save-nfs при загрузке по сети приводит к тому, что в каталоге /etc/net не остаётся никаких файлов, кроме /etc/net/ifaces/eth0! Впрочем, полноценной работе оно не мешает, так как сеть больше трогать не надо.

Гуру с четверть часа изучал это безобразие, пришёл в мрачное расположение духа, но предложил вот такое исправление (в результате эффект в самом деле пропал):

[root@host-15 ~]# diff -u /srv/public/netinst/livefs/live/etc/init.d/livecd-save-nfs{.orig,}
--- /srv/public/netinst/livefs/live/etc/init.d/livecd-save-nfs.orig   2009-12-18 15:39:55 +0300
+++ /srv/public/netinst/livefs/live/etc/init.d/livecd-save-nfs 2009-12-18 15:39:57 +0300
@@ -16,6 +16,7 @@
 {
     if ip -o a | grep -q 'eth.*UP' ; then 
         iface=$(ip -o a | grep 'eth.*UP' | cut -f 2 -d' ' | tr -d ':')
+        ls /etc/net/ifaces > /dev/null
         mkdir -p /etc/net/ifaces/$iface
         echo 'NM_CONTROLLED=no' >> /etc/net/ifaces/$iface/options
         echo 'BOOTPROTO=dhcp' >> /etc/net/ifaces/$iface/options

После чего пожелал успехов в труде и удалился.

P. S.

Оказалось, что в рамках получившейся файловой системы можно проделывать всякие полезные штуки: настраивать окружение стандартного для LiveCD пользователя altlinux, менять общие настройки и даже устанавливать и удалять пакеты! Для этого нужно скопировать туда файл resolv.conf и настроить apt:

[root@host-15 ~]# cp /etc/resolv.conf /srv/public/netinst/livefs/live/etc/
[root@host-15 ~]# chroot /srv/public/netinst/livefs/live/
[root@host-15 /]# grep "^[^#]" /etc/apt/sources.list.d/alt.list
rpm [p5] http://ftp.altlinux.org/pub/distributions/ALTLinux/p5/branch i586 classic
rpm [p5] http://ftp.altlinux.org/pub/distributions/ALTLinux/p5/branch noarch classic
[root@host-15 /]# apt-get update
Get:1 http://ftp.altlinux.org i586 release [708B]
Get:2 http://ftp.altlinux.org noarch release [707B]
Fetched 1415B in 0s (4697B/s)
Get:1 http://ftp.altlinux.org i586/classic pkglist [3605kB]
Get:2 http://ftp.altlinux.org i586/classic release [125B]
Get:3 http://ftp.altlinux.org noarch/classic pkglist [2019kB]
Get:4 http://ftp.altlinux.org noarch/classic release [127B]
Fetched 5624kB in 7s (766kB/s)
Reading Package Lists...
Building Dependency Tree...

Сеть из chroot-а доступна. Любой пакет, установленный в livefs/live, будет доступен при загрузке с неё. Например, можно установить неожиданно затребованную начальником древнюю игру Sopwith:

[root@host-15 /]# apt-cache search sopw
sdl_sopwith - Classic scrolling shoot'em
[root@host-15 /]# apt-get install sdl_sopwith
Reading Package Lists...
Building Dependency Tree...
The following NEW packages will be installed:
 sdl_sopwith
0 upgraded, 1 newly installed, 0 removed and 69 not upgraded.
Need to get 46.0kB of archives.
After unpacking 162kB of additional disk space will be used.
Get:1 http://ftp.altlinux.org i586/classic sdl_sopwith 1.7.1-alt4 [46.0kB]
Fetched 46.0kB in 0s (144kB/s)
Committing changes...
Preparing...         ##########################################################
sdl_sopwith         ##########################################################
Running /usr/lib/rpm/posttrans-filetriggers
Done.

Обнаруженная в пакете syslinux документация (в частности, /usr/share/doc/syslinux-3.63/doc/menu.txt), позволила Системному Администратору навести на полученное решение настоящий глянец! Дла начала надо скопировать в каталог TFTP-сервера волшебное дополнение к загрузчику по имени vesamenu.c32:

[root@host-15 ~]# cd /var/lib/tftpboot/
[root@host-15 tftpboot]# cp /usr/lib/syslinux/vesamenu.c32 .

После достаточно довести файл настроек pxelinux.cfg/default до такого состояния:

[root@host-15 tftpboot]# cat pxelinux.cfg/default
default vesamenu.c32
prompt 0
label harddisk
 menu label ^Local disk boot
 localboot 0x80
label live
 menu default
 menu label ^Diskless client
 kernel syslinux/alt0/vmlinuz
 append initrd=syslinux/alt0/full.cz live fastboot lang=ru_RU vga=0x314 splash=silent splashcount=17 stagename=live showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow
label linux
 menu label ^Install ALT Linux Desktop 5.0
 kernel syslinux/alt0/vmlinuz
  append initrd=syslinux/alt0/full.cz changedisk ramdisk_size=65536 lang=ru_RU vga=0x314 splash=silent splashcount=17 xdriver=auto showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow
label rescue
 menu label ^Rescue disk
 kernel syslinux/alt0/vmlinuz
 append initrd=syslinux/alt0/full.cz live ramdisk_size=65536 fastboot stagename=rescue showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow

Тогда вместо ручного ввода имени профиля пользователь увидит довольно аккуратное меню загрузки:

Выбор варианта сетевой загрузки в виде меню
Выбор варианта сетевой загрузки в виде меню

Для того, чтобы нельзя было «случайно» поставить систему на собственный компьютер, раздел «установка» можно защитить паролем. Пароль лучше всего держать не в чистом виде, а в виде хеша:

[root@host-15 tftpboot]# md5pass Install
$1$sgVXgwai$HowsFblM8sq7PTAupN7H20

В качестве фона можно подложить произвольную небольшую картинку (например, её можно преобразовать их стандартной для дистрибутива, уменьшив размер до 640×480):

[root@host-15 tftpboot]# identify syslinux/back.jpg 
syslinux/back.jpg JPEG 800x600 800x600+0+0 8-bit DirectClass 41.7KiB 0.000u 0:00.000
[root@host-15 tftpboot]# convert syslinux/back.jpg -resize 640x480 back.jpg

Кроме того, название пунктов меню можно писать на русском. Правда, текст должен быть в кодировке CP866, и надо положить в каталог также и шрифт:

[root@host-15 tftpboot]# cp /lib/kbd/consolefonts/cp866-8x16.psf.gz .
[root@host-15 tftpboot]# gzip -d cp866-8x16.psf.gz 

Осталось сделать соответствующие изменения в файле настроек (стоит обратить внимание на то, что файл должен быть в кодировке CP866):

[root@host-15 tftpboot]# iconv -f cp866 < pxelinux.cfg/default
default vesamenu.c32
allowoptions 0
noescape 1
prompt 0
menu title Выберите варианты загрузки
menu background back.jpg
menu vshift 6
menu rows 5
timeout 100
menu autoboot Загрузка через # секунд{у,ы,}
font cp866-8x16.psf
label harddisk
 menu label ^L Загрузка с локального диска
 localboot 0x80
label live
 menu default
 menu label ^D Бездисковый клиент
 kernel syslinux/alt0/vmlinuz
 append initrd=syslinux/alt0/full.cz live fastboot lang=ru_RU vga=0x314 splash=silent splashcount=17 stagename=live showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow
label linux
 menu passwd $1$sgVXgwai$HowsFblM8sq7PTAupN7H20
 menu label ^I Установка ALT Linux Desktop 5.0
 kernel syslinux/alt0/vmlinuz
  append initrd=syslinux/alt0/full.cz changedisk ramdisk_size=65536 lang=ru_RU vga=0x314 splash=silent splashcount=17 xdriver=auto showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow
label rescue
 menu label ^R Спасательная система
 kernel syslinux/alt0/vmlinuz
 append initrd=syslinux/alt0/full.cz live ramdisk_size=65536 fastboot stagename=rescue showopts automatic=method:nfs,network:dhcp tz=Europe/Moscow

Теперь выбор загрузки выглядит достаточно эстетично:

Сплошная красота!
Сплошная красота!

Задача не то, что решена, а намного перевыполнена.

Комментарии (32) к “Г. Курячий. Сетевая установка и сетевая загрузка”

  1. natochka говорит:
    Декабрь 21, 2009, 7:32 пп

    Спасибо огромное!
    Мне как раз сейчас необходима именно эта статья )))

  2. Чернышов Антон говорит:
    Декабрь 22, 2009, 9:37 дп

    А чего-то типа аналога kickstart’а у ALT Linux нет?

  3. Владимир Черный говорит:
    Декабрь 22, 2009, 12:02 пп

    Нет.

  4. Айрат говорит:
    Декабрь 22, 2009, 1:06 пп

    Как быть если не DVD дистрибутив, а набор из 8 Cd дисков. Закачать все?

  5. Владимир Черный говорит:
    Декабрь 22, 2009, 5:25 пп

    Нет. Ничего не получится. Речь в статье идет о пятой платформе: ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/p5/iso/ark/ а там ничего подобного нет.
    Более того, в школьном комплекте есть Легкий линукс на двух СД — с ним это номер тоже не пройдет.

  6. привет говорит:
    Декабрь 24, 2009, 1:10 пп

    А что делать если NFS сервер не запускается в школьном сервере?
    Не запускается NFS svcgssd service

  7. Владимир Черный говорит:
    Декабрь 24, 2009, 7:21 пп

    А что говорит service nfs status если рутом залогиниться на сервере?

  8. привет говорит:
    Декабрь 25, 2009, 9:44 дп

    Вы не поверите!
    проверил статус, svcgssd service был stopped.
    Перезапустил NFS и всё заработало! Так что беру свои слова обратно!

  9. привет говорит:
    Декабрь 25, 2009, 9:51 дп

    А будет ли статья аналогичная «организация компьютерного класса» на 5-й платформе.

  10. Владимир Черный говорит:
    Декабрь 25, 2009, 10:44 дп

    А чего не хватает для организации класса (после этих двух статей)?

  11. mad_max говорит:
    Декабрь 25, 2009, 12:04 пп

    Не хватает статьи описывающей добавление машин в домен, созданный на сервере. Процедуру настройки и процедуру добавления (авторизации).

  12. Владимир Черный говорит:
    Декабрь 25, 2009, 1:13 пп

    Ну, max ты и выдал….
    Вернись, пожалуйста к чтению статей, а особенно к слайду «Не забыть зарегистрироваться в домене»…

    Что касается машинок на которые уже поставили Desktop (до сервера) — надо зайти в acc (Центр управления) и в разделе сетей зайти в пункт «Авторизация». В нем выбрать авторизацию через домен.
    Если сервер с доменом в сети работает, то он просто будет виден.
    И еще раз, речь в статьях идет о дистрибутивах Пятой Платформы, а не о дистрибутивах «вообще».
    С дистрибутивами П5 у вас домен возникает «легко и непринужденно» :)

  13. привет говорит:
    Декабрь 25, 2009, 1:43 пп

    Статья про утилиту syncrone!
    Синхронизация всех компьютеров
    Была уже такая статья для 4-й платформы!

  14. Sergey говорит:
    Декабрь 28, 2009, 5:17 пп

    Установил Школьный сервер 5. Настроил автоматическую раздачу ип адресов. Теперь необходимо сделать установку школьного мастера 5 по сети. Зашел в Сервер сетевых установок, загрузил ДВД, нажал кнопку добавить, затем выбрал добавленный диск.
    На компе поставил в биосе загрузку по сети. При загрузке появляется экран 5 мастера (http://freeschool.altlinux.ru/wp-content/uploads/2009/12/NetworkInstall11.png) и останавливается. Нажав Esc появляется сообщение: Sending DHCP request… Подскажите, может я что не так делаю?

  15. Сергей Сергеевич говорит:
    Январь 15, 2010, 1:28 пп

    На сервере проделал все как положено, а
    на клиентской машине после получения DHCP адреса
    выдается сообщение
    TFTP open timeout
    TFTP …../
    Что делать?

  16. Владимир Черный говорит:
    Январь 15, 2010, 2:31 пп

    Видимо вы забыли выбрать образ для загрузки.

  17. Сергей Сергеевич говорит:
    Январь 16, 2010, 12:06 пп

    образ выбран в соответствии с рисунком
    «…обработал!».

  18. Владимир Черный говорит:
    Январь 16, 2010, 4:31 пп

    Увы, на этом рисунке выбор образа в «динамике»… У вас в верхней строчке, где «Текущий образ:» должно быть написано, какой образ выбран. а если там пусто — значит ничего не выбрано.

  19. 1. На декстопе (AltLinux 5p) поднял DHCP и TFTP и NFS(v3) серверы.
    2. Добавил диск SimpleLinux в загрузку(127.0.0.1:8080).
    3. На ноуте ,указав «загрузку по сети», и добавив вручную папку монтирования по NFS(/mnt/Slimple) установил систему….впечатляет !!! ))
    4. Благодаря ЭТОЙ статье, а так же опыту использования AltLinux 4.0-5.0-5p с ноября 2007 года.
    5. Вполне здравый дистрибутив !! ..менять на что то другое не планирую ))

  20. TFTP open timeout
    TFTP …../
    а это у меня было до того, как я дал команду:
    service tftpd restart …

  21. Илья говорит:
    Март 23, 2010, 8:38 дп

    Да, конфиги конечно не могли необрезанными выложить.
    А кто-нибудь может подсказать параметры файла default в папке pxelinux для загрузки не через NFS, а через HTTP. Пробовал сделать сам по аналогии с NFS, не получилось, каких-то параметров не хватает, а в инете ничего не нарыл. AltLinux покрыт мраком тайны.

  22. Владимир Черный говорит:
    Март 23, 2010, 1:03 пп

    Может все-таки разобраться почему NFS не работает? Ну, или пойти по пути http://ftp...

  23. Илья говорит:
    Март 23, 2010, 2:30 пп

    NFS не работает, потому что он не установлен, установить возможности нет, сервер к инету не подключен, зато установлен Апач. Вот конфиг default:
    label alt-master-5-netinstall
    kernel /master/alt0/vmlinuz
    append initrd=/master/alt0/full.cz xdriver=auto ramdisk_size=65536 lang=ru_RU vga=0x314 splash=silent splashcount=17 showopts automatic=method:http,network:dhcp,server:192.168.1.1,directory:/master
    Где директория master лежит в корне web-сервера. Затык идет (подглядел по Alt-F3)на получении файла altinst, что лежит в корне установочного дерева. У меня правда подозрение, что он м.б. поврежден. А так ли заданы параметры для HTTP?

  24. Владимир Черный говорит:
    Март 24, 2010, 11:19 дп

    Правильность настроек HTTP проверяется с другого компьютера — если файл отдается — все ок.

  25. Илья говорит:
    Март 24, 2010, 2:07 пп

    Имеете ввиду файл altinst?

  26. Илья говорит:
    Апрель 21, 2010, 10:02 дп

    NFS-сервер все-таки установил, Alt Master ставится по сети отлично, а не подскажете кто-нибудь как версию Lite можно ставить, нигде не нашел решения. Как слить воедино 2 CD? Или как-то по-другому…

  27. Necrojoke говорит:
    Июнь 4, 2010, 12:15 пп

    Не стратует nfs сервис

    svcgssd service stopped

    restart не лечит, куда копать?

  28. Владимир Черный говорит:
    Июнь 6, 2010, 5:40 пп

    Копать не надо :)
    скажите в консоли «магические» слова:
    service nfs restart

  29. NecroJoke говорит:
    Июнь 30, 2010, 10:54 дп

    Сервер altlinux 5.0.1 школьный ставим altlinux школьный мастер на клиенте все идет отлично до пункта 5/13 Установка системы, под прогресс баром пишет загрузка информации о пакетах, стоит уже 2 часа, что делать куда смотреть?

  30. Владимир Черный говорит:
    Июнь 30, 2010, 4:20 пп

    Посмотреть на текстовых консолях что с процессом — скорее всего ошибка чтения сд…

  31. Установил школьный сервер. добавил пользователей. При обращении от имени этих пользователей к серверу через ftp все работает, авторизация пользователей на сервере проходит. Настроил сервер сетевых установок. Настроил загрузку через сеть. установил очень быстро на 10 компьютерах по сети Мастер 5.0.1, но, при попытке ввести на клиентских машинах при настроенной доменной аутентификации имена зарегистрированных на сервере пользователей, появляются очень большие тормоза при вводе пользователя (до 30 сек), и возникает ошибка входа в систему. От имени локального пользователя вход в систему происходит. При установки локальной аутентификации на клиенте тормоза исчезают. куда копать? (простите, что не совсем по теме)

  32. Владимир Черный говорит:
    Август 19, 2010, 9:42 дп

    Сергей, как всегда, на вопрос «куда копать?» ответ стандартный — в логи! Посмотрите, что пишет система на 12 консоли в момент попытки аутентификации — 99% за то, что у вас там написано о недоступности ldap сервиса на сервере (от того и тормоза).

Оставьте комментарий