В.А.Костромин |
Какой бы из дистрибутивов Линукс мы ни взяли, будь то Red Hat, Caldera, Slackware или Debian, он занимает на установочном CD-ROM сотни мегабайт. И в ходе стандартной процедуры инсталляции устанавливается не только сама операционная система, но еще и масса разнообразного программного обеспечения, покрывающего практически все потребности некоего "среднего" пользователя. Только каждый из нас, устанавливающих на своем персональном компьютере ОС Линукс, сильно отличается от того понятия о среднем пользователе, который, по-видимому, имеется у разработчиков дистрибутивов. Ладно еще, если у Вас диск немерянной емкости. А мне пришлось недавно устанавливать Линукс на диск объемом чуть больше 400 Мегабайт и лишнее ПО стало просто проблемой. Тогда я и занялся экспериментами по установке Линукс на маленький диск. Результатами этих экспериментов я и хочу поделиться в этой статье.
Сначала расскажу о том, как мне удалось установить Линукс на маленький диск, а потом уж попытаюсь сделать кой-какие выводы, исходя из полученного опыта.
Disk /dev/sda: 259 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 * 0+ 63 64- 514048+ 6 FAT16 /dev/sda2 64 258 195 1566337+ 5 Extended /dev/sda3 0 - 0 0 0 Empty /dev/sda4 0 - 0 0 0 Empty /dev/sda5 64+ 122 59- 473886 83 Linux /dev/sda6 128 258 131 1052257+ 7 HPFS/NTFS /dev/sda7 123+ 127- 5- 40099+ 82 Linux swap
Надо сказать, что я хотел установить среду KDE, к которой к тому времени уже привык и которая мне нравится больше, чем GNOME. В начале процедуры инсталляции я выбрал варианты "Офис" (требуется 927 МБ, у меня имеется 462) и "Выборочная установка" и начал выбирать отдельные пакеты. Поскольку места в Linux-разделе у меня мало, это был очень длительный процесс. Я задавал некоторую совокупность пакетов, инсталлятор сообщал, что надо дополнительно установить еще что-то, а после того, как я разрешал установить те пакеты, которые нужны для выбранных, оказывалось, что места на диске недостаточно, и приходилось снова возвращаться к выбору пакетов.
После первых неудачных попыток уложиться в выделенное пространство я отключил вообще все, что посчитал возможным, включая многие пакеты в группе Base и KDE (решив, что все необходимое программа установки должна выбрать сама). В результате в обьем вроде бы влез, но тик в тик. Вся эта возня с выбором пакетов заняла, однако, часа 3. Однако, хотя программа установки и сообщила перед началом инсталляции пакетов, что места хватает, сам процесс установки завершился сообщением, что места все же не достаточно.
Начал снова. На сей раз с целью сокращения времени на выбор пакетов сразу отключил вообще все группы полностью, включая Base и X, оставил только KDE (решив, что все необходимое программа установки должна выбрать сама).
После разрешения зависимостей пересмотрел состав устанавливаемых пакетов и решил, что надо добавить:
в Base: dev console-tools findutils groff gzip kernel less man mount net-tools tar lilo linuxconf util-linux в DOS /Windows Connectivity samba-client в Development make man-pages texinfo в Networked Workstation ftp Netscape-Communicator telnet в X-Windows - фонты Koi8-R и cyrillic - freetype и в KDE добавил KDE-office
(Кстати, совершенно непонятно, почему kernel не подключается при разрешении зависимостей, что ядро не нужно ни одному из пакетов?).
Пошла подготовка диска. Потом программа сообщила, что места на диске недостаточно (хотя по сообщению при выборе пакетов - хватало).
Начинаем заново. Снова провел уже описанную процедуру выбора пакетов через выключение всего, кроме KDE, и разрешения зависимостей. Добился того, что требуется 412 Мб на диске. На этот раз, хотя установка завершилась вроде бы успешно, но при перезагрузке появилось сообщение:
"Ошибка установки загрузчика Ошибка привязки загрузчика ОК"
Снова запустил установку ASPLinux. На этот раз выбрал вариант вообще без X Window (и, естественно, уже никаких KDE). При разрешении зависимостей кому-то потребовались фонты для X, но установка ASP Loader прошла в целом успешно. И загрузка тоже. В текстовом режиме, естественно. Получаем командную строку.
Тут я решил проанализировать, какие пакеты оказались установлены в результате. Запустил команду
[root]# rpm -qa > installed-rpm.txtПросмотр файла installed-rpm.txt показал, что были установлены пакеты
AbiSuite XFree86-SVGA aalib gimpи много чего еще, чего я не заказывал, и что не было обусловлено необходимостью разрешения взаимозависимостей.
Я занялся удалением лишних пакетов и мне удалось без ущерба для работоспособности системы удалить уже упомянутые и еще следующие пакеты:
kernel-smp kernel-pcmcia gimp-perl gnome-print gpgp gdk-pixbuf libunicode bc db2 sendmailТаким образом я довел объем занимаемого пространства на диске до 227 МБ. Уверен, что при более тщательном отборе пакетов можно добиться того, что минимальная конфигурация Линукс для консольного режима работы поместится на 200 или даже 100 МБ.
Поскольку мне все же хотелось получить не только текстовый, но и графический режим, я вынужден был вернуться к дистрибутиву Red Hat 6.2 Cyryllic Edition. Но, после описанных Выше злоключений с установкой ASPLinux (который мне все же больше нравится, потому что использует уже 4-ую версию X Window и новую версию KDE, так что я с нетерпением жду выхода финальной версии) я после установки решил провести удаление тех пакетов, которые мне были не нужны. Вот список тех пакетов, которые в результате остались в моей системе:
setup-2.1.8-1 filesystem-1.3.5-1 basesystem-6.0-4 ldconfig-1.9.5-16 XFree86-SVGA-3.3.5-3bc glibc-2.1.3-15 shadow-utils-19990827-10 mktemp-1.5-2 termcap-10.2.7-9 libtermcap-2.0.8-20 bash-1.14.7-22 MAKEDEV-2.5.2-1 Mesa-3.2-2 ncurses-5.0-11 info-4.0-5 ORBit-0.5.0-3 SysVinit-2.78-5 X11R6-contrib-3.3.2-11 chkconfig-1.1.2-1 fileutils-4.0-21 utempter-0.5.2-2 XFree86-3.3.6-20 gawk-3.0.4-2 textutils-2.0a-2 cracklib-2.7-5 cracklib-dicts-2.7-5 pwdb-0.61-0 mingetty-0.9.4-11 sed-3.02-6 e2fsprogs-1.18-5 console-tools-19990829-10 procps-2.0.6-5 vixie-cron-3.0.1-40 modutils-2.3.9-6 popt-1.5-0.48 logrotate-3.3.2-1 sysklogd-1.3.31-16 psmisc-19-2 which-2.9-2 initscripts-5.00-1 glib-1.2.6-3 pam-0.72-6 sh-utils-2.0-5 bzip2-0.9.5d-2 zlib-1.1.3-6 rpm-3.0.4-0.48 grep-2.4-3 XFree86-libs-3.3.6-20 XFree86-xfs-3.3.6-20 chkfontpath-1.7-2 XFree86-75dpi-fonts-3.3.6-20 XFree86-cyrillic-fonts-3.3.6-20 ed-0.2-13 XFree86-cyrillic-fonts-collection-75dpi-0.1-2 XFree86-cyrillic-fonts-cronyx-75dpi-0.1-3 Xaw3d-1.3-21 Xconfigurator-4.3.5-1 anacron-2.1-6 ash-0.2-20 at-3.1.7-14 audiofile-0.1.9-3 authconfig-3.0.3-1 autorun-2.61-1 bdflush-1.5-11 bind-utils-8.2.2_P5-9 binutils-2.9.5.0.22-6 control-panel-3.13-1 crontabs-1.7-7 dev-2.7.18-3 diffutils-2.7-17 esound-0.2.17-2 etcskel-2.3-1 findutils-4.1-34 freetype-1.3.1-5 ftp-0.16-3 fvwm2-2.2.4-4 fvwm2-icons-2.2.4-4 gd-1.3-6 gdbm-1.8.0-3 getty_ps-2.0.7j-9 ghostscript-5.50-1 ghostscript-fonts-5.50-1 gimp-1.0.4-7 gimp-libgimp-1.0.4-7 glib10-1.0.6-6 gmp-2.0.2-13 gnome-audio-1.0.0-8 gnome-libs-1.0.55-12 gpm-1.19.1-1 groff-1.15-8 groff-perl-1.15-8 gtk+-1.2.6-7 gtk+10-1.0.6-6 gv-3.5.8-9 gzip-1.2.4a-2 hdparm-3.6-4 helptool-2.4-9 imlib-1.9.7-3 indexhtml-6.2-1 ispell-3.1.20-25 kbdconfig-1.9.2.4-1 kdeadmin-1.1.2-6 kdebase-1.1.2-33 kdebase-lowcolor-icons-1.1.2-33 kdegraphics-1.1.2-3 kdelibs-1.1.2-15 kdemultimedia-1.1.2-7 kdenetwork-1.1.2-13 kdesupport-1.1.2-12 kdeutils-1.1.2-4 kernel-2.2.14-6.1.1 kernel-utils-2.2.14-6.1.1 kernelcfg-0.5-5 korganizer-1.1.2-3 kpackage-1.3.10-3 kudzu-0.36-2 ld.so-1.9.5-13 less-346-2 libc-5.3.12-31 libgr-2.0.13-23 libgr-progs-2.0.13-23 libjpeg-6b-10 libpng-1.0.5-3 libstdc++-2.9.0-30 libtiff-3.5.4-5 libungif-4.1.0-4 libxml-1.8.6-2 lilo-0.21-15 redhat-release-6.2-1 linuxconf-1.17r2-6 losetup-2.10f-1 lpr-0.50-4 lynx-2.8.3-2 mailcap-2.0.6-1 man-1.5h1-1 mkbootdisk-1.2.5-3 mkinitrd-2.4.1-2 mkxauth-1.7-12 mount-2.10f-1 mouseconfig-4.4-1 mpage-2.4-8 mtools-3.9.6-3 net-tools-1.54-4 netcfg-2.25-1 netscape-common-4.72-6 netscape-communicator-4.72-6 newt-0.50.8-2 nfs-utils-0.1.6-2 ntsysv-1.1.2-1 passwd-0.64.1-1 patch-2.5-10 perl-5.00503-10 pidentd-3.0.10-5 pnm2ppa-0.8.9pre1-1 portmap-4.0-19 post-rhinstall-cyr-0.2-7 printtool-3.44-1 pygtk-0.6.4-1 python-1.5.2-13 pythonlib-1.23-1 qt1x-1.45-3 readline-2.2.1-6 rhs-printfilters-1.63-1 rootfiles-5.2-5 rsh-0.16-12 rxvt-2.6.1-8 samba-client-2.0.6-9 samba-common-2.0.6-9 sash-3.4-2 screen-3.9.5-4 sendmail-8.9.3-20 setserial-2.15-3 setuptool-1.2-5 slang-1.2.2-5 tar-1.13.17-3 tcl-8.0.5-35 tclx-8.0.5-35 tcsh-6.09-4 telnet-0.16-6 time-1.7-9 timeconfig-3.0.3-2 timetool-2.7.3-1 tix-4.1.0.6-35 tk-8.0.5-35 tkinter-1.5.2-13 tksysv-1.1-3 tmpwatch-2.2-1 unzip-5.40-2 urw-fonts-2.0-4 usermode-1.20-1 util-linux-2.10f-7 wmconfig-0.9.8-1 words-2-12 xinitrc-2.9-1 xpaint-2.4.9-10 xpdf-0.90-4 xpm-3.4k-2 zip-2.3-4 mc-4.5.42-10Как сообщает команда df, в совокупности все перечисленные пакеты занимают на диске чуть больше 300 МБ:
Filesystem 1k-blocks Used Available Use% Mounted on /dev/sda5 458894 307308 127892 71% /Я уверен, что и это еще далеко не предел, поскольку я оставил в системе такие пакеты, как Netscape, lynx, xpaint, samba, telnet и другие, которые не являются абсолютно необходимыми для работы на изолированном компьютере. Не говоря уже о том, что интегрированная графическая среда KDE не является минимально необходимым вариантом интерфейса пользователя для графического режима.
2. Хотя и говорится во многих статьях, что одно из достоинств ОС Линукс заключается в свободе выбора для пользователя, разработчики процедур инсталляции (хоть выше речь шла только об ASPLinux, но то же самое относится и к Red Hat 6.2, и к Black Cat 6.2) сильно ограничивают свободу выбора на этапе установки. Не знаю, прочитают ли они этот мой материал, но очень хотелось бы среди вариантов установки видеть два дополнительных варианта: "Минимальная конфигурация для текстового (консольного) режима" и "Минимальная конфигурация для графического режима". Это позволит не только устанавливать Линукс на маленькие диски, но и расширит возможности формирования именно той конфигурации системы, которая нужна конкретному, а не абстрактному "среднему" пользователю.
3. Развивая дальше только что сформулированное предложение, можно рассмотреть
целесообразность следующего примерного алгоритма проведения инсталляциии
системы.
Сначала задать вопрос: "Будете устанавливать систему в текстовом
режиме или в графическом режиме?". После ответа на этот вопрос предложить
следующие варианты:
4. А пока разработчики дистрибутивов ставят Вам все, что им взбредет в
голову, имеет смысл после инсталляции системы пересмотреть состав установленных
пакетов с помощью команды rpm -qa и удалить те пакеты, которые Вам вообще
не нужны, или которые Вы пока не предполагаете использовать. Это позволит Вам
примерно вдвое сократить объем дискового пространства, занимаемого Вашей
системой. А если в будущем потребуется какой-то пакет, его не трудно будет
поставить заново с Вашего дистрибутивного CD-ROM.
Конечно, начинающий
пользователь не всегда может воспользоваться этим советом просто потому, что по
названиям rpm-пакетов трудно понять, когда и зачем этот пакет нужен. На этот
случай я могу порекомендовать (по крайней мере пользователям Red Hat и его
клонов) приобрести книгу
Red Hat Linux 6.2.
Учебный курс, в которой приведен список пакетов и данные об их
назначении.
Кстати, рекомендации по поводу выбора минимального набора
пакетов есть в только что появившейся на русском языке книге Gerhard Mourani "Безопасность и
оптимизация Linux. Редакция для Red Hat." Перевод Е. Воскресенского. Правда
рекомендации эти относятся к установке Линукс на сервер, но просмотреть все же
полезно.
5. Представленный в разделе 4 список пакетов интересен еще и с той точки зрения, что именно включенные в него программы стоит в первую очередь изучать начинающим пользователям ОС Линукс.
6. Приведенные мной цифры по минимально необходимому объему дискового пространства, конечно, очень далеки от реальных минимумов. Ведь существуют дистрибутивы, которые помещаются на одной или нескольких дискетах. И я постараюсь поделиться с Вами впечатлениями о таких дистрибутивах в одной из своих будущих заметок. Но само существование таких дистрибутивов наталкивает на мысль о том, что Линукс в принципе очень нетребователен к конфигурации компьютера. Поэтому я постараюсь (по мере накопления опыта) продолжить тему установки Линукс на компьютеры с ограниченными ресурсами.
В.А.Костромин Последние изменения в содержание файла внесены 29 марта 2001 г. |