Блоггг Docent

полезное по линуксу и iphone собрано все интересное мне лично (методом copy-paste из инета и не пыхтите насчет копирайта я ссылки на источник ставлю)

среда, 4 мая 2016 г.

Отчаявшись найти в Неаполе англоязычных, решили ускоренными темпами учить итальянский.
Не понту ради, а уж очень хотелось добраться до номера.
В качестве жертвы выбрали пожилую добродушную тетечку, явно из местных.
— Scusa, come arrivare a Via Orazio trentasei (извините, как проехать на Орацио 36?)
— Божи мой, шо ви мучаетесь? Говорите на русском и не морочьте людям голову.
— Ой, а вы говорите по-русски?
— Тут все говорят по-русски, кроме турыстов, которые пытаются шпрехать на италянском. Идемьте, я покажу ваш бус.
— А где билеты брать?
— Ай, вечером все равно никто не проверяет. Заходите спокойно и сидите тихо.
— А если все-таки взять билеты, то где?
— И откуда ж ви такие честные?
— Из Израиля.
— Ой, ви вгоняете меня в депрессию. Таки зайдите в автобус и сидите тихо, не позорьте нацию!
Идут две бабы с сенокоса. Мимо — вз-ж-ж-ж-ж пролетают на полной скорости друг за другом два парня на скутерах. И у обоих голов нет.
— Петровна, кино, шоль, снимают?
— Ты б, Никитишна, от греха подальше, косу на другое плечо переложила...
Сельская дискотека. Стоит девчонка одна - никто с ней не танцует. Вдруг подлетает к ней какой-то амбал и начинает с ней вальсировать.
Она:
- Скажите, Вы из этих мест?
- Ага.
- А чего же я Вас раньше не видела.
- Сидел я, 15 лет.
- Да??? А за что?
- Да жену свою топором убил!
Она поправляет прическу и с улыбкой говорит:
- Значит, Вы не женаты?
Кафе при зоопарке. Дама, заказав кофе с пирожным, слушает спор, который ведут между собой трое рабочих в синих комбинезонах.
— Да вы чего? — говорит один. — Это сложное слово. А пишется оно так: "хврухт"!
— Ну, нет! — отзывается другой. — Его нужно писать черездва "у": "хвруухт"!
— А по-моему, вы оба путаете, — горячится третий. — Правильное написание такое: "фрухт"...
Дама допивает кофе, доедает пирожное, расплачивается и, проходя мимо столика работяг, строгим голосом бросает:
— Джентельмены! Если вы не поленитесь и посмотрите в любой словарь, вы сможете найти там единственно правильную версию. Это слово пишется "фрукт" и никак иначе!..
— Образованная!.. — произносит ей вслед один рабочий.
— Да-а, грамотная тетка, сразу видно, — соглашается второй.
— И все равно, — возражает третий, — готов спорить на ящик пива, что она ни разу в жизни не слыхала, как пердит слон!

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

IPTV-стример на базе getstream_a84

Как бы ни был VLC хорош с его набором модулей и функций, а также утечками памяти и глюками. Нет, я уважаю этот проект, но просто иногда не нужно всех этих плюшек.
Итак, начнем. Все действия производятся на Ubuntu Server 10.04 LTS с 4 DVB-картами Omicom S2 pci rev.3.
Для установки потребуются драйвера (не работают на ядрах 2.6.37 и выше), кстати подойдут ко многим DVB-картам и драйвера для версии ядра 2.6.38-8, и пакеты build-essential subversion linux-libc-dev libssl-dev gettext sysv-rc-conf linux-headers-`uname -r` git-core mercurial ncurses-dev dvb-apps libxml2-dev dialog libevent-dev libglib2.0-dev libncurses5-dev iptraf snmp snmpd monit.
Можно поставить драйвера от Игоря Липлианина, они должны лучше работать с картой, ну и якобы производительней. Но поставить их у меня не получилось, дрова откомпилились, но карта так и не определилась в системе.
Считаем, что карты уже стоят внутри сервера:

