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

Выяснить время последней синхронизации portage

Совершенно случайно наткнулся на возможность узнать, когда последний раз происходила синхронизация дерева portage.
# genlop -r

Выведет не только последнюю дату, но и все предыдущие, т.е. лог синхронизаций.
Чтобы сузить диапазон дат, можно воспользоваться опциями --date дважды, т.е. начало и конец диапазона (даты пишутся в формате mm.dd.yy).

суббота, 16 октября 2010 г.

Отключение режима обнаружения TV драйвером NOUVEAU

Перешел на использование open-source драйвера Nouveau для карт Nvidia. Действовал по этой инструкции: http://en.gentoo-wiki.com/wiki/Nouveau. На рабочей машине все прошло замечательно, особо порадовала скорость переключения в текстовую консоль и обратно в иксы. На домашней же обнаружился странный глюк - разрешение текстовой консоли устанавливалось нормально - 1680х1050, но надписи занимали только верхнюю левую часть экрана.

dmesg об этом писал следующее:
[drm] nouveau 0000:01:00.0: 64 MiB GART (aperture)
[drm] nouveau 0000:01:00.0: Allocating FIFO number 0
[drm] nouveau 0000:01:00.0: nouveau_channel_alloc: initialised FIFO 0
[drm] nouveau 0000:01:00.0: Initial CRTC_OWNER is 0
[drm] nouveau 0000:01:00.0: Saving VGA fonts
[drm] nouveau 0000:01:00.0: Detected a DVI-I connector
[drm] nouveau 0000:01:00.0: Detected a VGA connector
[drm] nouveau 0000:01:00.0: Detected a TV connector
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 0)
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on tmds encoder (output 1)
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on vga encoder (output 2)
[drm] nouveau 0000:01:00.0: Setting dpms mode 3 on TV encoder (output 3)
[drm] nouveau 0000:01:00.0: Load detected on output B
[drm] nouveau 0000:01:00.0: allocated 1680x1050 fb: 0x49000, bo f7070800
[drm] nouveau 0000:01:00.0: Setting dpms mode 0 on vga encoder (output 2)
[drm] nouveau 0000:01:00.0: Output VGA-1 is running on CRTC 0 using output C
[drm] nouveau 0000:01:00.0: Setting dpms mode 0 on TV encoder (output 3)
[drm] nouveau 0000:01:00.0: Output TV-1 is running on CRTC 1 using output B
Console: switching to colour frame buffer device 90x36


Т.е. драйвер обнаружил подключение по TV-out и установил текстовое разрешение по минимальному устройству - телевизору. Однако физическое обследование видеокарты не показало наличие телевизора. Оно и понятно - телевизора у меня нет вообще. В списках рассылки обнаружил упоминание патча, с помощью которого можно принудительно отключить подключение TV: http://lwn.net/Articles/383198/, а потом и сам патч: http://kerneltrap.org/mailarchive/git-commits-head/2010/4/1/31359, присутствующий в ядре с версии 2.6.34-rc4. Из кода видно, что вводится новый параметр модуля - tv_disable.

Поскольку модуль nouveau у меня вкомпилирован в ядро, то параметры ему передаются через строку инициализации ядра (в моем случае в /boot/grub/menu.lst):
kernel /boot/vmlinuz root=/dev/sda1 nouveau.tv_disable=1

вторник, 5 октября 2010 г.

Удаленное использование Sysrq

В Linux есть специальные комбинации для непосредственного управления ядром. Перечень этих комбинаций (это комбинации Alt, Sysrq и еще одной клавиши) найти легко. Но как передать команду ядру, находясь в удаленной сессии, например по ssh?

Ответ есть в документации к ядру (в файле Documentation/sysrq.txt) - достаточно просто отправить символ нужной клавиши в /proc/sysrq-trigger. Например:
# echo s > /proc/sysrq-trigger
SysRQ : Emergency Sync

суббота, 25 сентября 2010 г.

Wake on lan

Долго не понимал, почему не работает Wake On Lan. Использовал программы wol и wakeonlan используя примеры из их man-страниц. Т.е.
# wol 00:01:02:03:04:05

и
# wakeonlan 00:01:02:03:04:05

соответственно.
Достаточным оказалось указать широковещательный адрес:
$ wakeonlan -i 192.168.0.255 00:01:02:03:04:05

вторник, 7 сентября 2010 г.

Печать юникода (в частности кириллицы) из консоли

Есть скрипт, который выводит некоторую информацию на принтер без использования каких-либо графических программ. Но вместо русских букв (я подозреваю, что всего юникода) остаются пропуски. В Fedora 13 такой проблемы не было. Не знаю, как там это реализовано (по запросу "печать юникода из консоли" Google предлагает множество монстрообразных способов, типа использования специальных конвертеров, перекодировщиков, каких-то скриптов на сорок строк, вплоть до растеризации текста), но в Gentoo это делается одной командой:
# rm -f /usr/share/cups/fonts/*

Принтер использует свои шрифты, и кириллица отлично печатается. Проверено на трех принтерах HP.

пятница, 13 августа 2010 г.

Предоставление общего доступа к приводу DVD через Samba

Казалось бы, это элементарная операция, не требующая какой-либо инструкции. Но в Fedora 13 (да и в других свежих дистрибутивах) это не так просто. Вместо HAL монтированием устройств теперь занимается udisks, ранее известный как DeviceKit-disks.

вторник, 10 августа 2010 г.

Установка группы пакетов в Fedora

После продолжительного использования gentoo прочно засела привычка ставить системы с минимальным набором пакетов, чтобы в дальнейшем ставить только то, что нужно. В Fedora, как и в Red Hat, есть возможность ставить пакеты группой. Это облегчает жизнь, но засоряет систему неиспользуемыми программами. Но оказывается все давно предусмотрено.