Миграция в Linux: путевые заметки
АрхивПоработав с этим дистрибутивом, я ощутил острое желание вернуться в Windows — срочно! —собрать свои виртуальные манатки (в основном почтовый архив), упаковать их в один файл, закинуть его за спину и уйти в Линукс. Навсегда!
Поработав с этим дистрибутивом, я ощутил острое желание вернуться в Windows — срочно! —собрать свои виртуальные манатки (в основном почтовый архив), упаковать их в один файл, закинуть его за спину и уйти в Линукс. Навсегда!
Поставить на рабочую машинку (ноутбук Samsung Q20) какой-нибудь из современных Линуксов отечественной «сборки» (желательно на ядре 2.6) мне хотелось давно, — но то времени не было, то нужный диск под руку не подворачивался. Наконец, возможность «пощупать» свежатинку появилась: компания ASPLinux любезно предоставила на тестирование бету ASP Linux Deluxe 10 на четырех дисках — сразу предупредив, что продукт еще довольно сырой, недоработанный, первые глюки уже выявлены, но пока не устранены, и вообще, писать о нем нужно сильно ругательную статью — но в самый ближайший номер. «Ну, ругательную не ругательную, а какую получится», — подумал я и пошел ставить ОС на свой многострадальный ноутбук.
Сразу оговорюсь: я не Линукс-гуру, и все нижеследующее есть комментарии «чайника», хотя и имеющего опыт работы с системой, но привыкшего осваивать ПО исключительно методом тыка и не любящего (как и большинство пользователей) читать справки (Впрочем, никаких инструкций в печатном виде к ASP 10 Beta и не прилагалось — на то она и бета). Так что описанные ниже проблемы вполне могут оказаться несущественными с точки зрения специалиста, а предлагаемые методы решения — неоптимальными и даже смешными. Однако сегодня Линукс позиционируется как система для широких народных масс, а значит, разработчикам того или иного дистрибутива придется научиться иметь дело с неспециалистами.
Установка и первые впечатления
Мои надежды на ядро 2.6 не оправдались: на этапе установки внешний FireWire-CD-привод видеться отказывался напрочь. Загрузка с него начиналась, но как только дело доходило до копирования файлов, компакт-диск сразу «терялся». Сетевой установки, с помощью которой я ставил когда-то на этот ноутбук ALT Linux Junior 2.1, в «десятке» не было, однако нашлось другое решение: из-под Windows была сделана iso-копия первого диска дистрибутива и размещена на винчестере, в доступном для инсталлятора месте. После настройки в соответствии с инструкцией, найденной в файле INSTALL, все заработало.
Установщик оказался себе на уме: откинуться на спинку кресла и отдохнуть не советовал, устанавливаемую ОС не нахваливал — вместо этого предложил во время копирования файлов перекинуться в картишки — вернее, разложить пасьянс. К сожалению, он неразговорчив. Например, описаний типов установки («Пользовательская», «Сервер» и т. д.) не предусмотрено — приходится либо полагаться на выбор разработчиков, либо просматривать список пакетов вручную. Еще одна недоработка, связанная с присущей Линуксу взаимозависимостью компонентов: инсталлятор «десятки» сообщает о необходимости установки дополнительных пакетов, только когда вы уже выбрали все, что нужно, — и, быть может, жесткий диск к этому моменту уже забит под завязку. А, скажем, в том же ALT Linux зависимости разрешаются по мере выбора пакетов.
Первое впечатление после установки: «Ой, какое здесь все русифицированное!» Найти программу, в которой половина надписей сделана по-русски, а половина — по-английски (хорошо, если не кракозябрами), было очень легко в дистрибутивах трехлетней давности — сейчас приходится немножко повозиться. Впрочем, кто ищет, тот всегда находит, и за примером идти пришлось не слишком далеко: конечно, слово «Print» является почти древнеславянским, а термин «script-fu» можно разве что транслитерировать, но все-таки в отдельных приложениях иноземные буковки встречаются регулярно (рис. 1).
Несмотря на обилие русского языка на экране, первая фраза, набранная в окне OpenOffice Writer’а, выглядела так: «Pochemu-to ne pereklyuchaetsya na russkuyu raskladku…». Действительно, для обучения системы этому нехитрому действию пришлось вручную поместить в среде Gnome апплет «Индикатор раскладок» на одну из панелей. Почему-то автоматически это не делается — или же у меня что-то не так поставилось (из-за того, что ставил только с первого диска, а затем уже доустанавливал необходимые пакеты вручную), или звезды расположились криво, — но, например, в KDE набирать по-русски я так и не научился.
Безусловно, по сравнению со старыми дистрибутивами прогресс налицо, но проблемы с русификацией всплывают и в других местах — некоторые программы вдруг пытаются заговорить с вами на KOI8-R или Unicode, хотя при установке была выбрана кодировка Windows-1251. Впрочем, хромает в системе не только русский язык.
Столовая ложка дегтя
Как меня и предупреждали, всевозможных неисправностей самого разного калибра в дистрибутиве много. Конечно, следует сделать скидку на бета-статус версии и надеяться, что к релизу все будет в порядке. Однако если одни недоработки простительны, то другие нет. Ко вторым я бы отнес, например, неработающий модуль установки и удаления программ, из-за чего приходится учить всякие заклинания, вроде «rpm -ihvf», разбираться с зависимостями между пакетами и выполнять множество других нетривиальных действий.
Часть проблем можно отнести на несовместимость данного конкретного Линукса с данным конкретным ноутбуком — ведь даже Windows XP зачастую работает не вполне корректно на ноутах при отсутствии штатных драйверов, так чего требовать от ОС, которую разработчики железа пока поддерживают не слишком охотно? Поэтому никакого Wi-Fi, встроенного кардридера, расширенного управления питанием и прочих излишеств не предусмотрено. Внутренний модем, равно как и инфракрасный порт (для доступа к Сети через GPRS-сотовый), обнаружить не удалось, так что единственным средством связи с внешним миром остается локальная сеть. И даже изменение яркости экрана почему-то приводит к зависанию системы, хотя та же операция под консолью проходит безупречно.
Есть ошибки, которые на самом деле не ошибки, а «особенности поведения». Например, разделы диска с файловой системой NTFS подключаются (монтируются) автоматически, но доступ к ним имеет только пользователь по имени root (Это «суперпользователь», обладающий всеми возможными правами; работать «под рутом» в повседневной жизни категорически не рекомендуется всеми Linux-руководствами из соображений безопасности и устойчивости системы). Чтобы это исправить, приходится перемонтировать диск с параметром umask=0, но как автоматизировать процесс штатными средствами, я не понял.
Мелкие глюки, встретившиеся по дороге, я просто перечислю:
В общем, проблем хватает.
Эксперимент: жизнь в свободном мире
«Как же так?! — воскликнет читатель. — Выходит, дистрибутив нашпигован ошибками, а в начале статьи говорилось, что после него не хочется возвращаться в Windows?» Парадоксально, но это правда — не хочется. Дистрибутив не так плох, как могло показаться после прочтения предыдущей части. А сам Linux, если с ним немного освоиться и понять его дух и философию, — замечательная штука.
К этому выводу я пришел после того, как решился на безумный эксперимент: пожить неделю исключительно под Linux, не загружая Windows вообще. Поначалу казалось, что выжить в таких условиях невозможно: будучи весьма придирчивым к софту, я не считаю компьютер пригодным к работе, пока на нем не будет нескольких десятков сторонних программ (FAR с кучей плагинов, TypeAndRun, EditPlus, The Bat!, Opera, какой-нибудь файрволл и антивирус, PolyEdit, WinAmp, IrfanView, ImageFox, Syndirella — список можно продолжить), а тут вдруг — броситься в незнакомую и потенциально враждебную среду практически без подготовки! Поначалу было страшно. Но все обошлось.
Шаманская синхронизация Palm’а
Задача: синхронизовать «Палм» Tungsten T с Linux-ноутбуком по USB.
Порядок действий: подключаю «Палм». Запускаю Evolution ® Сервис ® «Настроить утилиту для подключения Pilot». Экран «Настройка колыбельки» (умилительное название!). «Введите порт…» (по умолчанию /dev/pilot). Ясно: программе нужно знать, как прописался «Палм» в каталоге /dev (можно подумать, я сам это знаю!).
Нажимаю кнопочку «Синхронизация» на крэддле и проверяю, появились ли какие-то новые устройства в каталоге /dev. Переход в консоль, магические слова
ls /dev > ~/palm-connected
Теперь в файле palm-connected лежит список всех устройств из /dev. Отключаю «Палм». Еще разок!
ls /dev > ~/palm-disconnected
Остается сравнить файлы:
diff ~/palm-connected ~/palm-disconnected
Выдаются две строки: /dev/ttyUSB0 и /dev/ttyUSB1. Именно эти устройства появляются при попытке синхронизации. Странно, мне казалось, что у меня только один «Палм». Опять нажимаю на кнопку «HotSync». Пытаюсь прочитать устройства поочередно
cat /dev/ttyUSB1
Тишина…
cat /dev/ttyUSB0
Какие-то странные символы. Оно! Прописываю эту строку в окне «Мастера». Кнопка «Далее». Опять «Далее». «Нажмите кнопку HotSync…». Нажимаю (стараясь не дышать)!..
Снова тишина.
Что еще не так? «Палм» подключен? Подключен! Устройство есть? Есть! Синхронизироваться пытается? Пытается! Какие проблемы? Разбираюсь. Долго разбираюсь
ls -l /dev/ttyUSB0\
Понял! Неправильные права — взаимодействовать с «Палмом» дозволено только суперпользователю root. И снова командная строка
su
<Пароль root’а>
chmod 777 /dev/ttyUSB0
Что значит «No such file or directory»? Только что был? А, «Палм» уже отчаялся найти общий язык с компьютером и отключился. Еще раз нажимаю «HotSync».
Чмод-семь-семь-семь-слэш-дев-слэш-тэ-тэ-и-Ю-ЭС-БЭ-Ноль! Уфф, выговорил.
Синхронизация? Началась… Ур-ра!
Нет, еще не ура. Все русские буквы по пути от «Палма» до Evolution превратились в кракозябры. Где тут кодировка настраивается? Непонятно. Лезть в конфигурационные файлы? Нет, увольте, — мы пойдем другим путем.
Запускаю еще одну утилиту — KPilot. Где «Палм» находится, уже знаю. Синхронизация — опять не работает. Устройство ttyUSB0 автоматически исчезло, потом автоматически вернулось, но снова получило неправильный режим доступа. Чмод… (Где ж это настроить, чтобы автоматически делалось?)
Заработало! И буквы русские.
Есть в жизни счастье!
Видите, как все просто?
Софт
Будни под Линуксом начались с выбора основного средства коммуникаций — почтового клиента. Таковых в Открытом Мире много, однако, избалованный возможностями The Bat!, я заранее приготовился к тому, что найти что-то подобное этому непревзойденному мэйлеру не удастся. Почти ошибся: достойные клиенты встречаются — хотя, конечно, до «Мышки» не дотягивают. Пока же я остановился на Mozilla Mail (а в будущем, видимо, перейду на Thunderbird), в котором мне кое-чего не хватает (импорта из Unix mailbox, виртуальных папок, удобства работы с plain-text-письмами, индикатора пришедшей почты), но в целом — все нравится.
С браузером было проще: сначала я поставил «Оперу», которой был верен много лет под Windows, но потом вышел Mozilla Firefox 1.0, весьма приятный на вид и удобный в работе — так что после недолгого переучивания я указал «Опере» на дверь.
Еще одна незаменимая вещь, напрямую связанная с Интернетом: RSS-агрегатор, позволяющий быть в курсе всех событий как в мире, так и в жизни друзей и знакомых (читать блоги с помощью RSS гораздо удобнее, чем через банальный веб, а уж о новостях и говорить не приходится). Под Windows использовалась Syndirella (тоже open-source, кстати), а в дистрибутиве ASP я вообще упоминания об этой полезной технологии не обнаружил — видимо, сказывается ее молодость. Однако на Sourceforge.net нашлась разработка под названием Liferea (рис. 2), которая мне понравилась почти с первого взгляда — несмотря на статус альфа-версии.
Для работы с FTP/SCP вполне хватает Midnight Commander’а, слушать OGG/MP3 можно на стандартном xmms (после некоторой доводки с помощью молотка и зубила в соответствии с инструкциями, найденными в Сети, появилась даже возможность управлять им с клавиатуры из любого окна) — не хуже WinAmp будет, а смотреть видео можно на Xine или Mplayer. Работать с графикой следует конечно, в GIMP (благо в комплект ASP 10 входит аж версия 2.0): инструменты Crop и Levels в нем есть, а большее мне требуется редко. Для редактирования простых текстовых файлов служит Jed/XJed (рис. 3), который отлично заточен под работу с С, Perl, PHP, HTML, TeX и к которому я давно неравнодушен, а для RichText приходится использовать OpenOffice Writer. Увы, простого и элегантного RTF-редактора, вроде PolyEdit (в котором я пишу статьи под Windows), найти не удалось, но и OOWriter — штука неплохая, хотя его возможностей явно больше, чем нужно.
Для просмотра картинок я хотел использовать знакомый по предыдущему опыту работы с Linux GQView, но он повел себя в этом дистрибутиве как-то странно, так что пришлось перейти на Gthumb (рис. 4) — стандартную смотрелку Gnome. Интернет-пейджинг: в комплект входит GAIM — программа очень мощная, вряд ли может понадобиться что-то еще (Правда, в нем наблюдаются проблемы с кодировками). Пиринговая сеть: ED2K-клиент aMule (рис. 5), являющийся Linux-версией eMule, в дистрибутив, правда, не включен, но находится на том же Sourceforge.net в считанные секунды. Отсутствие словаря уровня Lingvo или MultiLex компенсируется наличием его веб-версии — при условии постоянного подключения к Сети, конечно.
Остается только разобраться со встроенным брандмауэром iptables, поставить какой-нибудь антивирус — и можно жить!
Опыт использования
Имея некоторый опыт взаимодействия с *nix-системами, работать под ASP 10 довольно удобно, да и для комфорта Windows-пользователей сделано немало. После запуска Gnome с удивлением обнаружил на Рабочем столе папочку «Компьютер» (рис. 6), практически копирующую одноименный элемент рабочих столов Windows начиная с 95/NT4. Есть и некоторая вариация на тему «Панели управления» — в меню (чуть не написал «Пуск») появились разделы «Параметры» и «Системные параметры» (вторые отличаются от первых тем, что затрагивают настройки всего компьютера, а не одного конкретного пользователя и, следовательно, требуют пароля root’a для запуска), где произвести базовую настройку ОС сможет даже панически боящийся командной строки пользователь.
Впрочем, совсем обойтись без консоли не удается. И мануалы почитывать приходится — увы, куда ж без этого, особенно если нужно сделать что-нибудь не вполне очевидное или возникает какая-то проблема. Да и установка программ без команды rpm пока невозможна — соответствующий элемент «Панели управления», как было сказано выше, по непонятной причине не работает. Я уж не говорю о сборке проектов из исходников.
Различные носители информации, вроде CD и внешних кардридеров, находятся при подключении по USB/FireWire автоматически, однако далеко не всегда монтируются сами собой и еще реже автоматически размонтируются. Последнее, впрочем, нормально — ручное отсоединение устройства иногда требуется и под WinXP, бояться тут нечего (не нужно даже знать о существовании команды umount и записей в fstab — достаточно кликнуть в контекстном меню выбранного диска «Отсоединить том», и флэшку можно вынимать).
Еще одна интересная особенность: автоматическое обновление Up2Date. Система сама отслеживает появление новых версий пакетов в репозитарии Fedora Core (на котором основан дистрибутив) и, при желании пользователя, позволяет их автоматически скачать и установить (никакой назойливости Windows Update). Впрочем, не обошлось без глюков и здесь: при попытке обновить все пакеты сразу после установки системы в графе «Требуется скачать» было указано какое-то небольшое число в килобайтах, хотя системе требовалось явно больше. Но если нужно автоматически обновить несколько пакетов или есть быстрое безлимитное подключение — штука удобная.
Обнаружилось и множество мелких приятностей и забавных штучек. Например, очень порадовал апплет «Сводка погоды» (рис. 7) — эдакий термометр на Рабочем столе, показывающий текущую температуру за окном или на другом краю земного шара (информация обновляется в реальном времени через Интернет). Или вот, скажем, могли ли мы представить себе электронный планетарий, входящий в дистрибутив Windows? А здесь — запросто: пакет Kstars (рис. 8, фотография звезды предоставлена Space Telescope Science Institute), часть проекта Edutaiment под эгидой KDE. Очень любопытная вещь — помимо основных функций планетария есть и нечто, ранее мне не встречавшееся: можно открыть интересующий участок звездного неба, ткнуть в первую попавшуюся галактику — и тут же посмотреть на ее снимок, сделанный с помощью какого-нибудь большого телескопа (информация опять-таки берется из Интернета).
Чего не хватает
За неделю эксперимента острой необходимости перезагрузки в Windows я не почувствовал. Не чувствую ее, впрочем, и до сих пор. Практически все задачи, которые мне приходится решать на компьютере, — написание и правка материалов в rtf и TeX, администрирование сайтов, переписка, несложная обработка фотографий (хотя мои камеры общаться в Линуксом не захотели, проблема совместимости была решена с помощью кардридера), программирование (C/C++, Perl) и прочие мелочи, — под Линуксом решать можно, а удобство работы в чем-то даже повыше будет: все-таки система настраивается под пользователя в довольно широких пределах.
Правда, возвращаться в Несвободную ОС порой приходится — например, чтобы осуществить платеж через систему «Яндекс.Деньги». Увы, клиентского приложения под Linux в PayCash писать, видимо, не собираются, а веб-интерфейс для доступа к своему кошельку как минимум год находится «в разработке». Энтузиастам удавалось запускать «Кошелек» под Wine — эмулятором Windows, — но особого желания разбираться в этом нет. Проще, вероятно, перейти в WebMoney (в которой веб-интерфейс уже реализован), но и этого я пока не сделал — ибо привычка.
Сильно не хватает расширенного управления питанием (индикации заряда батарей, Suspend и Hibernate), пригодились бы Wi-Fi с модемом, да и инфракрасный порт не помешает. Пока ноутбук стоит дома, где есть доступ как к розетке, так и к Сети через локалку, — это не принципиально, но как только появляется необходимость подключиться к Интернету по GPRS или поработать с перерывами несколько часов от аккумулятора — все сразу становится плохо. Большая часть этих возможностей под Линуксом есть — но не в этом дистрибутиве, и, возможно, вообще не в дистрибутиве, а в виде патчей и драйверов, которые еще надо вручную поставить и настроить.
Не заключение
Итак, под Линуксом уже можно работать. Система действительно может конкурировать с Windows — в том числе за место на домашних компьютерах. Пока ей это будет трудновато — но ее потенциал сомнений не вызывает.
Автор выражает благодарность Павлу Каледе за помощь в подготовке статьи. Ни один нелицензионный байт в написании не участвовал.
Философская запись CD
В файловый менеджер Nautilus встроена возможность записи на CD — почти как под Windows XP. Точно так же сначала все файлы сбрасываются в одно окошко, потом нажимается кнопка «Запись» — и диск прожигается. Правда, после первой попытки Nautilus сообщил, что привод кем-то уже используется, — помог только перезапуск Иксов. После этого диск записался без вопросов (кажется, не спросили даже, нужно ли стирать то, что на нем хранилось).
Однако, как и писалка WinXP, резак Nautilus’а мне не слишком понравился, и я решил попробовать что-нибудь покруче. Стандартный графический инструмент прожига — XCDRoast — отказался видеть внешний привод (хотя система воспринимает его замечательно). Пришлось осваиваться с утилитами командной строки mkisofs и cdrecord. Первая позволяет «собрать» iso-образ нового диска из отдельных файлов и каталогов, а вторая — прожечь его на компакт. Ничего сложного в них нет — по крайней мере, после изучения мануалов.
Собственно, разбираться с этими утилитами мне понадобилось для единственной цели: нужно было сделать точную (побитную) копию одного CD. Понятно, что, имея cdrecord, достаточно сграбить iso-образ компакта и записать на другой — операция тривиальная… если б я только знал, с помощью какой утилиты принято в этой системе делать образы. Понятно, что mkisofs здесь не подходит, поскольку создает новую iso’шку (хотя и с теми же файлами), а не точную копию диска.
Соответствующую программу я искал долго — и в конце концов стало казаться, что ее нет вообще. Не написали. Забыли. Случайно обошли вниманием проблему. Как такое могло случиться?
Наконец, осенила догадка — безумная, но объясняющая эту странную ситуацию. Дело в том, что все устройства в Линуксе — будь то внешний CD-привод или принтер — воспринимаются системой как особого вида файл в каталоге /dev. И работать она с ними может практически так же, как с обычными файлами. Более того: файл с iso-образом для Линукса мало чем отличается от файла устройства — его можно практически так же присоединить (mount -o loop), как настоящий диск (специальные утилиты для просмотра содержимого iso’шек не нужны — здесь вам не Windows). Получается, что для создания iso достаточно просто… скопировать файл устройства в другое место!
Оказалось, что это почти правильно — только использовать надо не команду cp, а гораздо более общую команду cat, перенаправляющую потоки ввода-вывода. Делается это так:
cat /dev/scd0 > disk.iso
Конечно, додуматься до подобного решения Windows-пользователь, не знающий устройства системы хотя бы в общих чертах, вряд ли сможет, а для линуксоида со стажем даже сам вопрос непонятен.
Такая вот у этой ОС философия. Дикая (для человека, испорченного Microsoft’ом), но симпатичная.