суббота, 29 сентября 2007 г.

Выбор дистрибутива.

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

После того, как по причине собственной криворукости упал мой ASP, мне пришла мысль попробовать что-нибудь новенькое. С тех пор я нахожусь в подвешенном состоянии поиска дистрибутива своей мечты.
В данный момент у меня установлено: Mandriva и MOPSlinux на десктопе, ALTLinux на ноутбуке и ASPLinux на сервере. Кроме того я пробовал Ubuntu. Было еще несколько дистрибутивов, в основном с дисков LinuxFormat, но в них мне встретились достаточно крупные проблемы еще на стадии установке, поэтому я даже названий их не запомнил. Несколько раз пытался ставить Gentoo, но каждый раз безуспешно.
Поверхностно набросаю впечатления от всех, вышеперечисленных дистрибутивов.

Mandriva Linux 2007 Free
User Friendly. И этим все сказано. Никаких проблем при установке. Единственный пока дистрибутив, в котором настройку wifi на ноутбуке мне удалось произвести буквально в несколько кликов мышью.(через ndiswrapper, при условии наличия виндовых драйверов). Очень качественная локализация. Расстраивают только кракозябры в тегах в Amarok, но совсем недавно избавился от этого, конвертировав теги всей моей музыки в utf8. Из минусов отмечу высокое ресурсопотребление(особенно с KDE), и как следствие - низкая скорость работы. И если на десктопе это еще не так бросается в глаза, то на ноутбуке от Mandriva пришлось отказаться. Чуть не забыл, самое заметное в дистрибутиве - Mandriva Control Center. Классная штука, особенно для людей, которые не в состоянии сходу набрать что-нибудь в духе
sudo mount -t ntfs /dev/sda8 /mnt/extvol -o iocharset=utf8.
При наличий определнных знаний и умений и при необходимости тонкой настройки ее ценность падает очень существенно.

ALTLinux

С установкой проблем тоже никаких не возникло. Порадовала высокая скорость работы в KDE даже на ноутбуке. С русским языком проблем, естественно, никаких нет. Впервые здесь увидел аудиоплеер под названием Juk. Что в нем понравилось, так это опять же скорость работы. Больше ничего особо выдающегося не заметил. Beryl из коробки не работает. Напильник я к нему не прикладывал, так как не больно то и нужен.

ASPLinux
Мой первый дистрибутив. Использовал его с 9 по 11.2 версию. То, с чего началось мое знакомство с миром linux. Сейчас установлен на сервере. Ничем к себе внимание не привлекает, что не может не радовать. Хотя поводы есть, у меня не реже раза в 2 дня отключается свет. В незапамятные времена виндовс на десктопе больше месяца не жил, а сервер у меня стоит уже с июля месяца и все в порядке. Когда я использовал его на десктопе, мне казалось, что он очень нестабильный, постоянно падает. Сейчас я понимаю, что был неправ, потому что если насильно втыкать пакеты уровня glibc от другого дистрибутива, не той версии да еще и с ключом --nodeps, то ничего хорошего ждать понятно не стоит.

Ubuntu Linux
Установка никаких проблем не вызвала. С оборудованием проблем не было. Единственное, что сильно не понравилось, это жизненная необходимость хорошего интернет подключения. Мое поключение к хорошим явно не относится, поэтому для меня это серьезный минус.

MOPSLinux
Один из последних дистрибутивов, который я пробовал. Российская сборка на основе Slackware. Имеет собственный менеджер пакетов mpkg. Что понравилось - скорость. Локализация тоже на высоте. Очень легко установился проприетарный драйвер для Nvidia.(хотя может я уже наловчился, но помню в ASP я мучался достаточно долго). Из минусов - достаточно бедный репозиторий(я уже не говорю про дебиановский, с его десятками тысяч пакетов, но в сравнении с мандривой или ASP выбор откровенно не радует).

Подведя итог этому краткому обзору могу для себя могу сделать вывод, что дистрибутив своей мечты я еще не нашел. Возможно так и не найду и придется делать самому.(LFS?) Или перестать уже метаться и остановиться на каком-нибудь одном дистрибутиве, изучив его более детально. Пока решения этому вопросу у меня нет. Буду рад, если мой пост кому-то поможет.

Продолжение...


вторник, 25 сентября 2007 г.

Чертовщина.

Хочу поделиться душещипательной историей в духе научной фантастики, произошедшей со мной в это воскресенье, 23 сентября.

