О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

25.07.2008

Debian: впечатления неофита

Citkit, 4 октября 2005 г

Так уж исторически сложилось, что на протяжении большей части своей Open Source'ной жизни я пользовался или BSD-системами, или Linux-дистрибутивами портируемого типа, вроде Gentoo, CRUX и Archlinux. Конечно, совсем уж миновать пакетные дистрибутивы не удалось и мне - однако лишь на заре приобщения к Linux. Последним пакетным дистрибутивом, с которым я работал более-менее плотно, был (в 2001 году) ASPLinux, да и то по долгу службы. А вообще FreeBSD (и ее потомок, DragonFly) меня более чем устраивали, и мне казалось, что сердце мое на этом и успокоилось.

Однако давеча по ряду причин, на которых я не буду останавливаться, возникла необходимость в использовании Linux'а - именно для практической работе, а не то чтобы "на посмотреть". И встал вопрос - а какого из многих? После рассмотрения нескольких вариантов выбор мой остановился на Debian'е. На всех причинах опять-таки задерживаться не буду. Отмечу лишь одну: противоречие между благопориятными отзывами о нем ряда моих знакомых, мнению коих я доверяю, и собственной, правда, уже пятилетней давности, попыткой его установки, оставившей весьма странное впечатление.

Установка предполагалась на платформу AMD64, поэтому в качестве установочного носителя был выбран debian-testing-amd64-netinst.iso - образ размером в 91 Мбайт, предполагающий установку только базовой (я бы даже сказал - супербазовой) системы и доустановку всего прочего по сети, благо коннект у меня нынче нормальный. Для страховки имелись еще слабо урезанный Debian 3.1 Sarge (на диске, прилагавшемся к 1-му номеру журнала Linuxformat), правда, в 32-битном, естественно, исполнении, и текущий (5.10-preview breezy) снапшот Kubuntu (вариант для amd64).

Для начала отмечу, что слухи о новом графическом инсталляторе Debian оказались несколько преиувеличенными: в основе своей это все тот же текстовый (на ncurces?) установщик, а графичность его выражается только в том, что по умолчанию он грузится во фрейм-консоли. Что, к слову сказать, тут же создало первую проблему: а именно, система с CD грузиться отказалась. В ответ на предложение ввести команду install уже через пару строк сделовало сообщение об ошибке определения консоли.

Помогло, как обычно, чтение хелпа, вызываемого по клавише F1. Из коего следовало, что при проблемах такого рода следует дать параметр vga=771 (то есть задать разрешение для графической консоли 640x480). После этого система загрузилась нормально, и запустился собственно инсталлятор.

К слову сказать, кроме стандартного запуска установщика, осуществляемого командой install, его можно запустить в режиме эксперта - одноименной командой expert (в моем случае - с тем же параметром vga=771). И этот способ предпочтителен - не только для экспертов в Debian, но и просто для пользователей с некоторым опытом работы в какой-либо POSIX-системе. В этом случае будут задаваться более детальные вопросы по дальнейшим действиям. Впрочем, в моей ситуации и это не сработало до конца.

Саму по себе инсталляционную программу описывать не буду (надеюсь, это составит предмет отдельной заметки). Остановлюсь только на самом важном (и трудно исправляемом) моменте - разметке диска и создании файловых систем. Ранее, помнится, для этой цели в Debian вызывался стандартный cfdisk. Теперь же инстллятор предосталяет мнодество дополнительных возможностей.В частности, на стадии установки можно сконфигурировать программный RAID или использовать механизм LVM - правда, мне в тот момент это было без надобности.

Впрочем, и без этого возможностей для дисковой разметки вдоволь. Можно и создать на разделах любые из поддерживаемых как native файловых систем - от ext2 и ext3 (выбор по умолчанию) до XFS и JFS, не говоря уже о ReiserFS, ныне, вероятно, наиболее популярной для платформы Linux. Далее, для создаваемых файловых систем можно задать опции монтирования. Например, для ReiserFS есть смысл сразу указать опции noatime и notail, весьма способствующие производительности дисковых операций.

А вот дальше начинается некоторое безобразие. Предлагается выбрать загрузчик, первым из которых (и, соответственно, умолчальным) следует Grub. Однако ни одного вопроса о том, куда его ставить, не задается - даже в режиме эксперта. И он ставится инвариантно - в MBR мастер-диска на 1-м IDE-канале. У меня же система устанавливалась на 1-й SATA, отмеченный в BIOS как загрузочный. В результате моя конфигурация оказалась неработоспособной. И победить эту ситуёвину удалось только методом грубой физической силы - выдиранием шлейфов из PATA-дисков. В общем, не самое изящное решение. Кнечно, можно отказаться от установки Grub на стадии инсталляции и в дальнейшем поставить его руками (как именно - описано здесь). Однако и это - не верх изящества...

Конечно, я вполне допускаю, что это глюк моего конкретного снапшота - но эксперимент с установочным диском Kubuntu (а в нем используется тот же самый инсталлятор) дал тот же самый (отнюдь не превосходный) результат.

Однако это оказалось единственной претензией к Debian вообще и его установщику в частности. Все остальное прошло на удивление гладко. И это - учитывая, что я мало чего знаю об этом дистрибутиве. Все остальное заработало само собой - правда, я далеко не всегда понимал, почему. И практически не обращался ни к какми источникам информации, кроме FAQ по управлению пакетами, созданному творческим гением посетителей Линуксофорума, и еще к нескольким темами из Debian-раздела с него же. В частности, это потребовалось для настройки звука - помянуя давние мои напряги с ALSA, я тут готовился к длительной борьбе. Причем, что интересно, аудиоприложения (такие, как Noatun) сразу подхватили возможность проигрывания моих старых Real Audio - обычно для этого требовалоась установка кодеков из комплекта mplayer'а

Еще один заслуживающий внимания момент - возможность доступа к разделам BSD-слайса с файловой системой UFS2. Для чего и нужно только отметить при инсталляции соответствующий дополнительный модуль, а потом просто монт ировать нужную ветвь командой типа

$ mount -t ufs -o ro,ufstype=ufs2 /dev/sdb1 /mnt/

Да, все дополнительные пакеты с ставил "в лоб" - с помощью

$ apt-get install pkg_name

Конечно, инсталлятор на второй стадии установки (после рестарта новообразованной системы) предлагает доустанавливать пакеты с помощью изрядно запутанной собственной системы dselect. Однако от мучений с ней я был избавлен выбором источника - на 90-мегабайтном диске никаких дополнительных пакетов просто не было.

О русификации также можно сказать несколько слов. Если в самом начале установки выбрать язык, страну и раскладку клавиатуры (все - русское), а потом еще и умолчальную локаль KOI8-R, то консоль сама собой оказывается корректно русифицированной. Если же остановиться на локали UTF-8, результат будет весьма странным - русские буковки в консоли у меня, например, не воспроизводились вообще. Ну а локаль CP1251 (по ряд причин я сейчас вынужден пользоваться именно ею) вообще требует ручных телодвижений - от собственно ее создания (по умолчанию чуждой виндовой локали в Debian нету как класса) до прописывания соответствующих переменных и переопределения кодировки ввода и скринмапа. Впрочем, это а) несложно и б) может быть еще облегчено штатными средствами дистрибутива - командой

$ dpkg-reconfigure locales

Механизм установки пакетов посредством apt-get мне понравился страшно. Настройка его - сервер-источник, ветка дистрибутива, и т.д., - выполняются совершенно нечувствительно для пользователя: я даже не понял, в какой момент установки это произошло. Правда, перед этим мне пришлось затратить некоторое время на ручную настройку сетевого соединения - DHCP-автоматика по каким-то причинам не прошла, так что пришлось вбивать IP, gatewey и DNS.

В общем, мнение, что и цыпленок может установить и настроить Debian (если научить его клевать клавишу Enter), оказалось не столь уж далеко от истины: установка на более-менее типовом "железе" этого дистрибутива оказывается по силам начинающему пользователю. Если он, конечно, имеет представление о дисковой разметке. Или, напротив, не имеет особых претензий в этом отношении и готов положиться на умолчания инсталлятора.