Установка Ubuntu 8.10 на старый компьютер

26.02.2009
Новиков Максим Глебович

Содержание

  1. Вступление
  2. Установка системы
  3. Подключение древней сетевой карты
  4. Подключение Интернета
  5. Подключение древнего сканера Mustek 600 II CD

Вступление

В свете знакомства с Линуксом, меня очень интересовала возможность его установки на старое железо, в избытке валяющееся на помойках, на котором уже отказываются работать современные программы. Скажу сразу, что для этой цели выпускаются специальные ветки дистрибутивов. Так, ветка Ubuntu для старых компьютеров называется Xubuntu. Минимальная конфигурация для версии 8.10 — 128 Мб памяти и 1,5 Гб на жёстком диске, хотя понятно, что для более-менее комфортной работы нужно всё же 256 Мб памяти.

Примечательно, что для Windows XP было достаточно 64 Мб (но лучше тоже 128 Мб) памяти и тоже 1,5 Гб на жёстком диске (сравнимо с современным Xubuntu), но некоторые умельцы заставляли работать XP на 20 Мб и 8 МГц (http://www.xakep.ru/post/36930/default.asp)

У себя в кладовке я нашёл старый Pentium II 350 МГц с 256 Мб оперативной памяти. Windows XP на нём притормаживала, но работала. За неимением под рукой дистрибутива для старых машин Xubuntu, я решил попробовать поставить на неё дистрибутив Ubuntu 8.10, минимальные системные требования которого хотя и были более высокими (256 Мб памяти и 4 Гб на жёстком диске), но тем не менее всё ещё позволяли установить его на мой компьютер.

[Вернуться в начало]

Установка системы

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

Замечу, что через DVD-привод я не смог загрузиться даже с CD-RW. Возможно, дело в самом устройстве, потому что и BIOS-ом компьютера он определяется тоже как-то странно — после названия устройства идёт россыпь каких-то ничего не означающих символов. Хотя в остальном DVD-привод работает прекрасно.

При загрузке с компакт-диска вместо графического меню установки системы на экран выдалось текстовое, где предлагалось инсталлировать систему, загрузить систему с CD-диска, и ещё ряд других действий. Но после выбора в этом меню инсталляции система просто грузилась с CD и выходила в консоль, так и не предлагая поставить себя на диск. Где-то в процессе загрузки по экрану пробежала строчка о неудачном включении графического режима 640х480.

Посмотрев внутрь системного блока я увидел, что там установлена видеокарта Diamond FireGL 1000 PRO 2Mb AGP. Я подумал, что может быть проблема во впервые введённой в то время шине AGP, и решил заменить эту карту на обычную PCI-ную. В груде старых плат нашёл PCI-ную плату ATI Technologies Inc 4Mb, которую я и поставил вместо прежней. С ней сразу запустился графический режим, и инсталляция заработала, как обычно. Может, помогли дополнительные 2 мегабайта памяти, а может просто не нашлось драйвера для предыдущей карты.

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

Подготовительный этап занял 15 минут. За это время система задала несколько традиционных вопросов о языке, раскладке клавиатуры, часовом поясе, разметке дискового пространства и т.п (7 шагов), и запустила инсталляцию.

Процесс инсталляции занял 45 минут и включил в себя автоматическую разбивку жёсткого диска на разделы, форматирование, копирование файлов и настройку системы. Итого полная установка заняла 1 час (с учётом инсталляции всех программ типа Опен Офиса, Гимпа и т.п., которая прошла фоново, без лишних вопросов).

Замеры времени последующих загрузок ubuntu 8.10 на разных компьютерах дали следующие результаты:

Pentium II, частота процессора 350 МГц, ОЗУ 256 Мб — 2 минуты 15 секунд.
Pentium 4, частота процессора 3,2 ГГц, ОЗУ 1 Гб — 1 минута

[Вернуться в начало]

Подключение древней сетевой карты

Поскольку следующим этапом было запланировано подключение старого компьютера к Интернету, надо было прописать в систему его сетевую карту. В нём стояла древняя карта EtherLink III 3C509B-COMBO, 10 Мбит/с, на шине ISA, которая автоматически не подцепилась системой. Пришлось открыть файл /etc/modules и дописать имя модуля, отвечающего за поддержку сетевых карт 3Com 509-й серии: 3c509. Заодно дописал туда модуль floppy, поддерживающий флоппи-диски.

Кстати, для манипуляциями модулями в текущей сессии (без сохранения) можно использовать следующие команды, набирая их в терминале суперпользователя:

Загрузить модуль: modprobe <название модуля>

Выгрузить модуль: modprobe -r <название модуля>

Список всех модулей: modprobe -l

Список загруженных модулей: lsmod

Получить краткую информацию о конкретном модуле: modinfo <название модуля>

После перезагрузки сетевая карта подцепилась, и компьютер стал готов к подключению Интернета.

[Вернуться в начало]

Подключение Интернета

Поскольку в моём основном компьютере имелись 2 сетевые карты, то я решил использовать его в качестве шлюза, т.е. подключить Интернет на старый компьютер через него. Сначала я решил настроить старый компьютер. Попытался присвоить сетевой карте старого компьютера IP — 192.168.0.2. NetworkManager как всегда чудил — то не сохранял статический адрес, то после перезагрузки показывал два сетевых интерфейса Eth0, хотя по мелькающем в Интернете советам файл /etc/network/interfaces был удалён вообще. Тем не менее, в итоге подключение поднялось. После этого я ещё прописал в его настройки сервер DNS, IP которого взял со шлюзового компьютера из автозаполняемого при подключении к провайдеру файла /etc/ppp/resolv.conf. На этом настройка старого компьютера была завершена.

На шлюзовом компьютере я решил убрать этот глючный NetworkManager вообще и настроить всё вручную. В Убунту есть утилита update-rc.d, служащая для управления специальными ссылками в каталогах /etc/rc?.d, которые смотрят на специальные скрипты, находящиеся в каталоге /etc/init.d, которые в свою очередь либо запускают, либо останавливают системные сервисы (описание утилиты доступно по команде «man update-rc.d» в терминале). Чтобы отключить Network Manager с помощью этой утилиты, достаточно выполнить команду:

sudo update-rc.d -f NetworkManager remove

Я же кроме всего прочего выдрал NetworkManager с корнем, вообще отключив соответствующий пакет в «Система → Администрирование → Программа управления пакетами Synaptic». Также я полностью отключил штатный фаервол ufw, являющийся надстройкой над сетевым фильтром netfilter, чтобы писать для него правила напрямую, без программ-посредников. Конечно, можно было бы сконфигурировать вручную и ufw, но я решил научиться более универсальному способу настройки сети.

За процесс подключения сети при загрузке системы отвечают срабатывающие во время загрузки ссылки, расположенные в каталогах /etc/rc?.d, имеющие в своём названии слово «networking». В зависимости от режима загрузки срабатывает ссылка того или иного каталога, которая и запускает скрипт /etc/init.d/networking.

Скрипт /etc/init.d/networking в свою очередь запускает утилиту /sbin/ifup, которая поднимает сетевые интерфейсы, пользуясь информацией из файла /etc/network/interfaces. Вот этот файл я и сконфигурировал вручную следующим образом:

# Интерфейс локальной петли
auto lo
iface lo inet loopback

# Интерфейс сети провайдера, адрес провайдер выдаёт автоматически
auto eth0
iface eth0 inet manual

# Интерфейс локальной сети
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

# Интерфейс Интернета PPPoE
# Задействует настройки из файла /etc/ppp/peers/dsl-provider
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up
provider dsl-provider

# Перед поднятием интерфейсов загружаем правила из файла /etc/iptables.rules
pre-up /sbin/iptables-restore < /etc/iptables.rules

Если бы команда route не выдавала бы мне таблицу маршрутов, надо было бы дописать их в конец этого файла:

up route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1
up route add -net 0.0.0.0 netmask 255.255.255.255 dev ppp0

Но у меня эти маршруты уже сами загружались из другого скрипта.

Кстати, для интересующихся, привожу пример файла с настройками PPPoE-подключения /etc/ppp/peers/dsl-provider, на который ссылается файл /etc/network/interfaces:

# Здесь указываем имя пользователя, с которым pppd будет подключаться
# к dsl-провайдру. Пароль для соединения будет взят из файла
# /etc/ppp/pap-secrets или /etc/ppp/chap-secrets.
user "My_Login"

# Указываем загрузить модуль
plugin rp-pppoe.so

# Указываем интерфейс, к которому подключен модем
eth0

# Говорим, что провайдер выдаёт IP-адрес динамически
noipdefault

# Пытаемся получить IP-адреса DNS-серверов провайдера
usepeerdns

# Использовать это соединение как маршрут по умолчанию
defaultroute

# Заставить pppd переподключаться при обрыве соединения
persist

# Не запрашивать пароль у удалённого партнёра
noauth

Пример файла с правилами для netfilter я выкладывать не буду — он достаточно большой. Но в Интернете можно нарыть много примеров правил на все случаи жизни. Главное, чтобы в файле была описана таблица nat с правилом, осуществляющем подмену IP-адресов локальной сети:

-A POSTROUTING -o ppp0 -j MASQUERADE

Также в этом файле необходимо разрешить форвардинг (транзит трафика) в таблице filter:

:FORWARD ACCEPT

Кроме того, необходимо разрешить форвардинг и в самом ядре системы. Для этого надо открыть файл /etc/sysctl.conf и раскомментировать в нём строчку:

net.ipv4.ip_forward = 1

После всех вышеописанных манипуляций и перезагрузки компьютеров Интернет заработал у меня и на внутрисетевом компьютере.

[Вернуться в начало]

Подключение древнего сканера Mustek 600 II CD

Помимо самого компьютера, у меня в кладовке лежал ещё и старый сканер Mustek 600 II CD, купленный 11 марта 1997 года за 295 долларов, и подключавшийся через ISA-плату SCSI-порта 3151P. Сканер уже давно не использовался мной, поскольку последний драйвер для него был выпущен для Windows NT и Windows ME. В своё время мне удалось прикрутить драйвер от Windows NT к Windows 2000, но к Windows XP он уже не подключался ни в какую. Для справки: все доступные драйверы для сканеров Mustek можно посмотреть тут:
http://www.mustek.de/eng_/html/treiber.htm.

Я подумал — раз все так хвалят Линукс за поддержку устройств, уже не поддерживаемых даже производителями, то, может быть, мне удастся оживить его благодаря Убунту? Я запустил программу xsane «Приложение → Графика → Программа для сканирования изображений». Программа поискала сканер, но не нашла, хотя последний был включен (кстати, если у вас установлен пакет sane-utils, то сканер можно поискать и не запуская программу, а выполнив команду sane-find-scanner в терминале суперпользователя).

На сайте разработчика драйверов для xsane (http://www.meier-geinitz.de/sane/mustek-backend/index_ru.html#SCSI) я прочёл, что вначале следует подключить модуль SCSI-адаптера, поскольку мой сканер подключается именно через эту плату.

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

Правда, запущенная через меню от моего имени она продолжала не находить сканер. Оказалось, что у моей учётной записи просто недостаточно привилегий для сканирования. Чтобы разрешить себе пользоваться сканером, я открыл «Система → Администрирование → Пользователи и группы», нажал кнопку «Разблокировать», и ввёл свой пароль. После этого поставил курсор в списке на свою учётную запись и нажал на ставшую активной кнопку «Свойства». В открывшемся окне открыл вкладку «Привелегии пользователя» и установил галочку напротив пункта «Использовать сканеры». После перезагрузки программа нашла сканер, и я даже отсканировал обложку книги:

Сканер для Линукс

[Вернуться в начало]
[Оставить отзыв в гостевой]
Hosted by uCoz