Журнал LinuxFormat - перейти на главную

LXF76:Ubuntu по-русски

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
м (Инструментарий apt)
м (категория)
 
Строка 346: Строка 346:
 
gstreamer0.8-ffmpeg. Теперь, наконец, начинают крутиться и они,
 
gstreamer0.8-ffmpeg. Теперь, наконец, начинают крутиться и они,
 
так что эксприменты можно прекратить со спокойной душой.
 
так что эксприменты можно прекратить со спокойной душой.
 +
 +
[[Категория:Учебники]]
 +
[[Категория:Ubuntu]]
 +
[[Категория:Алексей Федорчук]]

Текущая версия на 13:34, 6 января 2009

Содержание

[править] Ubuntu и Kubuntu: гуманистический Linux по-русски

Алексей Федорчук расскажет вам о семействе дистрибутивов Ubuntu, включающем, кроме эпонима, также Kubuntu и Edubuntu, а также несколько национально-специфических систем и сторонних разработок (в том числе и недавно зародившийся в недрах Google дистрибутив Goobuntu).

[править] Об Ubuntu и Kubuntu

Основатель этого семейства дистрибутивов – южноафриканец Марк Шаттлворт, один из разработчиков Debian и по совместительству – бывший глава бывшей интернет-компании Thawte Consulting. Деятельность которой была столь успешна, что на закате эпохи dot-com’ов ее приобрела известная корпорация VeriSign за астрономическую сумму, сделавшую Марка весьма богатым человеком. После чего он повел себя не очень стандартным для акулы капитализма образом.

Что надлежит сделать порядочному человеку в случае нежданного богачества? Перво-наперво, «поделиться с пацанами». И каждый из бывших сотрудников Thawte Consulting получил премию – миллион рэндов (более US $100000). Во-вторых, следует осуществить голубую мечту своего детства. И Марк слетал в космос туристом, оказавшись в этом качестве вторым человеком в истории Земли. В-третьих, стоит подумать о тех, кому не повезло стать миллионерами. И Марк создает и финансирует несколько некоммерческих организаций – по развитию образования в Африке, помощи развивающимся странам, и так далее. И, наконец, вернуться к тому, с чего начинал – в данном случае в начале всех начал оказался Linux, на котором был построен бизнес компании Thawte. А посему Марк собирает команду для разработки собственного дистрибутива Linux. В основу которого, естественно, кладется Debian – собственно, Ubuntu и характеризуется как Debian с «человеческим лицом». Говорят, что само слово Ubuntu на одном из африканских языков означает нечто подобное нашему понятию «гуманизм».

При создании дистрибутива была сразу четко определена его целевая аудитория. Сам Марк в интервью журналу LinuxFormat (LXF71, октябрь 2005), на вопрос, для каких пользователей предназначен Ubuntu, отвечает, что Ubuntu ориентирован, с одной стороны, на тех, кто сам все знает и умеет, с другой – на тех, кто ничего о компьютерах не знает, знать не хочет, но готов положиться на знающих.

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

В двух словах, Ubuntu – это почти самый обычный Debian, использующий deb-формат пакетов и систему управления ими – apt, сохраняющий совместимость с огромным его пакетным репозиторием. Отличие от прародителя – во-первых, в том, что он комплектуется самыми свежими версиями пакетов. При этом разработчики декларируют полугодичный релиз-цикл для своего дистрибутива (и пока его придерживаются).

Вторая особенность Ubuntu – в том, что при инсталляции системы по умолчанию автоматически устанавливается и настраивается графическая среда GNOME. Но, поскольку это – лишь один из возможных вариантов, немедленно был создан вариант дистрибутива, использующий в качестве рабочего окружения KDE. Который логично получил имя Kubuntu. Подчеркнем, что Ubuntu и Kubuntu – это одна и та же система, использующая общий репозиторий пакетов. И различия их проявляются только в комплектации инсталяционного CD или DVD. Третий же основной представитель семейства, Edubuntu – это Ubuntu, укомплектованный образовательными программами.

