27 Июль 2009

Живой Linux своими руками, Эпизод 3: Тюнинг системы

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


Экономим место
Лучше начинать с базовой установки своего дистрибутива и, в зависимости от задач, сносить одни пакеты и ставить другие. Тут главное не увлекаться и знать, что место на диске ограничено, хотя сжатие у squashfs с патчем lzma весьма сильное.

Что можно удалить из базового дистрибутива
Пример с дистрибутивным ядром показателен - его снос высвобождает целых 60Мб. Но есть куча других мелких и не очень утилит, которые не нужны в таком объёме, особенно в бездонной директории /usr. Итак:

  • снос дистрибутивного ядра и замена "живым"
  • aptitude purge python2.4
  • удаление утилит тестирования типа reportbug, installation-report и прочих
  • вырубка всяких альтернативных утилит типа dc, nano, tcsh, portmap
  • прополка от python-selinux, policycoreutils и прочих параноидальных прибамбасов
  • долой info, bind9, whois, finger, telnet....
  • убирать документацию разработчиков из /usr/share/doc и словарей из /usr/share/dict - это не столько сокращает объём сколько уменьшает количество файлов (где-то на 10 тысяч)
  • локали (/usr/share/i18n/locales), мануалы (/usr/share/man) и шрифты оставить только нужные и на тех языках, о которых вы слышали. Локали можно убрать с помощью localepurge.
В общем, следует пройтись с топором по директориям, особенно сильно им размахивая в /usr, где добра больше всего. Всё это поможет сэкономить место для чего-нибудь действительно полезного. Например, для иксов :-)
У меня в итоге получилось, что базовый ISO-образ вместе с иксами, MC и IceWM занимает чуть больше 100Мб. В ходе тестирования в эмуляторе выяснилось, что загружается сие чудо в системах с более чем 64Мб ОЗУ. На ноутбуке загрузилось примерно за минуту, нашло все устройства и даже примонтировало автоматом все диски.


Что стоит установить в базовую систему
Всё сказанное ниже будет сильно зависеть от того, что вы хотите сделать из системы. Но я думаю, совсем не лишним и не обременительным будет установить:
  • облегчённые утилиты для интернет: wget и elinks
  • утилиты тестирования оборудования: dmidecode, lshw, hdparm, memtest86+, bonnie++
  • samba для общения с оффтопичной системой
Это сформирует базовую систему, которую лучше всего скопировать куда-нибудь и сжать в архив. При необходимости её легко дополнять и обвешивать программами под текущие нужды - а дальше можно печь живые диски, как горячие пирожки, при помощи live-скриптов.


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

Автоматический логин
Чтобы каждый раз не писать пароль, лучше всего настроить автоматический вход в систему. Если диск спасательный, то можно сделать так: удалить пакет xdm и поставить mingetty - так обеспечивается вход в систему пользователя без пароля и запуск иксов, когда они нужны.
Итак:
aptitude remove xdm
aptitude install mingetty


После этого заходим в /etc/inittab меняем строку вида
1:2345:respawn:/sbin/getty 38400 tty1
на
1:2345:respawn:/sbin/mingetty --autologin имяпользователя tty1
Заменяя имяпользователя на логин реального юзера, имеем беспарольный вход в систему (взято отсюда). Потом, если потребуются иксы, пишем startx и наслаждаемся.


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

Если вы хотите, чтобы иксы (если они есть, конечно) запускались всегда и везде, нужно прописать драйвер vesa:
Section "Device"
Identifier "Cirrus Logic GD 5446"

Driver "vesa"
BusID "PCI:0:2:0"
EndSection

И не забыть про кириллицу

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbOptions" "grp:alt_shift_toggle"

EndSection
Если вы эстет, то можно ещё долго изгаляться со шрифтами и прочими рюшечками. Мне и обычных шрифтов хватает - лишь бы там были русские буквы и читалось без особого напряга.

Так же не стоит забывать про разрешение экрана - указывайте все при конфигурации иксов:
dpkg-reconfigure xserver-xorg
Повыключайте разного рода ускоряющие драйверы типа glx и dri, если вы создаёте спасательный диск. В общем, тюнинг системы - дело увлекательное...

а если копируете статью - поставьте ссылку на оригинал!

9 комментариев:

asv 27.07.2009 12:49:00  

Если ставить /базовую/ систему тогда нет нужды руками вычищать reportbug, installation-report, dc, nano, tcsh, portmap и всего прочего. Их просто не будет.
Насчет локалей, есть в репозитории стандартная утилита localepurge.

virens 27.07.2009 15:13:00  

2 asv комментирует...
Если ставить /базовую/ систему тогда нет нужды руками вычищать reportbug, installation-report, dc, nano, tcsh, portmap и всего прочего. Их просто не будет.
Странно, а у меня они автоматом поставились. Но на всякий случай упомяну.

Насчет локалей, есть в репозитории стандартная утилита localepurge.
Это да, забыл совсем. Спасибо, добавил в пост.

asv 27.07.2009 16:15:00  

Вот в этом месте, если убрать галки со всех пунктов, мы получим debian base system, там будет абсолютный минимум необходимый для функционирования системы. http://photos1.blogger.com/blogger/5591/3303/320/debianEtch16.0.jpg

virens 27.07.2009 18:32:00  

2 asv комментирует...
Вот в этом месте, если убрать галки со всех пунктов, мы получим debian base system, там будет абсолютный минимум необходимый для функционирования системы
Это я в курсе :-) Речь идёт о системе, в которую уже поставлены иксы, icewm и другие приложения для человеческой работы.

Анонимный,  27.07.2009 19:31:00  

> Автоматический логин

Если использовать готовое решение из дебиана и для дебиана (коим
является live-helper), то об этом помнить не надо, а скрипт настроит
автологин самостоятельно.

Также live-helper настраивает беспарольный вход для пользователя user. И
всё автоматически.

> Настройка иксов

Иксы уже сто лет как настраиваются автоматически безо всякого указания
видеодрайвера.

> И не забыть про кириллицу

Нижеприведённое полезно в дальней перспективе с учётом того, что в x.org
конфигурацию через файл уже почти отломали.

$ cd ~/live/chroot/home/user
$ cat .xsession
setxkbmap us,ru\(winkeys\) -option grp:ctrl_shift_toggle -option ctrl:nocaps
xxkb &
icewm-session
$ cat .xxkbrc
XXkb.mainwindow.enable: no
XXkb.button.enable: no

> убирать документацию разработчиков из /usr/share/doc

И напороться на отсутствие необходимой в экстренный момент документации,
если live cd использовался в качестве rescue cd. Например, testdisk
хранит полезную документацию именно в /usr/share/doc.

> и словарей из /usr/share/dict - это не столько сокращает объём сколько уменьшает количество файлов (где-то на 10 тысяч)

Не легче ли удалить пакет со словарями!?

Я лично считаю совет "пройтись по /usr с rm-ом" весьма опасным. Лучше
удалять ненужные пакеты, а не экономить копейки, боясь удалить что-то
нужное. Вот я при сборке личного livecd не экономил, а всё равно в 300
мб уложился (с учётом сжатия от squashfs).

// Alexander Galanin

Анонимный,  28.07.2009 0:27:00  

Да, и еще бы не мешало для нечеловеческойфайловойсистемы установить пкетик ntfs-3g.

// мимо проходил

VeGeek 01.08.2009 17:46:00  

> Настройка иксов
> И не забыть про кириллицу
man live-helper.
Настройки иксов вполне можно указать в опциях загрузки мега live-cd безо всякой дебильной правки конфигов.

samson 09.08.2009 6:40:00  

ужас.

каких только гамаков с лыжами не напридумывают, лишь бы live-helper не использовать.

virens 09.08.2009 19:12:00  

2 samson комментирует...
каких только гамаков с лыжами не напридумывают
Это потому, кто "кошерные" велосипеды хреново документированы.

лишь бы live-helper не использовать
Вот поэтому и изобретаем свои, с шахматами и поэтессами (с) :-)

Хотя да, live-helper надо было бы упомянуть. За пинок в правильном направлении спасибо. Ну и пост несколько несвежий, выложил, т.к. жалко было удалять (а мне ещё пригодится). Скоро будут веселее посты, stay tuned.

Поиск по сайту

Архивы блога

Новостная лента


Читать новости блога удобнее, подписавшись на
-ленту.
краткая лента новостей.
Блокнот интересных ссылок в Twitter
Получать на E-mail Записки дебианщика rss2email.ru

Последние новости

Все записки дебианщика

Скачать локальную версию блога "Записки дебианщика" для offline-просмотра можно здесь. Архив 7z занимает ~120Мб, в распакованном виде ~2Гб.

Постоянные читатели

Экипаж

Автор
My Photo
Михаил Конник
Инженер-физик, занимаюсь оптикой и цифровой обработкой изображений. Профиль
Главный редактор
Моя фотография
Programmaster, в полный рост

Кнопки