понедельник, 27 августа 2007 г.

Установка ndiswrapper 1.47 из исходников на OpenSuse 10.2

Установка ndiswrapper 1.47 из исходников

Окончательно достали меня проблемы с Ндисвраппером (а точнее - мертвые зависания), что сейчас сижу из винды(!!!) и вот что нашёл на оффсайте ндисвраппера:
1.47 released
Written by Giri
Wednesday, 13 June 2007
Version 1.47 has been released. Short summary of changes since 1.46:

* Fixed random (occassional) crash issues with 64-bit drivers (observed with Broadcom driver)
* Fixed compilation issues with version 1.46

У меня как раз Броадком и 64 разрядная машинка) Сейчас будем патчиться.
Вот ссылка на сайт: http://ndiswrapper.sourceforge.net/joomla/

Установка предельно проста и сводится к слудующим шагам:
1) Скачиваем последнюю стабильную версию ndiswrapper c сайта, указанного выше.
2) Распаковываем содержимое архива в папку в папку.
3) Удаляем предыдущую установку ndiswrapper через yast2 (что предпочтительно)
4) После этого делаем с правами суперпользователя следующее: переходим в папку с распакованным драйвером, делаем make uninstall (эта цель сборки сносит все остатки ндиса, если они остались после удаления через яст). Отмечу, что этой же командой при необходимости вы можете полностью стереть драйвер из системы.
5) Выполнить команду make.
6) Выполнить команду make install, которая поместит модуль ndiswrapper в папку /lib/modules/`uname -r`/misc/
7) Переконфигурируем ндисвраппер: ndiswrapper -l служит для вывода всех установленных драйверов, ndiswrapper -r имя_установленного_драйвера служит для удаления дров, ndiswrapper -i служит для установки дров завново. Лично я советую, удалить Ваш драйвер и поставить его заново.
8) Загружаем модуль ядра ndiswrapper от имени суперпользователя посредством команды modprobe ndiswrapper.

Радуемся, хотя у меня вроде баг сохранился, но надеюсь Вам повезёт больше!
Более подробную инфу по второму этапу установки можете найти на: http://tomachinsky.blogspot.com/2007/06/wi-fi.html
-----
Баг полностью побежден обновлением через Йаст на ядро 2.6.18.8-0.5-default вместе с последующей пересборко данного модуля уже под новое ядро! // дико радостное, эх, как много крови мне попортил это баг

воскресенье, 26 августа 2007 г.

Обновление ядра для OpenSuse 10.2 и немного про Firefox2

Вот встала необходимость избавится от ndiswrapper (который, предположительно, и является причиной зависания моей Сузьки).

Вот адрес репозитория: ссылка, прописываем его как источник обновления и благополучно обновляемся, хотя предварительно все же советую свернуть содержимое раздела/папки /boot в архив, дабы себя застраховать от падения ядра. На этом все)



Огнелис

Нашел просто потрясающе удобный плагин для Firefox!
Вот ссылка: https://addons.mozilla.org/ru/firefox/addon/2410
Плагин занимается ни чем иным, как сохраняет ваше избранное на сайте, для доступа со многих компьютеров! Не правда ли, прелестная вещь ?

If you use Firefox on more than one computer, you'll want Foxmarks. Install Foxmarks on each computer, and it will work silently in the background to keep your bookmarks synchronized. You can also log in to my.foxmarks.com to manage your bookmarks from any computer.

A simple wizard guides you through the startup process. After that, just forget about it. It's simple and solid.