В Kubuntu (как и в Ubuntu) в качестве программы установки используется тот же Debian Installer, что и в последней (Sarge) версии материнского дистрибутива. Правда, несколько модифицированный. Если установка Debian выполняется в два этапа, разделенные рестартом машины (первый – разметка диска и установка базовых компонентов, второй – установка дополнительных пакетов и начальное конфигурирование), то вариант от Ubuntu – как бы в полтора: вся базовая установка и начальное конфигурирование совмещены в один этап, а после перезагрузки происходит только развертывание дополнительных пакетов (GNOME или KDE с соответствующими приложениями – для Ubuntu и Kubuntu, соответственно).

И еще одна важная особенность установщика Ubuntu: в ходе инсталляции по умолчанию не создается учетной записи суперпользователя, и в дальнейшем все действия по администрированию системы выполняются через программу sudo, sudoedit или штатными средствами GNOME /KDE – все они требуют для доступа к правам root ввода обычного пользовательского пароля. Правда, при установке в режиме эксперта root может быть создан – но в дальнейшем это повлечет некоторые сложности, так что начинающему пользователю лучше этого не делать.

[править] Настройка доступа к репозиториям пакетов

(thumbnail)
Настраиваем репозитории пакетов. Содержимое файла /etc/apt/sources.list

По завершении установки пользователь получает в свое распоряжение почти готовую к использованию среду – локализованную (для Руси – локаль UTF8), с офисным пакетом (OpenOffice.org), коммуникационными, графическими и мультимедийными приложениями (таковыми выступают штатные средства GNOME или KDE). Но, к сожалению, именно «почти»: русификация нуждается в некоторой доработке, а использование мультимедийных приложений ограничено, по понятным лицензионным соображениям, только открытыми форматами (типа Ogg Vorbis). Исправление этих мелких и во многом вынужденных недоработок требует доустановки пакетов. И потому одно из первых, что потребуется начинающему пользователю – это освоение системы пакетого менеджмента Ubuntu. И здесь первый шаг – настройка доступа к репозиториям пакетов.

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

Источники пакетов, получаемых через apt, описываются в специальном конфигурационном файле – /etc/apt/sources.list. После пользовательской установки по умолчанию он содержит строку вида

deb cdrom:[Kubuntu 5.10 _Breezy Badger_ – Release i386 (20051012)]/breezy main restricted

плюс еще несколько закомментированных строк, распадающихся на отдельные секции.

Формат каждой строки таков:

  • тип пакета – deb для двоичных файлов и deb-src для исходных текстов;
  • URL архива – в наших условиях это будет http://ru.archive.ubuntu.com/ubuntu;
  • имя собственное дистрибутива – для текущей версии breezy (собственно дистрибутив), breezy-updates, breezy-backports, breezysecurity (дополнительные компоненты);
  • тип репозитория – main и restricted (основная часть дистрибутива, поддерживаемая командой обновления безопасности), universe и multiverse (дополнительная часть, лишенная соответствующей поддержки).

Нам они понадобятся все, включая и те, что являются как бы не совсем официальными (universe и multiverse). Так что достаточно просто снять комментарии со всех строк, начинающихся с deb и deb-src – не исключено, что некоторые пакеты придется собирать из исходных текстов.

Сделанного достаточно, чтобы доустанавливать пакеты, не включенные в комплект инсталляционного компакт-диска, а также получать все штатные обновления. За обновлениями же не вполне штатными (например, KDE последних версий) нужно следить на сайте http://www.kubuntu.org – там будут исчерпывающие указания по подключению дополнительных репозиториев.

[править] Основы пакетного менеджмента

Теперь необходимо сначала сказать несколько слов о пакетах, используемых в Ubuntu и Kubuntu.

Cемейство дистрибутивов Ubuntu основывается на дистрибутиве Debian и наследует его формат пакетов (deb). Это – архивный файл, включающий скомпилированные исполняемые программы (и все необходимые им для работы компоненты), и так называемые управляющие файлы, в том числе, описания зависимостей пакета.

