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

Пакеты Wine под x86_64

Не первый раз меня спрашивают, почему я пакетирую Wine только под i386. Чтобы восполнить этот пробел я попробовал собрать последнюю версию для i386/amd64. Пока сборка только для squeeze.

Установить можно через APT

deb http://www.tataranovich.com/debian squeeze experimental

Или руками из http://www.tataranovich.com/debian/pool/squeeze/experimental/w/wine-unstable/

Оставить отзыв можно в комментариях или в ветке форума на linux.org.ru.

четверг, 27 декабря 2012 г.

could not configure /dev/net/tun: Operation not permitted

Давненько для виртуализации я пользовался KVM (в основном VirtualBox), но сегодня потребовался именно KVM. Если запускать без сети, то все работает как и полагается, а если создать host-only сеть, то выдает ошибку could not configure /dev/net/tun: Operation not permitted.

Host-only сеть создана через tunctl (входит в пакет uml-utilities). Соответсвующая секция /etc/network/interfaces:

auto tap0
iface tap0 inet static
    address 10.168.90.100
    netmask 255.255.255.0
    tunctl_user uml-net

Пользователь, под которым запускается kvm, входит в группу uml-net, но при запуске выдается ошибка

$ kvm -m 1024 -drive file=inet.it.img,if=virtio,boot=on,media=disk,aio=native -net nic,model=virtio -net tap,ifname=tap0,script=no,downscript=no -vga std
could not configure /dev/net/tun: Operation not permitted

Проверяю права на /dev/net/tun

$ ls -l /dev/net/tun
crw-rw---- 1 root uml-net 10, 200 Дек 27 15:22 /dev/net/tun

Выходит, что для группы uml-net, в которую входит пользователь запускающий KVM, доступ есть. Если же запустить KVM через трассировку, то видно чего ему не хватает

...
timer_create(CLOCK_REALTIME, {(nil), SIGALRM, SIGEV_SIGNAL, {...}}, {(nil)}) = 0
open("/dev/net/tun", O_RDWR|O_LARGEFILE) = 7
ioctl(7, TUNGETFEATURES, 0xbfe1633c)    = 0
ioctl(7, TUNSETIFF, 0xbfe1631c)         = -1 EPERM (Operation not permitted)
write(2, "could not configure /dev/net/tun"..., 58could not configure /dev/net/tun: Operation not permitted
) = 58
close(7)                                = 0
exit_group(1)
...

Как подсказал google не хватает привилегии CAP_NET_ADMIN. Чтобы ее выдать нужно установить пакет libcap2-bin и выполнить команду

$ sudo setcap CAP_NET_ADMIN=ep /usr/bin/kvm

После этого KVM запускается и работает без ошибок.

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

Wine 1.5.20 для Debian Squeeze/Wheezy

Собрал пакеты для Debian Squeeze/Wheezy для новой версии Wine 1.5.20 (только i386). Список изменений для новой версии тут. Установить новую версию можно из моего репозитария.

воскресенье, 9 декабря 2012 г.

Wine 1.5.19 для Debian Squeeze/Wheezy

Собрал пакеты для Debian Squeeze/Wheezy для новой версии Wine 1.5.19 (только i386). Список изменений для новой версии тут. Установить новую версию можно из моего репозитария.

суббота, 8 декабря 2012 г.

Отчет о доставке сообщений в jabber (XEP-0184: Message Delivery Receipts)

Сегодня коллега пожаловался на проблему с потерей сообщений в jabber. Часть наших пользователей подключены к корпоративной сети через OpenVPN, работающий через интернет каналы разного качества. Если у клиента нарушилась нормальная работа OpenVPN подключения, то jabber сервер (мы используем ejabberd) порядка двух минут может отправлять сообщения в "пустоту". Мне непонятна логика потери сообщений, т.к. для передачи сообщений используется TCP. В этом случае сервер должен знать, что сообщение было недоставлено, но при этом оно не помещается в offline storage, а просто удаляется.

Когда я впервые столкнулся с этой проблемой, то первым порывом было крутить настройки OpenVPN и ejabberd, но после пары запросов гуглу нашелся более другой способ.

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

Wine 1.5.18 для Debian Squeeze/Wheezy

Лучше поздно, чем никогда - собрал и залил в свой репозитарий новую версию Wine 1.5.18 для Debian Squeeze и Wheezy (только i386). Анонс новой версии тут.