LINUX.ORG.RU

Сообщения Prius

 

«Облачный» Debian репозиторий

Привет. Хочется куда-нибудь залить свои пакеты, чтобы иметь возможность ставить их в обычном режиме.
Увидел launchpad, обрадовался, но не тут то было. Он дает загружать только исходники, и сам их потом собирает. Меня такой вариант не устраивает, т.к. не уверен, что у него получится собрать мои пакеты.
Вопрос:
Есть ли репозитории, в которые я могу положить уже собранный пакет, не поднимая свой собственный реп (проект очень маленький, он того не стоит )?

Prius
()

Переключения раскладки по Shift+Ctrl в KDE

Вопрос таков: если я ставлю переключение раскладки в KDE по Shift+Ctrl на моём арчике, то во всей системе перестают работать комбинации клавиш типа Shift+Ctrl+T в браузере или Shift+Ctrl+E в терминаторе, итд. При этом на рабочем компе с убунтой и вкоряченным в неё KDE всё работает.
Уже джва года пытаюсь найти причину, но не могу. Щас поставил KDE5, в надежде, что там исправится, хотя бы, но никак.
Может у кого было подобное? Куда копать?

 , ,

Prius
()

Звонки от мониторинга

Привет, не подскажите ли сервис, который умеет мониторить сайт (хотя бы чтоб он 200 отдавал), и в случае срабатывания мониторинга звонил админам?

СМС, джаббер и всяческие приложения для заббикса в телефон уже перепробованы, не помогает, одиночные сообщения (смс, жаббер) во сне не слышно, а приложения заббикса в спящем режиме срабатывает в 1 случае из 100.

 ,

Prius
()

ipv6tables VS фильтрация исходящего трафика

Всем добрый вечер. Возникла необходимость возвращать reset при попытке коннекта на хост:порт. Для ipv4 это делается очень просто: Сначала коннект есть:

root@srv:~# telnet -4 google.com 80
Trying 74.125.143.101...
Connected to la-in-f101.1e100.net.
Escape character is '^]'.
^]
telnet> Connection closed.
Потом добавляем правило, чтобы пакет, выходящий на google.com:80 сбрасывался и возвращался reset, чтобы не было таймаута, и соединение сразу разрывалось.
root@srv:~# iptables -t filter -A OUTPUT -d google.com -p tcp --dport 80 -j REJECT --reject-with tcp-reset
Ну и, дальше всё работает:
root@srv:~# time telnet -4 google.com 80
Trying 74.125.143.102...
Trying 74.125.143.113...
Trying 74.125.143.138...
Trying 74.125.143.139...
Trying 74.125.143.100...
Trying 74.125.143.101...
telnet: Unable to connect to remote host: Connection refused

real	0m0.064s
user	0m0.000s
sys	0m0.000s

При попытке проделать тоже самое с ipv6 получается следующее:

root@srv:~# telnet -6 google.com 80
Trying 2a00:1450:4010:c03::64...
Connected to google.com.
Escape character is '^]'.
^]
telnet> Connection closed.
root@srv:~# ip6tables -t filter -A OUTPUT -d google.com -p tcp --dport 80 -j REJECT --reject-with tcp-reset
root@srv:~# time telnet -6 google.com 80
Trying 2a00:1450:4010:c03::64...
telnet: Unable to connect to remote host: Connection timed out

real	1m3.137s
user	0m0.000s
sys	0m0.000s

При этом в tcpdump'е ничего не видно, и reset не возвращается.

Это баг. Он известен, и описан вот тут: https://bugs.launchpad.net/ubuntu/ source/linux/ bug/1234877 Баг в ядре, и он пофикшен 2 месяца назад. Но проблема в том, что, как известно, на серверы ставят LTS, а в убунте щас, например, ядро 3.2, и ждать туда ядра 2-месячной давности можно годами, а проблему решать нужно.

Внимание вопрос, уважаемые знатоки: как мне сделать то, что я хочу, в обход этого бага?

Пытался ещё сделать вот так:

