понедельник, 27 апреля 2009 г.

Ubuntu 9.04 Первые впечатления.

Установка

Так как Ubuntu уже стоял на моём буке, я ставил новую версию путём обновления старой. Так получилось, что я пропустил последний релиз и с версии 8.04 пришлось сначала обновиться до версии 8.10 а только потом до 9.04.  Обновление прошло довольно тяжело, так как в последнюю минуту оказалось, что у меня кончилось место на диске. Пришлось устраивать генеральную уборку. По сути apt качает обновлённые пакеты и ставит. Однако из-за того, что количество пакетов для установки в обоих случаях чуть меньше 1500 - этот процесс занимает довольно много времени. Во время обновления до версии 8.10 у меня несколько раз пропадала связь и установка прерывалась. Так как даже при обновлении качаются deb пакеты - они сохраняются в кэше apt и их можно неперезагружать, но при расчёте необходимого места скрипт обновлений это не учитывает. Поэтому для комфортного обновления нужно иметь хотябы двойное превышение дискового пространства над необходимым. Забавно, но при обновлении до 9.04 "небыло ни единого разрыва!!!". Система обновилась с первого раза.

Нововведения

Со слов Владимира Крюкова (http://www.computerra.ru/interactive/421991/)

"Разработчики Ubuntu и Canonical уделяют особое внимание удобству работы с системой, и в настоящее время у нас работает большая команда профессиональных дизайнеров. Некоторые результаты можно было увидеть уже в 8.10. В 9.04 всё стало ещё интереснее. В частности, пожалуйста, обратите внимание на новый подход к системным сообщениям."

Действительно, все системные сообщения и многие продукты (например Pidgin) теперь выводят свои сообщения унифицированно и с одинаковым дизаином.

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

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

Несмотря на кардинальные изменения в графическом интерфейсе, звуковое сопровождение осталось прежним.

Итог

Вот так меня встретила новая версия ОС от Canonical. Особых проблем пока замечено небыло. Конечно, хорошо бы описать её более подробно, но пока моё знакомство слишком краткосрочно. Поэтому, пока всё. Коментируйте, критикуйте, отзывайтесь.

суббота, 25 апреля 2009 г.

ALT Linux

Когда пишешь под Linux во фрилансе, понимаешь насколько велик выбор современных дистрибутивов и технологий, используемых в них. Недавно мне понадобилось познакомиться с отечественным дистрибутивом ALT Linux. Этот пост посвещён данному знакомству.

Первое знакомство.

Первое знакомство с linux дистрибутивами для меня начинается всегда с сайта компании-создателя и со страницы загрузки. Итак, как я уже сказал, дистрибутив разрабатывается и сопровождается отечественной компанией. Честно говоря, я очень долго искал страницу загрузки с которой я смог бы скачать серверную версию дистрибутива. Основной упор сайта сделан на интернет магазине, который во всю предлагает купить диски с дистрибутивами (компания имеет несколько закрытых офисных дистрибутивов), поддержку и некоторую документация. Тут надо отметить, что основным поводом для перехода на такой дистрибутив является именно наличие русскоязычной технической поддержки. Так же считается, что эти дистрибутивы больше адаптированы под "российские реалии", но, если честно, я не понимаю, чем эти "российские реалии" в IT сфере отличаются от "нероссийских". Дизаин сайта в целом мне понравился. Всё сделано достаточно гладко и не раздражает глаз.

Установка

Установку дистрибутива я проводил на виртуальную машину vmWare. Ресурсы были выделены стандартные (только диск пришлось поменять на 8Гб SCSI). Первым я устанавливал поставку Server 4.0.

ALT Linux server

Загрузчик диска встечает графическим меню, предлагающим загрузиться с HDD, либо поставить  ОС. Сама установка проходит с помощью руссифицированного графического интерфейса. Стоит отметить, что в процессе установки нельзя выбрать необходимые пакеты. Есть всего лишь три варианта установки, которые отличаются местом, занятым впоследствии на диске. Полную информацию о пакетах, которые будут установлены в том или ином варианте установщик не даёт. В самом конце предлагается отметить роли для сервера. В процессе установки спрашивается пароль для root и создаётся один системный пользователь.

Установленная система встречает нас консолью (честно говоря, после такого графического инсталлятора, начинаешь думать, что они даже в сервер графическую оболочку запихнули). Начальный осмотр показал, что в арсенале консольных средств есть интерпретатор BASH, редактор VIM. Консоль поддерживает цвета, и раскрашивает вывод в большинстве стандартных команд таких как ls. К моему удивлению, сервер не содержал никаких средств сборки пакетов. Не был установлен даже make.

Вдоволь наигравшись с сервером я поставил Desktop версию дистрибутива.

ALT Linux Desktop

В целом установка десктоп версии похожа на серверную. Такая же нулевая возможность выбора. Однако, в отличие от сервера, установщик не заметил виртуального диска. Пришлось создавать новый IDE винт и ставить на него. Также после установки были проблемы с сетью. (Решить данные проблемы помогла опция использовать сетевые настройки KDE). Также при установке создаётся root и системный пользователь.

После установки наш встречает окошка входа KDE, которое не позволяет зайти под root'ом. Системный пользователь имеет гораздо меньше прав и не состоят в sudousers. Эксплуатация системы чем-то напоминает Ubuntu. Также есть круг очерченный пользователю. Для действий, связанных с функционированием системы, необходимо ввести пароль (тут, правда, root'a). 

Архитектура системы.

