Ну... это блог, что ещё ожидать от блога?

понедельник, 31 мая 2010 г.

OC Ubuntu 10.04 GNU/Linux: первое знакомство

Explore Ubuntu.

Like it?

Install it.

Love it!

*сие можно прочесть на обороте фиолетовой упаковки Ubuntu 10.04 LTS


Так как я уже упоминал в своей заметке в этом блоге о том что я собираюсь перейти на другую ОС, основанную так же как и моя предыдущая ОС на Linux и стеке программ и библиотек проекта GNU разработанного под эгидой фонда Free Software Foundation (FSF), то посему, я решил написать небольшую заметку о впечатлениях от процесса установки и использования этой самой новой ОС которая оказалась ни чем иным как Ubuntu 10.04 под кодовым именем Lucid Lynx, хотя тут как раз нужно заметить что в Ubuntu при работе с сетевыми хранилищами программного обеспечения которые называются репозитариями, используется только часть этого имени, и в моём случае это будет lucid без второй части lynx которая не используется и видимо присутствует для удобства и красоты.


Для меня знакомство с Linux началось давно, в 2004 году с дистрибутива Slackware 10.0 GNU/Linux, но несмотря на прошедшие 6 лет я могу сказать что по прежнему почти ничего не понимаю ни в Linux ни в программном обеспечении которое обычно используется в мире СПО и Linux. Поэтому, ничего выдающегося в области Знания Силы от меня ждать не приходится, но вместо этого есть лишь поверхностный взгляд пользователя. А поскольку я всегда использовал дистрибутивы-потомки от Slackware то можно считать что я свои впечатления от Debian+Ubuntu я буду сравнивать со Slackware+ , где плюс это дистрибутив-потомок с графической средой Xfce 4.6. Вот, Slackware vs. Ubuntu, здесь и далее речь будет вестись о них.


Получение дистрибутивов, может быть одинаковым в обоих случаях. Для этого нужно иметь скоростное интернет подключение и много интернет трафика что бы загрузить необходимые ISO9660 образы компакт или DVD дисков. Размеры могут соответственно различаться в пределах от 300 — 700 миллионов бит до 4.5 миллиардов бит для различных видов оптических носителей в расчёте на которые эти образы файловых систем и были собраны. А вот если вы хотите получить дистрибутив по почте в виде оптического диска то появляются существенные различия. Так что бы получить Slackware вам придётся заказать его в каком либо интернет магазине и оплатить заказ наложенным платежом при получение в почтовом отделении. Но вот Ubuntu, а до недавних времён так же даже и версию Kubuntu с оконной средой созданной в одноимённых проектах Qt/KDE вместо стандартного для Ubuntu GNOME, можно было заказать бесплатную мировую доставку одного компакт-диска с Ubuntu на нём - довольно существенное различие.


Установка так же существенно различается. Кстати можно отметить что установка Slackware от версии к версии остаётся очень стабильной в отношении использованных в инсталляторе технологий — это по прежнему старый добрый набор шелл скриптов который работает без запуска X.org графического сервера и соответственно может работать очень стабильно при условии что сами скрипты написаны и работают без ошибок. Лично я не встречал каких то особых проблем или сбоев в работе инсталляторов аля Slackware.


Другое дело Ubuntu который в свою очередь основан на Debian. Хотя я и видел раньше нечто на подобии Slackware'ского процесса установки в первых версиях Ubuntu, в те времена когда еще присылали по 2 диска вместо 1 как сейчас, в нынешние времена Ubuntu'вцы научились использовать один диск как для работы в режиме live-cd так и для установки системы что видимо и привело к тому что в нынешних версиях этого дистрибутива установка проходит в графическом режиме с запущенным X.org, а сама программа установки внешне и по своим повадкам стала очень походить на подобное же в процессе установки ОС Microsoft Windows XP, с той разницей что в случае Ubuntu 10.04 мне посчастливилось лицезреть чуть меньше рекламных и информационных текстов чем в случае проприетарного оппонента производства Microsoft. А вот несколько лет назад, одна из более ранних версий Ubuntu упорно зависала и не устанавливалась, что и остановило тогда меня от знакомства с этим дистрибутивом. Хотя и в этот раз программа установки не отработала без нареканий, так при попытке установить систему на пустые форматированные разделы программа установки пыталась удалить с них несуществующие файлы что приводило её к ошибке из-за из их отсутствия, хотя это и решилось после того как программа установки сама провела форматирование разделов тем самым убеждаясь что они свободны от файлов — как мило со стороны разработчиков этого ПО совершать такие оплошности, и кстати было неприятно то что мне не дали возможности самому решать с какими опциями форматировать диск — в отличии от Slackware где такая возможность есть. Хотя могу заметить что сама по себе программа установки стала гораздо лучше, так при выборе временной зоны появилась красивая интерактивная карта мира, а определение раскладки клавиатуры судя по всему разработчиками была доведена до совершенства — так ли это поживём увидим.


