понедельник, 22 февраля 2010 г.

Awesome и NetBeans

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

Для решения проблемы нужно установить из оверлея wmname, потом поставить в автозагрузку команду "wmname LG3D". Все.

Тут еще другие варианты решения проблемы для разных версий JDK.

вторник, 2 февраля 2010 г.

Сетевой мост в VirtualBox

Долго мучился с настройкой бриджа в VirtualBox. Мучился до тех пор, пока внимательно не перечитал вики.
В общем, ничего делать не надо, кроме как загрузить модуль:

# modprobe vboxnetflt 

Ну или вписать в /etc/conf.d/modules
modules=vboxnetflt

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

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

Проблема с NFS, gentoo-sources-2.6.32

После обновления ядра до версии 2.6.32, перестали монтироваться nfs-разделы. Проблема такая же как и тут
Решается добавлением опции nfsvers=3 ( на тот случай если nfs-сервер этой версии)

суббота, 5 декабря 2009 г.

Что такое оверлеи и как ими пользоваться

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

Проще говоря overlay это дополнительный репозиторий. Оверлеи бывают двух видов. Локальный - тот, который вы обслуживаете сами, закидываете ебилды, создаете digest-файлы и т.д. И еще существуют, так называемые автоматизированные оверлеи. Эти оверлеи обслуживаются утилитой layman, которая все делает сама. У нее есть свой список оверлеев, который время от времени обновляется. Рассмотрим поочердно каждый тип.

Итак, для оверлеев, которые будут обрабатываться вручную, необходимо создать отдельный каталог, допустим /usr/local/portage/ Сюда будут закидываться ebuild-ы. Таким образом официальное дерево и дополнительные ebuild-ы смешиваться не будут. При помещении ebuild файла в этот каталог, необходимо использовать такую же схему иерархии каталогов как и в /usr/portage/
Еще нужно добавить в /etc/make.conf строчку
PORTDIR_OVERLAY="/usr/local/portage"
Пример установки пакетного менеджера pacman из ArchLinux, которого нету в официальном дереве:
mkdir -p /usr/local/portage/app-misc/pacman
cd /usr/local/portage/app-misc/pacman
wget http://gentoo-overlays.zugaina.org/arcon/portage/app-misc/pacman/pacman-3.3.2.ebuild
Теперь когда скачан ebuild-файл, нужно скачать исходники и создать файл Manifest, в котором будут указанны контрольная сумма md5 сборочного файла:
ebuild /usr/local/portage/app-misc/pacman/pacman-3.3.2.ebuild digest

Все. Тут уже можно устанавливать как обычно.

Второй тип оверлеев. Для начала нужно установить утилиту для автоматизации обслуживания оверлеев:
emerge layman

Затем добавить строчку в make.conf
source /usr/local/portage/layman/make.conf
Могут понадобится утилиты git, subversion, mercurial, bzr. Так как большинство оверлей-репозитории обновляются через эти системы контроля версий.

Краткий перечень основных команд:

layman -L - выводит список оверлеев подключаемых оверлеев
layman -a overlay - подключает оверлей
layman -d overlay - удаляет оверлей
layman -S - обновляет все подключенные оверлеи

понедельник, 23 ноября 2009 г.

Как обновить gcc

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

Ничего сложного в этом нету. Просто поэтапно нужно сделать:
# emerge -uva gcc# gcc-config x86_64-pc-linux-gnu-4.4.2 

(вместо x86_64-pc-linux-gnu-4.4.2 ставится своя версия gcc. список доступных gcc можно получить командой gcc-config -l)

Потом:
# source /etc/profile# emerge --oneshot -av libtool

Теперь можно пересобрать систему новым компилятором. Перед этим нужно пересобрать набор программ для компиляции:
# emerge -eav system

А теперь пересоберем мир:
# emerge -eav world

После вышеописанных процедур можно удалить старый gcc:
# emerge -C gcc-x.x

Вместо gcc-x.x пишется старая версия gcc

среда, 11 ноября 2009 г.

Не собирается xorg-server-1.7.1

При обновлении xorg-server-1.7.1 получил ошибку:
rensize.c: В функции ‘__glXImageSize’:
rensize.c:222: ошибка: ‘GL_DEPTH_STENCIL_MESA’ не описан (первое использование в этой функции)
rensize.c:222: ошибка: (Сообщение о неописанном идентификаторе выдается один раз
rensize.c:222: ошибка: для каждой функции, в которой он используется.)
rensize.c:261: ошибка: ‘GL_UNSIGNED_SHORT_15_1_MESA’ не описан (первое использование в этой функции)
rensize.c:262: ошибка: ‘GL_UNSIGNED_SHORT_1_15_REV_MESA’ не описан (первое использование в этой функции)
rensize.c:276: ошибка: ‘GL_UNSIGNED_INT_24_8_MESA’ не описан (первое использование в этой функции)
rensize.c:277: ошибка: ‘GL_UNSIGNED_INT_8_24_REV_MESA’ не описан (первое использование в этой функции)
make[1]: *** [rensize.lo] Ошибка 1
make[1]: *** Ожидание завершения заданий...
make: *** [all-recursive] Ошибка 1
 * ERROR: x11-base/xorg-server-1.7.1 failed:
 *   emake failed
 *
 * Call stack:
 *     ebuild.sh, line   49:  Called src_compile
 *   environment, line 3743:  Called x-modular_src_compile
 *   environment, line 4667:  Called x-modular_src_make
 *   environment, line 4706:  Called die
 * The specific snippet of code:
 *       emake || die "emake failed"
 *
 * If you need support, post the output of 'emerge --info =x11-base/xorg-server-1.7.1',
 * the complete build log and the output of 'emerge -pqv =x11-base/xorg-server-1.7.1'.
 * The complete build log is located at '/home/tmp2/portage/x11-base/xorg-server-1.7.1/temp/build.log'.
 * The ebuild environment file is located at '/home/tmp2/portage/x11-base/xorg-server-1.7.1/temp/environment'.
 * S: '/home/tmp2/portage/x11-base/xorg-server-1.7.1/work/xorg-server-1.7.1'

>>> Failed to emerge x11-base/xorg-server-1.7.1, Log file:

>>>  '/home/tmp2/portage/x11-base/xorg-server-1.7.1/temp/build.log'

Здесь нужно сообщить X.org, чтобы тот пользовался xorg-x11:
# eselect opengl set xorg-x11
Собрать xorg-server. Потом вернуть как было.

понедельник, 5 октября 2009 г.

Пересборка модулей

После обновления ядра, понадобилось пересобрать модули. Чтобы сделать это махом, поставил module-rebuild. Далее просто:
# module-rebuild rebuild||list
Пересоберет все модули.