Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Linux дистрибутив Slackware. Энциклопедия настройки. Установка по сети. Экстрим по-русски. Часть I. Live-CD.


Информационный Канал Subscribe.Ru

Linux Slackware Энциклопедия от А до Я.

Доброго времени суток!

Этот выпуск особенный. Дело в том, что недавно удалось осуществить мечту - иметь собственный сервер в интернете, свое доменное имя и статический IP адрес. Работая над проектом, неожиданно пришла идея разместить его на собственном web-сервере, чтобы не было проблем с уведомлениями в форуме, чужой рекламы. Прельстила возможность постоянного физического доступа к машине, что позволит в будущем осуществить еще несколько фишек, запуск своей поисковой машины, ftp-сервера, организация поддоменов и прочее. Это не обычный сервер, а домашний, собранный из старого железа, но от этого он только выигрывает, ведь он имеет даже больше возможностей, чем любой платный хостинг. Страдает только скорость и надежность, чем в моем случае можно пренебречь, ведь проект некоммерческий и ни на что не претендует. Этот выпуск получат более 1200 человек и мне интересно, если хотя-бы треть попробует зайти по ссылке на него, на сколько сильно скажется ограничение в 160 кб/с - именно такова скорость моего подключения к интернет.

Новый адрес проекта http://www.slackware.pp.ru/ на новом сервере.

Думаю, вам будет интересно узнать как все это было. Как рождаются сервера? Как они настраиваются? Что нужно для построения своего скромного (или не очень) сервера? Такой материал в российском сегменте сети найти довольно сложно - это или электронные PDF версии книг или разрозненная информация о настройке той или иной программы. Я же постараюсь описать все в комлексе "От А до Я". Предлагаю вашему вниманию первую статью из цикла.

Установка по сети. Экстрим по-русски. Часть I. Live-CD.

Этой статьей подводится некая черта. До сих пор все написанные мною статьи были ориентированы на новичков, содержали в основном описание начальных настроек системы, без которых комфортно работать не получится. Честно говоря, писать такое не очень интересно. Для меня это просто развернутая шпаргалка, которой сам же уже неоднократно пользовался. Вот такая у меня память ;). Данной работой открывается новый цикл статей, в которых будут освещаться интересующие меня вещи.
Стиль написания - "лог с примечаниями".
Аудитория - "продвинутые пользователи".
С одной стороны, стиль позволит сделать описанное даже обычному windows-пользователю, а с другой избавляет меня от разжевывания. Большинство материала в сети представляет собой очень общую информацию, у меня на ранних этапах всегда возникал дифицит конкретики. Так вот она, в чистом виде. Периодически буду конечно дописывать старые незаконченные описания настроек того или иного, создавать новые, но уже по ходу дела.
С уважением, Gena.

Введение

Наверняка у многих зрелых компьюмэнов в чулане валяется старый комп. Вроде пользы от него никакой. Сейчас я расскажу как удаленно поставить на него Slackware не имея монитора.

Идея

Хочу, забавы ради, из моей машины №2 сделать учебный сервер, управляющий собственной сетью из остальных машин. На нем будут крутиться все известные мне сервера DNS-ftp-smaba-web-sql-squid-nfs-dhcp-smtp-сервера (для них куплено еще 64 памяти). На него будут возложены функции маршрутизатора в остальную сеть и сетевого экрана. Возможно потом попробую настроить на нем Dial-Out сервер для соединения с провайдером по запросу с авторизацией из сети. Замечу, что все это будет настраиваться для самообучения и не претендует на быструю систему с таким железом. Основная проблема в данном случае - малое количество памяти, ведь чтобы хотя-бы установить 10 шлаку нужно минимум 64 метра, а отсутствие монитора вообще делает невозможным использование стандартного инсталляционного диска. Отсюда вывод - готовить систему нужно на более мощном компьютере, в качестве которого мне удобно использовать свой ноутбук.

Преамбула

У меня имеется такой парк машин:

  1. Noutbook ASUS - P4 2500, 256 Mb, 40 Gb, Net 100Mb, Modem 56k, DVD-combo.
  2. AMD K6-2 400, 32 Mb DIMM (недавно купил еще 64, но ставить буду с 32-мя), 8 Gb HDD, CD-ROM, ISA Voice-Modem 56k, Net 100Mb - 2шт;
  3. AMD 486DX2-80, 16 Mb SIMM, 850 Mb HDD, CD-ROM; (пока без бл.пит.)
  4. AMD Duron 1200 (Гы - остались только мать и проц);