Миграция с Windows на Linux #2

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

  1. Просмотр и редактирование изображений - Gimp, Picasa, Gwenview (Photoshop, ACDSee)
  2. Jabber/ICQ клиент: PSI с транспортом icq.jabber.org.ru{хранит конфиг в: ~/.psi/} (Miranda, qip)
  3. ICQ клиент, серия 2. Вот буквально вчера сменил PSI на Kopete (есть поддержка как ICQ, так и jabber) и рад, функционал его намного шире, чем у того же PSI. {конфиг: ~/.kde/share/apps/kopete}
  4. Браузеры: Opera/Firefox/Konqueror(IE)
  5. Видеоплеер: Kaffeine (PowerDVD и проч)
  6. Аудиполеер с медиабиблиотекой: Amarok (Winamp)
  7. Запись CD\DVD - K3B (Nero)
  8. Качалки: KGet {на мой взгляд он весьма кривой, поэтому Gwget предпочтительней, KGet конфиг: ~/.kde/share/apps/kget}, Gwget (FlashGet, ReGet и проч.)
  9. Текстовые редакторы Vim, Emacs (среди аналогов под вин32 только порты этих же редакторов)
  10. Офисный пакет - OpenOffice 2.2 (M$ Office)
  11. Торрент клиент - KTorrent (bitTorrent)
  12. Шифрование данных: GPG (PGP)
  13. Словарь: StarDict (Lingvo)
  14. Ирц клиент: XChat {конфиг: ~/.xchat2/}(mirc)
  15. Чтение групп новостей: kNode {конфиг: ~/.kde/share/apps/knode}

Ну пока вроде все, как буду осваивать новые программы до уровня, когда я смогу их советовать всем остальным, буду редактировать этот список. P.S. вы, наверное, заметили, что я упоминаю место расположения конфигов всех, используемых мной программ, это, конечно же, не случайно, у меня есть дерзкая идея написать скрипт на shell для бэкапа всей моей системы и конфигов софта)

Миграция с Windows на Linux #1

На мой взгляд весьма нелёгкое это дело, но тем не менее вполне осуществимое)
Будет ли это цикл статей или ограничусь одним сообщением, покажет время, а пока начнём с небольшого обзора софта.

В данный момент работаю уже около месяца на openSUSE 10.2, но тем не менее новичком себя называть не имею желания, т.к. раньше имел некоторый опыт работы на Линукс системах, но он был эпизодическим - основной рабочей платформой был виндовс, а линукс запускался крайне редко.

На пути перехода к линуксу у меня было несколько преград, среди основных:

1) отсутствие винампа под линукс
2) отсутствие вменяемого icq клиента под линукс, который бы мог заменить мою любимую миранду
3) сложности с дровами к ноутбучному железу

Возможно, кто-то скажет, что это бред и рюшечки (да, подумаешь, какой-то там аськушный клиент!), но смею поспорить - я очень придирчив к прогам, которые использую 99% времени проводимого за компьютером и первой попавшейся "красноглазой поделкой" пользоваться не буду.

Но время шло и мне подкинули идею попробовать плеер Amarok {amarok.kde.org}, (тогда я ещё работал на Генту 2006.1), внимая всяческим эпитетам в сторону данной софтинки я её поставил, чему теперь безмерно рад, ибо винамп просто отдыхает на фоне мощи амарока.

Ну а теперь пункт #2, перепробовав добрый десяток icq клиентов (licq, kopete, sim, pidgin, gaim и пр.) я так и не нашёл подходящий. Но через некоторое время все же нашёл - это джаббер клиент PSI {psi-im.org}c подключеным icq транспортом на основе pyICQ (считаю его лучшим в данном классе).

Ну вот вроде и решили почти все мои проблемы за исключением железных, остнановимся теперь как раз на них. "Из коробки" {т.е. только после установки ОпенСьюз} у меня была поддержка системы энергосбережения (в т.ч и управление частотой микропроцессоров), проводной сетевой карты, тачпада, звук также установился нормально и система меня встретила приятной мелодией.

Не установились автоматически - драйвера для видео {вообще говоря с ними никаких проблем нету, тут дело несколько другого характера - они не поставляются вместе с ОС по причине того, что этого не приемлет лицензия}, также не определился вайфай.

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

пятница, 24 августа 2007 г.

Настройка прокси сервера squid в openSUSE 10.2

Довольно обыденная задача, но тем не менее есть некоторые тонкости, которые я и постараюсь изложить.

Для начала нам требуется запустить Yast и установить пакет squid. Сразу после установки его можно запустить: /etc/init.d/squid start
Но настройки по-умолчанию блокируют все соединения из внутренней локальной сети. Это исправить можно следующим образом:

