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

KirovLUG: пользователи Linux в Вятке

За 2003-09-23

RE: Чтиво: установка сервера часть 011

> Помните, я говорил про список текущих установленных
> пакетов на для
> "пользовательского" выбора пакетов при установке
> системы? Так вот,
> существует уже готовый список в /var/log/rpmpkgs - можно
> смело его
> копировать на дискету.

Для debian
dpkg --get-selections | awk '$2 ~ /install/ {print $1}'

А вообще:

To make a local copy of the package selection states:
dpkg --get-selections >myselections

You might transfer this file to another computer, and install it there
with:
dpkg --set-selections <myselections
Note that this will not actually install or remove anything, but just
set the selection state on the requested packages. You will need
some other application to actually download and install the requested
packages.

> И еще дискета не обязательно может быть
> отформатированиа под ext2
> файловую систему - ее можно так и оставить в "привычном"
> формате FAT ;)

Если это было надо для автоматической инсталляции машин, то:

Package: fai
Priority: extra
Section: admin
Installed-Size: 1416
Maintainer: Thomas Lange <lan***@d*****.org>
Architecture: all
Version: 2.3.1
Depends: perl5, nfs-server, debootstrap
Recommends: fai-kernels, netboot, bootp | dhcp, tftpd, rsh-server, wget
Suggests: ssh
Filename: pool/main/f/fai/fai_2.3.1_all.deb
Size: 403768
MD5Sum: 818bb3ac0d8d52d6cba89887b06b7acd
Description: Fully Automatic Installation
FAI is a non interactive system to install a Debian Linux operating
system on a PC cluster. You can take one or more virgin PCs, turn on
the power and after a few minutes Linux is installed, configured and
running on the whole cluster, without any interaction necessary.
Homepage: http://www.informatik.uni-koeln.de/fai

Package: replicator
Priority: optional
Section: admin
Installed-Size: 428
Maintainer: SИbastien Chaumat <schaum***@d*****.org>
Architecture: i386
Version: 2.1.0
Depends: rsync (>= 2.3.2), perl, wget, dialog, nfs-server, grub
Filename: pool/main/r/replicator/replicator_2.1.0_i386.deb
Size: 120210
MD5Sum: 5cafd6230e0f4b3cca7ba6d532d9c83f
Description: automate new computer installations in a networked site.
Using a nfs-root filesystem and rsync, replicator allow
you to non-interactively install a target computer
identical to the model computer. It can handle differences
in partitioning and hardware.
.
Designed for clusters, classrooms and wherever you need
identical Debian boxes.
.
It's REALLY faster than normal Debian installation method.

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

Чтиво: установка сервера часть 016

При конфигурировании ядра я отключил все usb-устройства - ну нет их у
меня на настоящем сервере, а на временном есть. Поэтому при
перезагрузке система ругнулась на это - она хотела подключать модули,
которых не существует. Аналогичное произошло с "Intel IA32 Microcode".

Сначала разберемся с usb.
Подключение модулей пытается выполнить скрипт /etc/rc.d/rc.sysinit.
Взглянем на него:
$ su
$ cat /etc/rc.d/rc.sysinit | less
Пролистаем его до строчки "# Initialize USB controller and HID
devices". Что мы видим ниже?
if ! LC_ALL=C grep -iq "nousb" /proc/cmdline 2>/dev/null && ! LC_ALL=C grep -q
"usb" /proc/devices 2>/dev/null ; then
aliases=`/sbin/modprobe -c | awk '/^alias usb-controller/ { print $3 }'`
if [ -n "$aliases" -a "$aliases" != "off" ]; then
и т.д.
"! LC_ALL=C grep -iq "nousb" /proc/cmdline 2>/dev/null" обозначает:
"если среди параметров переданных в командной строке при выборе ядра
нет "nousb", то ...". Вообщем ясно, надо предавать параметр. Все время
вводить в ручную я не хочу, поэтому заставим загрузчик автоматически
указывать данный параметр. Для этого опять отредактируем
/etc/lilo.conf.
$ mcedit /etc/lilo.conf

В разделе описания параметров для нового ядра нужно добавить строчку: "append="nousb".
Теперь секция будет выглядеть следующим образом:
# MyLinux
image=/boot/vmlinuz-2.4.22-01koal
label=newlinux
root=/dev/hda6
append="nousb"
read-only
В конце, обязательно, применяем выбранные изменения
$ /sbin/lilo

С "Intel IA32 Microcode" разобраться проще. За инициализацию отвечает
запускаемый сервис microcode_ctl. Его можно отключить через
/usr/sbin/setup, либо руками через /sbin/chkconfig:
$ /sbin/chkconfig --list microcode_ctl
$ /sbin/chkconfig --level 0123456 microcode_ctl off

Для проверки опять перезагружаем компьютер:
$ /sbin/shutdown -r now