Из железа еще провода. К этому есть локальная районная сеть 10Mb с выходом в интернет. Машины в сети соединены посредством умных свитчей, которые привязываются к MAC-адресу моей сетевухи и при любых попытках сменить IP или MAC блокируют канал. Например, мои игры с VMware однажды привели к такому бану :(. Но самое главное "НО" в том, что у меня нет монитора - только ноутбук. И последнее в списке, но не по значению - первый установочный диск Slackware 10.0. Очень постараюсь обойтись только им, т.е. вам нужно иметь как минимум 2 компьютера с сетевыми картами, 1 провод (crossover) их соединяющий и первый диск Шлаки.

Live-CD

Для реализации Первой части - установки - теоретически необходимо следующее. Нужен Live-CD дистрибутив Linux, который запускался бы без единого писка, конфигурировал сетевую карту, поднимал сетевые интерфейсы на заранее прописанный IP и запускал, в лучшем случае ssh-сервер, но можно и telnet если на момент установки он изолирован от локалки. Так же он должен позволять монтировать удаленные сетевые ресурсы (NFS или SMB) и иметь основные инструменты для работы с жестким диском.

Итак, вы уже наверное догадались - сейчас мы будем делать такой диск. Порывшись в интернете, навскидку не удалось найти подобного дистрибутива, полностью отвечающего моим запросам, поэтому было принято решение просто подправить имеющийся установочный диск шлаки, а именно добавить туда sshd и изменить кофиги так, чтобы реализовать автоматический старт и настройку сети. Как оказалось, сделать это было проще чем я думал.

Вот немного теории (в переводе), взятой из сети с сайта Sources.RU:

Цитата:
Процесс загрузки

Стандартный процесс загрузки Linux выглядит как-то так:
  1. Компьютер запускает LILO или подобный загрузчик.
  2. LILO знает где находится ядро и запускает его.
  3. Запускается ядро, после проведения стандартных тестов, оно монтирует корневую файловую систему.
  4. После этого запускается /sbin/init и операционная система запускается в соответствии с /etc/inittab и скриптами rc.d.

Процесс загрузки с CD немного отличается. Нам снова нужен загрузчик, но необязательно знать, каким устройством является наш CD-драйв. Он может быть /dev/hdb, /dev/hdc или /dev/hdd. Даже если мы скажем загрузчику, где находится ядро, нам надо будет указать ядру где находится корневая файловая система. В поиске CD-драйва нам помогает ISOLINUX, но не решает проблемы с поиском корневой файловой системы. Многие загрузочные диски используют так называемый initrd (initial ram disk), который является диском в оперативной памяти с минимальной корневой файловой системой. Идея заключается в том, что ядро загружает минимальную файловую систему, на которой находятся модули, которые позволяют найти и подгрузить основную корневую файловую систему. Теперь рассмотрим процесс загрузки Linux с CD:
  1. Загрузка с CD с ISOLINUX.
  2. ISOLINUX загружает ядро из каталога /isolinux на CD-диске.
  3. Затем ISOLINUX загружает initrd.gz, сжатую ext2 файловую систему.
Важно понимать, что initrd.gz загружается не ядром!
  1. Ядро запускается и разжимает initrd.gz в память (обычно в /dev/ram0) и монтирует его в корень. Ядро должно быть собрано с опциями поддержки initrd и ramdisk.
  2. Ядро пытается запустить linuxrc в новой файловой системе.
  3. Программа linuxrc в свою очередь пытается примонтировать CD-диск, а затем копирует сжатую основную файловую систему в память (обычно в /dev/ram1). Новая файловая система монтируется и в её каталоге /dev создается символическая ссылка на CD-драйв.
  4. После завершения работы linuxrc, управление возвращается ядру и оно пытается примонтировать свою сконфигурированную файловую систему. В данном случае, с помощью команды rdev указываем ядру использовать /dev/ram1 в качестве корневой файловой системы, в которой есть /sbin/init и система стартует прямо из памяти.

Итак, по-порядку процесс создания Live-CD:
  1. Включаем компьютер (можно виртуальный) и грузим Slackware.
  2. :) Вставляем 1 CD Slackware 10.0 в подставку для кофе.
  3. Поехали...