1) Открываем в текстовом редакторе конфиг файл Squid`а vim /etc/squid/squid.conf
2) Ищем строку: http_access deny all, как вы можете догадаться, эта строка блокирует весь траффик на прокси, но нас это категорически не устраивает, поэтому комментируем эту строчку посредством постановки символа # в самом начале строки.
3) Допустим, в вашей домашней локальной сети используются адреса вида 192.168.155.x, в этом случае пишем следующее (возможно, что-то непонятно будет в этих строках, можете поискать в гугле или подождать моих новых статей, в которых я постараюсь описать все в подробностях):
acl my_home_network src 192.168.155.0/24
http_access allow my_home_network
4) Сохраняем файл конфигурации.
5) Перезапускаем сквид: /etc/init.d/squid restart
6) Проверяем работоспособность прокси с другого компьютера, лог доступа к прокси можно в реальном времени просмотреть командой: tail -f /var/log/squid/access.log

среда, 22 августа 2007 г.

Решение проблем с kdesu в openSUSE 10.2

Сегодня ограничимся небольшой заметкой об излечении одной забавной "фичи", которая мне портила целую неделю нервы. А именнно, о баге в kdesu, который проявлял себя следующим образом - при попытке запустить с помощью меню приложение, требующее прав рута (например yast2), выскакивало окошко "введите пароль рута", но особенность в том, что она на заведомо верный пароль она отвечала "ошибочный пароль" и закрывалась.

Лечится так:
1) Открываем консоль.
2) Логинимся суперпользователем посредством команды su
3) Переходим в папку: /home/nrg/.kde/share/config, где "nrg" - соотвественно имя вашего пользователя.
4) Открываем текстовый редактор (ну я, например, очень люблю Vim) и создаем файл kdesurc следующего содержания:
[super-user-command]
super-user-command=su
5) Сохраняем файл, меняем на него права командой chmod 777 kdesurc (это, чтобы он не ругался на невозможность записи в данный файл)
6) Радуемся избавлению от бага)
Решение взято вот отсюда: ссылка
P.S. Хм, а мне понравилось выделять команды и пути жирным шрифтом, значит так и буду делать, если Вы, конечно, не против.

Небольшой обзор свободных платформ разработки под Линукс

Под Линукс существует море отменных фреймворков, библиотек и целых платформ для разработки на огромном диапазоне языков, среди которых сначала я хотел бы отметить следующие:

  • Qt (C++), а также на него же море биндингов по типу pyQt, perlQt. Но следует упомянуть, что для коммерческого использования Qt платный. Также скажу, что это не просто библиотека для создания графического интерфейса пользователя, а очень большая платформа с огромными возможностями. Оффсайт: http://trolltech.com


  • Perl, идеальная платформа для веб приложений и всевозможных парсеров (как пример очень удачного фреймворка к нему - Catalyst). В данный момент я как раз занимаюсь многопоточными приложениями на Перле и хотел бы отметить, что реализация потоков начиная с версии 5.8.8 заслуживает очень лестных отзывов. Сайт: http://perl.org


  • Gtk(С++), GUI библиотека и к ней тоже, как и к Qt, создано море биндингов на те же PHP, Python и Perl.


  • Java и среды разработки на ней под Линукс - Eclipse, Netbeans. Для многих крупных проектов вообще идеальное решение. Сайт: http://java.com


  • Компиляторы С/С++, gcc - идеальное решение для разработки приложений любого масштаба. (вы ещё пишете под MSVC ?))))


  • Питон... ну про него последнее время сказано уже столько, что я почти ничего не могу добавить. Скажу, что для него существует огромное число фреймворков (чаще всего построенных по принципу MVC), например Django, Pylons. Сайт: http://python.org/


  • PHP, достаточно простой в изучении язык с большим количеством плагинов и фреймворков. Сайт: http://php.net


  • Для разработки баз данных идеальное решение MySQL\PostgreSQL. Вы ещё используете MSSQL для своих проектов?) Долгое время про MySQL можно было слышать, что это игрушка для мелких проектов, но после выхода кластерных версия этe СУБД почему-то никто уже не называет поделкой, странно, не правда ли?)))



  • В заключение, хотелось бы упомянуть отличную платформу для веб приложений - LAMP, которая расшифровывается как Linux Apache MySQL Perl PHP Python (в связи с популярностью Питона, считаю, что он имеет полное право находиться в этом списке).

    И это ничтожная часть реально существующих платформ. Так что можно с полной уверенностью в своих словах сказать, что Линукс для программиста поистине безграничен)


    Изначальная версия этого небольшого очерка была написана мною на одном из форумов поддержки пользователей SuSe Линукс, в ответ на вопрос о том, как настроить .net (поддерживается проектом Моно) под Линукс платформу. Но мою статью не стоит воспринимать как критику данной платформы (ведь нам не нужен холивар в комментариях, так ведь ?), это просто повод указать, что мир не сошёлся клином на ДотНете)

    вторник, 21 августа 2007 г.

    Мьютексы

    What is a mutex and how does it work?

    Imagine a big office (your program), with many assets (shared resources)
    and many employees (threads). As an example, all employees share one common
    resource - a toilet. All employees have agreed to use a label on a
    toilet's door (mutex).

    When employee wants to use a toilet, he checks a label on a door
    (locks a mutex): if it is "engaged", he waits (blocks on a mutex),
    then when it is "free", he enters the toilet and changes the label to
    "engaged" (mutex lock succeeded). When employee had finished his business
    in the toilet, he goes out and changes the label to "free" (unlocks mutex).

    If there are many people in the office, it even may be a queue (many threads
    blocked on a mutex). Then it is up to a manager (threads implementation
    algorithm), who gonna enter the toilet next. Usually, it is the first person
    in the queue (FIFO algorithm).

    So, in order to pee safely, following rules must apply:
    1. Everybody who wants to pee, MUST use a label - enter only when it is "free"
    and set the label to "engaged" (lock mutex). Otherwise confusion guaranteed.
    2. After peeing, the label must be set to "free" (unlock mutex).

    These rules, as you see, is just an agreement in the office (program logic).
    The label on the toilet's door (mutex) and a toilet itself (resource) are
    totally independent. The label can be anywhere, for example, at the helpdesk.
    The main thing is that everybody knows where it is and how it should be used.

    What happens if somebody in the office does NOT follow the agreement
    (some thread does not use mutex when accessing a resource)? That person enters
    the toilet paying no attention to the label. Somebody may be sitting
    there already, and as you can imagine, BAD things may happen.

    Authors: Denis Kozadaev, Sergey Lyubka. June 2007.


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

    пятница, 17 августа 2007 г.

    Отключение тачпада на ноутбуке в Линуксе.

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


    Лечится это весьма просто, а именно нужно поставить несколько пакетов:
    • gsynaptics (если используете Гном)
    • ksynaptics (если любите КДЕ)
    • libsynaptics
    • x11-input-synaptics (а вот это в нормальном дистре должно уже стоять, если нет - нужно поставить, ну а если в свою очередь возникнут проблемы и с этим, то ищите более полную документацию)
    После указанных операций запускаем syndock (это панель управления тачпадом).
    Никаких определённых настроек не требуется и основное, что нам нужно от этой программки - это сочетание, Ctrl+Alt+P, которое включает\выключает тачпад при необходимости.

    Можете возразить, что есть ещё более удобный способ автоматического отключения тачпада через udev, не буду спорить - каждому своё, вот описание данного способа: http://rusmafia.org/linux/node/713

    Для начала познакомимся)

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

    Ну что я могу сказать о себе? Зовут Павел, живу в Самаре, занимаюсь всем, что имеет какое-либо отношение к IT, очень амбициозен и самоуверен, а также циничен в меру (а может все же без меры ? Хотя это все же решать вам, уважаемые читатели... если, конечно, оные будут)).

    Ну и так бегущей строкой: основная работа - фриланс заказы, второстепенная - админ в небольшой конторе, ну и там далее)


    А, ещё, очееннььь люблю Мореееее))))