В этой версии Ubuntu 10.04 в качестве загрузчика ОС используется GRUB2, который мне не очень знаком, т.к. раньше в основном приходилось иметь дело с загрузчиком LILO, но всё не так уж и непонятно что бы останавливаться перед переходом на другой дистрибутив Linux. В этой части Ubuntu справилась на отлично и все мои ОС в количестве 1 типа Slackware уверено заняли свои места в списке ОС которые GRUB был по его мнению способен загрузить. Резюмируя нужно сказать что Ubuntu имеет хорошие шансы не установится на компьютеры с недостаточными ресурсами т.е. с объёмом оперативной памяти компьютера менее 256 миллионов бит о чём собственно и можно прочесть на внутренней стороне упаковки диска присылаемого компанией Canonical по почте. И всё это конечно ни в коей мере не применимо к Slackware. 16 миллионов бит оперативной памяти? Нет проблем — Slackware попытается справится и здесь хотя под такие скромные возможности скорее всего более уместно было подобрать что то более специализированное на поддержке старого и слабого компьютерного железа. Да и работа современных Linux серии 2.6 требуют по моим наблюдениям минимум 32 миллионов бит оперативной памяти да и то только для того что бы загрузить сам Linux и пару системных оболочек Bash.


Выбрав при загрузке в меню GRUB пункт 'Ubuntu, with Linux 2.6.32-21-generic' первое что я увидел и заметил это то что Plymouth использованный для создания красивого, положенного любой вменяемой современной ОС в мире, загрузочного экрана, а в Ubuntu 10.04 он как это и следовало ожидать тоже фиолетовый как и основная тема, и как упаковка — в общем в Ubuntu 10.04 — фиолетово всё до чего только смогли дотянутся разработчики этого дистрибутива, не успевает полностью скрыть от пользователей уставившихся в мониторы своих компьютеров исконную черноту Linux - свободной реализации замены Unix - мелькает, подло показывая свой неукрощённый оскал Си код ядра не желающий скрывать свои революционные порывы под покровом из декоративных ширм свойственных в этом мире почившим вождям революций. Что не может не радовать злопыхателей — они радостно указуют на этот недостаток тогда как все остальные ревнители глядят совсем в другую сторону AWN так же известного как Avant Window Navigator которого нет на диске в отличии от того же compiz'a, но который есть в репозитариях и который нужно загружать и устанавливать отдельно. Впрочем мне фиолетово и то и другое, вернее и те и другие, а AWN есть логичное продолжение compiz'a что не может не радовать ибо корпоративные пользователи могут видеть своими глазами что Linux это круто, совсем как Mac а Мак это круто разве не мак? Мак мак все знают что мак. А репутация крутой ОС это половина успеха.


Итак, в Ubuntu 10.04 в качестве оконной рабочей среды используется GNOME версии 2.30.0 а в последующих версиях дистрибутива ожидается использование GNOME версии 3.0 что конечно же сулит небывалые до сих пор улучшения взаимодействия пользователя с компьютером — дай то Бог. Пока же просто скажу что в этой версии GNOME, мне таки довелось наблюдать ошибку в его работе когда я пытался создать дополнительную панель на рабочем столе, новая панель не появлялась а поскольку я пытался сделать это несколько раз было довольно забавно когда сначала по верхней кромке рабочего стола образовалась невидимая но занимающая место панель — об её присутствии говорило то что панель которая там была изначально будучи отправленной в режим свободного перемещения не могла быть установлена на прежнее место — что-то, а именно невидимая панель занимала это место на рабочем столе не давая любым другим объектам располагаться там. Впрочем, после перезагрузки ноутбука невидимые панели которые были созданы раньше, штук 5 сразу, вдруг внезапно стали видимы и хотя они и располагались друг над другом всё таки пришлось потратить время на то что бы их все удалить. Хорошо хоть так всё обернулось, а вот если бы они остались прозрачными и постоянно присутствовали на рабочем столе не реагируя на нажатие кнопок «тачпада» или «мыши» то это было не очень забавно.