Хм, ну не совсем так. На самом деле у меня 1 CD в виде образа лежит на винте и монтировать его буду оттуда. Работать нужно из под root, поэтому будьте внимательны и предельно осторожны - здесь я использую опасные команды типа rm -f!

 root@gena:/:# su
 root@gena:/:# mount /home/ftp/pub/download/all/slackware/slackware-10.0-install
 -d1.iso /mnt/hd/ -o loop
 root@gena:/:# ls /mnt/hd/
 ANNOUNCE.10_0      COPYING            isolinux           slackware
 bootdisks          COPYRIGHT.TXT      kernels            Slackware-HOWTO
 BOOTING.TXT        CRYPTO_NOTICE.TXT  PACKAGES.TXT       SPEAK_INSTALL.TXT
 ChangeLog.txt      FAQ.TXT            README.TXT         SPEAKUP_DOCS.TXT
 CHECKSUMS.md5      FILELIST.TXT       RELEASE_NOTES      UPGRADE.TXT
 CHECKSUMS.md5.asc  GPG-KEY            rootdisks
 root@gena:/:# mkdir ~/iso
 root@gena:/:# mkdir ~/iso/cdimage
 root@gena:/:# mkdir ~/iso/initrd
 root@gena:/:# mkdir ~/iso/network
 root@gena:/:# cp -R /mnt/hd/isolinux/ ~/iso/cdimage/
 root@gena:/:# cd ~/iso/
 root@gena:~/iso:# ls cdimage/isolinux/
 f2.txt      isolinux.bin   iso.sort     pcmcia.dsk  setpkg
 f3.txt      isolinux.boot  message.txt  README.TXT
 initrd.img  isolinux.cfg   network.dsk  sbootmgr/
 root@gena:~/iso:# cd cdimage/isolinux/
 root@gena:~/iso/cdimage/isolinux:# cp /mnt/hd/kernels/bare.i/bzImage ./
 root@gena:~/iso/cdimage/isolinux:# vi isolinux.cfg
 root@gena:~/iso:# cat cdimage/isolinux/isolinux.cfg
 default /isolinux/bzImage initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0
 ramdisk_size=9999 rw root=/dev/ram SLACK_KERNEL=bare.i
 prompt 1
 timeout 1

Вот как он стал выглядеть - isolinux.cfg

 root@gena:~/iso/cdimage/isolinux:# rm -f f2.txt f3.txt iso.sort pcmcia.dsk
 root@gena:~/iso/cdimage/isolinux:# rm -f README.TXT setpkg message.txt
 root@gena:~/iso/cdimage/isolinux:# rm -rf sbootmgr
 root@gena:~/iso/cdimage/isolinux:# ls
 bzImage  initrd.img  isolinux.bin  isolinux.boot  isolinux.cfg  network.dsk
 root@gena:~/iso/cdimage/isolinux:# gzip -d initrd.img -S .img
 root@gena:~/iso/cdimage/isolinux:# mount initrd /mnt/md/ -o loop
 root@gena:~/iso/cdimage/isolinux:# ls /mnt/md/
 bin/   cdrom@  etc/     lib/      lost+found/  proc/  sbin/  tag/  usr/
 boot@  dev/    floppy/  linuxrc@  mnt/         root/  sys/   tmp/  var/
 root@gena:~/iso/cdimage/isolinux:# cp -r /mnt/md/* ././initrd/
 root@gena:~/iso/cdimage/isolinux:# umount /mnt/md/
 root@gena:~/iso/cdimage/isolinux:# mount network.dsk /mnt/md/ -o loop
 root@gena:~/iso/cdimage/isolinux:# cp -r /mnt/md/* ././network
 root@gena:~/iso/cdimage/isolinux:# umount /mnt/md/
 root@gena:~/iso/cdimage/isolinux:# cd ././initrd/
 root@gena:~/iso/initrd:# ls
 bin/   cdrom@  etc/     lib/      lost+found/  proc/  sbin/  tag/  usr/
 boot@  dev/    floppy/  linuxrc@  mnt/
 root@gena:~/iso/initrd:# vi ./bin/network
 reading ./bin/network

 wrote ./bin/network, 172 lines, 4761 chars

Вот как он стал выглядеть - network

 root@gena:~/iso/initrd:# vi ./network/scripts/network.sh
 reading ./network/scripts/network.sh

 wrote ./network/scripts/network.sh, 170 lines, 5102 chars

Вот как он стал выглядеть - network.sh