C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   Kolotov Alexandr 2003-09-23 14:24:45 (#3476)

Чтиво: установка сервера часть 015

Перед началом компилирования ядра я взял и скопировал старый .config,
который использовался для компиляции ядра действующего сервера. Он
находился в исходниках ядра - для моей системы
/usr/src/linux-2.4.9-33/.config. На новый сервер я его скопировал с
помощью psftp.exe в /home/koal/files.

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

Переместим .config в каталог с новыми исходниками:
$ cd files
$ su
$ cp .config /usr/src/linux
$ cd /usr/src/linux/
Теперь нужно выбрать, что необходимо для нового ядра, а что нет - так
называемые, опции конфигурирования.
$ make menuconfig
Появляется интерфейс для конфигурирования (для любителей черного экрана
и ненавистников gui существет возможность конфигурирования: make
config, для любителей компилирования ядра в Х-ах: make xconfig)
Дальше следует выбрать необходимое. Конкретных рекомендаций я дать не
могу. На эту тему написано много русскоязычной документации:
http://www.opennet.ru/base/sys/KERNEL.TXT
http://linuxshop.ru/unix4all/?cid=&id=238
http://lib.ru/LINUXGUIDE/linuxcon.txt
http://www.softerra.ru/review/oses/linux/12340/
Я же отключаю все устройства, которые мне на сервере не нужны и точно
стоять не будут. Особое внимание уделяю настрйке "Networking options" и
"Network device support". Когда конфигурирование закончено сохраняюсь
как в алтернативный файл (из соответствующей опции), так и в
станадртный (при выходе). Конфигуратор при выходе рекомендует мне
следующим действием запустить "make dep". Это стадия проверки
зависимостей между выбранными опциями. Но для начала "отличим" новое
ядро, сделаем его "своим". Для этого в mcdedit откроем файлик Makefile,
предварительно сделав его резервную копию:
$ cp Makefile Makefile.bak
$ mcedit Makefile
Теперь в строке "EXTRAVERSION=", напишем, чем это ядро будет отличаться
от других:
EXTRAVERSION=-01koal
Ну теперь можно продолжить:
$ make dep
У меня эта операция заняла 4 минуты. Если ядро из этих исходников
компилируется не в первый раз, то необходимо выполнить
$ make clean
Теперь приступим к компиляции самого ядра:
$ make bzImage
Это длительный процесс: на моей дохленькой машинке Celeron 433, 192 Мб:
865 BogoMIPS, он длился с 11 час. 12 мин. 50 сек. по 11 час. 24 мин. 20
сек. - почти 12 минут. Теперь нужно скомпилировать и установить модули
ядра:
$ make modules && make modules_install

***********************************************************************
Пока компилируются модули я расскажу, где можно посмотреть, какие
BogoMIPS у системы: для этого нужно посмотреть журнал сообщений при
загрузке
$ dmesg | less
Интересующие нас данные находятся в строчке
Calibrating delay loop... 865.07 BogoMIPS
BogoMIPS - это условные "попугаи" производительности системы.
***********************************************************************

Так, модули тоже скомпилировались. Процесс начался в 11 час. 30 мин. 30
сек. и кончился в 11 час. 42 мин. 20 сек. Таким образом тоже потратив
примерно 12 минут.

Чтобы инсталятор прописал ядро в системе, можно использовать "make
install".
$ make install
Что меня больше всего заинтересовало после выполнения этой команды? Это
строчки которые показывают размер получившегося ядра:
Boot sector 512 bytes.
Setup is 2522 bytes.
System is 718 kB
А также зайдем в каталог /boot и сравним там существующие ядра - старое
и новое:
$ cd /boot/
$ ls -l vmlinuz-*
-rw-r--r-- 1 root root 1126431 Апр 29 23:43 vmlinuz-2.4.20-9asp
-rw-r--r-- 1 root root 738490 Сен 23 11:43 vmlinuz-2.4.22-01koal
Как видно, новое ядро значительно меньше старого.

Теперь нужно изменить зарузчик, так чтобы он грузил новое ядро по
умолчанию.
$ mcedit /etc/lilo.conf
Я привожу получившийся /etc/lilo.conf
disk=/dev/hda
bios=128

boot=/dev/hda
prompt
timeout=30
lba32
default=newlinux

# ASPLinux
image=/boot/vmlinuz-2.4.20-9asp
#initrd=/boot/initrd.2.4.20-9asp.img
label=oldlinux
root=/dev/hda6
read-only

# MyLinux
image=/boot/vmlinuz-2.4.22-01koal
label=newlinux
root=/dev/hda6
read-only
применим сделанные изменения:
$ /sbin/lilo -v -v

Еще можно сохранить файл текущей конфигурации ядра в более безопасное
место:
$ cp /usr/src/linux/config_20030923 /boot/config_koal_20030923

Все. По-идее можно перезагружаться:
$ reboot

C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   Kolotov Alexandr 2003-09-23 12:28:02 (#3436)

Напоминание

Хочу напомнить, что данная рассылка является дискуссионной, поэтому
сюда можно писать по адресу comp.soft.linux.kirovlug-list@subscribe.ru

C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru

   Kolotov Alexandr 2003-09-23 08:56:45 (#3335)