Из приятного, что касается системы в целом можно отметить довольно быструю загрузку и ещё более быструю процедуру выключения компьютера — как разработчики этого добились и чем при этом пришлось пожертвовать в пользу таких скоростей — для меня остаётся загадкой. Мой прежний «Slackware» дистрибутив выключался очень медленно даже по сравнению в предыдущими своими же версиями, и объяснялось это тем что во время выполнения скриптов выключения производилось обновления кэша разделяемых библиотек что нагружало и процессор и жёсткий диск и конечно занимало время, и довольно значительный его промежуток. Был конечно соблазн выключить это закомментировав соответствующие строки в скриптах, но потом я с этим смирился и оставил всё как было.


Из неприятного что связанно с этим дистрибутивом. Самое неприятное это отсутствие в ядре ОС поддержки виртуальной файловой системы usbfs предназначенной отображать подключённые к портам USB устройства, и соответственно необходимой для работы имеющихся у меня периферийных устройств, а именно модема Dlink DSL-200 gen III. Возможность поддержки usbfs в ядрах версии 2.6.32 всё же есть, но с недавних пор в ядрах поставляемых с Ubuntu эта подсистема отключена по причинам мне не известным. Также, была необходимость в подсистеме tun/tap предназначенной для создания виртуальных сетевых интерфейсов для приложений и эта подсистема доступна в Ubuntu но вопреки обычной традиции собирать эту подсистему в виде загружаемого модуля ядра, в системе Ubuntu он оказался уже загруженным при загрузке системы и его нет среди файлов модулей из чего можно сделать вывод что в Ubuntu решили сделать tun/tap присутствующим в ядре перманентно — причины и для этого решения остались за кадром. Впрочем это не критично сказывается на возможности для его использования если только приложение которое пытается его использовать не ограничено необходимостью во что бы то ни стало работать с этим только и исключительно в виде загружаемого модуля, впрочем — зачем бы?


Также из разнообразия программ, в Ubuntu 10.04 имеется в наличии compiz версии 0.8.4 который чудесно интегрирован с менеджером окон metacity и gtk-window-decorator …, и о ну надо же, ещё здесь есть ни много ни мало Mono JIT compiler version 2.4.4 собранный с сборщиком «мусора» Boehm (with typed GC) , но зато здесь нет программы patch которая мне оказалась необходимой для применения патча за номером 13 к Linux 2.6.32, впрочем она присутствует на установочном компакт-диске но не устанавливается во время первичной установки ОС. И в отличии от Slackware которые поставляются со всеми файлами необходимыми для компиляции программ, в Ubuntu всё что связано с компиляцией т.е. заголовочные файлы и т.п. находится в *-dev пакетах и сами эти пакеты на установочном диске отсутствуют, что например оказалось очень неудобно при пересборке ядра которое мне пришлось делать для включения поддержки выключенной в Ubuntu`вском ядре usbfs. Ни один из конфигураторов «ванильного» ядра которое я подобрал себе «на обочине» — GTK или ncurses не оказался для меня доступным так как обоим нужны были или libgtk-dev (название же, не очевидно, что бы его узнать пришлось долго просматривать списки доступных пакетов в менеджере пакетов Synaptic) или libncurses5-dev а их как не трудно догадаться как раз и не было. Обычная ситуация в итоге — нужно подключение к интернет что бы получить файлы которые нужны что бы получить работающее подключение к интернет. В итоге пришлось взять файл /boot/config-2.6.32-21-generic с настройками конфигурации Ubuntu`вского ядра, скопировать его в директорию с распакованными исходными текстами «ванильного» linux-2.6.32, затем наложить патч из файла patch-2.6.32.13.bz2, потом переименовать config-2.6.32-21-generic в .config и затем открыв этот файл в тектовом редакторе gedit найти там строчку или даже строчки:

#

# Miscellaneous USB options

#

# CONFIG_USB_DEVICEFS is not set

# CONFIG_USB_DEVICE_CLASS is not set

# CONFIG_USB_DYNAMIC_MINORS is not set


И здесь было нужно наугад, надеясь на везение, раскомментировать т. е. убрать «решётку» и заменить is not set на =y, что бы получить usbfs которая кстати в этом файле определяется параметром CONFIG_USB_DEVICEFS а вовсе не чем то вроде CONFIG_USBFS как наверное можно было ожидать. Но как бы там ни было, приведя этот параметр к виду CONFIG_USB_DEVICEFS=y и выполнив make oldconfig я тем памятным вечером (ночью) запустил компиляцию ядра, и забегая вперёд скажу что включение этой опции подключает поддержку usbfs. И, из-за того что всё что можно было пометить для сборки в виде модулей, разработчики Ubuntu таки и пометили, что лично для меня обратилось в сущий кошмар ожидания того момента когда же все эти треклятые не нужны мне совершенно бесконечные драйверы и файловые системы не прекратят компилироваться, и проще говоря это было долго, долго, долго, долго … больше чем 1,5 часа как обычно при настроенном в ручную ядре, отталкиваясь при этом от дистрибутивной конфигурации. Потом, после установки этого ядра, мне ещё долгое время, много раз, пришлось при загрузке GRUB править параметры нажимая на клавишу «е» для перехода к редактированию, стирать там Ubuntu`вское ядро и вписывать своё. Пфф... это было нудно. А всё потому что везде в инструкциях об этом написано что список загружаемых ОС и с их параметрами должен находится в файле menu.lst по адресу /boot/grub/menu.lst но а в действительности, сейчас этот файл носит имя grub.cfg что значит что не зная что искать вы этого не найдёте, и также в нём можно прочитать устрашающее предупреждение # DO NOT EDIT THIS FILE т. е. не редактируйте этот файл. Но, не смотря на столь грозное предупреждение, я всё же рискнул и добавил строчки для загрузки системы с моим ядром. Для этого я просто скопировал соответствующие строки из этого файла относящиеся к Ubuntu`вскому ядру и просто заменил имя файла ядра на нужное мне. После этого, при загрузке системы в меню ОС GRUB`а появилась строчка и с моими параметрами загрузки. Теперь всё плохо потому что я не верю в «ванильные» ядра больше. Вот так вот, хотели как лучше а получилось не Бог весть как. Патчи накладывать нельзя, ядро конфигурировать нельзя, программы компилировать нельзя — и в этом видимо выражается принцип Ubuntu «Just Work» (Просто работает).

Что еще мне не понравилось. Из более менее важного, учитывая мою ситуацию с жёстким диском, мне не понравилось отсутствие в дистрибутиве с компакт-диска пакета smartmontools с программами для мониторинга состояния жёсткого диска. И по моему это уже серьёзное упущение со стороны Canonical, ведь в любом компьютере есть жёсткий диск и следовательно есть постоянная необходимость иметь с самого начала работы системы и постоянно, инструмент для получения информации о состоянии его здоровья. Наверное в этом есть большая необходимость чем в установленном Mono. Например у меня нет ни одной программы для Mono и пока что он просто бесполезно занимает место на диске для которого же Canonical решила не поставлять необходимый системный софт. В чём здесь логика? Очень плохо Canonical, очень плохо!


И из-за привычки использовать htop в качестве менеджера процессов и most в качестве программы просмотра man страниц, мне не доставило особого удовольствия то что я обнаружил их отсутствие в базовой комплектации дистрибутива. Из-за какой такой традиции Debian в системе поставляет только less ? Это уже не постижимо — compiz и mono против smartctl и most. Мне уже хочется сказать пару ласковых коллективу Debian/Ubuntu по поводу их подхода к выбору приоритетов при формировании набора программ в этом дистрибутиве. И по моему они кое в чём не правы, когда они огульно убирают из дистрибутива все dev пакеты — хотя за этим и можно видеть рациональные мотивы — так как практика и здравый смысл показывают что нужно оставить некоторые, и когда убирают жизненно необходимые системные утилиты — неужели они таким образом экономят дисковое место на компакт-диске? Не самый удачный способ сэкономить!


Кроме прочего, мне не понравились два основных приложения из состава GNOME, а именно менеджер файлов Nautilus и эмулятор терминала gnome-terminal. Частично это вызвано объективными причинами а частично просто привычкой использовать примерно такие же программы которые выглядят и функционируют почти так же как и две вышеназванные. В отношении Nautilus к объективным причинам я прежде всего отношу его не способность при запуске из командной строки начинать работу в том каталоге в котором находится системная оболчка, т. е. если я открыв терминал в директории /tmp затем вызову экземпляр Nautilus то он откроет своё окно не в директории /tmp а в домашней папке пользователя, а что бы это обойти нужно явно указывать путь к рабочей директории что делать каждый раз очень неудобно. Также, «Основная панель инструментов» не кажется очень уместной или удобной в использовании, со своими кнопками «вперёд/назад» в стиле веб-браузера, их более удобная альтернатива это строка адреса оформленная в виде кнопок соответствующих папкам в дереве каталога в ветви которого вы в данный момент находитесь — в сочетании с вкладками и боковой панелькой с включённым отображением истории перемещений — вполне достаточно для удобной навигации по файловой структуре. Также боковая панель, и её режимы работы, сама по себе это вполне продуманный, удобный и функциональный элемент интерфейса. Это приводит к выводу что «Основная панель инструментов» это ненужный элемент, отнимающий вычислительные ресурсы и следовательно увеличивающий время загрузки и отклика. О функции «Фон и эмблемы...» и говорить не приходится, т. к. очевидна полна неуместность этого в менеджере файлов который должен быть прежде всего удобным - что значит функциональным, и удобным - что значит быстрым — как по времени загрузки так и по времени отклика; что означает что из таких программ нужно убрать всё лишнее, а «Фон и эмблемы...» это очевидно лишняя составляющая этой программы. И вот к Nautilus`у был добавлен Thunar как более простой и быстрый компаньон. Но его недостатки это отсутствие вкладок и функции запоминания истории посещённых директорий в левой боковой панели, хотя он и не страдает болезнью неможения открытия текущей директории, как Nautilus. И также можно провести объективные замеры времени загрузки Nautilus и Thunar с помощью утилиты time и ключа quit который оба испытуемых поддерживают.


Thunar

Nautilus

real 0m0.040s

real 0m0.110s

user 0m0.020s

user 0m0.032s

sys 0m0.000s

sys 0m0.012s


И из таблицы выше видно что Thunar почти в 3 раза быстрее чем Nautilus, хотя эти результаты неточны так как при множестве проверок результаты разнятся.


Что касается gnome-terminal то он был полностью заменён на xfce4-terminal так как последний по субъективным ощущениям он более быстр во время запуска чем gnome-terminal, и при этом оба приложения почти идентичны по функциям, настройкам и внешнему виду, не считая мигающего курсора у gnome-terminal.


Резюмируя, могу сказать что Debian/Ubuntu есть самый обычный дистрибутив на базе Linux. Linux по прежнему наполнен ошибками в коде и его по прежнему просто напросто опасно использовать на компьютере. Что-то конечно делается для устранения этого в рамках разработки дистрибутива, что-то делается в рамках разработки самого Linux и с помощью разнообразных патчей — для отслеживания и правильного применения которых собственно наверно и нужен отряд разработчиков Canonical — дай то Бог. Но, пока по всей видимости, Ubuntu есть что-то среднее между любым «домашним» дистрибутивом и полностью коммерческим таким как Red Hat. Это полу любительское полу индустриальное произведение, основной отличительный признак которого это бесплатная рассылка дисков по миру, тогда как по уровню проблем, недоработок и опасности использования на дорогом оборудовании этот дистрибутив не очень сильно выигрывает на фоне всех остальных.




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

Отправить комментарий