В обоих файлах я просто удалил все строчки c "read", чтобы скрипты ничего не спрашивали. Аналогично поступил и с /etc/rc.d/rc.S, плюс в этом файле прямо перед вызовом /etc/rc.d/rc.inet1 сделал вызов /bin/network.

 root@gena:~/iso/initrd:# vi ./etc/rc.d/rc.S
 reading ./etc/rc.d/rc.S

 wrote ./etc/rc.d/rc.S, 164 lines, 4732 chars

Вот как он стал выглядеть - rc.S

Теперь осталось только настроить сеть под наши реалии. Поднимаем eth0 и настроим маршрут:

 root@gena:~/iso/initrd:# echo /sbin/ifconfig eth0 192.168.6.148 >>
 etc/rc.d/rc.inet1
 root@gena:~/iso/initrd:# echo /sbin/route add -net 192.168.6.0 broadcast
 192.168.6.255 netmask 255.255.255.0 eth0 >> etc/rc.d/rc.inet1

Вот как он стал выглядеть - rc.inet1

Пишем скриптик создания live-cd.

 root@gena:~/iso/initrd:# cd ..
 root@gena:~/iso:# vi build-cd
 reading build-cd

 wrote build-cd, 31 lines, 769 chars

Листинг скрипта - build-cd. Задаем права и запускаем наше творение.

 root@gena:~/iso:# chmod +x build-cd
 root@gena:~/iso:# ./build-cd
 9999+0
 9999+0
 mke2fs 1.35 (28-Feb-2004)
 Filesystem label=
 OS type: Linux
 Block size=1024 (log=0)
 Fragment size=1024 (log=0)
 2512 inodes, 9996 blocks
 0 blocks (0.00%) reserved for the super user
 First data block=1
 2 block groups
 8192 blocks per group, 8192 fragments per group
 1256 inodes per group
 Superblock backups stored on blocks:
         8193

 Writing inode tables: done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 20 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
 1604+0
 1604+0
 mke2fs 1.35 (28-Feb-2004)
 Filesystem label=
 OS type: Linux
 Block size=1024 (log=0)
 Fragment size=1024 (log=0)
 200 inodes, 1604 blocks
 0 blocks (0.00%) reserved for the super user
 First data block=1
 1 block group
 8192 blocks per group, 8192 fragments per group
 200 inodes per group

 Writing inode tables: done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 38 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
 Size of boot image is 4 sectors -> No emulation
 Total translation table size: 2048
 Total rockridge attributes bytes: 960
 Total directory bytes: 2048
 Path table size(bytes): 26
 Max brk space used 5000
 2904 extents written (5 MB)

Ну вот, первый этап первого этапа завершен :)) - написан скрипт, реализующий создание загрузочного образа установочного диска с поддержкой сети и загружающегося безмолвно. Теперь этот образ можно прожечь на CD-RW и проверить. Я для этого использую VMware, поэтому в конце скрипта стоит команда копирования образа в /tmp, но можно и заболванить. Если все получилось, вы увидите в конце загрузки почти стандартный экран:


На самом деле это еще не конец. Теперь к нашему Live-CD нужно прикрутить telnet- или ssh-сервер. Решено все-же прикручивать ssh, хоть это и сложнее, зато поучительнее и безопаснее. Итак, поехали дальше ...

 root@gena:~/iso:# tar xzf /mnt/hd/slackware/n/openssh-3.8.1p1-i486-1.tgz
 -C initrd/
 root@gena:~/iso:# echo /etc/rc.d/rc.sshd start >> initrd/etc/rc.d/rc.S
 root@gena:~/iso:# cp /usr/bin/passwd initrd/usr/bin/
 root@gena:~/iso:# cd initrd/
 root@gena:~/iso/initrd:# chroot ./
 root@H:/:# /bin/sh /install/doinst.sh
 root@H:/:# rm -rf /install/
 root@H:/:# passwd
 Changing password for root
 Enter the new password (minimum of 5, maximum of 127 characters)
 Please use a combination of upper and lower case letters and numbers.
 New password:
 Re-enter new password:
 Password changed.
 root@H:/:# cat /etc/shadow
 root:$1$o08/aP6t$jeKz1v/BZW3uQl5AY2tnx0:12795:0:::::
 halt:*:9797:0:::::
 operator:*:9797:0:::::
 shutdown:*:9797:0:::::
 sync:*:9797:0:::::
 bin:*:9797:0:::::
 ftp:*:9797:0:::::
 daemon:*:9797:0:::::
 adm:*:9797:0:::::
 lp:*:9797:0:::::
 mail:*:9797:0:::::
 news:*:9797:0:::::
 uucp:*:9797:0:::::
 man:*:9797:0:::::
 games:*:9797:0:::::
 guest:*:9797:0:::::
 nobody:*:9797:0:::::
 sshd:*:9797:0:::::

