среда, 15 декабря 2010 г.

Как починить initramfs в Ubuntu

Иногда ubuntu перестает грузиться с ошибкой: udevadm trigger is not permitted while udev is unconfigured.
Что делать?


На самом деле все просто.
1. Грузимся с LiveCD (если у нас LVM, то с alternate livecd).
2. Выясняем информацию о нашем диске fdisk -l.
3. Монтируем диск mount /dev/sda1 /mnt. (Если диск разбит на несколько партиций, то монтируем с учетом этого).
4. Делаем chroot /mnt/.
5. Выясняем, версию последнего ядра: ls /boot/. Например нашли, что ядро 2.6.32-26-generic.
6. Выполняем команду update-initramfs -u -k 2.6.32-26-generic
7. Все, перезагружаемся.



пятница, 10 декабря 2010 г.

Медленная работа Captive Portal и web-интерфейса Pfsense

Pfsense - отличный продукт. Готовое решение на основе FreeBSD для управления трафиком. Грубо говоря, продвинутый роутер с веб-интерфейсом. Сделан на базе схожего решения m0n0wall. Основные фичи: NAT, traffic shaper, DHCP, DNS forwarder, VPN (PPTP, OpenVPN, IPSec), RIP, SNMP, CARP. Один недостаток. При включении Captive Portal, его страничка медленно открывается, да и web-интерфейс сильно тормозит.

Дело в том, что Pfsense создан для работы на слабом железе с малым объемом RAM. Соответствующим образом настроен и lighttpd, на котором крутится web часть решения. Чтобы повысить скорость общения с роутером нужно в файле /etc/inc/system.inc выставить параметры PHP_FCGI_MAX_REQUESTS и PHP_FCGI_CHILDREN в соответствии с задачей и объемом памяти. PHP_FCGI_CHILDREN задается переменной max_procs, значения которой зависят от RAM, в файле это выглядит так:

$avail = $memory[0];

        if($avail > 0 and $avail < 98) {
                $max_procs = 1;
        }

        if($avail > 97 and $avail < 128) {
                $max_procs = 1;
        }

        if($avail > 127 and $avail < 256) {
                $max_procs = 1;
        }

        if($avail > 255 and $avail < 384) {
                $max_procs = 3;
        }

        if($avail > 384) {
                $max_procs = 36;
        }

        if($captive_portal == true)  { 
                $bin_environment =  <<
        "bin-environment" => (
                        "PHP_FCGI_MAX_REQUESTS" => "9500",
                        "PHP_FCGI_CHILDREN" => "$max_procs"
        ),


По умолчанию при объеме памяти больше 384 max_procs=4, а PHP_FCGI_MAX_REQUESTS=500.
В моем pfsense-маршрутизаторе 2 Гб ОЗУ, поэтому я выставил max_procs=36 и  PHP_FCGI_MAX_REQUESTS=9500. Т.е. приведенная выше часть конфига стала такой:

$avail = $memory[0];

if($avail > 0 and $avail < 98) {
                $max_procs = 1;
        }

        if($avail > 97 and $avail < 128) {
                $max_procs = 1;
        }

        if($avail > 127 and $avail < 256) {
                $max_procs = 1;
        }

        if($avail > 255 and $avail < 384) {
                $max_procs = 3;
        }

        if($avail > 384) {
                $max_procs = 36;
        }

        if($captive_portal == true)  { 
                $bin_environment =  <<
        "bin-environment" => (
                        "PHP_FCGI_MAX_REQUESTS" => "9500",
                        "PHP_FCGI_CHILDREN" => "$max_procs"
        ),



среда, 29 сентября 2010 г.

Grub vs HP ProLiant DL580

Недавно столкнулся с проблемой установки загрузчика grub на HDD указанного выше сервера. Диск там виден как /dev/cciss/c0d0 и в ответ на grub-install получается: /dev/cciss/c0d0 does not have any corresponding BIOS drive.

Проще всего установить там grub вот так:

/sbin/grub batch /dev/null 2>/dev/null
device (hd0) /dev/cciss/c0d0
root (hd0,0)
setup (hd0)
quit

четверг, 2 сентября 2010 г.

Проблема с Alt-Tab в Openoffice

В Ubuntu в OOO при попытке переключаться между окнами с помощью комбинации клавиш Alt-Tab иногда возникает проблема. При нажатии Alt открывается меню.

Пробовал менять shortcut'ы, не помогло. Оказывается, все дело в переключателе xneur. Из дефолтного репозитория ставится его версия 0.9.5, которая и вызывает проблемы. Так что либо выключать xneur, либо обновить xneur до версии 0.9.9 и выше.

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

Звук на внешние устройства для ноутбука Asus K42F

На новом ноутбуке звук под Ubuntu не хотел идти на наушники. При этом со встроенными динамиками все OK.

Решение нашел здесь.
Нужно просто в файл /etc/modprobe.d/alsa-base.conf добавить в конец:

options snd-hda-intel model=lifebook

Как добавить панель Gnome на второй монитор

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

В итоге посетила простая мысль: "А почему бы как и всякие окна просто не перетащить панель мышью при нажетом Alt?" И конечно же получилось.

суббота, 7 августа 2010 г.

FBReader в Nokia n900

Довольно неудобно листать страницы в читалке книг FBReader на Nokia n900 при помощи аппаратных клавиш громкости. Да и не долговечны они.

Чтобы настроить перелистывание тапом по верхнему и нижнему краю страницы нужно в Настройках в разделе Maemo (самый последний в списке) выставить:

Минимальное давление стилуса 10
Максимальное давление стилуса 40

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

Проблема со шрифтами в gtk приложениях

В Ubuntu, а может и вообще в Gnome, случается такое, что ставишь TTF шрифты или просто отключаешь сглаживание (antialiasing) и во всех приложениях шрифт меняется, а вот в Firefox, Thunderbird, VirtualBox и т.п. шрифт не меняется.

Наиболее простое решение это вместо true поставить false в файле /etc/fonts/conf.d/10-antialias.conf:
т.е. в итоге должно получиться:

$ cat /etc/fonts/conf.d/10-antialias.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!--  Use the Antialiasing -->
  <match target="font">
    <edit name="antialias" mode="assign"><bool>false</bool></edit>
  </match>
</fontconfig>

суббота, 22 мая 2010 г.

Проблема с libxneur.so.9 при установке xneur 0.9.9 из исходников

У меня Ubuntu 10.04. Последний xneur и gxneur 0.9.9 из сорцов поставились без запинки, но вот при запуске gxneur выдавал ошибку...

Ошибка такая:

gxneur: error while loading shared libraries: libxneur.so.9: cannot open shared object file: No such file or directory

Лечится довольно просто. Gxneur пытается искать библиотеку libxneur.so.9 в /usr/lib. Ну так поможем ему:

sudo ln -s /usr/local/lib/libxneur.so.9 /usr/lib/libxneur.so.9
sudo ln -s /usr/local/lib/libxneur.so.9.0.9 /usr/lib/libxneur.so.9.0.9


UPD. Вместо этого также можно просто сделать sudo ldconfig, как это ниже советуют в комментах.

вторник, 11 мая 2010 г.

Ubuntu 10.04 проблема темы Ambience и Skype

Столкнулся с проблемой, когда скайп при использовании темы по-умолчанию в Ubuntu Lucid Lynx меню отображает некорректно: темные буквы на темном фоне, выделение текста не работает.

Лечится просто:
В Skype идем в Настройки --> Общие --> Выбирите стиль --> Меняем Clearlooks на Настройки рабочего стола. Перезапускаем Skype.

Рецепт найден здесь: http://playbreakfix.blogspot.com/2010/04/getting-skype-menus-to-work-nicely-with.html

среда, 5 мая 2010 г.

Ubuntu 10.04 уведомления о новых письмах Thunderbird

Думается, что Thunderbird не станет в убунту почтовым клиентом по умолчанию. Поэтому некоторые вещи приходится прикручивать.

В частности, уведомления о новых сообщениях прикручиваются так.
Нужно скачать расширение http://code.launchpad.net/libnotify-mozilla/0.1/beta/+download/libnotify-mozilla-0.1.4-beta.xpi
Затем в Thunderbird через установку дополнений установить это расширение и перезагрузить почтовый клиент.

среда, 14 апреля 2010 г.

Как еще можно установить принтер в linux

Что делать, когда стандартные методы установки принтера исчерпаны, но печать так и не работает? Я столкнулся с этим при установке Canon Pixma IP1700. Ответом является набор драйверов Turboprint.

1. Идем на http://turboprint.info/.
2. Скачиваем rpm, deb или просто архив.
3. Устанавливаем.
4. Открываем мастер установки принтеров. В Ubuntu это "System | Administration | Printing".
5. Жмем "New printer".
6. Выбираем обнаруженный принтер от Turboprint.
7. Выбираем производителя и ищем в списке драйвер от tuboprint. В моем случае это был "PIXMA i P1700", хотя после установки стал называться "Canon_PIXMA_iP1700 TruboPrint".
8. Жмем Finish. Принтер установлен.

четверг, 8 апреля 2010 г.

Как запустить X без монитора

Бывает, что нужно разместить сервер, грузящийся в графическом режиме, не подключая к нему монитор, чтобы затем можно было соединяться по vnc. В моем случае это был Xubuntu. Проблема была в том, что X-сервер (иксы по-простому) не запускался без монитора.

Решить проблему помогла строчка в /etc/X11/xorg.conf:

Option "ConnectedMonitor" "CRT,CRT"

В новых версиях Ubuntu xorg.conf по-умолчанию нет, поэтому я просто скопировал в той же директории файл xorg.conf.failsafe в xorg.conf и добавил нужную строку в раздел Device. В итоге получилось:

Section "Device"
        Identifier      "Configured Video Device"
        Driver          "vesa"
        Option "ConnectedMonitor" "CRT,CRT"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection

вторник, 6 апреля 2010 г.

Качание колесом мыши (или wheel like side buttons)

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

Сперва установить следующие пакеты:

sudo apt-get install xvkbd xbindkeys


Затем в файле ~/.xbindkeysrc прописать:

"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
m:0x0 + b:6
"/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
m:0x0 + b:7
И запустить из командной строки:

xbindkeys

Эту команду также следует прописать в автозапуск.


четверг, 18 февраля 2010 г.

Как добавить Cookie с помощью NetScaler

С помощью Rewrite в NetScaler можно с успехом вставлять свои Cookie. Долго не мог с синтаксисом разобраться.

Главное в этом деле Action. Вот пример куки, которая через минуту экспайрится. Пишется в окошке веб-интерфейса:

"MyCookie=" + "SuperCookie" + "; path=" + "/" + "; expires=" + SYS.TIME.ADD(60).TYPECAST_TIME_AT + "; domain=" + ".mydomain.com"

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

Макросы в Centreon

Centreon, да еще в составе FAN - замечательный вариант Nagios. Автоматизировано и сведено в web формы практически все. Однако, два дня не мог понять, как подставить свой макрос. пока в irc поддержки не посоветовали все же прочесть HowTo.

Из которого ясно стало, что нагиос видит заданное тобой имя макроса, типа MyMacros, как $_HOSTMyMacros$ или $_SERVICEMymacros$ при создании для хоста и сервиса соответственно. Т.е., например, в табе Macros называем MyMacros, а при создании check command $_HOSTMyMacros$