В Debian и его клонах зависимости имеют несколько градаций: обязательные (depends), настоятельно рекомендуемые (recommends), рекомендуемые умеренно настойчиво (suggests). Первая градация – это обычные «жесткие» зависимости – пакеты, без которых установка и работа данного невозможна. Ну а настоятельно рекомендуемые и рекомендуемые просто – это две разновидности «мягких» зависимостей, добавляющих пакету те или иные необязательные, но полезные функции. Впрочем, таково субъективное мнение сопроводителя (maintainer) данного пакета – вполне возможно, что мнение пользователя будет иным.

В отношении средств управления пакетами в Kubuntu имеется богатый выбор. Однако в этой статье речь пойдет только о двух из них – dpkg и apt.

[править] Команда dpkg сотоварищи

Команда dpkg – в ряде случаев простейший способ установить единичный пакет и сконфигурировать его, а также получить информацию о нем. Если нам необходимо установить единичный пакет, поступаем так:

$ sudo dpkg -i path2/packagename.deb

и дело в шляпе – через считанные мгновения пакет packagename.deb будет установлен.

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

Обратная процедура – удаление ненужных пакетов. Это делается двояко: команда

$ sudo dpkg -r packagename

удалит пакет, но сохранит его настроечные файлы, а команда

$ sudo dpkg -P packagename

произведет полную очистку системы от компонентов пакета.

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

Вообще-то dpkg – это целое семейство команд, включающее, кроме себя самой, еще несколько: dpkg-deb, dpkg-query и так далее. Один из представителей этого семейства, который так и называется – dpkg-reconfigure, служит цели переконфигурирования уже установленных пакетов. Делается это так:

$ sudo dpkg-reconfigure packagename

После этого вызывается диалоговая программа конфигурации – debconf, и ответы на серию более или менее тривиальных вопросов позволяют добиться желаемого результата.

[править] Инструментарий apt

Набор apt (Advanced Packaging Tools) – это программный комплекс, охватывающий все стороны управления пакетами. Он включает в себя почти десяток команд, тесно переплетающихся друг с другом. Так, назначение команды apt-cache – в получении информации о пакетах, причем не только установленных на локальной машине, но и находящихся в сетевых репозиториях. Сведения эти берутся из локальной базы данных, создаваемой во время инсталляции системы, и в дальнейшем обновляемой с помощью apt-get:

$ sudo apt-get update

При этом устанавливается соединение со всеми репозиториями, перечисленными в файле /etc/apt/sources.list, и локальный кэш пакетов приводится в соответствие с их текущим состоянием.

Теперь можно произвести тотальное обновление системы:

$ sudo apt-get upgrade

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

В некоторых случаях apt-get upgrade не сможет выполнить обновление каких-либо пакетов, о чем честно и сообщит. Причины этому могут быть разные – например, конфликт новых зависимостей пакетов. На сей случай имеется более радикальное средство – dist-upgrade. Именно к нему следует прибегнуть и при обновлении старой версии дистрибутива до нового релиза:

$ sudo apt-get dist-upgrade

Эта команда просто тотально перепишет все наличные пакеты их обновленными версиями, одновременно разрешая и новые их зависимости (вплоть до удаления конфликтующих пакетов).

Вот теперь можно взяться и за отдельные пакеты. Дистрибутивные deb-пакеты вовсе не совпадают с пакетами авторскими – они намного более дробные. Например, каждый из авторских пакетов KDE, типа kdenetworks или kdegraphics, делится на множество мелких монофунк- циональных deb-пакетов. И тут на помощь придет команда apt-cache search, которая в качестве аргумента воспринимает ключевое слово. И в ответ на команду вида

$ apt-cache search ftp

последует список всех пакетов, в описании которых фигурирует ключевое слово ftp.

Выявив нужный пакет, следует обратиться к команде apt-get install. Посредством которой будет он благополучно скачан и установлен – со всеми обязательными (depends) зависимостями. Перед этим будет опять-таки выведен список подлежащих установке пакетов, объем скачиваемого материала и изменения в занятом дисковом пространстве. А также будет дан список пакетов, связанных с данным разными типами «мягких» зависимостей – пользователю останется только решить, нужны ли они ему.