После попытки запустить sshd и оказалось, что ему нужны еще некоторые библиотеки. Какие именно пришлось определять поэтапно. Ну а в сокращенном виде это так:

 root@H:/:# exit
 root@gena:~/iso/initrd:# cp -d /usr/lib/libcrypto.so* lib/
 root@gena:~/iso/initrd:# cp -d /usr/lib/libz.so* lib/
 root@gena:~/iso/initrd:# chroot ./
 root@H:/:# /etc/rc.d/rc.sshd start
 Generating public/private rsa1 key pair.
 Your identification has been saved in /etc/ssh/ssh_host_key.
 Your public key has been saved in /etc/ssh/ssh_host_key.pub.
 The key fingerprint is:
 2a:f1:a4:04:bf:00:37:a1:6f:70:e1:e3:13:d3:f9:c1 root@gena
 Generating public/private dsa key pair.
 Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
 Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
 The key fingerprint is:
 3d:04:ce:f4:c5:d3:7f:51:a4:43:29:ad:f2:7f:1b:2d root@gena
 Generating public/private rsa key pair.
 Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
 Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
 The key fingerprint is:
 73:8f:21:6e:9d:27:31:5e:69:9d:10:a6:24:4b:27:67 root@gena
 root@H:/:# exit

SSHD стартовал и при первом запуске создал ключи. Теоретически после этого можно удалить почти все исполняемые файлы из пакета openssh, кроме самого sshd. Кому критичен размер образа могут это сделать.

Если кто подумал, что это конец, то он ошибся. Дело в том, что для удаленной работы необходим еще и нормальный шелл. По крайней мере мне не удалось удаленно заставить busybox так работать, хотя может это и возможно. Короче, я добавил bash.

 root@gena:~/iso:# cd initrd/
 root@gena:~/iso/initrd:# rm -f bin/bash
 root@gena:~/iso/initrd:# cp /bin/bash bin/bash
 root@gena:~/iso/initrd:# ln -sf bin/bash bin/ash

Для нормальной работы он требует еще несколько библиотек.

 root@gena:~/iso/initrd:# cp -d /usr/lib/libhistory.so* lib/
 root@gena:~/iso/initrd:# cp -d /usr/lib/libreadline.so* lib/
 root@gena:~/iso/initrd:# cp -d /lib/libtermcap.so.2* lib/
 root@gena:~/iso/initrd:# du -hs
 9.6M    .

Теперь, при желании можно немного ужать наш образ - удалить все лишнее. Возможно, когда придет время, нужно будет завести свою машину №3, займусь, правда там только этим не отделаешься. Сейчас же осталось заново собирать все в образ.

 root@gena:~/iso/initrd:#./build-cd
 9999+0 входных записей
 9999+0 выходных записей
 mke2fs 1.35 (28-Feb-2004)
 Filesystem label=
 OS type: Linux
 Block size=1024 (log=0)
 Fragment size=1024 (log=0)
 2512 inodes, 9996 blocks
 0 blocks (0.00%) reserved for the super user
 First data block=1
 2 block groups
 8192 blocks per group, 8192 fragments per group
 1256 inodes per group
 Superblock backups stored on blocks:
         8193

 Writing inode tables: done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 20 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
 1604+0 входных записей
 1604+0 выходных записей
 mke2fs 1.35 (28-Feb-2004)
 Filesystem label=
 OS type: Linux
 Block size=1024 (log=0)
 Fragment size=1024 (log=0)
 200 inodes, 1604 blocks
 0 blocks (0.00%) reserved for the super user
 First data block=1
 1 block group
 8192 blocks per group, 8192 fragments per group
 200 inodes per group

 Writing inode tables: done
 Writing superblocks and filesystem accounting information: done

 This filesystem will be automatically checked every 22 mounts or
 180 days, whichever comes first.  Use tune2fs -c or -i to override.
 Size of boot image is 4 sectors -> No emulation
 Total translation table size: 2048
 Total rockridge attributes bytes: 960
 Total directory bytes: 2048
 Path table size(bytes): 26
 Max brk space used 5000
 3664 extents written (7 MB)