ip6tables -t mangle -A OUTPUT -d google.com -p tcp --dport 80 -j MARK --set-mark 1
ip -6 rule add fwmark 1 unreachable
Не помогает, т.к., похоже, что упирается в тот же баг.

 , , ,

Prius
()

Как получить supported link modes для интерфейса?

Привет, такая штука. Хочу узнавать все поддерживаемые скорости интерфейса. Для этого, конечно, хорошо бы использовать ethtool, но она выдает фигню, которую крайне неприятно парсить, типа

	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
В связи с этим ищется православный метод вытаскивания поддерживаемых скоростей. Попробовал потыкаться в библиотеку python-ethtool, т.к. писаться это дело всё равно всё будет на питоне, там не нашел, как сделать то, что я хочу, т.к. похоже, что оно это не умеет (или я не осилил код, который там написан, т.к. доки нет).

 , link speed,

Prius
()

Общая сеть для виртуалок

Всем привет. Интересует готовое решение для реализации общей сети на 3х машинах, расположенных физически в разных местах таким образом, что невозможно физическое их объединение в один VLAN, например.
Т.е. в первом приближении:
Есть 3 машины (A, B, C), на каждой из которых поднят бридж br0
К каждому из этих бриджей на каждой машине подключены виртуалки
Необходимо, чтобы виртуалки с этих трех машин без проблем видели друг друга (находились в одной сети)
Необходимо, чтобы при падении любой из трех машин (например B), виртуалки на оставшихся двух машинах (A и B) видели друг друга
Я пробовал эти бриджи объединить туннелями, и оба конца туннелей втыкал в эти бриджи + включал в бриждах STP, но такая схема почему-то самопроизвольно падает в рандомный момент времени, и вообще не уверен, что оно должно так работать, т.к. по сути я должен был получить кольцо, даже несмотря на STP.

Prius
()

RAID1 из одного диска

Добрый вечер. Хочу странного. Есть один диск. Хочется сделать из него degraded RAID1, а потом добавить второй диск, после того, как он купится, и уже собрать полноценный RAID1. Сейчас сделал так

root@prius ~ # mdadm --create /dev/md3 --level=1 --force --raid-devices=1 /dev/sdd1
mdadm: /dev/sdd1 appears to contain an ext2fs file system
    size=1953514552K  mtime=Sun Jul 28 18:05:44 2013
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md3 started.
root@prius ~ # cat /proc/mdstat 
Personalities : [raid1] 
md3 : active (auto-read-only) raid1 sdd1[0]
      1953383296 blocks super 1.2 [1/1] [U]

Я получил то, что я хочу? У меня потом второй диск туда добавится без проблем?

 , ,

Prius
()

Релиз debian в puppet

Как паппетом выяснить релиз debian? Ситуация такая: хочется иметь один конфиг для debian squeeze (которая сейчас в production), и wheezy, которая тестируется.

Проблема в том, что сейчас подключается репозиторий, в котором разные пакеты для squeeze и wheezy, соотвественно, это надо писать в строчке в sources.list

 ,

Prius
()

Постоянно сегфолтятся процессы

Уже довольно давно. Временами проблема самоустраняется, временами падает все каждую минуту, ато и чаще. Больше всего этим любит заниматься chromium.
Вот кусок dmesg'а

[162290.667714] chromium[8836]: segfault at 2f809ce0420b ip 00007fb6630d3e63 sp 00007fffdea57748 error 4 in chromium[7fb661a12000+53f6000]
[166386.652029] chromium[13607]: segfault at 2e732ba00018 ip 00007fb66313114a sp 00007fffdea57fb0 error 4 in chromium[7fb661a12000+53f6000]
[166691.766737] chromium[10417]: segfault at 16e2ac204138 ip 00007fb663176173 sp 00007fffdea57c30 error 4 in chromium[7fb661a12000+53f6000]
[166736.555981] traps: chromium[13737] general protection ip:7fb663134cf1 sp:7fffdea57fc0 error:0 in chromium[7fb661a12000+53f6000]
Куда копать? Может память у меня гогно и идти покупать новую? Или ещё в чем проблема может быть?
Раньше грешил на разогнанный проц (i5-2500k), уже месяц без разгона и вот проблема начала появляться снова.

 

Prius
()

LVM Snapshot + RAID1

у меня тут около недели уже бекапы одного раздела в виртуалке делаются через снепшоты lvm.
VG поверх RAID1. LV засунут в виртуалку, где на нём имеются ещё несколько разделов.
Сначала я делаю снепшот LV, потом с помощью kpartx делаю device map и уже с /dev/mapper монтирую то, что я хочу бекапить. Если короче, то как-то так:

lvcreate --snapshot --name snap-${VOLUME} --size 5GB /dev/host1/${VOLUME}
kpartx -av /dev/host1/snap-${VOLUME}
mkdir -p /mnt/${PARTITION}
mount -o ro,noatime /dev/mapper/${PARTITION} /mnt/${PARTITION}
Ну а дальше уже манипуляции для бекапа. Напоминаю, что VG поверх RAID1. Так вот. Неделю всё было хорошо, бекапы бекапились. А сегодня вдруг на тебе, и ничего не работает. lvdisplay, vgdisplay, lvremove итд. виснут и не убиваются по SIGKILL.
Сервер ребутнул, удалил снепшот, решил снова запустить скрипт бекапа и точно та же фигня. Где-то 1Gb бекапится, а потом всё, что связано с LVM виснет намертво (в т.ч. и доступ к остальным разделам)
И ещё, в данный момент, я ещё обнаружил, что у меня ресинкается тот самый рейд, который является PV для LVM.
# cat /proc/mdstat
Personalities : [raid1] 
md2 : active raid1 sda4[0] sdb4[1]
      2824881471 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  3.1% (88970816/2824881471) finish=847.2min speed=53818K/sec
И ещё, любая попытка копирования-перемещения файла со снапшота после того самого 1Gb виснет, при этом ls на примонтированном разделе со снапшота работает.
Что пробовал:
1. Увеличивать размер cow-буффера.
2. Смотреть в dmsetup info. До и после зависания ничего не меняется.
3. Смарт диска говорит, что всё ок. Возможно он ресинкается от того, что я сервер вырубал нажатием reset, т.к. на reboot и Ctrl+Alt+Del он не реагировал. И все-равно, мне не кажется это важным, т.к. до создания снепшота и копирования первого гигабайта никаких отклонений не наблюдается.

 , ,

Prius
()

Сайты клиентов на своем сервере

Вопрос такой:

Сейчас имеется больше сотни клиентских сайтов на вордпрессе, которые лежат на шаред-хостингах в руцентре. Ресурсы там почти на нуле, как и возможности конфига, да и поддерживать весь этот зоопарк стало дико геморно.

Единственный вариант, который мне видится - переезд всего этого зоопарка на VDS или в облако, не важно, главное, чтоб на один отдельный сервер (ну, мейби ещё один для репликации).

Застряли на одной фигне: начальство утверждает, что пока все эти сайтики лежат на наших шаред-хостингах в руцентре всё ок. Как только мы перевозим их на свой сервер - начинаются проблемы, т.к. нет лицензии на оказание телематических услуг.

Внимание вопрос: как переехать сайты клиентов на отдельный (свой) сервер, при этом не нарушив никакие законы, ну или минимизировав эти нарушения, т.к. что-то мне подсказывает, что и хостить сайты на своих хостингах в руцентре - тоже не айс.

Prius
()

Вопрос по LGPL

Вопрос следующего характера. Поставил платформу для конференций BigBlueButton.
Тут выяснилось, что начальство хочет, чтобы продукт был под брендом нашей конторы.
Почитал тут http://www.bigbluebutton.org/open-source-license/
Я правильно понимаю, что если я уберу оттуда все упоминания bigbluebutton и где-нибудь в доступном месте оставлю ссылку на исходники всех компонентов под GPL лицензией, то вроде бы как всё должно быть хорошо и православно?
Изменения в код вносить не планируется, только накатывание своей темы, больше ничего, то есть публиковать всё, что под LGPL лицензией мне не нужно, если код останется в первозданном виде?

 

Prius
()

SUSfl без правки реестра

Есть проблема следующего рода, в офисе канал 5Мбит. Хорошо бы было его разгрузить от апдейтов винды. Бегать по всем компам править реестр неохото.
Собственно вопрос: возможно ли решить проблему тупой переадресацией всех запросов к windows update на локальный сервер? Если да, то как?

 susfl, windows update

Prius
()

Падают апплеты в AWN

Сабж. Вчера обновил пакеты из AUR в своём арчике, теперь при запуске некоторых апплетов в AWN вылазит вот такая фигня:

awn-applet: symbol lookup error: /usr/lib/awn/applets/places/places.so: undefined symbol: _
awn-applet: symbol lookup error: /usr/lib/awn/applets/notification-area/notification-area.so: undefined symbol: _
После чего апплет успешно падает, так и не запустившись :(
Вот ldd для notification-area.so
$ ldd /usr/lib/awn/applets/notification-area/notification-area.so
	linux-vdso.so.1 =>  (0x00007fff8519c000)
	libawn.so.1 => /usr/lib/libawn.so.1 (0x00007fdb5e8a3000)
	libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007fdb5e6a1000)
	libdesktop-agnostic.so.0 => /usr/lib/libdesktop-agnostic.so.0 (0x00007fdb5e499000)
	libdesktop-agnostic-vfs.so.0 => /usr/lib/libdesktop-agnostic-vfs.so.0 (0x00007fdb5e28c000)
	libdesktop-agnostic-cfg.so.0 => /usr/lib/libdesktop-agnostic-cfg.so.0 (0x00007fdb5e074000)
	libdesktop-agnostic-fdo.so.0 => /usr/lib/libdesktop-agnostic-fdo.so.0 (0x00007fdb5de6f000)
	libdesktop-agnostic-ui.so.0 => /usr/lib/libdesktop-agnostic-ui.so.0 (0x00007fdb5dc5f000)
	libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007fdb5d630000)
	libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0x00007fdb5d408000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007fdb5d204000)
	libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007fdb5cf51000)
	libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007fdb5cd2d000)
	libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007fdb5c9e0000)
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007fdb5c7b3000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fdb5c513000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007fdb5c2dd000)
	libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007fdb5c0d0000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007fdb5bead000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007fdb5bc62000)
	libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007fdb5b967000)
	libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007fdb5b722000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007fdb5b506000)
	librt.so.1 => /lib/librt.so.1 (0x00007fdb5b2fe000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007fdb5b0af000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007fdb5adbb000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fdb5aa82000)
	libm.so.6 => /lib/libm.so.6 (0x00007fdb5a78c000)
	libc.so.6 => /lib/libc.so.6 (0x00007fdb5a3eb000)
	libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007fdb5a191000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007fdb59f89000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007fdb59d84000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fdb59b71000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007fdb59966000)
	libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007fdb59762000)
	libXi.so.6 => /usr/lib/libXi.so.6 (0x00007fdb59553000)
	libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007fdb5934a000)
	libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007fdb5913f000)
	libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007fdb58f3c000)
	libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007fdb58d39000)
	libffi.so.6 => /usr/lib/libffi.so.6 (0x00007fdb58b30000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007fdb5891a000)
	libresolv.so.2 => /lib/libresolv.so.2 (0x00007fdb58703000)
	libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007fdb584f2000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fdb582c8000)
	libpng15.so.15 => /usr/lib/libpng15.so.15 (0x00007fdb5809a000)
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007fdb57e15000)
	libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007fdb57c13000)
	libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007fdb57a09000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fdb577eb000)
	/lib/ld-linux-x86-64.so.2 (0x00007fdb5ed30000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fdb575e6000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fdb573e0000)
Кто виноват и что делать?

 ,

Prius
()

Шифрование флешки

Подскажите, существует ли кроссплатформенный способ зашифровать раздел на флешке?
Сейчас там лежат ssh-ключи и ещё кое-какая инфа, распространение которой нежелательно.
Собственно хотелось бы, чтобы для доступа к содержимому раздела требовался ввод пароля как в линуксе, так и в винде (7), желательно без установки дополнительного софта на винде.

 

Prius
()

Заменил директорию на файл

Случайно в наутилусе как-то получилось, сам не понял как.
В общем, была директория dir, она заменилась на файл с названием dir.
testdisk видит только этот файл, директории не видит.
Как мне восстановить то, что было в этой директории? :(
ФС - ext4

Prius
()

Разный размер русских и английских шрифтов в Gnome3

Сабж видно на картинках (сорри за хостинг, не знаю куда ещё картинки залить, чтобы они не удалились потом)
http://cs5571.userapi.com/u49464303/-3/x_6acd7ae4.jpg
http://cs5571.userapi.com/u49464303/-3/x_09c9e47e.jpg
http://cs5571.userapi.com/u49464303/-3/x_aebefb1a.jpg
Система - арч. Шрифты ставил по Wiki Ситуация такая в заголовках окон и строке адреса в Chrome, итд. Внутри большинства приложений всё ок (хотя в Pidgin, например, в поле ввода сообщений тоже разная высота)
Что показать? В принципе глаза не режет, уже полгода так сижу, но удивляет, что решение так и не нагуглилось, хочу исправить, но не могу даже представить, в какую сторону копать.

 , ,

Prius
()

[xl2tpd] Несколько подключений/один логин

Что написать в конфиге xl2tpd, чтобы избавиться от сабжа? Подключаются несколько человек с одним и тем же логином и у всех есть инет. Надо исправить это безобразие, но гугл в час ночи не на моей стороне :(

 

Prius
()

Забанить dhcp-серверы.

В сети недобросовестные люди (либо вирусня какая-то) наподнимали DHCP-серверов. Как оказалось их больше одного, т.к. один вычислил и прибил (у девушки вирус на венде оказался), а сейчас звонят, говорят, что опять появились люди, у которых выдается 192.168.*.*, причем из другого сегмента. Собственно стоит задача вычислить маки злодеев и выключить им порты. Соответственно, первого вычислил очень просто, обновил адрес, и tcpdump'ом посмотрел мак dhcp-сервера. Сейчас надо вычислить их все. Я понимаю, что это проще всего сделать, отправив DHCPDISCOVER, но тут мои знания заканчиваются.

Собственно вопрос: чем отправить DHCPDISCOVER, и чем потом посмотреть ответ?

Prius
()

ip rules vs скорость

Есть следующая конфигурация на Gentoo:

eth0 - смотрит в сеть A.

eth1 - смотрит в сеть B.

ppp0 - PPPoE подключение через eth1, через него идет интернет 100 мбит.

Задача - раздача интернета из ppp0 в сеть A, пока что с помощью squid - это работает.

Задача 2 - чтобы интерфейсы eth0 и eth1 были доступны из соответствующих им сетей одновременно. Для этого при поднятии интерфейсов прописываются правила.

# cat /etc/conf.d/net
config_eth0=(
    "dhcp"
)
config_eth1=(
    "dhcp"
)
rules_eth0=(
    from $ETH0_IP table eth0table
    #тут маршруты для подсети в таблице eth0table
)
rules_eth1=(
    from $ETH1_IP table eth1table
    #тут маршруты для подсети в таблице eth1table
)
#тут конфиг для подключения pppoe
Так вот, если правила не прописывать - доступен только один из интерфейсов (eth0 или eth1) по вполне понятным причинам, но, тем не менее интернет замечательно работает и всё хорошо. Но, как только дописываешь правила, даже просто в виде
ip rule add from $ETH0_IP table eth0table
ip rule add from $ETH1_IP table eth1table
закомментировав, при этом соответствующие строчки в /etc/conf.d/net, моментально падает скорость интернета до 5-10 мбит, как через squid, так и напрямую с сервера (проверяю wget'ом + mirror.yandex.ru). Процессор при этом загружается на 1-2% максимум, память не отжирается. Куда копать - не знаю.

Подскажите правильное направление :)

Prius
()

RSS подписка на новые темы