версия 0.7, 26 января 1998
ВНИМАНИЕ: Я не знаю, работает ли IDE дисковод так же, как и подключаемый к порту принтера, поскольку у меня его нет, поэтому не спрашивайте об этом.
Часть об инсталляции Debian была просто скопирована автором с незначительными изменениями. Поэтому возможно некоторое дублирование указаний.
Этот документ предполагает следующее:
У вас есть ZIP дисковод с интерфейсом для подключения к порту принтера.
У вас уже есть установленный и работающий Linux; этот документ не предназначен для начальной установки Linux.
В ядре имеется поддержка ppa, или загружен модуль, осуществляющий эту поддержку.
Точка монтирования ZIP диска - каталог /iomega.
описывает, как подготовить ZIP диск, и является общей для дистрибутивов Red Hat и Slackware. Вторая, третья и четвертая части описывают, как установить Red Hat 4.2, Slackware 2.2 и Debian 1.2 соответственно на ZIP диск.
Примечание: Я знаю, что RedHat 5.0 вышел, но между занятиями и работой я, скорее всего, смогу поработать с ним только в конце мая. Надеюсь, что я также смогу протестировать другие дистрибутивы.
В конце концов я нашел время (хотя я должен был готовиться к экзамену по социологии...) для обновления этого документа. Спасибо всем, кто послал мне комментарии по электронной почте.
Новое в этом документе:
Дистрибутив Debian
LILO на флоппи диске
Новая версия Red Hat (4.2 Biltmore)
Сетевая конфигурация (Для Red Hat; не проверена)
Обозначает, что следующий текст это команды:
==> Обозначает примечание:
ПРИМЕЧАНИЕ:Обозначает образ экрана:
Текст.
Installation-HOWTO
SCSI-HOWTO
NET-3-HOWTO (для раздела 4.3.3)
ZIP-Drive (mini-HOWTO)
Патч ядра ParPort kernel patch (дает доступ к сквозному порту принтера) http://www.cyberelk.demon.co.uk/parport/
Раздел Slackware 2.2 создан, благодаря помощи Michael Littlejohn mike@mesa7.mesa.colorado.edu
Раздел Debian 1.2 создан, благодаря помощи John D. Blair jdblair@uab.edu
Информация по LILO и многим другим вещам внесена, благодаря помощи Darcy Boese possum@niagara.com и Javier Rodriguez jrodrigu@nextgeninter.net.mx
в этом - команда dmesg:
==> dmesg
Возможно придется использовать more, так как dmesg может быть очень длинным. Вот вырезка из моего:
02 Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0 SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB] sda: Write Protect is off sda: sda1 sda2
Если вы видите что-то типа:
scsi : 0 hosts. scsi : detected total.то у вас есть поддержка SCSI, но ZIP не был найден.
Для создания разделов на ZIP диске запустите fdisk:
==> fdisk /dev/sda/
Ниже таблица разделов, созданная мной:
Disk /dev/sda: 64 heads, 32 sectors, 96 cylinders
Units = cylinders of 2048 * 512 bytes
Я создал раздел подкачки, так как хотел иметь возможность использовать этот диск на любой машине.После выхода из fdisk создайте файловую систему на новом разделе:
==> mke2fs -c /dev/sda1
Затем подготовьте раздел подкачки (число блоков (15360) берется из fdisk-а):
==> mkswap -c /dev/sda2 15360
Ну и наконец, подключите ZIP диск:
==> mount /dev/sda1 /iomega -t ext2
ppa.
Сперва нужно настроить и собрать ядро, с включенной (не модулем) поддержкой ppa. Чтобы включить ее, включите поддержку SCSI:
SCSI support (CONFIG_SCSI) [Y/m/n/?]
Плюс поддержку SCSI дисков:
SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?]
И, наконец, в SCSI low-level drivers (низкоуровнеые драйверы SCSI), поддержку ppa:
IOMEGA Parallel Port ZIP drive SCSI support (CONFIG_SCSI_PPA) [Y/m/n/?]
ZIP дисковода для подключения принтера, так что, возможно, вы пожелаете выключить поддержку принтера, подключаемого к параллельному порту:
Parallel printer support (CONFIG_PRINTER) [N/y/m/?]
ПРИМЕЧАНИЕ: Для дополнительной информации по драйверу ppa, смотрите ZIP-Drive mini-HOWTO.
После настройки ядра соберите его:
==> make dep; make clean; make zImage
Новое ядро будет лежать в arch/i386/boot/zImage.
в раздел, описывающий создание загрузочного диска.
перечитал кучу почты об установке LILO на флоппи.
Для создания файловой системы ext2 на флоппи просто дайте ту же команду, что и для ZIP диска:
==> mke2fs -t /dev/fd0
Далее убедитесь, что существует каталог для точки монтирования, и подмонтируйте флоппи (я использовал /mnt/floppy):
==> mount /dev/fd0 /mnt/floppy -t ext2
Для правильной загрузки вам нужны будут файлы, используемые LILO на вашей текущей инсталляции Linux.
ПРИМЕЧАНИЕ: расположение файлов ниже взято с моей машины и может не совпадать с вашим.
==> cp /boot/boot.b /mnt/floppy
==> cp /boot/map /mnt/floppy
==> cp /usr/src/linux/arch/i386/boot/zImage /mnt/floppy/vmlinuzDESK
для ядра(ядер) на ZIP диске. Чтобы иметь возможность тестировать различные ядра, я использовал следующий:
label=Desktop root=/dev/sda1 read-only image=/mnt/floppy/vmlinuzDESK label=rescue root=/dev/hdc1 read-only
Наконец, не демонтируя диск, запустите LILO для его установки на флоппи командой:
==> lilo -C /mnt/floppy/lilo.conf
После успешной установки LILO на флоппи можете пропустить следующих два пункта, если вы конечно не хотите повторить то, что уже сделали :)
ПРИМЕЧАНИЕ: Этот пункт не относится к установке LILO.
Скопируйте свежесобранное ядро на флоппи-диск:
==> cp arch/i386/boot/zImage /dev/fd0
или
==> cat arch/i386/boot/zImage > /dev/fd0
Да, есть много способов скопировать ядро на флоппи-диск, но последний, мой любимый, не так очевиден. Постарайтесь не забыть >, если вы не фанат просмотра двоичных файлов :)
ПРИМЕЧАНИЕ: Этот пункт не относится к установке LILO.
Как только ядро окажется на флоппи-диске, вам понадобится указать, что корневой раздел находится на ZIP диске: ==> rdev /dev/fd0 /dev/sda1 Я не уверен, что следующая команда нужна, но я все равно ее выполнял. Для указания местонахождения раздела подкачки:
==> rdev -s /dev/fd0 /dev/sda2
новой версией RedHat, то я постараюсь обновлять его, хотя бы через версию. Что касается остальных дистрибутивов, то, если авторы не вышлют мне обновления, то все останется как есть.
Я использовал:
Ядро 2.0.30
Дисковод Iomega, подключаемый к параллельному порту
Red Hat 4.2
спрашивал об этом даже у разных ребят с Red Hat, но в конце концов начал сдаваться, и в этот момент обнаружил ключ --root утилиты rpm.
Я определил, какие пакеты нужны для инсталляции, посмотрев файл, найденный на одном из зеркал Red Hat. Он может быть найден на любом зеркале в
redhat/redhat-4.2/i386/RedHat/base/comps
по крайней мере попытаться.
могу попробовать подмонтировать мой жесткий диск и создать символьную ссылку (symbolic link) на /usr, чтобы проверить, могу ли я заставить X работать.
Ниже приводится список установленных мной пакетов, в порядке установки. Помеченные знаком * были обновлены с Red Hat. В скобках приводятся номера обновленных пакетов.
например NetKit-B-0.09-6 был обновлен на NetKit-B-0.09-8, поэтому строка будет такой: *91) NetKit-B-0.09-6 (-8)
(Список создан командой rpm --root /iomega -qa)
8) ash-0.2-8
9) at-2.9b-2 10) libtermcap-2.0.8-4
11) bash-1.14.7-1 12) bc-1.03-6
13) bdflush-1.5-5 14) cpio-2.4.2-4
15) cracklib-dicts-2.5-1 16) tmpwatch-1.2-1
17) crontabs-1.5-1 *18) db-1.85-10 (-11)
19) dev-2.5.1-1 20) diffutils-2.7-5
21) etcskel-1.3-1 22) file-3.22-5
23) fileutils-3.16-1 24) findutils-4.1-11
25) grep-2.0-5 26) groff-1.10-8
*27) ld.so-1.7.14-4 (-5) 28) getty_ps-2.0.7h-4
29) gzip-1.2.4-7 30) mingetty-0.9.4-3
*31) initscripts-2.92-1 (93-1) 32) ed-0.2-5
33) info-3.9-1 34) ncurses-1.9.9e-4
35) libg++-2.7.1.4-5 *36) pwdb-0.54-3 (-4)
37) rootfiles-1.5-1 *38) pam-0.57-2 (-4)
39) redhat-release-4.2-1 40) less-321-3
41) mount-2.5l-2 42) zlib-1.0.4-1
43) rpm-2.3.11-1 44) e2fsprogs-1.10-0
45) sysklogd-1.3-15 46) tar-1.11.8-11
47) passwd-0.50-7 48) gawk-3.0.2-1
49) gdbm-1.7.3-8 50) gpm-1.10-8
51) hdparm-3.1-2 52) kbd-0.91-9
53) slang-0.99.37-2 54) newt-0.8-1
55) kbdconfig-1.4-1 56) ncompress-4.2.4-7
*57) sh-utils-1.16-4 (-5) 58) procinfo-0.9-1
*59) logrotate-2.3-3 (4-1) 60) lilo-0.19-1
61) losetup-2.5l-2 62) linuxthreads-0.5-1
*63) mkinitrd-1.6-1 (7-1) 64) mailcap-1.0-3
*65) man-1.4h-5 (j-1) 66) mt-st-0.4-2
67) modules-2.0.0-5 68) mailx-5.5.kw-6
69) net-tools-1.32.alpha-2 70) procmail-3.10-10
71) procps-1.01-11 72) psmisc-11-4
73) quota-1.55-4 74) readline-2.0-10
75) sed-2.05-6 76) setconsole-1.0-1
77) sendmail-8.8.5-4 78) shadow-utils-960530-6
79) stat-1.5-5 80) tcsh-6.06-10
81) termcap-9.12.6-5 82) textutils-1.22-1
83) time-1.7-1 84) timeconfig-1.8-1
85) util-linux-2.5-38 86) vim-4.5-2
87) vixie-cron-3.0.1-14 88) which-1.0-5
89) zoneinfo-96i-4 90) tcp_wrappers-7.5-1
*91) NetKit-B-0.09-6 (-8) *92) lpr-0.18-1 (19-1)
*93) bind-4.9.5p1-2 (9.6-1) *94) bind-utils-4.9.5p1-2 (9.6-1)
*95) wu-ftpd-2.4.2b12-6 (b15-1) 96) anonftp-2.3-3
97) zip-2.1-1 98) unzip-5.12-5
99) statserial-1.1-7 100) minicom-1.75-2
101) lrzsz-0.12.14-1 102) dip-3.3.7o-9
103) ppp-2.2.0f-3 104) portmap-4.0-3
105) perl-5.003-8 *106) traceroute-1.0.4.4bsd-2 (1.4a5-1)
*107) elm-2.4.25-7 (-8) 108) lynx-2.6-2
109) ncftp-2.3.0-5 110) pine-3.95-2
111) rdate-0.960923-1 112) apache-1.1.3-3
*113) nfs-server-2.2beta16-7 *114) nfs-server-clients-2.2beta16-7
(2.2beta16-8) (2.2beta16-8)
После установки вышеприведенного списка у меня осталось свободными 32 МБ!выпускает обновления пакетов. Я обновил те пакеты, для которых имелись обновления, они отмечены в списке. Страничка Red Hat с информацией по обновлениям пакетов:
http://www.redhat.com/support/docs/rhl/rh42-errata-general.html
ПРИМЕЧАНИЕ: Перед обновлением пакетов нужно запустить ldconfig, как описано в разделе 3.3.1.1.
При использовании rpm для указания подмонтированных каталогов в качестве корня для установки, используйте ключ --root. Я обнаружил, что многие пакеты не устанавливаются, так их пред- или послеустановочные скрипты неправильно работали из-за смены корневого каталога, поэтому используем ключ --noscripts:
==> rpm --root /iomega -i --noscripts PACKAGE.i386.rpm
Как многие заметят, вы должны будете получить сообщение типа:
failed to open /iomega/var/lib/rpm/packages.rpm error: cannot open /iomega/var/lib/rpm/packages.rpmПросто создайте каталог var/lib/rpm :)
==> mkdir /iomega/var; mkdir /iomega/var/lib; mkdir /iomega/var/lib/rpm
Если кто-нибудь пробовал установить pamconfig, то он заметил, что этот пакет жалуется на отсутствие установленного pam; pam в свою очередь при попытке установки жалуется на отсутствие установленного pamconfig! Этот вопрос о яйце и курице, над которым я поломал голову некоторе время, решается с помощью ключа --nodeps - мы можем заставить pamconfig поставиться; pam зависит не только от pamconfig.
==> rpm --root /iomega -i --nodeps --noscripts pamconfig-0.51-2
После того, как все замечательно установилось, диск все же не является рабочим. Я хочу сказать, что если вы попытаетесь загрузиться с дискеты, то далеко не уйдете. Как только init попытается запуститься, вы получите две замечательных ошибки - обе об отсутствии необходимых файлов, которые были бы найдены, если бы при установке пакетов запускались скрипты.
Если вы пытались загрузиться, то получали две ошибки, первую об отсутствии файла /etc/ld.so.cache, вторую об отстутстуии libc.so.5.
Как указали многие читатели, мои прошлые указания не работали не совсем так, как мне хотелось. Чтобы этот файл создался, вам нужно запустить ldconfig с подмонтированным ZIP диском:
==> chroot /iomega /sbin/ldconfig
Благодарю Javier Rodriguez за это решение.
Для решения проблемы отсутствия библиотеки вам нужно создать символьную ссылку (symlink), которая была бы создана автоматически при выполнении установочных скриптов.
==> cd /iomega/lib; ln -s libc.so.5.3.12 libc.so.5
Благодарю Darcy Boese за это решение.
Точно так же, как был запущен ldconfig, вы можете запустить passwd для смены пароля root в новой системе:
==> chroot /iomega passwd root
ПРИМЕЧАНИЕ: Это очень краткая настройка, которую я не имел возможности проверить. Теоретически она должна работать, но не жалуйтесь, пожалуйста, если она не работает.
какие файлы создаются при работе программы установки. Большиство этих файлов необходимо для работы в сети, но даже если у вас нет сетевой карты, можно использовать localhost для поддержки сети (плюс apache будет ругаться, что он не может определить имя хоста.) Список файлов:
/etc/hosts
/etc/HOSTNAME
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
(or any other network device you may have.)
При создании этого документа я хотел получить поддержку для моей сетевой карты 3Com 3c595 (которая последние семь месяцев стоит на другой машине.)
Во-первых, мне нужно было имя, и, так как у меня работает свой собственный сервер имен (name server) (но это уже другая история), я придумал себе имя: dash-dot.wig.org (мне нравится как это звучит). Имя без IP адреса бесполезно, и я взял адрес из подсети 192.168.10.0, зарезервированной для использования вне сети Internet, и поддерживаемой моим сервером имен. Хотя имя машины (hostname) обычно лежит в /etc/HOSTNAME, Red Hat также проверяет /etc/sysconfig/network, так что давайте начнем отсюда. Пример моего /etc/sysconfig/network:
NETWORKING=yes HOSTNAME=dash-dot DOMAINNAME=wig.org GATEWAY= GATEWAYDEV=eth0 NS1=192.168.10.7Затем, в общем случае, копируем ту же информацию в /etc/HOSTNAME, /etc/resolv.conf и /etc/hosts:
/etc/HOSTNAME:
dash-dot.wig.org
/etc/resolv.conf:
search wig.org nameserver ns.wig.org
/etc/hosts:
127.0.0.1 localhost 192.168.10.99 dash-dot.wig.org dash-dot 192.168.10.7 ns.wig.org nsRed Hat настраивает все сетевые устройства с помощью скриптов, лежащих в /etc/sysconfig/network-scripts. Настройка скриптов обычно производится программой установки, поэтому мне придется делать все это вручную. Все они начинаются с ifcfg-XXX, где XXX - сетевой интерфейс, поднимаемый ifconfig; например ppp0, eth0 и т.п. В частности я создал файл ifcfg-eth0 со следующим содержимым:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=none BROADCAST=192.168.10.255 NETWORK=192.168.10.0 NETMASK=255.255.255.0 IPADDR=192.168.10.99И последнее. Чтобы проверить правильность настройки, пока мы находимся в каталоге /etc/sysconfig/network-scripts, запустите:
==> ./ifup ifcfg-eth0 boot
Эта команда выполняет скрипт, поднимающий сетевой интерфейс, настроенный на запуск при загрузке системы.
Для дополнительной информации смотрите документ NET-3-HOWTO.
ПРИМЕЧАНИЕ: Эта часть не обновлялась.
ZIP диск и дисковод (естественно)
Ядро с поддержкой ZIP
ZIP Howto (рекомендуется)
Форматированный 1.44" HD флоппи диск
1 - 2 часа свободного времени
Итак, сначала самая веселая часть: определение списка файлов, необходимых для системного диска и пакетов, которые вы хотите установить (если влезут) на ZIP диск.
Я решил, что простейший способ - это установить Slackware непостредственно на ZIP диск. Я решил воспользоваться этим подходом в основном из-за того, что дистрибутив Slackware меньше размером, чем Red Hat, и мне проще будет отсечь то, что не нужно. И тот факт, что я пользуюсь дистрибутивом Slackware, сделал этот выбор явным.
Установка Slackware на ZIP дис довольно проста - запустите root-ом программу установки, выберите в качестве цели установки раздел /iomega, а в качестве источника - местоположение дистрибутива Slackware (cdrom, жесткий диск и т.п.), и следуйте указаниям.
Самая сложная часть - определение того, что вам нужно, а что нет. Обязательно понадобиться часть 'A' (около 8 мб), остальное на ваше усмотрение.
Я постарался обрезать дистрибутив Slackware до приемлемого размера в 70 мб. При этом в него вошли gcc/g++, perl, X11R6 (НЕ ПОЛНОСТЬЮ!), sendmail, документация (без руководства по разработке программ, но со всеми howto), и набор других нужных мне вещей. На файлы пользователей осталось около 10 мб. YMMV
(Общая для дистрибутивов Red Hat и Slackware)
Последнее, что нужно сделать до перезагрузки - создать файл fstab. Вот что по минимуму должно быть в /iomega/etc/fstab:
/dev/sda1 / ext2 defaults 1 1 /dev/sda2 none swap sw none /proc proc defaults 1 1Сохраните файл, презагрузитесь с созданного загрузочного диска и наслаждайтесь!
(Особо благодарю Mike за напоминание об этой очень важной части - John)
ПРИМЕЧАНИЕ: Автор этой части послал мне ее в 11 июня 1997 г.
ZIP дисковод, подключаемый к параллельному порту и диск.
2 чистых 1.44 флоппи диска
Полный набор установочных дисков Debian. (загляните в документацию по установке Debian, если забыли? как это сделать)
Несколько часов свободного времени
этот диск для установки базовой части Debian. После окончания установки базовой части можно запустить систему с загрузочного диска и закончить установку с помощью dselect. Для того, чтобы воспользоваться этим способом, вам понадобится два ядра - одно с поддержкой параллельного порта и RAM диска, второе без поддержки RAM диска.
Если пожелаете, можете пропустить раздел 2 и дать программе установки Debian отформатировать ZIP диск.
Аварийный диск Debian - это загрузочный диск типа SYSLINUX. Он создается на отформатированном в формате MS-DOS флоппи диске со специальным загрузчиком, предотвращающим загрузку MS-DOS. Такой диск очень легко править для создания своей собственной конфигурации загрузки. Пакет 'boot-floppies' Debian содержит набор скриптов для облегчения создания загрузочных дисков. Впрочем, создать диск настолько просто, что я предпочел сделать все вручную. Это немного расходится с философией Debian, но я выше этого :). Краткие указания вы можете найти в файле 'readme.txt' на аварийном диске.
Если вы забыли, как это делается, загляните в документацию по установке Debian.
fat, minix, ext2fs и procfs.
Настройте модули, которые вы желаете видеть в системе, устанавливаемой на ZIP диск.
Соберите ядро:
==> make dep; make clean
==> make bzImage
Соберите модули:
==> make modules
Установим их попозже.
ПРИМЕЧАНИЕ: Убедитесь в том, что вы дали команду 'make bzImage', а не 'make zImage'.
==> fdmount fd0
или
==> mount /dev/fd0 /mnt
или
==> whatever :)
Скопируйте ядро (на платформах i386 оно лежит в каталоге arch/i386/boot/bzImage) в 'linux' на флоппи диске.
Откройте файл 'rdev.sh' с аварийного диска вашим любимым редактором. Измените последнюю строку с
'rdev /mnt/linux /dev/ram0'на:
'rdev /mnt/linux /dev/sda1'
Кроме того, везде, где встречается /mnt/linux, замените его на соответствующий путь. Например, я подключаю мои флоппи диски в /fd0, поэтому меняю /mnt/linux на /fd0/linux.
установку, как если бы ставили систему на жесткий диск, только подключите в качстве корневой файловой системы /dev/sda1, а в качестве раздела подкачки - /dev/sda2.
Есть еще одно отклонение от стандартного процесса установки - не устанавливайте и/или не настраивайте подгружаемые модули. Они будут установлены позже (пункт 7.3.2).
Создание загрузочного диска описано в пунктах 3.3.1 и 3.3.2. Если хотите, можете просто выбрать пункт "Create Boot Disk" ("Создать загрузочный диск") во время установки Debian. Мне больше нравится второй способ, так как в этом случае я получаю еще один SYSLINUX диск. Я могу добавить параметры загрузки ядра и изменить приветствие (greeting message), описав в нем, что это за диск. Можно даже назначить функциональные клавиши для просмотра справки. Позже вы можете пересобрать ядро и убрать поддержку RAM-диска, изменив диск вручную. Выбор за вами.
Вставьте загрузочный диск в дисковод и выберите пункт 'Reboot' (перезагрузка) в меню программы установки.
После перезагрузки вы получите работающую (хоть и медленно) с ZIP диска базовую часть системы Debian. Продолжайте установку, как обычно. Я ставил все стандартные утилиты UNIX, документацию, make, gcc, библиотеки, и различные полезные утилиты для работы с файлами. В результате я получал мощную систему аварийной загрузки, с помощью которой мог восстанавливать любые системы в нашем отделе.
ПРИМЕЧАНИЕ: Для следующего пункта вам понадобится установить 'make'.
Если вы установили make, то можете подключить раздел жесткого диска с собранным ядром, перейти в нужный каталог и выполнить команду 'make modules_install'. Пример:
==> mount /dev/hda2 /mnt
==> cd /mnt/usr/src/linux
==> make modules_install
ПРИМЕЧАНИЕ: Вам не нужно править /etc/fstab (как в пункте 5). Программа установки Debian уже позаботилась об этом.
Уффф. После того как я записал 31 ZIP диск и ZIP дисковод полностью посадил батарейки, я решил: следующее, что я попытаюсь сделать - заставить работать pcmcia на моем лэптопе.
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: <linux-howto@metalab.unc.edu> или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу <linux-howto@asplinux.ru>
| Главная |