Ну и пожалуй нарежем CD-RW.
Очищаем:

 root@gena:~/iso/initrd:# cdrecord dev=ATAPI:0,1,0 blank=fast
 Cdrecord-Clone 2.01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 JЖrg Schilling
 cdrecord: Warning: Running on Linux-2.6.10
 cdrecord: There are unsettled issues with Linux-2.5 and newer.
 cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
 scsidev: 'ATAPI:0,1,0'
 devname: 'ATAPI'
 scsibus: 0 target: 1 lun: 0
 Warning: Using ATA Packet interface.
 Warning: The related Linux kernel interface code seems to be unmaintained.
 Warning: There is absolutely NO DMA, operations thus are slow.
 Using libscg version 'schily-0.8'.
 Device type    : Removable CD-ROM
 Version        : 0
 Response Format: 2
 Capabilities   :
 Vendor_info    : 'TOSHIBA '
 Identifikation : 'DVD-ROM SD-R2312'
 Revision       : '1708'
 Device seems to be: Generic mmc2 DVD-ROM.
 Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
 Driver flags   : MMC-3 SWABAUDIO BURNFREE
 Supported modes: TAO PACKET SAO R96P R96R R96R
 Starting to write CD/DVD at speed 10 in real BLANK mode for single session.
 Last chance to quit, starting real write    0 seconds. Operation starts.

Нарезаем:

 root@gena:~/iso/initrd:# cdrecord dev=ATAPI:0,1,0 ./iso.img
 cdrecord: No write mode specified.
 cdrecord: Asuming -tao mode.
 cdrecord: Future versions of cdrecord may have different drive dependent
 defaults.
 cdrecord: Continuing in 5 seconds...
 Cdrecord-Clone 2.01 (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jrg
 Schilling
 cdrecord: Warning: Running on Linux-2.6.10
 cdrecord: There are unsettled issues with Linux-2.5 and newer.
 cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
 scsidev: 'ATAPI:0,1,0'
 devname: 'ATAPI'
 scsibus: 0 target: 1 lun: 0
 Warning: Using ATA Packet interface.
 Warning: The related Linux kernel interface code seems to be unmaintained.
 Warning: There is absolutely NO DMA, operations thus are slow.
 Using libscg version 'schily-0.8'.
 Device type    : Removable CD-ROM
 Version        : 0
 Response Format: 2
 Capabilities   :
 Vendor_info    : 'TOSHIBA '
 Identifikation : 'DVD-ROM SD-R2312'
 Revision       : '1708'
 Device seems to be: Generic mmc2 DVD-ROM.
 Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
 Driver flags   : MMC-3 SWABAUDIO BURNFREE
 Supported modes: TAO PACKET SAO R96P R96R R96R
 Starting to write CD/DVD at speed 10 in real TAO mode for single session.
 Last chance to quit, starting real write    0 seconds. Operation starts.
 Turning BURN-Free off
 Track 01: Total bytes read/written: 7503872/7503872 (3664 sectors).

Вот ссылка на образ - iso.img
Ой, чуть не забыл :)) - root password: slackware

ВСЕ!
Это мне стоило 3 бессоные ночи - создание, тестирование, дебагинг, написание статьи, снова создание, дебагинг, снова написание. У меня было несколько версий, но эта оказалась золотой серединой.

Одну ночь потратил на правку конфигов, добавление sshd, настройку сети, но когда все вроде было готово, оказалось проверить не судьба - не было кроссовер-кабеля для соединения ноутбука с тестовым компьютером. Под рукой был только прямой кабель и то - неправильно обжатый. В общем, пришлось основательно поработать паяльником, но к новому году все-равно не успел :( и уехал отдыхать. Отдых не прошел даром :). Вторая ночь. Допаял. После первых удачных пингов и попытки подключиться по ssh, оказалось что работать таким образом неудобно, поэтому пришлось разбираться с настройками ssh и искать зарытую собаку (busybox). Ну и третья собственно отдана непосредственно "написанию".

Маленькое замечание. В принципе, никто вам не запрещает скопировать в ~/iso/cdimage остальные папки и файлы с первого установочного диска Slackware 10.0, а лучше Slackware-Current, загрузив с сервера обновленные пакеты (смотри Changelog.txt или вручную сравни с 10.0) хотябы ветки "a", "l" и желательно "n"; сделать полноразмерный образ (у меня получилось 623Мб) и комфортно установить дистрибутив с этого-же CD воспользовавшись setup. Я же решил пойти дальше и произвести полную установку используя NFS, но об этом в следующей статье.

