Search
Write a publication
Pull to refresh
1
0
postdig @postdig

User

Send message

Модификация стоковых прошивок для Android. Часть 3

Reading time4 min
Views55K
В продолжение Части 1 и Части 2

Давеча столкнулся с мнение одного недовольного пользователя:
Лучше чем сток все-равно нет ничего. Лабание прошивок на кухне заметно отличается от производства их в стенах корпораций. Всегда был уверен что кастом — г… о полное. Лишний раз убедился. Подожду в Связном нормальный аппарат пусть и за большие деньги, но с нормальной желейкой, а не пилено-коцаной умельцами.
Многие не понимают зачем делать модификации к прошивкам, а бесплатные труды разработчиков обрастают мифами. Давайте сегодня попробуем разобраться для чего и кому это нужно и развенчаем многие, порой глупые, домыслы.
Читать дальше →

Sip через Wi-Fi + UniFi. Опыт использования и модернизация

Reading time7 min
Views8.6K
С сентября 2012 худо бедно (скорее худо) работала следующая конфигурация:
— АТС на базе Asterisk
— Точки доступа UniFi AP и UniFi AP-Outdoor (прошивка контроллера и ТД 2.3.6) работало до 10 точек.
— смарфоны Fly Uno (родная прошивка Andriod 2.3.?, без сип клиента) сип клиент sip-droid
— на пробу брались Wifi SIP телефоны LG (конкретную модель не выяснил, но их тестировали несколько дней и вернули обратно)

Проблемы такой конфигурации:
— пришлось перевести точки в режим только G. Иначе Fly не соединялся с точками доступа.
— потеря регистрации sip клиентами телефонов (особенно когда телефон полежит некоторое время в режиме ожидания)
— булькания и пропадание голоса при разговорах
Читать дальше →

Nginx boilerplate: Быстрая и изящная настройка nginx

Reading time1 min
Views38K
Хочу поделиться своими наработками по настройке nginx, которые, возможно, помогут кому-то при старте нового проекта или избавят от необходимости копипастить очередной vhost.

Я отметил две проблемы подавляющего числа конфигов nginx'а, попадавших мне на глаза:
  • «Всё в одном файле»
  • Дублирование настроек

С помощью моего подхода, надеюсь, эти и многие другие проблемы будут устранены.
Читать дальше →

Устройство файла UEFI BIOS, часть вторая: UEFI Firmware Volume и его содержимое

Reading time9 min
Views77K
Позади уже полторы (первая, полуторная) части этой статьи, теперь наконец пришло время рассказать о структуре UEFI Firmware Volume и формате UEFI File System.
Читать вторую часть

Будни rdp или о скромном RDCMan замолвите слово

Reading time2 min
Views90K
Привет, Хабр! Данный пост написан исключительно с целью пролить свет на незаслуженно затерянную в дебрях Microsoft программку, а не для обзора всех ее возможностей. Здесь даже не будет ссылки на скачивание. Но обо всем по порядку.

Предисловие


Пост хабражителя emoxam навеял размышления об удобстве удаленного управления серверами. И в частности оными под управлением Windows Server. Для *nix систем использую старушку putty и идея мега-комбайна мне не по душе. Но это, конечно же, сугубо личное мнение. Скажу честно, раньше я был достаточно ленив и пользовался стандартным клиентом удаленного рабочего стола аля mstsc.exe. Но перейдя в другую компанию, с количеством серверов на порядок больше, бесконечные окна терминалов стали утомлять.
Читать дальше →

Перенос установленной на LVM разделе виртуальной машины KVM на другой сервер с помощью lvmsync

Reading time3 min
Views12K
Приветствую Хабр!

В данном небольшом how-to хотел бы поделиться с вами своим опытом использования утилиты lvmsync.

Данная утилита позволяет решить задачу переноса виртуальной машины с одного сервера KVM на другой, с минимальным простоем виртуальной машины, без использования общего хранилища (non-shared storadge).
Передавать мы будем весь раздел LVM, на который установлена виртуальная машина. Ну а уменьшить время простоя нам поможет магия работы LVM snapshot, информацию о которой вы с легкостью можете найти в интернете.

Вот как выглядит перенос виртуальной машины в кратком виде:

  1. Делаем снимок LVM раздела.
  2. Передаем основной LVM раздел по сети, не останавливая нашу VM.
  3. Когда закончится передача основного раздела, останавливаем VM.
  4. Запускаем lvmsync для передачи снимка по сети. Передается не весь снимок, а только измененные блоки.
  5. Подготавливаем и запускаем VM на новом сервере.

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

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

Читать дальше →

Простой веб-сервер на базе NAS

Reading time5 min
Views48K
image

По многочисленным просьбам пользователей решил таки написать инструкцию, как организовать практически полноценный LAMP-сервер на базе D-Link DNS-325/345.
Многие гуру администрирования схватятся за сердце, будут пить валерьянку и рекомендовать мне, курить что-то менее забойное ;)
И я с этим полностью согласен. Ну не на счет курить, а насчет того, что так делать очень и очень не рекомендуется. Не рассчитаны аппаратные параметры подобного устройства на работу полноценного LAMP, не потянет он хорошую нагрузку. Ну, как говорится, хозяин барин. Раз пользователь хочет, нужно его хотя бы направить в правильное русло. Иначе каждый начинает изобретать свой велосипед, строить что-то на базе fun_plug & optware, иногда просто следуя разрозненным инструкциям, не всегда понимая, что он делает.
Читать дальше →

Некоторые наблюдения и советы по использованию Bittorrent Sync для синхронизации резервных копий

Reading time4 min
Views41K
Как только выпустили Bittorrent Sync, я сразу его стал использовать для резервирования файлов на домашнем компьютере, настроив штатным образом через web-интерфейс. Программа показала себя с наилучшей стороны, и у меня появилось желание использовать её также для копирования резервных копий на серверах…

Я настроил и использую уже около месяца Bitorent Sync в продакшене и готов поделиться некоторыми наблюдениями.
Подробности

Перевод и объединение нескольких разделов виртуальной машины на LVM

Reading time8 min
Views7.2K
Дано: ВМ с CentOS 5.8 со стандартной разбивкой диска (Не LVM)
Цель: Увеличить один из разделов с архиважной информацией.


ВАЖНО! Часть проблем можно было б избежать, если добавлять дисковое пространство ВМ не просто увеличив размер виртуального диска, а добавлением нового HDD. Так как я сразу до этого не додумался, а обратно место уже не забрать, описываю вариант с обычным изменением размера диска.

ВАЖНО! Перед началом работ не забыть сделать backup на другом/внешнем носителе: информация и /etc/fstab

Читать дальше →

Обработка pcntl-сигналов в PHP

Reading time8 min
Views24K
Про обработку сигналов в PHP уже было написано несколько статей. Но там эта тема описана лишь косвенно.

Сразу оговорюсь, что я знаю, что уже вышел PHP 5.5 и 5.2 уже морально устарел, но задачу нужно было решать именно на PHP 5.2. Для тех счастливчиков, кто использует более новую версию PHP я тоже напишу, но ближе к концу статьи.

Обработка pcntl-сигналов в PHP делается путем передачи функции-обработчика в функцию pcntl_signal(), при этом на каждый сигнал можно повесить только один обработчик. Каждый следующий обработчик будет заменять предыдущий, при этом никаких нотайсов не будет.
Читать дальше →

Инструкция по выживанию для штатного системного администратора

Reading time7 min
Views180K

Один в поле – ИТ-директор!


image

Время от времени меня приглашают в небольшие компании чтобы «разобраться» с их единственным системным администратором. Список претензий к работе их штатного специалиста всегда примерно одинаков: медленно выполняет поставленные задачи, часто «ничего не работает», а даже был вот такой случай…
При этом зачастую уровень претензий к работе системного администратора никак не коррелирует с его уровнем технической компетенции, а, в основном, связан с отсутствием у системных администраторов минимальных управленческих компетенций, столь необходимых для работы в компании, в которой ты единственный понимающий в ИТ человек.

Вдоволь насмотревшись на совершенно незаслуженные страдания штатных системных администраторов, я решил написать эту небольшую инструкцию, которая, надеюсь, поможет им избежать конфликтов с руководством и уберет из вакансий системных администраторов такое понятие как «стрессоустойчивость».
Читать дальше →

Call-центр просто и дешево

Reading time4 min
Views89K
image

Недавно к нам обратился заказчик с просьбой помочь в организации небольшого Call-центр на 10 операторов. Ну конечно одно из главных требований – «подешевле».
Было предложено несколько решений, остановились на следующем, базирующемся полностью на VoIP технологии:
  • 4 городских аналоговых линии принимаются голосовым шлюзом D-Link DVG-6004S
  • в роли IP АТС и сервера с CRM-системой выступает сетевой накопитель D-Link DNS-325
  • у старшего оператора IP-телефон D-Link DPH-400S с гарнитурой Plantronics HW111N
  • у остальных операторов софтфон CounterPath X-Lite с гарнитурой Plantronics Blackwire C210
  • сеть обслуживается коммутатором D-Link DES-1210-28
Читать дальше →

Маленький британский шпион – закладка на Raspberry Pi

Reading time9 min
Views97K
Большой темой майского номера «Хакера» стал Raspberry Pi. Мы пообщались с создателем «малинки», Эбеном Аптоном и узнали, каковы итоги первого года проекта, и что ждет маленький компьютер в следующем. Также мы описали два концепта на основе Raspberry: незаметную закладку, которая в виду размеров может незаметно собирать данные из сети (принимая команды по SMS и скидывая логи в Evernote), а также систему видеонаблюдения, интегрированную с Google Drive. Один из этих концептов мы предлагаем вашему вниманию.




Идея дропбокса проста: если миниатюрный компьютер снабдить батареей и 3G-модемом, то можно получить шпионскую коробочку, которая незаметно подключается к исследуемой сети и передает собранные данные. Этот концепт вполне реализуем на Raspberry Pi.

Читать дальше →

NETMAP (от Luigi Rizzo). Простой и удобный opensource фреймворк для обработки трафика на скоростях 10Gbit/s или 14 Mpps

Reading time22 min
Views49K
Пропускная способность каналов связи непрерывно возрастает, если ещё пару лет назад сервер с каналом 10Gbit/s был привилегией лишь немногих, то теперь на рынке появились предложения, доступные для маленьких и средних компаний. В то же время, стек протоколов TCP/IP разрабатывался во времена, когда о скоростях порядка 10Gbit/s можно было только мечтать. Вследствие этого, в коде большинства современных операционных систем общего назначения имеется множество оверхедов, впустую съедающих ресурсы. В этих условиях, возрастает важность задач высокопроизводительной обработки сетевых потоков.

Статья сделана на основе моего доклада на Highload++ 2012 и предназначена для быстрого введения в удобный и очень эффективный opensource framework, который включен в HEAD/STABLE FreeBSD, называется NETMAP и позволяет работать с пакетами на скоростях 1-10Gbit/s без использования специализированного железа в обычных *nix операционных системах.
Читать дальше →

Облака — ещё дешевле

Reading time5 min
Views116K
Наверняка вы слышали о сервисах Amazon EC2, Rackspace и им подобным. Может быть даже пользовались. Лично мне бывает нужен иногда личный VPN-сервер. Для этих целей я уже давно держал микро-инстанс на Амазоне, предоставляемый им в течении первого года бесплатно. Плюс использовал для архивов Amazon Glacier, который с его ценой «1 цент за гигабайт в месяц» можно считать тоже почти бесплатным. Но вот год закончился и за EC2 стало нужно платить. Архивы мои тоже разрослись прилично и затраты на Glacier аналогично перестали радовать.

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

Я сильно ошибался. Ниже будет рассказано как на базе DigitalOcean сделать себе VPN-сервер в пару десятков раз дешевле такого же на Амазоне и сервис хранения архивов, в бесконечность раз дешевле Glacier.
Читать дальше →

Метод оптимизации задач создания и поддержки однотипных Xen VM

Reading time6 min
Views5.7K

Цель


У меня, как и у многих жителей хабра есть домашний «балконный» сервер, на котором крутится множество сервисов, как личных, так и публичных — начиная от архива фотографий и Gitolite, и заканчивая несколькими веб-сайтами. Однажды я озадачился вопросом отделения личного от публичного с целью наведения порядка и усиления безопасности системы. Было решено публичные сервисы вынести в отдельные виртуальные машины, которые если даже подвергнутся взлому, то остальные данные не пострадают, а VM может быть легко восстановлена из резервной копии.
При этом я не люблю избыточность в каких бы то ни было проявлениях, и завести по виртуальной машине на каждый сервис хотелось с минимальными затратами таких ресурсов, как мое время и дисковое пространство. В качестве дополнительной «хотелки» выступала возможность обновлять однотипное ПО на всех виртуальных машинах одновременно, а не по отдельности.
Читать дальше →

Проброс видеокарты в KVM из под ubuntu

Reading time4 min
Views78K

Предистория


Года два назад я решил перейти полностью на линукс, но необходимость в венде не упала, поэтому всегда держал у себя 2 операционные системы. Около месяца назад попробовал поставить VirtualBox и на нее установить Windows, в общем то работать с 2мя операционными системами мне понравилось, но была одна проблема, я программирую исключительно компьютерную графику и мне нужна была поддержка OpenGL 3.3 и выше, к сожалению VirtualBox не предоставлял мне такой возможности. Погуглив наткнулся на такую штуку как Xen, долго пытался что-то сделать на ней, в итоге ничего не вышло, скорее всего из-за основной видеокарты — nVidia GeForce 580 GTX, гипервизор попросту не хотел запускать даже убунту, не говоря уже об виндовсе. Начал искать другие гипервизоры, и наткнулся на KVM, с ним пришлось повозиться, но в конце концов все заработало.

Конфигурация


Итак, нам понадобится:
  • Процессор с поддержкой виртуализации (в Intel — это VT-d, в AMD — AMD-Vi). Важно: чипсет тоже дожен поддерживать эту технологию
  • Материнская плата с блоком управления памятью ввода/вывода(IOMMU)
  • Две видеокарты, для гостевой ОС желательно использовать AMD видеокарту, т.к. с ней проблем не должно быть. Видеокарты NVidia не работают.

Моя конфигурация:
  • Процессор AMD Phenom II x4
  • Материнская плата ASUS M5A99X EVO R2.0
  • Видеокарта для Ubuntu: NVidia GeForce 580 GTX
  • Видеокарта для гостевой ОС: AMD Radeon HD 5800

Читать дальше →

Terminals — RDP клиент с менеджером соединений и табами

Reading time2 min
Views19K
Я работаю системным администратором в одной аутсорсинговой компании. Так уж повелось, что в своей работе я использую, в основном, три программы. Radmin, Secure CRT, и Terminals. Но так было не всегда.
Изначально я использовал radmin и горя не знал, но, в какой то момент, мне надоело набирать пароли, сначала для подключения, а потом для логина.
Читать дальше →

Настраиваем NGINX для мультиязычных сайтов

Reading time4 min
Views27K

Уже давно считается хорошим тоном отдавать контент сайта на языке, предпочитаемом пользователем. Некоторые сервера определяют язык по месту нахождения пользователя с помощью модулей геолокации, остальные берут настройки браузера. Языковые предпочтения пользователя часто сохраняются в cookie, и затем используются при повторном визите.

Какой метод определения языка пользователя подходит лучше – вопрос достаточно спорный. Мой личный ранг значимости языковой информации (в порядке убывания): cookie, настройки браузера, регион.

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

Распространенные варианты кодирования языковой информации о ресурсе следующие:
  • каждая языковая версия на отдельном субдомене, например en.example.com, ru.example.com
  • язык ресурса указывается в префиксе URI, например example.com/en/, example.com/ru
  • язык ресурса указывается в GET параметре, например example.com?lang=en, example.com?lang=ru

Первый вариант наиболее радикальный, каждая языковая версия сайта рассматривается как отдельный ресурс. Могут возникнуть сложности с SSL сертификатом, необходимо заранее предусмотреть все возможные варианты в SAN DNS Host Name, или заказать сертификат с маской, например *.example.com.

Второй вариант наиболее практичный, выбор языка входит в URI, значит, не будет проблем с индексацией и копированием ссылки.

Третий вариант выглядит менее привычно, требует дополнительной логики при добавлении остальных GET параметров и может смутить пользователя при копировании ссылки. Не самый лучший вариант для публичных ссылок.
image
Я расскажу о реализации второго варианта на базе сервера NGINX. При минимальных изменениях можно применить описанные настройки и для первого варианта.
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity