Переклинило
Вот это я называю “переклинило”. Обратите внимание на столбцы RES и COMMAND
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9136 root 30 10 1411m 1.4g 572 D 4 69.1 0:20.23 ld
Мышиный тачпад
Случайно выяснил, что тачпад определяется как мышь, и в иксах использует драйвер evdev, а не synaptics. В результате, его нельзя конфигурять через synclient.
Вскрытие показало, что определяет так само ядро. В вводе dmesg про touchpad не было ни слова, зато было следующее.
eeepc ~ # dmesg | grep -i mouse
mice: PS/2 mouse device common for all mice
input: ImPS/2 Logitech Wheel Mouse as /devices/platform/i8042/serio1/input/input9
eeepc ~ #
После пары дней гадания и поиска, выяснил, что необходимо включить опцию
CONFIG_MOUSE_PS2_ELANTECH=y
Где находится – писать не буду. Поиск в menuconfig вполне поможет.
После включения данной опции, наконец-то появился тачпад
eeepc ~ # dmesg | grep -i touch
input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input9
eeepc ~ #
Теперь можно управлять тачпадом через synclient
kms(kernel mode setting) он intel
Решил на eeepc попробовать такую штуку. Эта штука позволяет ядру управлять разрешением экрана.
Для того, чтобы оно работало, нужно включить KMS в ядре. Я вкомпилил вместе с дровами жёстко. На eeepc видеокарта intel встроенная. Также, нужно убрать все фреймбуфферы, но поддержку самого FB оставить. Также включил поддержку декораций фреймбуфера для сплеша.
Для начала переделал конфиг сплэша и картинку под разрешение 1024×600
Сделал генкернелом initrd с бутсплешом, перезагружаюсь, и ядро выбирает само нужный режим для консоли. Иксы работают, переключение в консоль происходит мягко, без задержки и моргания. Я доволен
Настройка mrtg на CentOS
Потребовалось вот снимать графики с локальных интерфейсов.
- Ставим mrtg
yum install mrtg -
Пишем скрипт для снятия счётчиков. Должен выводить входящий трафик, исходящий трафик, таймстамп, имя.
У меня получился такой:
#/bin/sh
NAME=$1
echo `ifconfig $NAME | awk '/bytes/ {print $2}'|sed "s/bytes://"`
echo `ifconfig $NAME | awk '/bytes/ {print $6}'|sed "s/bytes://"`
echo `/bin/date +%s`
echo $NAME
Положил я его в /root/bin/mrtg.sh -
Делаем конфиг.
WorkDir: /var/www/mrtg
RunAsDaemon: Yes
Target[eth0]: `/root/bin/mrtg.sh eth0`
Options[eth0]: growright,bits
MaxBytes[eth0]: 100000000
Title[eth0]: : eth0
PageTop[eth0]: <H1>Traffic Analysis for eth0
</H1>
<TABLE>
<TR><TD>Interface:</TD><TD>eth0</TD></TR>
<TR><TD>IP:</TD><TD>eth0</TD></TR>
</TABLE>
Target[eth1]: `/root/bin/mrtg.sh eth1`
Options[eth1]: growright,bits
MaxBytes[eth1]: 100000000
Title[eth1]: : eth0
PageTop[eth1]: <H1>Traffic Analysis for eth1
</H1>
<TABLE>
<TR><TD>Interface:</TD><TD>eth1</TD></TR>
<TR><TD>IP:</TD><TD>eth0</TD></TR>
</TABLE>
На сервере 2 интерфейса. - Тут я не уверен. Так как ставил сам пакет не я, и не знаю кто создал юзера – rpm или чьи-то руки. Вообщем есть юзер mrtg-user. Если нету – лучше сделать. Он же должен быть владельцем директорий /var/www/mrtg и /etc/mrtg
-
Генерим index.html. Как-то так:
indexmaker --title="Network usage" --columns=1 --output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg - Запускаем, и добавляем в автозапуск любым удобным способом
env LANG=C ./mrtg --user=mrtg-user /etc/mrtg/mrtg.cfg --logging /var/log/mrtg.log - В файле /etc/httpd/conf.d/mrtg.conf (апач ведь разумеется стоит) ограничивается доступ
- http://IP/mrtg/index.html
p.s. Написано впопыхах, чтоб самому не забыть потом.
Ошибки с ключами репозиториев в debian
Иногда при обновлении списка пакетов, либо при добавлении нового репозитория, вылазит такая ошибка
Reading package lists... Done W: There is no public key available for the following key IDs: 9AA38DCD55BE302B W: GPG error: http://ftp.fr.debian.org etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9AA38DCD55BE302B W: You may want to run apt-get update to correct these problems
Чтобы исправить сиё надо выполнить
gpg --keyserver subkeys.pgp.net --recv-keys 9AA38DCD55BE302B && gpg --export 9AA38DCD55BE302B | apt-key add -
Чёрточка в конце обязательна
Настройка устройств ввода через hal
С недавних пор иксы получают все настройки устройств ввода через hal, если они кончено скомпилированы соответствующе(про остальные устройства не знаю). К примеру, в модной убунте сейчас вообще нету даже самого xorg.conf.
Но бывает нужно изменить настройки. Как это делается.
Начнём с самого конфига иксов. Надо вычистить всё, что имеет отношение к InputDevice.
А в секцию “ServerLayout” добавим cледующую опцию
Option "AutoAddDevices" "True"
Далее идём в директорию /etc/hal/fdi/policy/ и создаём файлик, к примеру 11-x11-keyboard.fdi. В нём, как можно догадаться, будут настройки клавиатуры. У меня данный файл имеет следующее содержание
Немного о девайсах
Ни в коем случае не делайте тарбол с корневой системы для переноса, с использованием ключа –one-file-system на рабочей системе . Ибо не udev`ом едины… Можно только с live-cd.
devname(/dev/имя) записи в fstab – зло (вплоть до kernel panic). Перешёл на LABEL записи. Имхо, самое тру
p.s. Корень перевёл на reiser. Сам удивился, но ядро на нём в разы быстрее собирается. Видать в ФС упирается.
p.p.s. Первые два вывода сделаны в результате весьма продолжительного “секса”, во время, собственно, переноса корневой ФС на reiserfs.
p.p.p.s. Grub умеет грузиться с рейзера
mount.smbfs vs mount.cifs
Музыка и фильмы у меня находятся на “шлюзе”, который по совместительству является файлопомойкой. Там стоит samba. А на десктопе самбовые разделы монтируются.
до недавнего времени монтировал я через mount.smbfs. У данного способа был недостаток. Если по какой-то причине сервер перезагружался, или просто пропадала связь, а в это время какой-либо приложение пробовало что-либо отрыть с примонтированных через smbfs разделов, то эти разделы блокировались. Даже umount -f не помогал. Единственный выход – перезагрузка компа
Начиная с ядра, кажется, версии 2.6.26 при монтировании стало появляться сообщение, о том, что mount.smbfs – это deprecated, и нужно использовать mount.cifs. Ну раз надо, так надо. Перемонтировл разделы на cifs. Синтаксис, правда, там немного другой, и скрипт для монтирования пришлось подправить. В итоге команда выглядит так:
mount.cifs //server/video /mnt/server/video -o iocharset=utf8,codepage=cp866,guest,uid=tuupic,gid=tuupic
С такими параметрами проблем с русскими символами нету
Результат меня очень обрадовал. Теперь при обрыве соединения, раздел не блокируется. Просто в директории оказывается пустота. А при восстановлении связи, файлы появляются на своём месте как ни в чём не бывало
Настройка медиа клавиш на ноутбуке через acpi
Всё забывал рассказать про настройку дополнительных клавиш на ноутбуке.
Ноутбук ASUS F5RL
Читать полностью »
Как выяснить какой загрузчик используется
Недавно понадобилось выяснить, что загружает систему(Linux). Lilo или grub. Решение простое. Делается так.
dd if=/dev/sda count=1 bs=512 | strings | grep -E 'GRUB|LILO'
Собственно /dev/sda – винт, на котором стоит загрузчик.