Все началось достаточно безобидно. У меня закончилось место на "корне". Я подумал, что это явный знак, что пора более грамотно разбить(какой подходящее слово) свой жесткий диск. До этого момента он был разбит достаточно бестолково. Первый раздел с windows xp, следующий для данных, в ntfs, следующий опять же в ntfs, с установленной в ознакомительных целях пол-года назад вистой, потом своп и корень. Первоначально linux ставился(как наверное и у многих) второй системой, поэтому для него оставалось места совсем немного.
Для решения этой задачи, я решил использовать программу Acronis Disk Director, которой уже много раз пользовался до этого. Загрузился с ее диска, сделал все как надо, раздел с вистой удалил, с данными уменьшил, своп передвинул, нажал "применить" и перезагрузился. Каково же было мое удивление когда ASPLoader(кто не в курсе - это собственный загрузчик дистрибутива ASPLinux) не смог загрузить мою систему. Я не поверил в это, попробовал еще несколько раз, но безуспешно. С горя загрузил xp. Как ни странно он загрузился. Я вспомнил, что когда-то давно устанавливал драйвер для чтения ext2/ext3 разделов. Этот драйвер видел мой раздел, но прочесть с него ничего не смог и предлагал его отформатировать. К этому моменту я уже плохо понимал происходящее, решил чуток отдохнуть, послушать музыку.
Все вышесказанное происходило на настольном компьютере, а на рядом стоящем ноутбуке все это время было загружена Mandriva и играла музыка. Буквально через 3 минуты после того, как я решил отдохнуть музыка внезапно прервалась. Я сильно удивился, ведь такого никогда раньше не было, попытался выяснить причину, но ничего не смог сделать. Ноутбук завис намертво, и не хотел: ни перезагружать иксы, ни выходить в консоль, ни хотя бы просто перезагрузиться по Ctrl+Alt+Delete. Я подержал кнопку выключения, он выключился, я минуту посидел в раздумьях и снова включил его. Появился grub, я выбрал мандриву, появился загрузочный экран и все опять повисло. И опять намертво. Я включал-выключал ноутбук несколько раз и все время с тем же результатом. В отчаянии попробовал загрузить винду(кстати лицензионную). Она загрузилась, проработала секунд 30 и вывесила BSOD. Перезагрузка - не загрузилась совсем, перезагрузка - минута работы и очередной BSOD(с совершенно другой ошибкой и другими адресами). Окончательно потеряв способность трезво оценивать ситуацию я не придумал ничего лучше как пойти спать.(часов в 8 вечера).
Через 2 дня итог. Пропавший раздел так и не появился. Все опробованные мною средства для восстановления эффекта не имели. Ноутбук больше никаких выкрутасов не подкидывал, все грузится и работает без сбоев.(хотя я ничегов плане ремонта не делал)
Вывод. Не подходить к компьютеру в полнолуние. А если серьезно, то бекап, бекап и еще раз бекап. Единственное, что, как мне кажется, сможет помочь в подобной ситуации.

Продолжение...


пятница, 7 сентября 2007 г.

Wifi на ноутбуке HP nx6110

Хочу поделиться своими действиями в ходе моей недавней битвы с wifi адаптером моего ноутбука.
Дано:
Ноутбук HP Compaq nx6110 со встроенным в него wifi адаптером Broadcom BCM4318
Dlink Access Point DWL-2100AP
Беспроводная сеть настроена с ключом WPA.
Задача:
Сделать так, чтобы все это работало.

Первым делом, нужно установить драйвера. Теоретически, в дистрибутив входит драйвер для таких адаптеров, но практически, он только намертво зажигает индикатор, и на этом его полезные функции заканчиваются. Поэтому мы будем использовать ndiswrapper и драйвера для Windows.
Ndiswrapper(если еще не установлен) устанавливается командой

yum install ndiswrapper

Драйвера для windows можно скачать отсюда.
Распаковать этот exe'шник можно командой

unzip D00464-001- 001.exe

если конечно у вас установлен пакет unzip.
Потом, в папке, куда все это распаковалось нужно вбить:

ndiswrapper -i bcwml5.inf

Должно появиться что-то вроде этого:
Installing bcmwl5
Forcing parameter IBSSGMode|0 to IBSSGMode|2
Forcing parameter IBSSGMode|0 to IBSSGMode|2


Следом нужно запустить 3 команды

ndiswrapper -m
ndiswrapper -da
ndiswrapper -di


Здесь я не уверен, возможно что-то из этого запускать не обязательно. Но мне было лень перезагружаться 3 раза, чтобы проверить, поэтому я сразу вбил все 3.
После этого надо перезагрузиться, чтобы проверить эффект. Синенький индикатор wifi должен загораться и гаснуть при нажатии на кнопку. Если так и происходит, то можно порадоваться, половина дела сделана. Если ваша wifi сеть открытая, без всяких ключей шифрования, то делать больше почти ничего не придется.
Но если вам не повезло, то приступайте ко второй части - настройке wpa_supplicant.

Для начала его необходимо установить стандартным образом

yum install wpa_supplicant

Запускается он у меня командой

wpa_supplicant -Dwext -c /etc/wpa_supplicant.conf -iwlan0 -d

wpa_supplicant.conf представляет собой следующее:

network=
{
psk="my_psk"
scan_ssid=1
ssid="triklozoid_wlan"
}

И когда wpa_supplicant запущен, я поднимаю соединение командой

ifup wlan0

После этого все начинает работать. Некоторые параметры просто подбраны подстановкой от балды всех возможных вариантов, "пока не заработает". Например, при запуске wpa_supplicant параметр -Dwext. Мануал говорит, что с драйвером ndisrapper необходимо использовать одноименный драйвер для wpa_supplicant. Но, по абсолютно не понятной мне причине, с ним ничего не работает, а вот когда пропишешь -Dwext, работает. Остальные взяты из различных статей по настройке.

Ссылки по этой тебе:

www.opennet.ru
noc.ifmo.ru
http://silinio.webhost.ru
http://www.ampersand.com/
http://datenroulette.de/


Продолжение...


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

Сборка ядра.

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

По умолчанию в 11.2 идет ядро 2.6.17. Набрав в консоли из-под рута yum install kernel, с подключенным репозиторием asplinux-updates, можно быстро и безболезненно обновить ядро до версии 2.6.20. Мне этого показалось мало, ядро не самое новое, да и поковыряться в нем самому нельзя. Поэтому я решил установить последнее стабильное ядро из исходников. Для этого скачиваем с kernel.org файл linux-2.6.22.2.tar.bz2 . Потом переносим файл в более подходящую папку.

mv linux-2.6.22.2.tar.bz2 /usr/src/

распаковываем архив

tar -xf linux-2.6.22.2.tar.bz2

переходим появившуюся папку

cd linux-2.6.22.2

там набираем

make menuconfig

Появляется меню конфигурирования ядра. Теперь начинается самое интересное. Многие советуют копировать конфиг с установленного ядра или брать готовые конфиги под определенную архитектуру. Так сделать конечно можно, но по своему опыту могу сказать, что это совсем не гарантирует, что ядро нормально запустится с первого раза. Мне, чтобы ядро нормально работало, потребовалось сделать следующее.
Первым делом я включил поддержку своего SATA контроллера. Без нее ядро выдавало Panic kernel в самом начале и грузиться наотрез отказывалось. Когда ядро начало загружаться, я просмотрел остальные сообщения об ошибках. Ошибки выдавали сервисы hidd, auditd и где-то в конце проскакивало сообщение об отсутствии fuse. Кроме этого не работал звук, сетевая карта и nvidia модуль ядра.
Исправлял я это таким образом
hidd - Networking -> Networking support -> Bluetooth subsystem support -> HIDP protocol support =Y

auditd - General setup -> Auditing support

fuse - File systems -> Filesystem in Userspace support

звук(звуковая карта PCI SB Audigy)
-> Device Drivers -> Sound -> Advanced Linux Sound Architecture -> PCI Devices -> Emu10k1 (SB Live!, Audigy, E-mu APS)

Когда вы закончили(в очередной раз?) конфигурирование ядра, нужно вбить магические команды:

make
sudo make install
make modules
sudo make modules install


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

Потом у меня были небольшие проблемы с модулем nvidia. Для его установки нужно скачать последний бинарник с драйверами.
Потом нужно выключить Х-сервер и из-под рута в консоли этот файл запустить. По поводу выключения Х. Можно выставить в /etc/inittab id:3:initdefault: и перезагрузиться, но есть способ чуть быстрее, это нажать Ctrl+Alt+Backspace, а потом 2 раза Ctrl+C.
Следующей проблемой было то, что драйвер не смог найти исходники моего ядра. Это решается опцией --kernel-source-path=путь. После этого модуль без ошибок компилируется, но при перезагрузке выдает module not found. Я подозреваю где-то можно указать к нему путь, но я не нашел, поэтому просто сделал так.

mkdir /lib/modules/2.6.22.2/extra/
mkdir /lib/modules/2.6.22.2/extra/nvidia/
cp /lib/modules/2.6.22.2/video/nvidia.ko /lib/modules/2.6.22.2/extra/nvidia/


И тогда наконец-то все загрузилось и заработало.

Еще хотел сказать по поводу make clean. Во всех инструкциях по сборке ядер настойчиво рекомендуют делать его перед каждой пересборкой. Не могу сказать насколько это оправдано, но мне часто было лень из-за одного мааааленького дополнительного крестика ждать полной пересборки 20-30 мин. Поэтому я пересобирал без make clean. И работало все замечательно. Make clean я делал всего раза 3, когда у меня компиляция прерывалась на середине с ошибкой.

Вот собственно и все чем я хотел поделиться по этому вопросу. Если вспомню еще что-нибудь, обязательно допишу.

P.S. Забыл предупредить, это не инструкция "от и до", а всего лишь описание некоторых особенностей и оно предполагает, что читатель уже знаком с чем-то вроде этого, конкретнее этого, ну и вообще хорошо если здесь.

Продолжение...


суббота, 11 августа 2007 г.

Мой первый пост.

Очень надеюсь, что мой первый пост не станет последним, как это обычно бывает, когда не хватает терпения для реализации хорошей идеи.
Идея родилась после регулярного прочтения блогов http://mydebianblog.blogspot.com и http://tuxedo-live.blogspot.com/ и состоит она в том, чтобы рассказывать о том, какие проблемы у меня появлялись в ходе установки, настройки и использования ASPLinux 11.2 и как я их решал.
Продолжение...