Менеджер пакетов.

В качестве менеджера пакетов используется старый добрый apt. В desktop версии в качестве фронтенда установлен synaptic (ещё одно сходство с ubuntu). В списке репозиториев обнаруживается огромное количество записей, но все они почему-то выключены. Единственный активный репозиториев - установочный диск. После активации нескольких записей (я активировал "родной сервер" и зеркало на Яндексе) количество пакетов серьёзно пополняется и apt начинает подтормаживать при поиске.

Особенно хочется отметить, что данная система использует одновременно и deb и rmp пакеты, поэтому проблем с поиском пакетом возникнуть не должно.

Alterator

Одной из фишек системы является своя собственная среда конфигурирования alterator. По своему предназначению она чем-то напоминает Yast или "Windows Control Panel", но одновременно имеет отличия. Система модульная. Если пакет имеет интерфейс для alterator'a, то он представляется в репозитории под именем alterator-<имя пакета>.

Alterator имеет несколько интерфейсов пользователя. Один из них - графическое окно, где ссылками обозначены установленные модули alterator. На мой вкус такой интерфейс - не самый хороший и красивый вариант. Количество систем, которыми можно управлять мало. Также, как мне показалось, проблемы с сетью после установки были связанны именно с конфликтом модуля сети alterator и модуля сети KDE.

Ещё одна фишка alterator - web интерфейс. Данная фишка была опробована в серверном дистрибутиве (включена в нём по умолчанию). Веб интерфейс после авторизации показывает основные данные о сервере (правда технических данных не много. На мой взгляд в системе не хватает графиков а-ля rrd-tools, хотя не исключаю, что такой модуль есть). Также веб интерфейс содержит оболочку над apt-get update. Данный функционал может помочь администратору и позволяет понизить технические навыки у персонала, следящим за сервером.

Итоги

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

Из плюсов можно отметить отличную руссификацию, лёгкую инсталляцию, присутствие основных пакетов в базовой поставке. Из минусов - конфликты alterator с мастерами настройки KDE. 

пятница, 17 апреля 2009 г.

Python

Хотя эта тема относится не совсем к Linux, но всёже.

Компьютерная индустрия развивается невероятно быстрыми темпами и у меня складывается такое впечатление, что в ПО на первое место выходит не качество , а скорость разработки. Гонка мощностей сделала нерентабильной оптимизацию программ. Зачем корячиться, если за то время которое понадобится на оптимизацию все пользователи перейдут на более новое железо и проблемы сами собой исчезнут! Другое дело скорость. В наш век интернета от идеи до реализации необходимо тратить минимально короткое время.

Чтобы воплотить эту идею в жизнь приходится менять подходы, как к организации процесса программирования, так и к средствам и языку программирования. Один из таких "сверхбыстрых" по написанию и "не очень" по производительности языков является Python. Тут сразу хочется отметить, что интерпретатор Python'а сам в какой-то мере следует идее "сверхбыстрого" программирования. Новые функции появляются очень быстро и работают медленно, но через некоторое время переписываются и начинают работать быстрее. К чести разработчиков, можно отметить, что основной функционал уже написан и ведутся работы (несколькими независимыми группами разработчиков, в том числе и Google) по "разгону" интерпретатора. Новый функционал затрагивает в основном идущий в комплекте Framework.

Кстати о FrameWork'ах. В описании к Python'у написано буквально следущее "batteries included". Интерпретатор поставляется с обширным фреймворком, который позволяет выполныть огромное количество функций не прибегая к длительной разработке или качанию сторонних пакетов.

Что касается рабочего процесса, то сам стиль Python'а позволяет делать код наглядным и прикладыать минимальные усилия к егодополнительной документации и покрытия тестами.

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

Ну хорошо. Есть куча языков, которые позволяют писать код быстрее за счёт того, что код интерпретируется, есть сборщик мусора и прочая лабуда. Но программирование на Python'е вызывает совсем другое ощущение. В нём нет мощи Java или интеграции в MS технологии как у .NET (хотя с помощью батареек он в какой-то степени делает и то, и то). Основная идея которая приходит во время программирования на нём,звучит примерно так: "Язык прототипирования". Своей структурой и лексемами он позволяет писать код не задумываясь о технике написания. То есть писать код и не думать об освобождении или вобще каком-то менеджменте памяти, взаимодействии объектов. Он позволяет быстро набросать основную структуру проекта, не заморачиваясь описанием граничных случаев, так как предоставляет достаточно гибкости для того, чтобы дописать все проверки в будущем. Единственное, чего ему сейчас не хватает - это, наверное, IDE с хорошим блоком рефакторинга, созданного специально для Python'а.

Второе применение языка: калькулятор. Имея на борту довольно мощную математическую библиотеку и возможность написания лямбда функции Python, наверное, сможет потеснить mathlab. Во всяком случае мне его возможностей как калькулятора пока хватает за глаза.

Таким образом python занимает место, как язык быстрого выражения своих идей, этакой салфеткой для программиста. И если идея оказыватся жизненной, то вполне возможно, что код будет переписан на что-то более быстрое. А может создателям получится разогнать интерпретатор, а производителям железа - мощности, и в наличии более быстрых программ отпадёт весь смысл?

суббота, 4 апреля 2009 г.

Смена разрешения экрана из под консоли

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

xrandr --size <Необходимое разрешение>

например:

xrandr --size 800x600

Естественно для этого должны быть установлены соответствующие пакеты (в Ubuntu присутствуют по умолчанию).