LINUX.ORG.RU

Сообщения router

 

Как в питоне отлавливать утечки памяти?

 ,

Доброго времени суток

Сабж. Скрипт за 3..4 дня работы отжирается до oom killer'а.

Возможно ли снять кору и посмотреть, какие объекты она содержит?

router
()

Кто там не спит? Через 20 минут очередной Протон с Байконура запускают

 ,

Доброго времени суток. Сабж

http://www.federalspace.ru/21930/

трансляция. «Source for IPhone/IPad» отлично открывается в VLC

router
()

Существует ли браузер, авторы которого ещё не успели ушибиться головой на почве безопасности?

 , ,

Доброго времени суток

Сабж. firefox прекратил работать с SSLv3 сайтами. Вообще, без возможности разрешить или добавить исключение. Очевидно, что авторы заботятся о простых пользователях, которых ежедневно обманывают злобные хакеры. Но как быть людям, которые по служебной необходимости должны работать с старым железом, которое TLS не умеет в принципе?

Остался ли ещё браузер, разработчики которого не считают себя умнее пользователя? Пока скачал старую версию seamonkey и запретил ей проверять обновления

router
()

Нужен совет по выбору 3d принтера

 ,

Доброго времени суток

Сабж. Что лучше из reprap'ов - mendel или prusa? Или уже появились другие открытые проекты?

update. судя по тому, что я прочитал, prusa - потомок mendel. prusa проще в сборке и наладке, больше область печати. Но при этом на mendel можно напечатать гораздо больший процент деталей к самому mendel

router
()

Кто-нибудь использует SCL ( software collections ) ?

 , , scl

Доброго времени суток

Требуется ли подписка redhat для использования коллекций с https://www.softwarecollections.org/en/ ?

Если нет, то зачем rhel и centos часть scl тащат в свои репозитории?

router
()

Посоветуйте howto по установке linux на вендопланшет

 ,

Доброго времени суток

Сабж. Интересуют именно хауту, документации и ликбезы

Мопед не мой, в ближайшее время постараюсь пинками загнать сюда планшетовладельца

router
()

Что вы используется для поиска дубликатов файлов?

 ,

Доброго времени суток

Сабж. Из fdupes давно убрали замену найденных дублей на хардлинки

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

router
()

Можно ли разделить время обработки запроса на время в ядре и время в СХД?

 , , ,

Доброго времени суток.

Есть результат запуска fio ( libaio, рандомное чтение, блок 4k, queue depth 32, process count 4 ) и одновременно сбор данных через

( date; iostat -x 2 ) > iostat.log

fio выдал

  • clat avg 4.3 мс
  • iops 29548

При этом iostat в это же время показывает

  • await ~ 4.0 - 4.5 мс
  • svctm ~ 0.13 - 0.15 мс

svctm хорошо сходится с iops ( 4 fc пути, нагрузка раскидывается равномерно, и это подтверждается графиками await(t), kbps(t) для отдельных путей ), поэтому

$ echo '1/(29548/4) ' | bc -l
.00013537295248409367

Но. судя по исходникам sysstat, svctm - синтетика, вычисляется исходя из загрузки диска, числа выполненных запросов и интервала измерения )

Потребитель видит 4.3 мс, это понятно. Но при этом может быть 4.16 мс запрос в ядре, потом один запрос улетает в fc и возвращается за 0.14 мс . А может быть и наоборот, в ядре время почти не тратится, пачка запросов улетает в fc и каждый в среднем выполняется 4.3, но выполняются одновременно.

Вопрос, возможно ли как-то оценить время, которое запрос ждёт в ядре?

Возможно ли снять статистику не с дисков, а с HBA?

router
()

Как посчитать статистику, экономя память?

 , ,

Доброго времени суток.

Есть несколько файлов, в каждом - данные отдельного теста, список прочитанных блоков HDD

Нужно посчитать кратность чтения. Т.е. суммарно по всем тестам было прочитано X блоков, из них 1 раз N_1 блоков, 2 раза N_2 блоков и т.д. Всего прочитано Y уникальных блоков ( Y = sum N_i по всем i )

Всего уникальных номеров блоков допустим 100M ( объём тестового диска / размер блока ). Поэтому первая же идея - загнать всё в ассоциативный массив { номер_блока -> количество чтений } - оказалось неудачной, требуется слишком много памяти.

Есть идеи?

router
()

Как в l4d2 после смерти перейти в режим наблюдения от 1 лица?

 

Доброго времени суток

Сабж

Что-то случайно нажал правым мизинцем внизу алфавитной клавиатуры. В результате 1, 2

Как бы это повторить? В настройках и в гугле не нашёл.

router
()

Возможно ли копировать файлы по scp/sftp без шифрования?

 , , ,

Доброго времени суток

Тема время от времени вплывает, и вроде даже читал что у кого-то получилось, но найти не смог

Сабж. scp/sftp даже с "-o Ciphers=arcfour -o Compression=no" показывают скорость копирования 40 MB/s на гигабитном канале, упираясь в одно ядро. ftp на том же канале использует весь гигабит. Но мне не нравится идея ставить ftp сервер на кучу хостов.

Возможно ли без особых извращений отключить шифрование для передачи файлов в стандартном openssh?

router
()

Есть ли ПО, которое может обнаружить подозрительную активность в логах squid?

 , ,

Доброго времени суток

Сабж

Сразу уточню, моральный облик пользователей меня не интересует ( от слова «вообще» ). Что нужно, так это поиск активности, которая характерна для вирусов, червей и прочих зловредов. Т.е. IDS. Также интересно, если можно задать профиль устройства и искать отклонения ( вот это - принтер, ему веб без надобности. а это телевизор, для него характерен только ютуб )

Для сетевого трафика есть snort. Но хотелось бы что-то подобное для squid

router
()

Обновились debian jessie и wheezy

 ,

Доброго времени суток

Changelog:

Интересен список обновлений безопасности для минорных релизов. А то некоторые до сих пор чувствуют себя неуязвимыми хакирами ;) В других дистрибутивах и ОСях примерно то же самое.

«Следи за собой, будь осторожен»

router
()

Есть ли в Python аналог Data::Dumper ?

 ,

Доброго времени

Сабж. Первый подход к гуглу дал pprint. Он удобен для словарей, но абсолютно бесполезен для объектов

Perl:

use Data::Dumper;
use WWW::Mechanize;

my $browser = WWW::Mechanize->new();
printf "%s\n", Dumper($browser);
вывод:
$VAR1 = bless( {
                 'headers' => {},
                 'ssl_opts' => {
                                 'verify_hostname' => 1
                               },
                 'forms' => undef,
[...]
                 'cookie_jar' => bless( {
                                          'COOKIES' => {}
                                        }, 'HTTP::Cookies' ),
                 'proxy' => {},
                 'max_size' => undef
               }, 'WWW::Mechanize' );

Python:

import pprint
import mechanize

browser = mechanize.Browser()
pprint.pprint(browser)

вывод:

<mechanize._mechanize.Browser instance at 0x15e7c20>

Допустим, я понимаю почему так происходит. В perl ООП сделан через одно место. self, в котором хранятся поля класса - по сути обычная структура данных. Как правило - хэш ( в терминах Python - словарь ). Плюс области видимости позволяют при необходимости залезть и вытащить что угодно. А в Python практически всё - объект. И у объекта определён метод __str__, который приводит его к строке. И если автор класса об этом не подумал, __str__ даст бесполезный текст «блаблабла instance at адрес»

Второй подход к гуглу дал vars(), dirs(), которые вполне годятся для нормального дампа:

    pprint.pprint( vars( browser ) )

вывод:

{'_any_request': {},
 '_any_response': {},
 '_client_cert_manager': <mechanize._auth.HTTPSClientCertMgr instance at 0x1807758>,
 '_factory': <mechanize._html.DefaultFactory instance at 0x17a2f38>,
 '_handle_referer': True,
 '_handler_index_valid': False,
[...]
 'request': None,
 'request_class': <class mechanize._request.Request at 0x165fef0>}

Именно то, что нужно, поля и их значения. Но в дампе опять видим издевательские «instance at». Если хочется идти глубже - нужно вручную их дампить через vars. Наверняка можно пройти по вложенным объектам, пусть даже рекурсивно, и сделать как perl.

Вопрос, есть ли в python готовый модуль, в котором это уже сделано, т.е. модуль, который является полноценной заменой перловому Data::Dumper ?

router
()

Как писать интерактивные консольные программы?

 ,

Доброго времени суток

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

Думаю сделать так:

  • отдельная процедура ask_human() выполняет неблокирующее чтение с консоли и парсинг того, что ввёл пользователь. На выходе 2 строки - управляющее воздействие ( continue, break, status ) и задача, которую нужно выполнять ( task1, task2 и т.д. )
  • в основном цикле программа будет выполнять ask_human() и sleep. Если команда получена - выполнение соответствующей задачи
  • в процедурах задач есть свой цикл, в котором так же выполняется ask_human(). Если получена новая команда - возврат в основной цикл.

Норм? Или есть best practice / pattern, больше подходящий для данной задачи?

Update. Всем спасибо, остановился на варианте с отдельным потоком

router
()

Как в apache ограничить количество одновременных запросов с одного IP к Location?

 , ,

Доброго времени суток

Сабж. Штатной возможности похоже нет.

Пытаюсь сделать через mod_security по аналогии с rate limit:

    ############################################################################
    # modsecurity
    ############################################################################
    SecRuleEngine On

    SecAuditEngine RelevantOnly
    SecAuditLog /var/cache/modsecurity/audit.log

    SecDebugLog /var/cache/modsecurity/debug.log
    SecDebugLogLevel 9

    SecAction id:'12341',phase:1,initcol:ip=%{REMOTE_ADDR},pass,nolog
    SecAction "id:'12342',phase:5,setvar:ip.somepathcounter=-1,pass,nolog"
    SecRule IP:SOMEPATHCOUNTER "@gt 2" "id:'12343',phase:2,pause:300,deny,status:509,setenv:RATELIMITED,skip:1,nolog"
    SecAction "id:'12344',phase:2,pass,setvar:ip.somepathcounter=+1,nolog"
    Header always set Retry-After "10" env=RATELIMITED
    ############################################################################

Перезапускаю апач, проверяю через apache benchmark с другого хоста:

~$ ab -c 50 -n 150 <URL>
[...]
Concurrency Level:      50
Time taken for tests:   5.256 seconds
Complete requests:      150
Failed requests:        0
Write errors:           0
[...]

В логе apache тоже нет 509 кода, только 200. В /var/cache/modsecurity/debug.log видно, что счётчик ip.somepathcounter не превышает 1:

# grep -i somepathcounter /var/cache/modsecurity/debug.log | grep Relative | cut -d ' ' -f 4- | sort | uniq -c
     26 Relative change: somepathcounter=0-1
    150 Relative change: somepathcounter=0+1
    150 Relative change: somepathcounter=1-1

Сижу и пытаюсь понять, где я ошибся

update. nginx не предлагайте, сейчас у меня цель - научиться ограничивать запросы в самом apache

router
()

Как получить модераторские права на лорквотсах?

 

Доброго времени суток

Сабж. Квотсы заросли спамом в неподтверждённых и нетрадиционными анонимусами в гостевухе. Только массовые расстр^W^W^W

Если анонимусы под защитой, дайте хоть спам буду удалять

sudo cast far_tuna, geek, JB, one117, Teak

router
()

Существуют ли многоканальные наушники под linux?

 , ,

Доброго времени суток

Сабж. В моих G35 фейковый 7.1, большая часть из которого переложена на проприетарный драйвер. К наушникам идёт обработанное стерео. Но блин, при этом в l4d/l4d2 реально слышно направление. А под linux logitech этот драйвер не портировали. Именно g35 гвоздями прибили мой игровой комп к винде :\

Так вот, есть ли многоканальные ( 5.1, 7.1 ) наушники, которые будут работать с pulseaudio в многоканальном же режиме?

Колонки не предлагать, соседи по подъезду линчуют.

router
()

Linux и информация об ssd. Поговорим?

 , ,

Доброго времени суток.

Сабж. На форуме crucial случайно наткнулся на команду

smartctl -l devstat $ssd_device
# smartctl -l devstat /dev/sdd
[...]
  7  =====  =                =  == Solid State Device Statistics (rev 1) ==
  7  0x008  1                6~ Percentage Used Endurance Indicator
                              |_ ~ normalized value

Да это ж способ узнать износ ssd в этом нашем linux'е! Единственный [теперь] известный мне способ. Как ни странно, поиск по лор'у ничего не находит. Даже в вики арча этого нет

Может кто-нибудь знает, как получить информацию о работе trim? Не просто lsblk -D, а даные контроллера по количеству свободных секторов.

router
()

xmpp мёртв, и нифига никто не да здравствует

 , ,

Доброго времени суток

Я похоже старый идиот и слишком привязался к xmpp. Но сегодня увидел похожую точку зрения и подумал, наверняка ещё кого-нибудь тошнит от бесконечного клонирования всяких виберо-ватсапо-хангауто-мейло-телеграмо-фигни. Потому что контакты разбежались кто куда и предлагают ставить сотни IM клиентов для общения.

Люто, бешено хочется найти ПО, которое бы через API работало с локально установленными клиентами всяких вибро-мейло-ханго-ватсапов, отдавая пользователю единую морду. В идеале клиент-серверное. Смело поставить зоопарк IM в виртуалку, и пусть они тырят друг у друга логи, не касаясь основной системы.

Но блин понимаю, что написание такого ПО с нуля на голову выше моих возможностей. Если есть готовые проекты на чём-нибудь высокоуровневом ( perl, python, ruby ), готов вписаться в разработку. Даже жабу выучить. Потому что уже реально задрало

----------

Субъективный взгляд на историю, может что пропустил:

Сначала были irc для хакиров и icq для всех остальных. И это было круто общаться с знакомыми и незнакомыми через интернет.

Потом пришёл xmpp как универсальная замена, а для совместимости сделаны транспорты для других протоколов. И это было ещё круче, один универсальный клиент. А сервер можно было поставить свой. Социальные сети давали свой xmpp сервер для домашних пользователей ( которым было пофиг чем пользоваться), всё было прекрасно.

Потом что-то произошло, похоже корпорациям надоело что клиенты пользуются не их продуктом и логи стекаются к другим корпорациям. Обратную совместимость с xmpp начали убирать, делая свой клиент банально огороженным.

Не знаю, первым ли начал гугл или нет, но для меня именно гугл своим хенгаутом похоронил xmpp. Контакты разбежались кто куда - скайп, вибер, vk и т.д.

Так вот. Нет ли у кого-нибудь ещё ощущения, что пора ещё раз запилить универсальный IM с транспортами для hangout, viber, skype и т.д.?

update

Если есть готовые проекты на чём-нибудь высокоуровневом ( perl, python, ruby ), готов вписаться в разработку

Прошу прощения, переоценил свои возможности. Спасибо человеку, который предложил присоединиться к разработке, но моих знаний python явно недостаточно.

router
()

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