Инструмент apt-get выполняет и удаление пакетов:

$ apt-get remove packagename

При этом настроечные файлы сохраняются – для их удаления требуется опция --purge, которая выполнит полную очистку системы от всех компонентов пакета.

Очень ценна опция -i, обеспечивающая инверсию действия опера- торов. То есть команда

$ sudo apt-get remove packagname -i

установит пакет packagename, а команда

$ sudo apt-get install packagname -i

напротив, удалит его. Это очень полезно при экспериментировании с большим количеством пакетов.

Если нужно собрать из исходников много пакетов, пересобрать систему целиком или требуется компиляция с какими-либо особыми услови- ями, следует прибегнуть к инструменту – apt-build. Это – отдельный пакет, который устанавливается обычными образом, и в ходе установки настраивается. Настройки включают: выбор степени оптимизации, облегченной (соответствующая флагу gcc -O1), средней (флаг -O2) или усиленной (-O3), указание дополнительных флагов gcc, если в них есть необходимость, опций для команды make, выбор процессора (Pentium, Pentium-4 и так далее). Если же для отдельных программ условия компиляции нужно изменить – apt-build можно переконфигурировать обычным образом:

$ sudo dpkg-reconfigure apt-build

Команда apt-build включает ряд операторов, таких, как update – обновление списка доступных пакетов, upgrade – сборка обновленных пакетов, world – полная пересборка всей системы. То есть инструмент apt-build, несмотря на сугубо пакетную природу использующих его дистрибутивов, имеет ничуть не меньшие возможности по индивидуалированной компиляции, чем система портов FreeBSD или аналогичные средства Source Based дистрибутивов Linux.

[править] Kubuntu по русски

Дистрибутив, претендующий на «гуманное отношение к пользователям», должен в обязательно порядке уметь разговаривать с ними на родном языке, в том числе, и русском. И тут Ubuntu и Kubuntu в первом приближении выглядят терпимо: если в ходе установки выбрать русский язык и соответствующую ему страну, то есть Россию, то по завершении процесса мы получаем более-менее русифицированные X с прогрессивной локалью UTF-8.

А вот в консоли дело обстоит из рук вон плохо: шрифт для вывода кириллических символов при старте машины автоматически не подгружается, а попытка ввести русские буквы приводит к появлению на экране вполне нечленораздельной абракадабры. Конечно, Kubuntu не ориентирован на использование в текстовом режиме. Однако и терпеть в консоли такое безобразие тоже не хочется. Так что давайте уж доведем до ума русификацию консоли.

Процедура эта достаточно просто выполняется вручную. Во-первых, обеспечиваем загрузку шрифта со встроенной таблицей sfm (screen font map): вызываем для редактирования необходимый конфигурационный файл:

$ sudoedit /etc/console-tools/config

и вносим в него строки:

SCREEN_FONT_vc1=LatArCyrHeb-16
SCREEN_FONT_vc2=LatArCyrHeb-16
SCREEN_FONT_vc3=LatArCyrHeb-16
SCREEN_FONT_vc4=LatArCyrHeb-16
SCREEN_FONT_vc5=LatArCyrHeb-16
SCREEN_FONT_vc6=LatArCyrHeb-16

Загружаемый таким образом шрифт выглядит весьма убого, но его можно заменить шрифтами либо из пакета terminus-fonts, либо из коллекции с http://www.posix.ru/download.shtml (последние нужно поместить в каталог /usr/share/consolefonts/ вручную).

Во-вторых, устанавливаем Unicode-раскладку клавиатуры (ru-utf, скачать ее можно здесь же: http://www.posix.ru/download.shtml):

$ sudo cp path2/ru-utf.kmap.gz /etc/console/boottime.kmap.gz

И после перезагрузки машины убеждаемся, что обрели способность к вводу символов кириллицы. Раскладка – для win-маркированных клавиш (то есть с нормальным расположением знаков препинания), переключение латиница/кириллица – по правому <Control>.

Есть и другой способ русификации, более соответствующий Debian Way – установка и конфигурирование пакета console-cyrillic, что предлагается читателю в качестве самостоятельного упражнения.

Вторая проблема из числа локально зависимых, требующая решения, для этих целей используется aspell – что естественно для Unicode (так как ispell с Unicode до сих пор не работает). Имеется и пакет с русским словарем для него, aspell-ru – но только для архитектуры i386. Для AMD64 же можно предложить два решения.

Первое – через http://rpmfind.net/ отыскать более-менее свежий rpm-пакет для архитектуры AMD64, установить alien – трансформатор пакетов из одного формата в другой и его посредством преобразовать rpm в deb:

$ fakeroot alien aspell-ru-0.99f7-2.x86_64.rpm

Каковой и устанавливается обычным образом:

$ sudo dpkg -i alien aspell-ru-0.99f7-2.x86_64.deb

Второе же решение – просто автоматом построить соответствующий deb-пакет посредством apt-build, после чего остается подключить его к любимому текстовому редактору или просто запускать из командной строки.

[править] Борьба за мультимедиа

(thumbnail)
Ищем мультимедийные компоненты. Прозрачный терминал - одна из изюминок KDE

Все сказанное ранее относилось к любому из дистрибутивов семейства Ubuntu. Теперь же речь пойдет о специфике Kubuntu. В нем для проигрывания аудио штатно предназначена программа Amarok, а за воспроизведение видео отвечает универсальный медиаплейер Kaffeine. Сразу после установки, что называется, «из коробки», оба они в состоянии только запускать звуковые ogg-файлы, ни mp3, ни Real Audio их восприятию недоступны, как, впрочем, и банальные avi’шки домашнего производства.

Столь нехорошее поведение объясняется отсутствием движков и кодеков. И связано с лицензионными соображениями. Дело в том, что алгоритмы, на которых основываются программы воспроизводства аудио/видео (например, mpeg-кодирования) запатентованы в тех странах, законы которых признают патенты на алгоритмы (или, скажем, законы природы). И создатели дистрибутивов, ориентированных на международное распространение (а разработчики Ubuntu/Kubuntu именно к тому и стремятся), вынуждены с этим считаться.

Благо законы нашей Родины, вопреки Салтыкову-Щедрину, в такой глупости до сих пор замечены не были, и мы можем слушать музыку или смотреть кино, не чувствуя себя интеллектуальными преступниками. Остается только обеспечить свое право возможностью его использовать.

Для чего нам и потребуется устанавливать эти самые кодеки/движки. Возникает вопрос – какие? Для ответа придется прибегнуть к методу ползучего эмпиризма.

Сначала займемся звуком, воспроизводимом посредством Amarok. Посредством

$ apt-cache search amarok

смотрим, какие движки (engine) к нему можно подключить в принципе. Оказывается, следующие:

amarok-gstreamer – GStreamer engine for the amaroK audio player
amarok-arts – aRts engine for the amaroK audio player
amarok-engines – output engines for the amaroK audio player
amarok-xine – xine engine for the amaroK audio player

Не буду тянуть кота за хвост – я остановился на варианте amarokxine, дополненном пакетом akode-mpeg – ведь mpeg потребуется в любом случае. После чего Amarok начинает нормально играть не только mp3 и Real Audio, но и, в качестве бесплатного приложения, – классово чуждый WMA. Правда, Kaffeine – категорически отказывается что либо, кроме ogg-файлов – но все-таки основное его назначение – крутить видео. А этого он пока тоже делать не хочет.

Изучение вывода команды

$ apt-cache search kaffeine

приводит к заключению, что нужно установить gstreamer0.8-mpeg2dec – после этого начинается показ фильмов, содранных с VideoCD – но без звука. Звук появляется после установки gstreamer0.8-mad, но мои домотканные avi’шки по прежнему не прокручиваются. Последняя надежда – устанавливаю gstreamer0.8-ffmpeg. Теперь, наконец, начинают крутиться и они, так что эксприменты можно прекратить со спокойной душой.

Персональные инструменты
купить
подписаться
Яндекс.Метрика