Как стать автором
Обновить
0
0
serebryak @serebryak

Пользователь

Отправить сообщение

Автоматизация обработки видео-файлов с web-камер средствами shell

Время на прочтение11 мин
Количество просмотров15K
Понадобилось начальству в своё время организовать своими силами видео-наблюдение за некоторыми вещами и уложиться в минимальное финансирование. Задача автоматизировать это легла на плечи системного администратора, то есть – меня.
Дано: N – видео-камер D-Link 2102, физический двух-юнитовый сервер под сервер видео-наблюдения и удаленное файло-хранилище.
Результатом должна быть возможность пускать некоторых пользователей на сервер видеонаблюдения в онлайн режиме и организовать архив видеозаписей.

Под катом несколько скриптов, которые сильно помогли мне понять, как лучше писать код, зачем нужны многие вещи и как они решаются, а так же навести порядок в своей голове и очень надеюсь, что они помогут кому-то еще.
Проект писался достаточно сложно — настолько сильно я shell(bash) скрипты не изучал — не было надобности до этого.
Но, когда задача поставлена и в голове есть алгоритм решения — все скрипты были переделаны так, чтобы читая их через пол года у меня и моего преемника не было вопросов и желания переписать все с нуля.

UPD: пост периодически обновляется.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии16

Загрузка Linux с корнем на RAID

Время на прочтение3 мин
Количество просмотров34K
Для того, чтобы загрузить ядро linux с корневой файловой системой лежащей на RAID-массиве нужно передать ядру следующие параметры (рабочий пример для Grub). Значимыми для нас опциями являются первая и вторая строка параметров.
title Gentoo Linux 3.0.8 Hardened
kernel (hd0,0)/linux-3.0.8-hardened/linux \
     root=/dev/md0 \
     md=0,/dev/sda1,/dev/sdc1 \
     rootfstype=ext4 \
     rootflags=nodelalloc,data=ordered,journal_checksum,barrier=1,acl,user_xattr \
     panic=15 \
     vga=792

Значения параметров:
1. root=/dev/md0 задает имя файла устройства с корневой ФС.
2. md=0,/dev/sda1,/dev/sdc1
На этом параметре хотелось бы остановиться подробнее. Он имеет следующий формат:
md=md_device_number,raid_level,chunk_size_factor,fault_level,dev0,dev1,...,devn

  • md_device_number — номер md-устройства. Например, 0 означает /dev/md0, 1 это /dev/md1. Прошу обратить внимание — это именно НОМЕР устройства, а не количество дисков входящих в массив, как иногда встречается в описаниях в Сети.
  • raid_level — уровень RAID. Является обязательным для линейного режима (значение -1) и RAID-0 (значение 0). Для остальных типов массивов информация берётся из суперблока и это значение должно быть опущено.
  • chunk_size_factor — задает размер чанка. Минимальное значение 4кб (4k).
  • fault_level — насколько я понял из документации, этот параметр игнорируется драйвером MD (нафига тогда предусматривали?)
  • dev0,...,devn — список устройств, входящих в массив.

Есть еще один важный момент.
Читать дальше →
Всего голосов 32: ↑23 и ↓9+14
Комментарии36

Общий каталог на Linux-машине, v2

Время на прочтение3 мин
Количество просмотров6.1K
В ситуации, когда имеется общий каталог на сервере с несколькими пользователями (к примеру на файлопомойке в локальной сети), перед вами может встать проблема, когда необходимо давать права на чтение-запись всем зарегистрированным пользователям.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии17

Nmap — руководство для начинающих

Время на прочтение3 мин
Количество просмотров516K
Многие слышали и пользовались замечательной утилитой nmap. Ее любят и системные администраторы, и взломщики. Даже Голливуд знает про нее — в фильме «Матрица» при взломе используется nmap.
Читать дальше →
Всего голосов 120: ↑96 и ↓24+72
Комментарии27

DAFGroup, как мы заработали первый миллион

Время на прочтение8 мин
Количество просмотров2.2K
DAFGroup logoМногие школьники осенью пишут сочинение на тему «Как я провёл лето». Вот и я, хоть давно не школьник, решил написать статью из серии «Как это было». Из нее узнаете как мы, организовав вместе с друзьями и родственниками компанию DAFGroup и заработали миллион на продаже своего программного обеспечения.

Случилось так, что одним холодным мартовским утром 2008 года, я совершил свою первую сделку на бирже ММВБ. Она оказалась удачной, и мой счёт увеличился на 20 рублей буквально за 5 минут. Ничего себе, сказал я,
Читать дальше →
Всего голосов 122: ↑69 и ↓53+16
Комментарии108

Кластер, который всегда с собой

Время на прочтение5 мин
Количество просмотров40K
lxcЗахотелось странного.
Во-первых, взгромоздить кучу виртуальных машин прямо на свой ноутбук.
А во-вторых, раскурить одну виртуализацию внутри другой.

Речь пойдет про использование контейнеров LXC, причем внутри другой виртуальной машины.

WTF! На кой это нужно?
Всего голосов 131: ↑126 и ↓5+121
Комментарии58

Пишем своего бота для Google AI Challenge. Быстрый старт

Время на прочтение6 мин
Количество просмотров5.4K


Совсем скоро стартует Google AI Challenge Ants. Два дня назад уже был анонс на хабре про это состязание:
http://habrahabr.ru/blogs/sport_programming/130457/
. Для тех, у кого есть желание поучаствовать или хотя бы просто узнать поподробнее, как это делается, я написал этот «Быстрый Старт».
Из статьи вы узнаете как запустить у себя на машине игру, написать своего первого бота и запустить две копии бороться друг против друга.
Читать дальше →
Всего голосов 72: ↑66 и ↓6+60
Комментарии49

Активная защита FreeBSD на основе логов, sh и cron

Время на прочтение6 мин
Количество просмотров10K
Приветствую всех администраторов FreeBSD!

Настроив свой второй сервер на FreeBSD и перенеся туда важную корпоративную информацию, я задумался о защите. Не буду повторяться про антивирусы, брандмауэры и дополнительные полезные комплексы — ни один из этих инструментов не решал мою задачу.

Задача возникла сама собой, при просмотре логов:
/var/log/exim/rejectlog
/var/log/auth.log
/var/log/apache22/httpd-error.log


в них постоянно попадала информация о неудачных попытках подобрать пароль к exim, к серверу и к веб-почте соответственно. Рано или поздно злоумышленники могут пароль подобрать, поэтому их нужно как-то остановить, например, добавив их IP-адрес в правила ipfw. А на веб-сервере еще и пытались найти несуществующие каталоги и файлы, относящиеся к администрированию, типа phpmyadmin, очевидно, чтобы проверить их на существующие уязвимости.
Читать дальше →
Всего голосов 55: ↑42 и ↓13+29
Комментарии54

Traceroute: про умение читать вывод

Время на прочтение4 мин
Количество просмотров168K
  • Почему в трейсроуте после узла X идут звездочки?
  • Сервис не работает, а трейсроут обрывается на узле X — значит проблема в узле X?
  • Почему одинаковые трейсроуты с Windows и Unix показывают разные результаты?
  • Почему трейсроут показывает большие задержки на определенном узле?
  • Почему трейсроут показывает «серые» адреса при трассировке через интернет?
  • Почему маршрутизатор отвечает на трейсроут не тем адресом, каким я хочу?
  • Почему трейсроут показывает какие-то «не такие» доменные имена?
  • Почему вообще вывод трейсроута отличается от интуитивно ожидаемого чаще, чем хотелось бы?

Сетевые инженеры и администраторы в отношениях с трейсроутом делятся на две категории: регулярно задающие себе и окружающим эти вопросы и заколебавшиеся на них отвечать.

Сей топик не дает ответов на вышепоставленные вопросы. Или почти не дает. Но предлагает подумать, нужно ли их вообще задавать, и если да, то когда и кому.
Читать дальше →
Всего голосов 71: ↑50 и ↓21+29
Комментарии43

Ограничение полосы пропускания по времени суток с помощью ipfw

Время на прочтение3 мин
Количество просмотров3.6K
В этой статье описывается, как изменить скорость пользователям под NAT, по времени суток с использованием демона планировщика.

Используется система FreeBSD 8.1, но этот вариант изменения скорости доступен и на всех остальных версиях, где есть ipfw и cron, а это значит — практически на всех ветках и релизах FreeBSD.
Читать дальше →
Всего голосов 28: ↑21 и ↓7+14
Комментарии26

Просмотр фильмов на android-устройствах с домашнего сервера

Время на прочтение2 мин
Количество просмотров97K
Здравствуйте, уважаемые хабрачитатели.

Есть у меня скромненький hand-made домашний сервер:
  • Файлопомойка
  • Торрентокачалка
  • Архив фотографий и видео

Работает все это под убунтой и имеет примерно такой конфиг: Intel Core Quad, 4Gb памяти и RAID 5 из 4-х 2TB дисков.
Контент с этого сервера забирают домашние компы (samba), медиаплеер (samba), телевизоры (DLNA). И все не давала мне покоя идея смотреть вновь вышедшие серии сериалов, да и некоторые фильмы, на телефоне, лежа в кровати на сон, так сказать, грядущий. Ноутбук — неудобно ввиду его размера и опасности уронить с кровати в момент непредвиденного засыпания. Перерыл много форумов, программ и т.п., но решения так и не нашел.
Надо делать самому
Всего голосов 62: ↑51 и ↓11+40
Комментарии112

Быстрая реализация инкрементального бэкапа на Amazon S3

Время на прочтение6 мин
Количество просмотров23K
После переезда моего сайта с shared-хостинга на виртуальный сервер в облаке вплотную встал вопрос об архивации данных: если раньше о ежедневном бэкапе беспокоился хостер, то теперь эти заботы целиком легли на плечи администратора. Так как хранить большие архивы на своем сервере не только небезопасно, но и (иногда) накладно, было решено копировать основную массу файлов на сервис S3 от Amazon. Под катом описывается мой способ реализации инкрементального бэкапа. Способ достаточно нубовский, но желающие повторить его без труда найдут пути тонкой настройки под свои нужды.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии23

Обратная связь от сервопривода или «забиваем гвозди»

Время на прочтение4 мин
Количество просмотров94K

Всем хабраконструкторам, привет!

Пришла мне как-то в голову дурацкая мысль: собрать девайс, который бы молотком забивал гвозди. Просто ради демонстрации работы сервопривода. Алгоритм простой: даём команду на поднятие молотка, ждём пока он поднимется, отпускаем молоток; и так пока гвоздь не будет забит. Но как узнать, что молоток поднялся и что гвоздь забит, не пользуясь дополнительными датчиками? Спросить у «глупого» сервопривода! Как именно это сделать — об этом и пойдёт речь в статье.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии51

Получаем бесплатный SSL сертификат

Время на прочтение4 мин
Количество просмотров516K
Привет, хабр!

О StartSSL я узнал от небезызвестного lissyara, в связи с чем ему очень благодарен.

Для начала расскажу, что же за зверь это. Как известно, SSL сертификаты выдаются центрами сертификации, чьи корневые сертификаты хранятся в хранилище сертификатов браузера\ОС (либо другого ПО, использующего SSL). Цена на большинство сертификатов зашкаливает, и платить приходится за каждый сертификат. Но у StartSSL весьма интересный подход — сами сертификаты у них бесплатные, вы платите только за проверку вашей личности.

Так же не может не радовать наличие русскоязычной поддержки.
Читать дальше →
Всего голосов 136: ↑123 и ↓13+110
Комментарии134

Ловим горизонт с Arduino

Время на прочтение3 мин
Количество просмотров77K
В комментариях поста про создание трех-степенной платформы на базе аппаратной платформы Arduino поднимался вопрос управления не только с компьютера, поэтому было решено разобраться с работой акселерометра MMA7260, который можно свободно приобрести в Гонконге на Ebay.
image
Читать дальше →
Всего голосов 58: ↑57 и ↓1+56
Комментарии72

Полноценная замена Denwer или разворачиваем Ubuntu-server на VMware (часть 1)

Время на прочтение4 мин
Количество просмотров44K
Все кто занимается разработкой сайтов под windows, наверняка сталкивались с различными проблемами после запуска сайта на сервере. Проблемы эти появляются из-за того, что сервера обычно работают под ОС Linux. Кроме того, время от времени появляются очень интересные штуки на подобие NodeJS (портировали на win, но не сразу), которые очень хочется покрутить, но нельзя – на windows их нет. Однако, при всех этих недостатках с windows уходить не хочется, ведь здесь куча своих плюсов и привычно ведь в конце-то концов.

Но не стоит огорчаться, ведь есть виртуализация, которая спешит нам на помощь.
Читать дальше →
Всего голосов 100: ↑63 и ↓37+26
Комментарии141

Краткая шпаргалка по tmux (менеджеру терминалов)

Время на прочтение1 мин
Количество просмотров426K
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).

image

Вашему вниманию предлагается минималистическая шпаргалка, позволяющая быстро начать использовать tmux, а уж тонкую настройку, продвинутые команды и бесконечные хот-кеи желающие найдут, набрав man tmux.

Читать дальше →
Всего голосов 59: ↑53 и ↓6+47
Комментарии50

Сравниваем микроконтроллеры до 50 рублей: ARM жаждет крови

Время на прочтение3 мин
Количество просмотров127K
Года так 2 назад на одном из форумов по радиоэлектронике я попросил посоветовать, какой микроконтроллер изучать — и больше всего голосов было в поддержку AVR — популярных, 8-и битных МК, под которые легко писать, программатор можно сделать одной рукой (из проводов и резисторов)… Будущее было ясным и безоблачным, пока в 2009-м году не пошли новости про новые микроконтроллеры на ядре ARM Cortex-M0, которые должны были стоить меньше 1$ (во что в принципе никто не верил) и перекрыть кислород 8-и битным микроконтроллерам.

Сейчас на дворе середина 2011 года и пришла пора посмотреть, что и по какой цене у нас можно купить, и какая получается расстановка сил (цены — из terraelectronica.ru).
Читать дальше →
Всего голосов 114: ↑107 и ↓7+100
Комментарии100

Старинный телефон на базе Android

Время на прочтение5 мин
Количество просмотров14K

Введение

Однажды я смотрел какой-то старый фильм. Герой воспользовался телефоном: снял трубку, попросил оператора набрать номер друга и стал беседовать. Мне очень понравилась простота, с которой был сделан звонок, и внешний вид телефона. Я решил собрать такой телефон сам. Поднимаешь трубку, говоришь, кому позвонить, голос распознаётся, имя отыскивается в адресной книжке, и совершается VoIP звонок.

В этом посте я расскажу про детали проекта: про устройство на базе Android, про IOIO Board, про вырезание по дереву и по пластику.
Читать дальше →
Всего голосов 186: ↑182 и ↓4+178
Комментарии51

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность