Вы читаете журнал [info]zysoft

ZYsoft
Как я переходил на Debian Etch 
21-Ноя-2007 08:08 pm

Собственно, установка Debian и побудила меня завести ЖЖ. Вот моя история:

    Года полтора назад, работал я на Fedora Core 6. Но потом что-то меня заклинило, и я еще около полугода работал в Мастдае. Но, глюки сего несравненного творения мелкомягких сделали свое дело – было очень некомфортно. Последней каплей стало неадекватное поведение при работе с флешкой – винда ее тупо потеряла на середине процесса копирования.

    Нет, дань Дяде Билу все-таки нужно отдать. Я хочу сказать, что заметил много положительных сдвигов в их виндузятнике. Например MS Office 2007 – на самом деле достаточно удобный пакет, не взирая на непривычный поначалу интерфейс. Они на самом деле делают много хорошего софта, но вот почему-то никак не могут осилить хорошее ядро. Поэтому винда так и остается системой для домохозяек.

    Так вот, надоело мне это мелкое и мягкое безобразие и решил я отказаться от него. Надеюсь, что уже в последний раз. Стала проблема с выбором дистрибутива. Долго не думая, попробовал поставить Fedora, но увы – не подошла. Однако, первый раз видел как линукс виснет и нестабильно работает... Много думал...

    Я так и не смог вылечить эту проблему, поэтому продолжил свои скитания по паутине в поисках наилучшего дистрибутива. Смотрел Suse, не понравилось. Как-то тяжело она работает. Решение подсказал случай – нужно нам было сделать машины (несколько серверов) под тестирование сайта на скорость. Туда поставили Debian Etch amd64 (а у нас в конторе почти все машины на 64-й архитектуре). Посмотрел я его и мне понравилось – работает стабильно, понимает оборудование, более-менее свеж по софту. На нем я и остановился.

    Итак, поставил я себе Debian на машину и понял, что на самом деле, когда он ставился как сервер – особо никаких проблем не было, а вот для настройки его под клиентскую машину пришлось поиметь много «любви». Вот, собственно, об этой оргии я и хочу поведать, дабы у тех, кто тоже решил поставить себе Etch было меньше проблем.

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

    Начну с того, что стал он достаточно хорошо, сразу настроил видеокарту на нормальное разрешение (в моем случае 1280х1024), но не распознал вмонтированный в мать GeForce 6100. Debian сделал наглую морду и обозвал его «Универсальная видеокарта» с драйвером vesa. В целом, все выглядело нормально, и я отложил установку дров до поры до времени. Также не поставил он «по умолчанию» и KDE. Пришлось ставить кеды отдельно. Проблем не возникло.

    Тем не менее, я не услышал звук. Огорчился. Сходил к Дедушке Гуглу за советом. Он покачал головой, узнав, что у меня Realtek High Definition Audio (HDA), да еще и встроенный в мать на nForce чипсете, но посоветовл обратиться сюда: http://www.opendrivers.com/freedownload/240188/realtek-ac97-audio-codecs-driver-4.06a-linux-2.4-or-2.6-download.html (хотя я запамятовал откуда именно взял файл, но тут он есть). Попытался собрать – не вышло. Выяснилось, что у меня нет ни одного компилятора. Поставив gcc, g++ и (как позже понадобилось) все kernel headers для своего ядра, я таки смог собрать дрова. О чудо – я могу слышать!

    В силу того, что я занимаюсь веб-разработками (преимущественно PHP+MySQL), мне необходимо иметь нормальную и удобную среду. Первое, что бросилось в глаза – браузер. В Debian нет больше Firefox'а. Его переименовали в Iceweasel. Тем не менее, по сути, это все равно Огненный Лис. Версия «по умолчанию» - 2.0.0.8. В общем, вполне удовлетворительно, хотя с оговоркой, что похоже он и определяется как Iceweasel. Это делает невозможным, например, установку панели Google, которою я активно использую, путем мастера, представленного на странице http://www.google.com/tools/firefox/toolbar/FT3/intl/ru/index.html?utm_source=ru-et-more&utm_medium=et&utm_campaign=ru. Он мне сказал, что мне нужен Firefox и отправил меня на страницу Mozilla. Нахал!

    Но не тут-то было! Я полазил в исходном коде страницы (я надеюсь, что не совершил ничего противозаконного) и нашел там прямую ссылку на плагин. Вот она - http://dl.google.com/firefox/google-toolbar.xpi . Плагин отлично работает, а, собственно, с чего бы ему не трудится на благо человечества, коли на самом деле он стоит на FF?

    С браузером все вроде срослось, окромя флеша. Но, на первый взгляд, это обычная ситуация – флеш плагин ставится отдельно. А не тут-то было! Фигли вам! Не выпускает Adobe свой проигрыватель под x86_64. Только под x86. Как же быть?

    Пошел за советом к Дедушке Гуглу. Дедушка Гугль посадил меня к себе на коленки и начал рыться в своих записях, пока я пил чай с печеньем.

    Решение нашлось - http://kalasy.wordpress.com/2007/10/13/adobe-flash-player-en-firefox-iceweasel-amd-64-bits/ (это то, от чего я отталкивался). Не взирая на языковой барьер, последовательность действий понятна. Опишу ее здесь еще раз вкратце на русском языке:

В репозиториях я вроде находил эти пакеты, но не в родных. Итак:

  1. Качаем плагин: wget http://gwenole.beauchesne.info/projects/nspluginwrapper/files/nspluginwrapper-0.9.91.4-1.x86_64.rpm

  2. Качаем визуализатор: wget http://gwenole.beauchesne.info/projects/nspluginwrapper/files/nspluginwrapper-i386-0.9.91.4-1.x86_64.rpm

  3. От рута делаем: apt-get install ia32-libs ia32-libs-* alien linux32

  4. Далее делаем alien -d ИМЯ_ФАЙЛА.rpm для обоих файлов

  5. dpkg -i ИМЯ_ФАЙЛА.deb для полученных deb'ов.

  6. Теперь качаем сам флеш-плагин отсюда: http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_9_linux.tar.gz

  7. Распаковываем куда-нибудь в темпы

  8. Копируем libflashplayer.so в /usr/lib/mozilla/plugins/

  9. Делаем /usr/lib/nspluginwrapper/x86_64/linux/npconfig -i /usr/lib/mozilla/plugins/libflashplayer.so

  10. Делаем nspluginwrapper -i /usr/lib/mozilla/plugins/libflashplayer.so

  11. Теперь делаем симлинк для npwrapper.libflashplayer.so: ln -s /usr/lib/mozilla/plugins/npwrapper.libflashplayer.so /usr/lib/iceweasel/plugins/npwrapper.libflashplayer.so

  12. Теперь перезапускаем Iceweasel'а и наслаждаемся...


    Заработало. Был очень рад. Теперь есть возможность адекватно смотреть страницы. Но надо ж и сайты на чем-то писать...

 
    Взгляд упал на Eclipse. Судя по отзывам очень хорошая среда, да еще и бесплатная и с открытым кодом. Что еще может быть лучше?! В репозитории оказалась только версия 3.2. Насколько мне известно, в 3.3 версии было очень много существенных изменений, поэтому захотелось поставить именно ее. Не буду вдаваться в подробности тех удовольствий, которые я испытывал пытаясь все-таки запустить 3.3. Но у меня ничего не вышло.

    Было принято волевое решение наплевать на прогресс и поставить 3.2. Eclipse 3.2 установился без проблем, но запускаться отказался – не нашел ява-машину (JRE). Для меня, конечно, было очень удивительно, как этот монстр, построенный на яве, не имел в наличии соответствующих зависимостей. Но ничего – сходил на сайт http://java.sun.com/javase/downloads/index_jdk5.jsp и закачал Java Runtime Environment (JRE) 5.0 Update 14 в бинарнике. Под линукс, естественно. Запустил, он в текущей папке создал мне папку с JRE. И все. В систему он его не ставил. Но и тут не страшно. Копируем JRE куда-нибудь, например в /usr/local/jre. Теперь идем в /etc/eclipse/ и там правим файлик java_home. В него первым путем прописываем путь к JRE (которая где-то в /usr/local/). Сохраняем, идем запускаем Eclipse, и (о, чудо!) он работает.

    Но помимо самого Eclipse, надо ж его обвесить плагинами – в частности PDT (PHP Development Tools). Долго мучился, пока понял, что скачанный с сайта релиз PDT никак не станет на 3.2. Пришлось взять бубен и бить в него головой (отмечу, что с самим Eclipse ранее знаком не был, только по наслышке).

    Помогло. Пришло решение – пошел в Справка -> Обновления -> Найти и установить. Добавил удаленный сайт со следующим урлом - http://download.eclipse.org/tools/pdt/updates/. Просканировал на наличе софта – нашел PDT. Сняв галочку «Показывать только свежие релизы» смог увидеть PDT 0.7.0. Пару пакетов не захотели ставиться, но один из них стал.

    О счастье! Я могу работать в PHP среде! Радости не было предела. Но, на самом деле, он был. И назывался этот предел «Отладка».

    Долго пытался запустить дебагер. Я знал, что Eclipse поддерживает Xdebug, поэтому предварительно поставил и настроил оного. К слову сказать, Debian, по моей просьбе, поставил Apache 2.2.3, а за одно и PHP 5.2.0-8 (сам догадался). MySQL ставил отдельно из репозиториев. Проблем не возникло. По поводу Xdebug всегда можно почитать на http://xdebug.org/. Я собирал и ставил экстеншн вручную.

    Так вот, как выяснилось (опять таки у Дедушки Гугла), что Eclipse требует наличия соответствующего плагина для отладки с помощью Xdebug. Искал. Нашел здесь: https://bugs.eclipse.org/bugs/show_bug.cgi?id=169408. XdebugBinContrib_0.2.3 вполне подошел к Eclipse 3.2. Немного поразбиравшись с настройкой, я таки его запустил и смог отлаживаться.

    Скажу сразу – работает это все творение неприлично медленно. Судя по форумам и отзывам – из-за памяти (на данный момент я являюсь счастливым обладателем всего лишь 512 Мб мозгов). Ну и из-за ява-машины, конечно.

    Для работы с SVN мне тоже понадобился плагин. Его можно закачать тем же методом, что и PDT отсюда: http://www.polarion.org/projects/subversive/download/1.1/update-site/. В целом я все-таки настроил этого монстра и заставил его работать как мне надо. Одна незадача – скорость работы сделала работу невозможной. Пока память не увеличу – не смогу сказать в ее ли недостатке дело.

    Посему, настроив Eclipse, я благополучно от нее отказался. По крайней мере на время. Решил поискать альтернативу. Раньше я работал на Quanta+ из пакета kdewebdevelop. Но, в силу сложности проектов, она перестала меня устраивать. остановился на Kdevelop. Отличное приложение, работает быстро, есть мало памяти (в отличие от некоторых). Есть и минусы – PHP мы поддерживаем, но отлаживаться не умеем. Также периодически страдает Code Insight. Но это меня не испугало. В целом отличный пакет.

    Настроив таки среду для работы, озаботился средствами связи – как никак, а общаться ж надо...

    ICQ и MSN настроились без проблем на Kopete. Очень понравился этот мессенджер. Красиво, достаточно стабильно работает, поддерживает много протоколов. Google Talk настроить пока не смог – изучаю вопрос.

    Начал ставить Skype и столкнулся опять со 64-разрядной стеной – нет дистрибутива для x86_64. Сходил в гости к Дедушке Гуглу. Дедушка Гугл, конечно был рад меня видеть, но был немного уставший – пришлось некоторое время его уговаривать дать совет.

    Выудил из него, что Skype можно таки запустить на 64-й архитектуре. Для этого надо было скачать сначала сам Skype в статической сборке (на их официальном сайте есть такой дистрибутив), а потом еще кучу библиотек для i386 архитектуры с http://packages.debian.org/. Потом надо было все это поставить. Список библиотек можно получить с помощью команды ldd /PATH/WHERE/SKYPE/UNPACKED/skype. Оно выведет список зависимостей приложения. В моем случае это были следующие библиотеки:

linux-gate.so.1

libasound.so.2

libSM.so.6

libICE.so.6

libXi.so.6

libXrender.so.1

libXrandr.so.2

libXfixes.so.3

libXcursor.so.1

libXinerama.so.1

libfreetype.so.6

libfontconfig.so.1

libXext.so.6

libX11.so.6

librt.so.1

libdl.so.2

libpthread.so.0

libsigc-2.0.so.0

libstdc++.so.6

libm.so.6

libgcc_s.so.1

libc.so.6

libz.so.1

libexpat.so.1

libXau.so.6

libXdmcp.so.6

Пришлось сходить за всеми этими пакетами. Ставятся они вот как:

dpkg -X LIBRARY_PACKAGE_NAME /emul/ia32-linux


    Когда все библиотеки установлены, необходимо сделать еще пару шагов – закачать еще одну библиотеку, удалить в мусорку старую либу и поставить новую. Библиотека называется lib32asound2_1.0.13-2_amd64.deb. Ставится все вот как:

dpkg -P --force all lib32asound2 libasound2

apt-get install libasound2

dpkg -i lib32asound2_1.0.13-2_amd64.deb lib32asound2_1.0.13-2_amd64.deb

    И вот только после этого Skype начал свою 64-х разрядную жизнь с поддержкой звука, чему я несказанно обрадовался.

    С IRC проблем не было – поставил KVIrc из репозиториев и все заработало сразу и как положено. Кстати, маленький трюк для любителей этого клиента – я думаю многим не нравится, что он не делает человеческих уведомлений о новом сообщении в канале. Так вот это решаемо. На уровне программирования самого KVIrc. Итак, вот как можно сделать уведомление на сообщение с таким же окошком как для приватных и поведение а-ля QIP:

  1. Заходим в «Сценарии» -> «Редактировать события»

  2. Находим «OnChannelMessage»

  3. По правой кнопке создаем обработчик

  4. Вставляем следующий код:

if ($istimer(myTimer)) killtimer myTimer

if (!$window.hasUserFocus)

{

notifier.message "$0 - $3"

timer (myTimer,3000)

{

notifier.hide

}

}

  1. Нажимаем «Применить» и «ОК»

    После этого, когда будет принято сообщение в канале, Вы будете видеть всплывающее окошко с текстом сообщения. Окошко показывается на 3 сек. Если будет мало – можно увеличить значение параметра 3000 на (СЕК*1000).

    После того как средства коммуникации были в порядке, стала проблема – а как же на русском из KDE-то писать? Вернее это не проблема – в кедах настраиваются раскладки без проблем. Но вот переключение по Ctrl-Shift пока еще проблема. Чтобы заставить это работать понадобилось вот что:

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

  2. Теперь идем в /home/YOUR_NAME/.kde/share/config

  3. Открываем на редактирование файл kdeglobals

  4. Находим там строку Switch to Next Keyboard Layout

  5. Приводим ее к виду «Switch to Next Keyboard Layout=Ctrl+Shift_L» (можно и Shift_R написать, кому как удобней).

  6. Сохраняем, закрываем сеанс KDE и заходим заново.

  7. Теперь все отлично переключается.

    Единственное что, что переключаться надо именно так как написали – Ctrl + Shift. Странно, но Shift + Ctrl не работает. Но на самом деле, быстро привыкается, т.к. очень сходно с виндой.

    Когда немного поулеглись страсти с настройкой, и началась работа, потребовалось тестировать сайты под IE (а, как всем известно, сей продукт достаточно криво рендерит многие вещи). Возник вопрос – как же его поставить? Собственно ясно, что только на Wine, но ведь библиотек же не хватит для его нормальной работы...

    Сходил в очередной раз к Дедушке Гуглу. Он посоветовал мне воспользоваться вот такой вот штукой - http://www.tatanka.com.br/ies4linux/page/Installation. Отлично все заработало. Только есть нюанс - http://www.tatanka.com.br/ies4linux/page/Legal_notices. Но тем не менее все работает и даже с флешем.


    После всего этого, я задался целью все-таки установить дрова на видео. Мне повезло – на сайте nVidia вполне можно скачать дрова для карт под linux64. Официальные, нормальные дрова. Инсталлер вполне неплохо справился.

    И, в качестве бонуса, скажу еще вот о чем – потеребив Дедушку Гугла за бороду, я выведал из него один секрет – оказывается, OpenOffice можно заставить читать .docx файлы (в формате MS Office 2007). Делается это как описано тут: http://blog.mypapit.net/2007/09/how-to-open-microsoft-openxml-docx-documents-in-openoffice.html.   

    В целом, на этом и закончилось набивание особо крупных шишек. Дедушка Гугл не скрывая своего восхищения тем, что я, наконец, от него отстал, отправился отдыхать. А я, тем временем, с большим удовольствием продолжаю работать в Debian'е и не нарадуюсь на то, как грамотно люди умеют делать системы и софт для них.

This page was loaded Май 28 2012, 4:49 am GMT.