sudo aptitude install build-essential subversion linux-libc-dev libssl-dev gettext sysv-rc-conf linux-headers-`uname -r` git-core mercurial ncurses-dev dvb-apps libxml2-dev dialog libevent-dev libglib2.0-dev libncurses5-dev iptraf snmp snmpd rrdtool monit

После установки дополнительных пакетов качаем сами драйвера и устанавливаем:

cd /usr/src
wget http://valiant.pp.ua/files/v4l-omicom-s2.tar.bz2
tar -xjvf v4l-omicom-s2.tar.bz2
cd v4l-omicom-s2/
make KERNELRELEASE=$(uname -r)
make KERNELRELEASE=$(uname -r) install

После компиляции перезагружаем машину и проверяем наличие устройства:

zeleniy@streamer:~$ ls /dev/dvb/
adapter0 adapter1 adapter2 adapter3


Отлично карты определились, можно перейти к настройке.
Создадим файл 11389 и пропишем туда следующие настройки:

S 11389000 H 27500000 AUTO

S или S2 — это DVB-S или DVB-S2
11389000 — частота транспондера в KHZ
H — поляризация
27500000 — символьная скорость
AUTO — коррекция ошибок FEC, может быть AUTO, 3/4, 7/8 и так далее.
Создадим еще один пустой файл куда будут записываться каналы и параметры для них:

touch 11389.ch

Пишем в терминале:

scan -a 0 11389 > 11389.ch

Ключ -a 0 указывает на каком адаптере нужно провести сканирование.
После завершения сканирования в файле 11389.ch появятся следующие записи:

Inter:11389:h:0:27500:257:258:1
NTN:11389:h:0:27500:513:514:2
K1:11389:h:0:27500:769:770:3
MEGA:11389:h:0:27500:1025:1026:4
MTV UA:11389:h:0:27500:1281:1282:5
Enter Film:11389:h:0:27500:1537:1538:6
K2:11389:h:0:27500:1793:1794:7
Enter Music:11389:h:0:27500:2049:2050:8
Inter+:11389:h:0:27500:2305:2306:9
Gamma:11389:h:0:27500:2561:2562:10
Hockey:11389:h:0:27500:2817:2818:11
RTR Planeta:11389:h:0:27500:3073:3074:12
Impact TV:11389:h:0:27500:3329:3330:13


Разберем что есть что, по порядку: название канала, частота приема, поляризация, номер адаптера, символьная скорость, video pid, audio pid, sid. Нам нужно знать только название канала и его sid (последняя цифра).
Теперь перейдем к настройке getstream:

cd /tmp/
wget --no-check-certificate https://cesbo.com/hg/getstream_a84/archive/default.tar.gz
tar -zxvf default.tar.gz
cd getstream_a84-default/
./configure
make
install getstream /usr/bin/getstream

Теперь займемся файлом конфигурации getstream. Создадим файл 11389.conf.
С описанием параметров в файле можно познакомиться здесь. Хочу обратить внимание, что не стоит указывать в секции input параметр epg, т.к. во-первых наблюдаются глюки типа не с первого раза запускается просмотр на компьютере или останавливается канал, пока не передернешь. Ну а во вторых толку с епг в таком виде + лишний трафик, гораздо интересней прикрутить программу телепередач в iptv player.
Создадим скрипт /etc/init.d/getstream11389:

#! /bin/sh
#
# Some things that run always
# 
# Carry out specific functions when asked to by the system
case "$1" in
start)
sleep 10
/usr/bin/getstream -c /home/zeleniy/stream/11389.conf -dd > /var/log/getstream11389.log &
echo "Started."
;;
stop)
kill -9 `cat /var/run/getstream11389.pid`
echo "Stopped."
;;
*)
echo "Usage: /etc/init.d/getstream {start|stop}"
exit 1
;;
esac
exit 0

Отмечу что sleep здесь присутствует потому, что карты инициализируются позже, чем запускается скрипт при перезагрузке сервера.
Сделаем его исполняемым и добавим в автозагрузку:

sudo chmod +x /etc/init.d/getstream11389
sudo update-rc.d gestream11389 defaults


Запускаем:

sudo /etc/init.d/getstream11389 start

Iptraf'ом смотрим что пакеты улетают, и пробуем смотреть на компьютере например VLC.
Ну а теперь настроим monit, он отслеживает работу getstream и при падении перезапускает процесс без участия администратора.
В файле /etc/default/monit выставляем параметр startup=1.
В файле /etc/monit/monitrc выставляем параметры:

set daemon 60 # Время проверки процесса в секундах, т.е. через каждую минуту. Можете поставить #сколько угодно
set logfile syslog facility log_daemon #Путь к логу
## Т.к. у меня 4 адаптера и запущено 4 копии getstream, то
####GETSTREAM 10722#########
check process getstream0 with pidfile /var/run/getstream10722.pid
start program = "/etc/init.d/getstream10722 start"
stop program = "/etc/init.d/getstream10722 stop"
####GETSTREAM 10759#########
check process getstream1 with pidfile /var/run/getstream10759.pid
start program = "/etc/init.d/getstream10759 start"
stop program = "/etc/init.d/getstream10759 stop"
####GETSTREAM 10806#########
check process getstream2 with pidfile /var/run/getstream10806.pid
start program = "/etc/init.d/getstream10806 start"
stop program = "/etc/init.d/getstream10806 stop"
####GETSTREAM 11389#########
check process getstream3 with pidfile /var/run/getstream11389.pid
start program = "/etc/init.d/getstream11389 start"
stop program = "/etc/init.d/getstream11389 stop"


Запускаем:
sudo /etc/init.d/monit start

В итоге, если getstream упадет, то monit через минуту его перезапустит и отпишет в syslog
Дополнительно можно мониторить по snmp, что я и делаю рисую график через rrdtool выходного интерфейса, т.к. графики я смотрю чаще, чем логи на сервере.
Итого:

zeleniy@streamer:~$ uptime
22:58:16 up 54 days, 23:16, 1 user, load average: 1.74, 2.00, 1.98


Ах да чуть не забыл самое главное — проверить уровень сигнала:

zeleniy@streamer:~$ sudo femon -H -a 0
FE: STV090x Multistandard (DVBS)
Problem retrieving frontend information: Operation not supported
status SCVYL | signal 80% | snr 69% | ber 0 | unc 191 | FE_HAS_LOCK


Ну а теперь особо интересная вещь=)

Счастливые обладатели телевизоров Samsung серий B, C и D с функцией Internet@TV и Smarthub могут смотреть IPTV прямо на телевизоре без всяких глюкавых приставок.
Достаточно получить доступ к файловой системе телевизора и установить виджет. Все подробности здесь.
У меня телевизор серии D, поэтому процесс опишу для него, но по телнету я к нему не смог добраться, т.к. телек был прошит последней прошивкой от самсунга, поэтому не рекомендую обновлять ПО в телевизоре. Мне из всех этих виджетов интересен только nStreamPlayer, поэтому я буду устанавливать его отдельно. Но только для этого нужен веб сервер, думаю что у всех найдется=). Есть оригинал виджета и его мод, мне по душе мод, поэтому качаю его. Хотя можно поставить оба одновременно и выбрать для себя, достаточно добавить в widgetlist.xml параметры второго виджета.
Создадим на веб сервере в корне файл widgetlist.xml:


<rsp stat="ok">
  <list>
    <widget id="nStreamLmod">
      <title>nStreamLmodtitle>
      <compression size="20000" type="zip" />
      <description>description>
      <download>http://yourIP/widget/nStreamLmod.zipdownload>
    widget>
<widget id="nStreamPlayer">
      <title>nStreamPlayertitle>
      <compression size="20000" type="zip" />
      <description>description>
      <download>http://yourIP/widget/nStreamPlayer.zipdownload>
    widget>
list>
rsp>

Теперь положим виджеты сюда:

mkdir -p /var/www/widget
cd /var/www/widget
wget http://ru.16mb.com/nStreamLmod.zip
wget http://kartina.pristavka.de/nktvplayer/nStreamPlayer.zip
chmod -R 755 /var/www/widget/

Установить виджет без доступа по telnet получилось следующим образом:

1. Войти в SmartHub.
2. Нажать красную клавишу А, создать учетную запись с именем пользователя develop и любым паролем, залогинится под ним.
3. Нажать синюю клавишу D, зайти в меню Разработка-->Настройка IP-адреса сервера заходим и ставим IP-адрес своего сервера.
4. Клацаем Назад и выбираем Синхронизация приложений пользователя. Ждем пока виджеты установятся.
5. Закрываем все после установки, выходим из Smarthub, снова заходим и видем наши виджеты.
6. Запускаем например Lmod.

Появляется страница с настройками вводим туда:

Плейлист URL yourIP/channels.xml вводим адрес, где расположен список каналов в формате xml, можно m3u, подойдет от VLC, но тогда не будет доступен телегид.
Прокси для UDP — вводим адрес прокси, если используете udpxy, чтобы не переделывать ссылки из udp в формат udpxy
Коррекция времени — думаю понятно что тут писать
Начальный размер — ставим 0 16х9
Программка Яндекс — пишем ru или ua, кто где
Код региона187 для всей Украины
Форма иконки — форма логотипа канала, может быть 0 — квадрат или 1 — авто
Нажимаем Enter и виджет перезагружается с новыми параметрами.

Посмотреть код региона и id канала для программы можно на сайте Яндекса, код будет написан в адресной строке:

http://m.tv.yandex.ua/187/

Теперь чтобы для каждого канала отображался свой логотип и программа, нужно в списке каналов в тегах description указать id канала на сайте Яндекса, например для Интера это 308:

http://m.tv.yandex.ua/187/?channel=308&when=2&day=15420

Кусок из плейлиста:

<channel>
        <title>Интерtitle>
        <stream_url>stream_url>
        <description>308description>
        channel>


Желаю Всем приятного просмотра!

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

Zentyal — сервер all-in-one для SMB

Лет 6 назад, в мою бытность сисадмином в одной конторе, мне приходилось обслуживать несколько серверов на FreeBSD — прокси, почтовик, web-сервер, ftp, ipfw, в общем, все как у всех. Работало все на двух физических серверах, и было у меня желание заиметь какую-нибудь универсальную графическую оболочку для удобства управления всем этим хозяйством. Ну и, конечно же, таковой нигде не было. Были попытки разных умельцев создать свои GUI для управления подсистемами по отдельности: один для squid, другой для sendmail и т. д. Конечно, можно было какую-то часть управления выполнять и в webmin, но это не доставляло никакого удовольствия. Как говорили мне — неправильно работать с *nix-системами через GUI. Нет, естественно работа в командной строке не доставляла неудобства, но хотелось чего-то более универсального. В итоге, я написал несколько скриптов, которые вызывали псевдографику на черном экране, где можно было добавлять/удалять правила, рулить пользователями и т. д., на чем как-то все остановилось, хотя интерес к удобству управления через GUI и не пропал.



Выбор и описание системы



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

На этот раз все было гораздо проще — за это время появилось множество систем, позволяющих управлять теми или иными сервисами. Сначала мой выбор, несмотря на не очень благозвучное для русскоязычного человека название, пал на eBox Platform. И хотя продукт на тот момент казался сыроватым, в принципе отвечал всем требованиям заказчика. Затем интерес к теме снова поутих — работа, другие дела и задачи…

И вдруг опять срочно понадобилась «управлялка всего и вся». За прошедшее время eBox переродился в дистрибутив под названием Zentyal, про который кто-то говорил плохо (памятуя баги из eBox), а кто-то не скрывал удовольствия от использования.

Именно о нем я и хотел рассказать. Забегая вперед скажу, что мне дистрибутив понравился!

Итак, первым делом идем на сайт Zentyal и качаем дистрибутив. Образ Zentyal основан на Ubuntu, так что его установка не должна вызвать никаких проблем. В конце установки будет предложено открыть браузер и пройти по указанной ссылке, хотя можно остаться на локальном сервере для дальнейшей настройки системы.

После входа в систему попадаем на страницу выбора пакетов для установки. Что интересно, можно установить готовые наборы или только необходимые пакеты по-отдельности.



Ставить для теста отдельно пакеты неинтересно, поэтому ставим сразу все!



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

Сначала настраиваем сеть. Сразу оговорюсь, что для дальнейшего использования сервера удобнее всего иметь 2 сетевых интерфейса.



После настройки сети, необходимо определиться с тем, в каком режиме будет работать сервер — просто выделенный сервер или как slave (при условии, что уже есть первый — master). Смысл затеи сводится к разнесению служб на разные физические хосты. В дальнейшем, при масштабировании к мастер-серверу можно подключать slave-серверы, которые будут выполнять свою роль/роли в общей ферме.



Настройка первичного почтового домена:



Окно подключения «подписки». Очень интересная вещь!



Вы можете зарегистрироваться и купить поддержку либо же воспользоваться возможностями бесплатного варианта. В первом случае, вы получаете возможность установки расширенных патчей безопасности и поддержку по телефону, во втором — стандартные патчи и обращение в службу поддержки с оплатой по факту. Но и в первом, и во втором случае есть отличная возможность контролировать состояние сервера через интернет. После регистрации на сайте Zentyal и выбора типа подписки в окне ниже нужно ввести свои данные. Хотя это можно сделать и позднее при дальнейшем конфигурировании сервера. После ввода своих регистрационных данных, сервер устанавливает VPN-соединение с сервером поддержки, и вы получаете доступ к дашборду, где можете контролировать состояние своей системы. В случае платной поддержки функционал будет побогаче.

Итак, установка и начальная конфигурация прошли успешно…



… и у нас всё готово для дальнейшей пальпации.



Админ-панель





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

Я отметил все и нажал «Сохранить изменения».



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



Описание модулей



Кратко пробегусь по модулям. В меню настройки статуса модулей можно выбрать, что именно должно работать, а какой сервис будет выключен. Поскольку DHCP-сервер, как правило, в сети уже существует, то данную службу не трогаем.



Меню бэкапа. Тут тоже все просто и понятно. Расписание-что-куда-откуда-исключения и прочее…



Импорт/экспорт конфигурации и вкл/выкл системы — стандартные опции, не думаю, что на них стоит заострять внимание.

Опция DynDNS — опять же все стандартно.



В окно мониторинга строятся красивые разноцветные графики загрузки системы.



Есть где почитать логи.



Модуль прокси-сервера. Как видно, можно настроить прокси с авторизацией или прозрачный, можно добавить опцию блокировки рекламы. В платной версии, судя по описанию, функционал богаче.



Firewall — здесь все красиво! Через GUI можно настроить практически любое правило. Рисунки на странице не дадут запутаться при выборе.



…может понадобиться опция перенаправления портов.



Интересной возможностью дистрибутива является создание и запуск виртуальных машин — куда же в наше время без виртуализации? Здесь все просто — создаем виртуальную машину, описываем сеть, добавляем диски и стартуем. В качестве CD/DVD можно использовать предварительно скопированные на сервер образы операционных систем.







Настройки SAMBA тоже не сложные — все как обычно.





Кстати, есть удобная фишка — «Корзина». Логирует все удаления файлов с файловых шар. Можно посмотреть, кто и когда удалил тот или иной файл и восстановить его в случае необходимости.

А теперь самое интересное: инструменты групповой работы. Настройки серверной части просты — включаем почту, заводим пользователей, разрешаем/запрещаем пересылку сообщений.









Кроме всего прочего, можно настроить сервер VoIP.



Пользовательский интерфейс



Итак, настройка сервера завершена. Что же получил в свое распоряжение пользователь? Понятно, что есть сетевые шары, сервер VoIP, шлюз работает, прокси пишет логи. Логинимся на адрес, который был указан после настройки GroupWare:



И после входа получаем…



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





Календарь тоже очень похож на творение от MS.



Выводы



Ну, вот и все, в общем-то. Обзор получился не очень-то коротким, но в целом можно составить представление о продукте.

После установки и настройки создается впечатление законченности продукта в целом. Все пункты в своих модулях, грамотный перевод на русский язык, наличие платной поддержки — все на надлежащем уровне. Кроме того, очень много материалов на русском языке.

Для «взрослых» компаний данный продукт вряд ли подойдет, так как там другие деньги крутятся, а вот для уровня small business — очень даже неплохой выбор.

Взято с хабра

Наконец-то вышел Proxmox VE 2.0 final release

30 марта 2012 года вышел финальный релиз Proxmox VE 2.0. Первая публичная бета вышла 30 сентября 2011 — ровно 6 месяцев шла заточка напильником. RC1 был опубликован 16 февраля 2012.



Proxmox VE (wiki) — система виртуализации с открытым исходным кодом на базе гипервизоров KVM и OpenVZ, основанная на Debian GNU/Linux.

Версия 2.0 довольно радикально отличается от первой ветки.

Начать можно с того, что изменилась лицензия продукта и добавилась возможность покупки платной поддержки. GPL v2 сменил AGPL v3.

Одной из отличительных черт Proxmox VE является простота установки и дружелюбие интерфейса. В версии 2 интерфейс полностью переработан. В новой версии он базируется на ExtJs 4. Некоторые утверждают, что он стал более запутанным и сложным. В любом случае очевидно, что его внешний вид стал намного приятнее. Разработчики подчеркивают высокую скорость работы (полный AJAX) и удобство пользования новым интерфейсом за счет хорошего поиска.

В новой версии также появились возможности для создания отказоустойчивого кластера. Кластер основан на corosync. Используется собственная файловая система для хранения и синхронизации конфигурационных файлов Proxmox Cluster file system (pmxcfs), поддерживается multi-master и централизованное логирование. В новой версии возможен автоматический старт виртуальных машин на новой ноде при отказе старой.

Наконец-то освежена версия Debian, на основе которой работает VE. Теперь это Squeeze. Ядро обновлено до 2.6.32.

В версии 2.0 добавлен RESTful HTTP API. Так же появилась возможность Backup/Restore через веб-интерфейс, в том числе по расписанию. Напомню, что любые действия в системе можно сделать из без GUI, используя стандартные утилиты командной строки OpenVZ, KVM и собственные утилиты Proxmox. Однако, разработчики делают ставку на простоту. Следовательно основным инструментом админа в данном случае считается GUI. И они его реально пилят напильником по-максимуму.



В новой версии добавлена интеграция с TurnKey (сервис готовых шаблонов для OpenVZ) и возможность скачки шаблонов из собственного комплекта. Теперь поддерживается несколько хранилищ для контейнеров OpenVZ и нет необходимости привязываться к /var/lib/vz (мелочь, а очень приятно в некоторых ситуациях). Добавлена поддержка VSwap.

Смотрите также: полный список изменений, видео-уроки, раздел скачки ISO, мануал по обновлению с 1.9.

Добавлю, что в основе Proxmox лежит виртуализация на базе контейнеров Linux OpenVZ. KVM-гипервизор используется в первую очередь для остальных операционных систем. OpenVZ (как и другие контейнерные системы) работают по принципу общего ядра между гостями и хостом. Это накладывает значительные ограничения на гостевые машины (тоже самое ядро, что и на хосте). Поэтому в некоторых ситуациях даже Linux запускают в KVM, а не OpenVZ. Сама Proxmox VE представлет одинаково удобный GUI для работы с обеими платформами.

Использование Proxmox наиболее актуально для тех пользователей, которые не хотят или не могут лезть в дебри OpenVZ и KVM. Система позиционируется как готовая к использованию. И реально так и есть. Отлично подойдет для начинающих.

Из бесплатных аналогов на рынке Open Source можно отметить Citrix XenServer. Он использует совершенно другую схему виртуализации — паравиртуализацию. В этом случае на каждую гостевую машину будет работать свое xen-совместимое ядро, что значительно ослабляет зависимость требований к гостю от хоста. Для виртуализации систем, отличных от Linux, также используется Xen-HVM (базируется на QEMU). У XenServer дефолтовый клиент работает только под Windows, однако есть сторонние реализации, в том числе и web-based.

Выбор в пользу той или иной платформы зависит от ряда факторов. У каждой из них есть свои преимущества и недостатки. Но в любом случае обе платформы являются серьезными игроками на рынке Open Source-виртуализации.

Взято с хабра