Pull to refresh
9
0
Send message

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

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

image

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

Читать дальше →
Total votes 59: ↑53 and ↓6+47
Comments50

Взаимодействие bash-скриптов с пользователем

Reading time4 min
Views146K
Любой приказ, который может быть неправильно понят, понимается неправильно (Армейская аксиома)

Редкий скрипт лишен необходимости общения с пользователем. Мы ожидаем, что программа (утилита) будет выполнять то, что нам от нее хочется. Следовательно, нужны инструменты влияния на них, да и программа сама должна объяснить, как продвигается ее работа.
Данным топиком я хочу рассмотреть несколько способов взаимодействия bash-скриптов с пользователем. Статья рассчитана на новичков в скриптинге, но, надеюсь, люди опытные тоже найдут что-нибудь интересное для себя.
Итак, приступим...
Total votes 89: ↑87 and ↓2+85
Comments48

UniFi — корпоративный Wi-Fi с контроллером, доступный каждому. Первое впечатление

Reading time5 min
Views229K
Здравствуйте, дорогие жители Сети.
Спешу поделиться с вами своими впечатлениями о новом продукте для корпоративного сегмента — UniFi от компании Ubiquiti (Юбиквити). Если кто не в курсе — коротко о Ubiquiti я рассказал в предыдущем посте, поэтому сразу к делу.
Несмотря на всеобщее проникновение Wi-Fi в нашу жизнь, рынок корпоративного Wi-Fi до сих пор контролировали буквально пара-тройка производителей. Их системы стоят многие десятки тысяч долларов, причем значительную часть стоимости составляет именно контроллер — мощный и умный. Ubiquiti со свойственной им бесцеремонностью вломилась на этот рынок, предложив систему с ценой в $199. Это цена точки доступа с контроллером. То есть теперь любая организация может позволить себе нормальный корпоративный Wi-Fi. Прежде чем рассказать о том что это такое — UniFi, сделаю небольшое лирическое отступление и расскажу чем же отличается домашний Wi-Fi от офисного.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments31

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

Reading time20 min
Views31K

О чём это я?


Задачи бывают разные… Бывают простые, бывают сложные, а бывают такие, на решение которых может уйти не одна неделя и достаточное количество нервных клеток. Одной из подобных задач как можно считать разворачивание чего-то серьёзного на большом количестве слабого железа. А именно…

(Здесь и далее будет говориться о немного специфичной и оптимизированной настройке LTSP и поднятии на его основе кластера серверов).
Читать дальше →
Total votes 179: ↑175 and ↓4+171
Comments38

Создание операционной системы на базе ядра linux. С нуля

Reading time7 min
Views209K
Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.
Читать дальше →
Total votes 184: ↑118 and ↓66+52
Comments62

Интеграция asterisk с Active Directory

Reading time9 min
Views33K
На некотором этапе развития нашей организации было решено перейти на VoIP телефонию. В качестве платформы безоговорочно был выбран Asterisk-PBX. Оконечное оборудование брали бюджетное из доступного — DLink DPH-150.
В результате проделанной работы получилась автоматизированная VoIP система, с управлением через стандартную оснастку MS ActiveDirectory.

Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments32

UVoiceMe — сервис интеграции шлюзов IP-телефонии

Reading time4 min
Views1.5K


IP-телефонией уже никого не удивишь, многие пользуются услугами Skype, SipNet, TelMe и многих, многих других. Объединив усилия с единомышленниками, решили не повторять существующие решения, а создать сервис для интеграции уже существующих провайдеров Интернет-телефонии.
Зачем? Основная задача нашего сервиса – собрать воедино всех провайдеров, и дать возможность использовать одновременно разные шлюзы по самым выгодным тарифам на данное время и по данному направлению.

В топике я расскажу о том, было за «кулисами»: о выбранной архитектуре, приятных решениях и инструментариях разработки. А самых любознательных хабраюзеров ждет небольшой подарок.
Читать дальше →
Total votes 51: ↑43 and ↓8+35
Comments64

Пишем примитивную биллинг-статистику для Asterisk

Reading time5 min
Views17K
Как известно, Asterisk может хранить детализацию звонков, она же CDR (Call Detail Records). CDR может храниться разными способами, это и обычный csv-файл и практически любая база данных. У нас, например это обычная база на MySQL, с одной единственной табличкой — cdr. Была поставлена цель: написать скрипт который бы считал стоимость звонков.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments14

elFinder 2.0 beta. Don't panic!

Reading time7 min
Views18K
«Для многих цивилизаций Восточного Завитка Галактики, не столь церемонных, elFinder уже с успехом заменил прочие web файловые менеджеры и стал общепринятым, поскольку, хотя в нем и встречаются редкие баги, но зато у него есть два больших преимущества.
Во-первых, он дешевле;
а во-вторых, у него есть большая красная кнопка, на которой большими веселыми
буквами написан дружеский совет: Don't panic!»


Сегодня у меня по настоящему счастливый день!
Несколько месяцев крайне напряженной, но невероятно приятной работы позади.
И я с удовольствием представляю — файловый менеджер для web elFinder 2.0 beta!

Хочу выразить огромную благодарность всему сообществу за помощь, патчи и переводы.
Коллегам по студии — спасибо, что взяли на себя всю текучку, чтобы освободить меня для этого проекта.
И хочу представить нового разработчика elFinder — 667bdrm. Он же автор модуля для drupal.
И еще, нам всем очень приятно, что сейчас нет практически ни одного фреймворка, в который бы не был интегрирован elFinder. Кстати, одними из первых это сделали РБК Софт.

Читать дальше →
Total votes 112: ↑101 and ↓11+90
Comments73

SMS и SIP шлюз — Мультифон, Asterisk, Kannel

Reading time5 min
Views85K
В данной статье дается описание того, каким образом можно объединить достоинства Asterisk как PBX или IVR, Kannel как SMS-шлюза используя один телефонный номер.

Для этого я использовал Freebsd 8.2 на сервере, модем Huawei E171, но можно использовать любой модем МТС или Мегафон производства huawei (так же было проверено на модеме E1551), сим-карту Мегафона. В качестве софтфонов использовались Telephone и SJphone.
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments23

AEL в asterisk

Reading time3 min
Views35K
В последнее время на хабре появилось довольно много статей, посвященных астериску и во всех статьях авторы для описания dial plan'а используют стандартный extensions.conf. Я не буду описывать здесь формат записи в extensions.conf, а лишь постараюсь кратко описать его различия с конфигурационными файлами в формате AEL(extensions.ael), которых на самом деле совсем немного, а вот удобств ael добавляет значительно. В дальнейшем, для удобства, dial plan, описанный в extensions.conf буду называть «обычным» форматом, ну а ael — соответственно ael. Давайте рассмотрим пример простейшего dial plan'a в обычном формате:
;
[internal]
exten => s,1,Answer                                                             
exten => s,n,Background(someivr)
exten => s,n,Read(intgroup,,3)
exten => s,n,Goto(${intgroup},1)
exten => XXX,1,Dial(SIP/${EXTEN})
exten => XXX,n,HangUp


А вот так этот же контекст будет выглядеть в синтаксисе ael:

context internal {
	s=> {
		Answer;
		Background(someivr);
		Read(intgroup,,3);
		Goto(${intgroup},1);
	}
	XXX => {
		Dial(SIP/${EXTEN});
		HangUp;
	}
}

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments41

Вышел Voyage Linux 0.7.5

Reading time2 min
Views5.8K
Поискал по Хабру, про Voyage ни слуху ни духу. А сегодня как раз вышел очередной релиз этого очень интересного дистрибутива на основе Debian для embedded систем.

Версия 0.7.5 основана на ядре 2.6.38 и Debian 6.0.2 «Squeeze».

Следующая планируемая версия 0.8, в которую войдет ядро 3.0.x, и Voyage станет одним из первых дистров на этом ядре.

Voyage заточен на работу на следующих платформах: PC Engines ALIX/WRAP, Soekris 45xx/48xx и Atom, а также виртуальные машины.

Отличается Voyage низкими требованиями к ресурсам. Для типичной инсталляции требуется всего 128MB дискового пространства. А вообще фишка Voyage в том, что он использует unioinfs и монтирует всю систему на read-only, таким образом, система на флешке не запиливается.

Обычно на Voyage делают брэндмауэр, беспроводную точку доступа, IP АТС на базе Asterisk, музыкальный проигрыватель, или сетевое хранилище. Лично у меня Voyage работает на ALIX board с тремя ethernet портами и WiFi картой, является точкой доступа в Internet для офиса (eth0), при этом подключено два провайдера (eth1 & eth2) по PPPoE, один для данных, другой для IP телефонии. Voyage раздает WiFi, и к нему подключены офисный IP телефоны (установлен Asterisk). Покупалось это все тут, но дистрибутив Askozia был снесен и установлен Voyage.

Выглядит коробочка так:
image

Далее…
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments59

Настройка свитчей уровня доступа в сети провайдера

Reading time4 min
Views248K
В статье я расскажу о том, как мы (небольшой региональный провайдер) настраиваем коммутаторы уровня доступа.

В начале, кратко пробежимся по тому, что такое иерархическая модель построения сети, какие функции рекомендуют вешать на каждый ее уровень и как именно устроена сеть, на примере которой я буду излагать настройку свитча. Ну и затем настроим свитч исходя из предложенных требований.
Читать дальше →
Total votes 46: ↑38 and ↓8+30
Comments141

Голосовое дерево на Asterisk своими руками

Reading time4 min
Views103K
image

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

Хотелось бы поделиться опытом развертывания голосовых деревьев (IVR), с помощью Asterisk.
Для этого нам понадобится:
  • Машина с установленным Asterisk`ом
  • Телефонный номер, заведенный в Asterisk посредством SIP/H.323 от провайдера ip-телефонии, либо посредством аналоговой линии/цифрового потока Е1 через платы Digium
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments54

Подбор паролей к WPA/WPA2 с использованием видеокарты

Reading time6 min
Views203K
Привет, Хабр!
Сегодня я расскажу и покажу вам, как можно использовать всю мощность ваших видеокарт для игр перебора паролей к Wi-Fi. Как-то не комильфо в наше время использовать только процессорные мощности под эти задачи (в частности aircrack-ng), когда в 80% компьютеров есть видеокарта. Поэтому разумно использовать всю потенциальную мощность ваших систем. А именно, речь пойдет о замечательной программе pyrit.
Читать дальше →
Total votes 166: ↑149 and ↓17+132
Comments61

Делаем из Linux From Scratch свой универсальный дистрибутив

Reading time9 min
Views15K
Так уж случилось, что пару лет назад по долгу службы на команду разработчиков, к которой я отношусь, свалилась неожиданная задача — разработка системы управления оборудованием (в этом-то как-раз неожиданности нет, ибо направление разработок такое) с управляющим PC под Linux.
Разработки линуксовой части велись (да и ведутся) под Ubuntu, в среде Code::Blocks. Но, как показала практика, для качественной работы нужно что-то гораздо более легкое с гарантированным временем отклика. Для работы было достаточно консоли, так как задачи организации пользовательского интерфейса решались на подключаемом по TCP/IP удаленном компьютере.
Тогда и пришла идея использовать дистрибутив Linux собственной сборки, чем (сборкой дистрибутива), собственно, в свободное время я и занялся. Выбор пал на LFS. Про то что такое LFS уже неоднократно писали даже на Хабре, я же опишу решение нескольких дополнительных (кроме простенького Linux'а) задач, вставших передо мной в нашем конкретном случае.
Поначалу такая задача была одна — использовать real-time ядро.
Однако дальше, когда идея USB-флешки с дистрибутивом, пришлась всем по душе, то появились задачи размножения флешек и запуска системы на различных компьютерах (тестовых стендов много, имея свою флешку суешь в карман и иди к любому). Вот тут и появились проблемы — LFS не обладает 100% переносимостью с одного компьютера на другой. Для ее адаптации к конкретному компьютеру нужно править некоторые скрипты, что в условиях команды вчерашних Windows-кодеров проблематично (на виртуалку с Ubuntu некоторые пересели, но консоль и скрипты — это беда). Размножение системы также требует повторения некоторых манипуляций, проделываемых в процессе сборки (тот же GRUB установить).
Читать дальше →
Total votes 92: ↑82 and ↓10+72
Comments51

Опыт внедрения корпоративной социальной сети и внутреннего документооборота организации

Reading time5 min
Views16K
Данный топик посвящен описанию процесса разработки и внедрения бюджетного варианта корпоративной соцсети(корпоративного портала) и внутреннего документооборота организации из 600+ сотрудников.

Основная цель — показать, что вполне можно своими силами развернуть корпоративную соцсеть и наладить внутренний документооборот не прибегая к дорогостоящим коммерческим решениям от Microsoft, 1C Bitrix, решениям Google и др.
Читать дальше →
Total votes 62: ↑56 and ↓6+50
Comments110

Настройка Archlinux на ASUS Eee 1201NL

Reading time7 min
Views9.1K
После того, как я устроился на работу адинистратором одного веб-проекта, появилась необходимость иногда что-то делать, находясь вне дома/офиса. Так как основной задачей в таких ситуациях было зайти на сервер по SSH и в браузере проверить результат действий, то решил остановить выбор на нетбуке. Но очень не хотелось распространённго разрешения 600px по вертикали. И всё-таки хотелось использовать нетбук не только для SSH, но и для прочих приятностей, вроде просмотра фильмов. Естественно, планировалось работать под Linux, поэтому требовалась нормальная поддержка оборудования.

В результате, остановился на «непонятном недоразумении» ASUS Eee PC 1201NL. Это такой своеобразный нетбук. Очень своеобразный.
Во-первых у него диагональ аж 12", что неприлично много для устройств этого класса.
Во-вторых, разрешение экрана 1366x768, что очень неплохо, но мелковато, если не настраивать более крупное значение DPI.
В-третьих он на базе платформы nVidia ION, что даёт хорошую производительность для подобных устройств. Недостатком является малое время работы — часа 4 со включенным bluetooth/wi-fi, если запустить какую-нибудь требовательную программу (например, игру Neverwinter Nights), то время снизится ещё сильнее.

Можно сделать вывод, что, по сути, данное решение является полноценным недорогим маленьким ноутбуком. Хоть и на базе процессора Intel Atom.
Читать дальше →
Total votes 62: ↑49 and ↓13+36
Comments23

Оповещение при подключении к SSH

Reading time2 min
Views20K
По результатам этого вопроса.

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

image
Читать дальше →
Total votes 155: ↑151 and ↓4+147
Comments85

Простой конвертер текста в речь с использованием Google Translate

Reading time1 min
Views48K

Недавно Гугль обновил русский язык в Google Translate, сильно улучшив произношение.
Я решил сделать конвертер текста в речь на базе их переводчика.
Читать дальше →
Total votes 93: ↑86 and ↓7+79
Comments45

Information

Rating
6,342-nd
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity