Установка Linux на очень слабом компьютере

()

У многих пользователей имеются достаточно старые компьютеры, на которых уже не работают современные операционные системы, однако можно взять версию чуть старее и "доточить" до нужного состояния. В этой статье я постараюсь показать пример такого "дотачивания" на примере компьютера моей мамы.

У моей мамы достаточно старый компьютер. Pentium I 233MHz/96MB/S3 Trio 2MB. Ему уже около десяти лет. Установлена в нём следующая перифирия:

# lspci
00:00.0 Host bridge: Intel Corp. 430VX - 82437VX TVX [Triton VX] (rev 02)
00:07.0 ISA bridge: Intel Corp. 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01)
00:07.1 IDE interface: Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II]
00:0d.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+]
00:0f.0 Communication controller: Lucent Microelectronics LT WinModem (rev 02)

Последняя версия Windows которая была на этом компьютере - Windows 2000. Однако работать в ней было не комфортно из-за низкой произоводительности.

В 2005-ом году мне пришла в голову мысль установить на этот компьютер Linux. Выбор пал на ALT Linux Compact 2.3.3. (Его до сих пор можно скачать с официального сервера проекта ALT Linux и многих зеркал. Например отсюда). Этот дистрибутив не был чем-то очень новым (даже на тот момент), однако его отличала замечательная руссификация и "вылизанность". А так же использование ядра 2.4, которое менее требовательно к памяти чем 2.6.

#uname -a
Linux Second 2.4.22-std-up-alt29 #1 Mon Aug 2 20:31:14 MSD 2004 i586 unknown unknown GNU/Linux
Konsole с выводом "free" и "ps ax|wc -l"
Konsole с выводом "free" и "ps ax|wc -l"

Установку самого дистрибутива я описывать не буду, поскольку она достаточно проста и тривиальна. Однако сразу после установки система по скорости и комфортности работы не сильно отличались от Windows 2000. Поэтому пришлось заняться её оптимизацией.

После оптимзиации время от включения питания до полной загрузки KDE стало 1:58. Время от появления приглашения LiLo до полной загрузки KDE стало 1:35. До оптимизации время от включения до полной загрузки KDE превышало четыре минуты.

Скриншот наглядно показывает что при трёх запущенных пользовательских приложениях (правда ksnapshot в момент снятия снимка не виден) имеется ещё достаточно много свободной памяти а общее число процессов всего 39!

Сам список процессов тоже не выглядит страшным:

#ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        S      0:03 init [5]
    2 ?        SW     0:00 [keventd]
    3 ?        SWN    0:00 [ksoftirqd_CPU0]
    4 ?        SW     0:00 [kswapd]
    5 ?        SW     0:00 [bdflush]
    6 ?        SW     0:00 [kupdated]
    7 ?        SW     0:00 [mdrecoveryd]
  495 ?        S      0:00 /usr/sbin/gpm -m /dev/ttyS0 -t ms3
  516 ?        S      0:01 /usr/X11R6/bin/xfs -port -1 -daemon -user xfs
  536 ?        S      0:00 /usr/sbin/rundm /dev/tty1 --
  542 ?        S      0:00 kdm -nodaemon
  578 tty1     S      0:00 /sbin/mingetty tty1
  586 ?        S      0:29 /usr/X11R6/bin/X -nolisten tcp -auth /var/run/xauth/A
  587 ?        S      0:00 -:0
  595 ?        S      0:00 /bin/sh /usr/bin/startkde
  665 ?        S      0:00 /usr/bin/ssh-agent -u
  747 ?        S      0:00 kdeinit: Running...
  750 ?        S      0:00 kdeinit: dcopserver --nosid
  753 ?        S      0:00 kdeinit: klauncher
  756 ?        S      0:01 kdeinit: kded
  765 ?        S      0:04 /usr/bin/artsd -F 10 -S 4096 -a oss -s 60 -m artsmess
  771 ?        S      0:01 kdeinit: knotify
  779 ?        S      0:00 kwrapper ksmserver
  781 ?        S      0:00 kdeinit: ksmserver
  782 ?        S      0:04 kdeinit: kwin -session 11c0a8020200011434854820000002
  788 ?        S      0:09 kdeinit: kdesktop
  790 ?        S      0:10 kdeinit: kicker
  792 ?        S      0:00 kdeinit: kio_file file /home/moose/tmp/ksocket-moose/
  798 ?        S      0:01 kkbswitch -session 11c0a80202000114397521500000009720
  808 ?        S      0:12 kdeinit: kwrite /home/moose/Desktop/MooSE/article.txt
  809 ?        S      0:06 kdeinit: konsole
  810 pts/0    S      0:00 /bin/bash
  852 pts/0    S      0:00 su -
  854 pts/0    S      0:00 -bash
  887 ?        S      0:14 ksnapshot -caption KSnapshot -icon ksnapshot.png -min
  893 ?        S      0:01 kdeinit: kio_thumbnail thumbnail /home/moose/tmp/ksoc
  894 pts/0    R      0:00 ps ax
