LVM API
Есть вот желание манажерить LVM-томами программно. Казалось бы, liblvm отвечает всем требованиям, но насколько я понимаю она задепрекейчена. Из оф. репы LVM git://sourceware.org/git/lvm2.git ее уже удалили даже. Есть ли альтернатива?
Есть вот желание манажерить LVM-томами программно. Казалось бы, liblvm отвечает всем требованиям, но насколько я понимаю она задепрекейчена. Из оф. репы LVM git://sourceware.org/git/lvm2.git ее уже удалили даже. Есть ли альтернатива?
Есть thinkPad t520, на нем в дуалбуте win7 и Ubuntu 14.04. Макс. скорость вайфая изначально была в районе 1-2 Mbit/sec. В винде помогло принудительное включение режимов b/g (без n), скорость возросла примерно до 10 Mbit/sec. Как сделать то же самое в убунте? Драйвер rtl8188ce.
Может, есть другие варианты решения проблемы? Пока что пробовал шевелить опции swenc (софтварная криптография) и ips (power save move), обновил ядро до 3.14, не помогло.
Федора 14, использую плагин NetworkManager-pptp. pptp версии 1.7.2. Может, кто сталкивался со следующими проблемами:
1. Лог засирается сообщениями вида:
pppd[3296]: Protocol-Reject for unsupported protocol 'Compressed Datagram' (0xfd)
Как я понимаю, это потому что pptp не умеет MPPC, но при старте VPN в логе видится сообщение:
kernel: [ 1821.672054] PPP MPPE Compression module registered
2. Собственно, впн отваливается через пару минут после поднятия. В логах:
Mar 17 16:11:26 pinguin pppd[3296]: Protocol-Reject for unsupported protocol 'Compressed Datagram' (0xfd)
Mar 17 16:11:26 pinguin pppd[3296]: Terminating on signal 15
Mar 17 16:11:26 pinguin pppd[3296]: Modem hangup
Mar 17 16:11:26 pinguin pptp[3304]: nm-pptp-service-3294 log[callmgr_main:pptp_callmgr.c:235]: Closing connection (unhandled)
Mar 17 16:11:26 pinguin pptp[3304]: nm-pptp-service-3294 log[ctrlp_rep:pptp_ctrl.c:254]: Sent control packet type is 12 'Call-Clear-Request'
Mar 17 16:11:26 pinguin pptp[3304]: nm-pptp-service-3294 log[call_callback:pptp_callmgr.c:79]: Closing connection (call state)
Mar 17 16:11:26 pinguin pppd[3296]: Connect time 2.0 minutes.
Mar 17 16:11:26 pinguin pppd[3296]: Sent 586759 bytes, received 3651869 bytes.
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin pppd[3296]: MPPE disabled
Mar 17 16:11:26 pinguin pppd[3296]: Connection terminated.
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin avahi-daemon[1164]: Withdrawing workstation service for ppp0.
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin pppd[3296]: Exit.
Как перевести сабж на русский язык без существенной потери смысла и чтобы коротко?
Как известно, в openssl не так давно включили поддержку нашей ЭЦП. Решил с ней поковыряться: скачал последнюю версию openssl, собрал engine ccgost, все путем. Только вот в чем проблема: документация, похоже, сильно отстает от кода. Например, смотрим кусок кода из man EVP_PKEY_sign_init:
#include <openssl/evp.h>
#include <openssl/rsa.h>
EVP_PKEY_CTX *ctx;
unsigned char *md, *sig;
size_t mdlen, siglen;
EVP_PKEY *signing_key;
/* NB: assumes signing_key, md and mdlen are already set up
* and that signing_key is an RSA private key
*/
ctx = EVP_PKEY_CTX_new(signing_key);
// bla-bla-bla
В то же время, в хедере evp.h функция EVP_PKEY_CTX_new() объявлена с двумя параметрами вместо одного. Можно конечно покопаться в исходниках, но может быть кто-нибудь встречал уже примеры использования openssl с ГОСТовой ЭЦП? Поделитесь ссылками.
После куска кода а-ля
#define lru_list_last(lru, type) ({ \
TAILQ_LAST(&(lru)->head, lru_##type##_seq); \
})
ломается подсветка. Кто-нибудь сталкивался? Как решили проблему?
Прописываю xmodmap -e «remove Lock = Caps_Lock»
После первого нажатия CapsLock все хорошо (CapsLock не срабатывает, символы в нижнем регистре).
После последующих нажатий CapsLock снова переключает регистр.
ЧЯДНТ?
xorg-x11-server-utils-7.5-5.fc14.i686, есичо
В связи с написанием большого высоконагруженного проекта возник вопрос:
есть ли хорошая умная книжка на тему выбора политики кэширования и реализации кэширования? Всяких статей на вики явно не хватает. Пишу на Це с асинхронщиной есичо.
Хорошо, если по-русски, но англ. тоже сойдет.
Вот возьмем например tile. Можно ли сделать так, чтобы новое окно было не большим (макс. по вертикали), а маленьким? Инами словами, чтобы первое открытое окно было всегда максимизировано по вертикали.
Спасибо.
Тут возникла проблема:
Попробовал настроить синхронизацию tomboy через sshfs, пишет, мол, «The FUSE module could not be loaded» (fuse-sshfs стоит, есессно).
Погуглил, выходит, fuse перестал быть модулем =(
Кто-нибудь сталкивался с проблемой? Если решили, то как?
$ sshfs --version
SSHFS version 2.2
FUSE library version: 2.8.5
fusermount version: 2.8.5
using FUSE kernel interface version 7.12
$ tomboy --version
Version 1.6.1
То ли я дурак, то ли лыжи не едут.
Нашел два мануала по импорту git-репозитория в svn:
http://draconianoverlord.com/2010/03/05/existing-git-into-svn.html
http://stackoverflow.com/questions/661018/pushing-an-existing-git-repository-to-svn
Создал новый репозиторий git:
cd /bla/git_repo/
git init
git add hello.c
git commit -m "init"
Создал пустой репозиторий svn:
cd /bla/
svnadmin create svn_repo
# правим конфиг, запускаем
Далее по мануалу:
svn mkdir --parents svn://localhost/GIT/trunk/project -m "init git"
git svn init svn://localhost -T GIT/trunk/project
git svn fetch
# ругань типа Error from SVN, (220001): Item is not readable: Item is not readable
git branch -av
Тут он мне пишет:
* master 08e0ac0 init
При этом, если я сделаю просто
git svn init svn://localhost
У меня тут встал вопрос.
Есть некая дама А. Она утверждает, что ее провайдер (билайн), когда конфигурил ей подключение, цитирую, «прописал у себя ее компьютер». Как следствие, если тупо выдернуть пачкорд из ее компа и воткнуть в другой, то даже со всеми правильными настройками инет на нем не взлетит, пока не «пропишут». Подробнее ничего высянить не удалось.
Так вот, вопрос: ну не бред ли? Или может я отстал от жизни и что-то не уловил? На мой субъективный взгляд, пров никак не может отследить, что за машина подключена к другому концу провода. Но меня так пламенно в этом убеждали, что я прямо засомневался. Лор, помоги!
Доброго времени суток. Кто знает, напишите пожалуйста, где можно прочитать что такое криптофильтр. В русскоязычном гугле дают только определение из нескольких строк, в англ. я вообще ничего не нашел. Хотелось бы знать принципы работы, технические особенности, необходимые условия для обеспечения максимального уровня защиты, подводные камни и т.д. Спасибо заранее!
Считываю ответ на запрос таблицы маршрутизации с netlink-сокета. Однако выхлоп какой-то странный (см. ниже). ЧЯДНТ?
Функция распарсивания ответа
void rip_netlink_read_reply( int nsd, rip_msg_t * rip )
{
struct nlmsghdr * nlp;
struct rtmsg * rtp;
struct rtattr * rtap;
int rtl;
uint32_t metrics;
uint32_t dst;
uint32_t mask;
char buf[4096];
int rc;
rte_t rte;
uint32_t mask_ip;
int i, m;
assert( nsd >= 0 && rip );
rc = recv( nsd, buf, sizeof( buf ), 0 );
// hexdump( stdout, "Binary reply", buf, rc );
printf( "Read %d bytes\n", rc );
nlp = (struct nlmsghdr *) buf;
for( ; NLMSG_OK( nlp, rc ); nlp=NLMSG_NEXT(nlp, rc) )
{
if( nlp->nlmsg_type == NLMSG_NOOP ) continue;
if( nlp->nlmsg_type == NLMSG_ERROR ) printf( "Error\n" );
if( nlp->nlmsg_type == NLMSG_DONE ) printf( "Done\n" );
rtp = (struct rtmsg *) NLMSG_DATA(nlp);
if(rtp->rtm_table != RT_TABLE_MAIN)
continue;
rtap = (struct rtattr *) RTM_RTA(rtp);
rtl = RTM_PAYLOAD(nlp);
for(;RTA_OK(rtap, rtl);rtap=RTA_NEXT(rtap,rtl))
{
switch(rtap->rta_type)
{
case RTA_DST:
dst = *((uint32_t*)RTA_DATA(rtap));
printf( "DST: %8x %s\n", dst, inet_ntoa(*((struct in_addr *)&dst )));
break;
case RTA_METRICS:
metrics = *((int*)RTA_DATA( rtap ) );
printf( "Metrics: %x %d\n", metrics, metrics );
break;
default:
break;
}
}
mask = rtp->rtm_dst_len;
printf( "Mask: %d\n", mask );
mask_ip = mask > 0 ? 0x00 - (1<<(32 - mask)) : 0xFFFFFFFF;
}
}
Выхлоп
Read 1020 bytes
DST: b1a8c0 192.168.177.0 <------ нормалды, только почему он мне метрику не прислал?
Mask: 24
DST: 2c10ac 172.16.44.0
Mask: 24
DST: bedac3 195.218.190.0
Mask: 23
Mask: 0
Read 1640 bytes
DST: 80fe 254.128.0.0 <-------- отсюда и далее WTF???
Metrics: 20008 131080 <-------- X_X
Mask: 64
DST: 80fe 254.128.0.0
Metrics: 20008 131080
Mask: 64
DST: 80fe 254.128.0.0
Metrics: 20008 131080
Mask: 64
Read 20 bytes
Done
Mask: 0
Где узнать, какие коды ошибок что означают в структуре nlmsgerr? В манах netlink(7), netlink(3) не нашел.
Нашел, что это вроде бы обычный errno. Если это не так, пожалуйста, отпишитесь.
Вопрос номер 2: Допустим, я посылаю запрос с целью получить данные из таблицы маршрутизации. В каком формате будут представлены данные в RTA ответного сообщения? Уточнение: я запрашиваю сразу всю таблицу (NLM_F_ROOT).
Как программно определить размер заголовка TCP-сообщения до его отправления? Размер заголовка может плавать за счет изменения длины поля Options. Например, я хочу отправить TCP-сообщение фиксированной длины. Чтобы это сделать, необходимо знать размер заголовка, который будет приписан к сообщению.
Вызов
socket(PF_INET, SOCK_SEQPACKET, 0);
Используются неблокируюшие сокеты. epoll используется в режиме level-triggered (хотя в данном случае это вроде неважно). Может ли быть так, что epoll_wait сигнализировал EPOLLIN'ом, а при чтении из сокета recv вернул -1 и установил errno в EAGAIN? Аналогичный вопрос насчет EPOLLOUT и send.
Посоветуйте качественную литературу по разработке высоконагруженных серверных приложений, плз.
Не так давно встретил в какой-то известной книге по программированию таблицу, в которой для сравнения было расписано время различных операций, например, сколько примерно занимает обращение по указателю, сколько - передача пакета по витой паре, сколько - процедура чтения/записи с HD и т.д. Реквестую название книги и номер страницы. Мне казалось, что это ОС-мы Таненбаума, но пока вроде не нашел.
следующие → |