А вот как выглядит Апофеоз:

 gena@gena:~:$ ssh root@192.168.6.148
 The authenticity of host '192.168.6.148 (192.168.6.148)' can't be established.
 RSA key fingerprint is 2d:fb:c4:4d:10:00:7f:06:fb:4e:db:a2:63:b3:f6:df.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added '192.168.6.148' (RSA) to the list of known hosts.
 root@192.168.6.148's password:

 Linux 2.4.26.

 If you're upgrading an existing Slackware system, you might want to
 remove old packages before you run 'setup' to install the new ones. If
 you don't, your system will still work but there might be some old files
 left laying around on your drive.

 Just mount your Linux partitions under /mnt and type 'pkgtool'. If you
 don't know how to mount your partitions, type 'pkgtool' and it will tell
 you how it's done.

 To partition your hard drive(s), use 'cfdisk' or 'fdisk'.
 To activate PCMCIA/Cardbus devices needed for installation, type 'pcmcia'.
 To activate network devices needed for installation, type 'network'.
 To start the main installation, type 'setup'.

 root@slackware:~1

Несколько слов о загрузке. Есть одна маленькая, но противная вещь - это BIOS. Может так случиться, что без монитора компьютер при включении будет пищать - мол ничего не вижу - дайте мне очки иначе я с места не сдвинусь! Еще в настройках BIOSа может быть выключена автозагрузка с CDROM или просто сначала грузится с HDD, что встречается довольно часто. Если это ваш вариант, то могу посоветовать сделать следующее. Найдите Manual к вашей материнской плате. В нем прочитайте как сбросить настройки BIOS. Обычно это замыкание перемычки, но если лень ее искать - можно просто вынуть батарейку и отверткой замкнуть в разъеме + и -, чтоб наверняка. Настройки по-умолчанию в большинстве случаев позволят загрузиться. Если это не так, то идем дальше. Открываем мануал на страницах описания BIOS. Эта часть обычно хорошо проиллюстрирована, поэтому можно вслепую попытаться "дойти" до нужных пунктов и изменить их значения. Нас интересует (обычно первый) пункт Standart CMOS... В нем нужно найти что-то похожее на Halt On ... All, But Keyboard. В разделе Advanced BIOS... (опять же обычно) располагают переключатели последовательности опробования FDD/CDROM/HDD.

Конечно врядли кто-то будет использовать эту статью по прямому назначению, ведь большинство для установки просто временно воспользуются своим монитором. Ха. Как вспомню все эти акробатические номера с перетыканием туда-сюда... обязательно улыбнусь. Самое главное здесь, по моему мнению - это опыт, ведь он бесценен. Именно за знания (информацию) платят больше всего во всех развитых странах мира. Ну а диску можно найти массу применений. Как минимум похвастаться перед друзьями собственноручно сделанным Live-CD, поместив вместо /etc/issue собственный потрясающий лейбл в ASCII графике и почистив другие описанные выше скрипты. Ну а мне больше нравятся идеи наподобие этой: заходишь в серверную под любым предлогом, пока никто не видит вставляешь болванку в сидюк сервака и жмешь reset :). Я бы на такую болванку записал скриптик, сканирующий все доступные харды на наличие всяких /etc/shadow, sam и отправляющих их куда надо через все имеющиеся сетевые интерфейсы. Главное - успеть вынуть диск до того как прибегут админы, но после того как произойдет полная загрузка linux - с момента reset около минуты (eject&&sleep 40&&reboot в конце скрипта). Интересно? Могу вас разочаровать - любой грамотный админ отключает автозагрузку с CD в BIOS!!! Эта идея просто показывает мощь данного инструмента. Уверяю, что я этого никогда не делал, не собираюсь и вам не советую.

Вот вроде бы и все. Если что-то не получилось - не обессудьте - одно из двух: или я где напортачил или вы :). Удачного вам пинга!

Продолжение следует...

З.Ы. Если кто-то это повторит - отпишите найденные неточности в форум, в раздел "Статьи", а то копи/пасте тоже не всегда срабатывает - мог и ошибиться. Об успехе тоже пишите - интересно.

15.01.05 Gena


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.linux.slackware
Отписаться

В избранное