#

И это при том что на современной Kubuntu 8.04 в практически деофлтной конфигурации число процессов равняется 164!

Как же удалось добитья таких результатов? Да на самом деле не так уж и сложно: просто нужно выкинуть всё лишнее из системы. Как именно? Вот этому и посвящена эта статья.

Первым делом нужно отключить все лишние системные службы. Список доступных служб можно просмотреть командой:

#chkconfig --list

Для остановки службы используется команда:

#service <ИМЯ_СЕРВИСА> stop

ДЛя отключения службы:

#chkconfig <ИМЯ_СЕРВИСА> off

Прежде чем что-либо отключать - тщательно подумайте о последствиях и отключайте службу только если действительно знаете и понимаете что именно делаете. Я в итоге пришёл вот к такому списку:

#chkconfig --list|grep \:on
rawdevices      0:off   1:off   2:off   3:on    4:on    5:on    6:off
pcmcia          0:off   1:off   2:on    3:on    4:on    5:on    6:off
sound           0:off   1:off   2:on    3:on    4:on    5:on    6:off
xfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off
dm              0:off   1:off   2:off   3:off   4:off   5:on    6:off
keytable        0:off   1:off   2:on    3:on    4:on    5:on    6:off
gpm             0:off   1:off   2:on    3:on    4:on    5:on    6:off

Отдельное внимание уделим определнию нового оборудования. За эту функцию отвечает сервис kudzu. Его тоже полезно отключить, а в случае появления нового оборудования просто запустить разово эту службу командой:

#service kudzu start

Поскольку конечный пользователь (в данном случае моя мама) не будет работать в консоли, можно уменьшить количество виртуальных консолей. Для этого в файле /etc/inittab нужно найти следующие строки:

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

И закомментировать лишнее следующим образом:

1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

Первую консоль лучше оставить (на всякий случай). "Иксы" (то есть графика) буду запускаться на второй виртуальной консоли.

Далее переходим к настройке KDE. Прежде чем описывать его настройку остановимся на достаточно часто встречающемся вопросе: оправдано использование KDE на такой слабой машине?

Как показла практика: оправдано. Можно использовать лёгкие оконные менеджеры типа IceWM или FVWM, однако прикладные приложения используют различные разделяемые библиотеки, которые всё равно придётся загружать в память. В случае KDE сама среда использует те же библиотеки что и прикладные приложения. Соответственно к моменту запуска приложения необходимые библиотеки уже будут в памяти. Т.е. запуск прикладных приложений будет проходить даже быстрее чем в случае использования простого оконного менеджера.

Окно настройки служб в центре управления KDE
Окно настройки служб в центре управления KDE

Кроме того не так давно было проведено исследование, показавшее что для разных DE/WM после запуска определённого количества приложений используемая используемая память достигает определённой величины, слабо зависящей от DE/WM.

Итак. Для начала проверяем содержимое каталога ~/.kde/Autostart и смотрим нет ли чего лишнего. Лишнее удаляем. У меня там вообще пусто:)

Следующим шагом идём в "Центр управления KDE" и выбираем пункт Компоненты -> Управление сервисами и отключаем лишнее. Экспериментально был установлено что нужно там только "KDED Mount Watcher".

Далее проверяем системный трей и закрываем все лишнее приложения. У меня там остался только kkbswitch. На этом пожалуй всё. Дальше перезагружаем компьютер и наслаждаемся скоростью работы:)

Ключевые слова: оптимизация, linux, altlinux, tty, inittab.

Комментарии:

drujebober 2008-06-05 14:38:58 (#)

эм… ниочем

MooSE 2008-06-05 17:31:32 (#)

> эм… ниочем

можно аргументы привести?

2008-06-05 20:59:04 (#)

а с hdparm'ом не игрался? ядро стандартное оставил?

MooSE 2008-06-05 22:14:58 (#)

Ядро не совсем стандартное. Там есть репозиторий updates для 2.3. Перед допиливанием система была обновлена из него. Ядро тоже оттуда.

hdparm там ничего не давал, так что я его выкинул. Вообще больше всего проблем доставила память. Борьба шла практически за каждый килобайт. Здесь описана верхушка айсберга.

На самом деле работы проделано гораздо больше...

Shlomo 2008-06-06 21:30:49 (#)

бедная мама...
сын - маньяк, а она то в чем виновата?

MooSE 2008-06-07 18:08:04 (#)

quadrik, не понял юмора... а что плохого? мама вроде довольна...

alexsx06 2008-06-07 19:38:54 (#)

купил бы лучше ей современный компьютер,чем так извращатся. С ценами на современное,то железо
Для эксперимента можно еще взять вот такое чудо pentium 133 mhz 28 mb simm жесткий 200 mb floppy,isa сетевуха,usb 1.1 и к ней usb хост-хост сетевуха(попробуй заведи)

Shlomo 2008-06-07 20:23:35 (#)

ага, и я про то же

sungreen 2008-06-07 22:28:28 (#)

Привет всем.
MooSE, спасибо, мну очень нравиться цикл статей "компьютер моей мамы". Оно, имхо, чисто по-человечески правильно такие темы обсуждать, но видимо статья скорее вопрос, чем ответ.

MooSE 2008-06-07 22:44:17 (#)

1. Предлагал я новый комп. И не раз. Не хочет. Прикипела душой к этому.

2. Правильно или нет... Тут скорее дело даже не в компе моей мамы, а именно в древности железа. Но ведь блин. Работает оно! Вот что интересно. И не тормозит!

sh0ckfile 2008-06-08 16:35:25 (#)

Меня больше психологическая составляющая интересует... Как бы маму ща, прикипевшую к виндам, пересадить на линь? :)

MooSE 2008-06-08 19:51:07 (#)

закосить линукс под винду:)

тут без вариантов:)

AlexanderMarkov 2008-06-08 20:19:37 (#)

MooSE, DeLi Linux не пробовал?

MooSE 2008-06-09 00:01:54 (#)

DeliLinux не подходит под задачи. А если его наращивать то получаются те же яйца, только в профиль....

Олег777 2008-06-10 09:07:52 (#)

Статья мне понравилась, но она имеет т.с. "узконаправленный характер". То-есть вот как этот Альт адаптировать. А если не Альт? А если что другое? Ну нет у меня утилиты chkconfig . И вообще, может я КДЕ терпеть не могу. И получается, тема не раскрыта, вернее название статьи не соответствует содержанию.

MooSE 2008-06-10 09:30:35 (#)

Все такие решения получаются узкоспециализированными.

chkconfig есть на всех redhat-based дистрибутивах

Не нравится kde - кури то что тебе нравится сам:)

Я показал только основные идеи. И думаю что достаточно понятно их изложил. А то что какие-то конкретные конфиги отличаются или не хватает каких-то утилит - это уже дело десятое.

Просто мне удобно было показывать на примере того, на чём я уже всё это проделал.

sungreen 2008-06-10 20:26:50 (#)

... нет-нет, статья мну тоже понравилась, но Олег777 прав ...
... действительно есть несоответствие заявленного заголовка статьи "Установка Linux на очень слабом компьютере" и её содержания, тем более что в самом тексте есть слова - "Установку самого дистрибутива я описывать не буду, поскольку она достаточно проста и тривиальна." ...
... то есть сама установка как бы и не раскрыта ...

MooSE 2008-06-10 21:17:40 (#)

Ну сама установка происходит так:

Загружаемся с диска и жмём [Next>>] когда нас о чём-то спрашивают. Там всё очень просто и даже проще чем в Windows. ALT Linux того времени использовал инсталлятор от Mandrake. Я думаю все представляют что это такое:)

А работа напильником начинается после первой загрузки. Признаю что статья получилась немного сумбурной...

Просто обычно я пишу статьи либо дома, либо на работе. В одиночестве. А тут я большую часть статьи написал дома у мамы на её компьютере (лишнее доказательство его пригодности для работы) постоянно отказываясь от предложений всяких вкусностей и поспать (зашёл к ней перед ночным дежурством).

Воть... Но зато какое обсуждение в комментах:)


UPD: У меня дома сервачок стоит - Cel-733/256MB с софтверным рэйдом под убунтой 8.04.

Там я так же выкинул лишнее и ещё некоторые тяжёлые процессы заменил их лёгкими аналогами. Идеи в основном те же что и здесь, только для сервера.

Могу выложить описание ряда хаков оттуда.

2008-06-11 15:12:35 (#)

Опиши, я поставил у себя 8.04. примерно такая же машина, только без рейда..

MooSE 2008-06-11 23:29:01 (#)

да у меня ам тоже рэйд пояивлся совершенно случайно:) винт лишний в руки попал.. а статью накропаю как ниаграюь со своим eeePC:)

Anonymous 2009-07-09 21:21:08 (#)

Moose, ты какой драйвер для видео карты использовал в данном случае? переписывал ли ты xfree86.conf или xorg.conf, если можешь приведи сюда его :) буду благодарен.

MooSE 2009-07-10 12:09:53 (#)

К сожалению уже не могу:) Всё-таки купил маме новый компьютер:)

Но драйвер там был s3. И ничего я руками не писал. Само всё завелось:)

Anonymous 2009-07-11 09:06:42 (#)

Ну молодец что купил. Жаль что не можешь выложить, потому что конфигурация железа подобна. Правда поставил не Alt а Slackware 8.1 :) Забавная вещь.

Anonymous 2009-07-14 07:45:45 (#)

Без лишней головной боли мог бы установить PuppyRus (http://www.puppyrus.org/). Он УЖЕ похож на винду (в плане вида, а не работы) и сразу "из коробки" мог бы работать на этом компьютере очень быстро.

MooSE 2009-07-14 11:20:40 (#)

Цитата:

Без лишней головной боли мог бы установить PuppyRus


Пробовал. Работает кстати медленнее. Да и набор софта мягко говоря на троечку:)

Anonymous 2009-07-15 17:02:26 (#)

MooSE интересная статейка, я тоже альт ставил версия 4.11 оболочка XFCE железо помощнее, сам я конечно признаюсь не силён в линуксе, и плохо его знаю, сам установить бы не смог, точнее установил то я его с пол пинка но не до конца ибо дрова потом знакомый програмист из ядра подключал. Недостатков конечно много но есть и приемущества, процессы не выключал, но возможно попробую что нибуть сотворить. Меня тут всё убунту 9 подбивают установить .. боюсь памяти не хватит её там около 200Мб проц и тот в разгоне :). А то что можно купить или неможно.. это отдельная тема, скажем не тащить же на работу компутер, если там есть какоето барахло которое ещё может работать :)... темболее что туда попадёт оттуда уже не вернётся :), а посему работаем на том что есть и гробим до последнего...

Anonymous 2009-07-19 23:23:17 (#)

Нормальная статья, у меня пенёк на 350 мгц прекрасно с убунтой работает: сервер 7.10, обновлена частями до 8.04, на борту squid для раздачи инета, fluxbox и vino, через который (это vnc-серв) собсно и происходит вся работа. Железа полно, могу поставить любое, но эта машинка не шумит и не греется вообще. И занимает совсем мало места. Так что насчёт "новый комп" это не всегда оправдано. Лишний пылесос мне никчему.

MooSE 2009-07-20 03:18:16 (#)

Цитата:

vino, через который (это vnc-серв) собсно и происходит вся работа


Ты сервером рулишь по VNC? Нужно ли?

Или это сервер, совмещённый с рабочей лошадкой?..

Anonymous 2009-07-22 21:41:06 (#)

ubuntu признаю лишь как livecd, а вот Debian это сила, поставил на пенек 1й (i586) Debian 31r2 с рабочкой Icewm, довольно не плохо работает, думаю для облегчения нужно пересобрать ядро и поставить туда LaTeX и жизнь прекрасна. Как печатная машинка сойдет :), ну и по инету можно посерфить...

Anonymous 2009-07-22 21:49:49 (#)

на данной страничке можно найти Debian31 в dvd:
http://www.filefrisk.com/index.php?f=All%20Files&p=1&a=search&c=276&opt=7&order=5&b=1
а у китайцев на cd:
http://download.chinaunix.net/download/0013000/12277.shtml

Anonymous 2010-12-13 12:57:07 (#)

Спасибо за статью!
Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE