Заметки о Linux, системном администрировании, программировании, электронике и не только
пятница, 18 ноября 2011 г.
Midnight Commander с поддержкой SFTP
Дошли руки собрать и выложить midnight commander с поддержкой протокола SFTP. Реализация еще сырая, но пробовать можно уже сейчас. Скачать бинарный пакет для Debian Squeeze i386 можно тут. Для остальных есть вариант пересобрать пакет.
четверг, 10 ноября 2011 г.
Слава роботам!
Только сейчас оценил полезность встроенных команд в bash. Из-за выставленного ulimit -u (processes) не давало работать в shell'е на shared хостинге. Виной тому php-fcgi, который перетянул "одеяло" на себя и не давал форкнуться. Залив файлик ps.php, дергаю его через браузер и получаю список процессов, которые принадлежат %USER%. После в bash прибиваю часть через встроенный kill.
Содержимое ps.php
P.S. Уже позже вспомнился случай, описанный в старой книге на админскую тематику, где через встроенные функции чинили систему после rm -rf.
<pre> <?php system('ps w -u %USER%');
P.S. Уже позже вспомнился случай, описанный в старой книге на админскую тематику, где через встроенные функции чинили систему после rm -rf.
вторник, 1 ноября 2011 г.
Настройка режима DnD (Do Not Disturb) в pidgin
Возможно пригодится кому-нибудь.
Чтобы заставить pidgin не отвлекать внимание всплывающими сообщениями нужно:
Чтобы заставить pidgin не отвлекать внимание всплывающими сообщениями нужно:
- выставить статус DND ("Do Not Disturb" или "Не беспокоить");
- в "Средства / Настройки / Интерфейс" выставить значение "Скрывать новые беседы" равным "Во время отсутствия";
- в "Средства / Настройки / Звуки" значение "Включить звуки" установить в "Только во время присутствия".
воскресенье, 30 октября 2011 г.
Поднакопилось
Поднакопилась пачка изменений, которые хочется упомянуть в своем блоге. Первое из них - я сделал бэкпорт pidgin для squeeze. Сейчас его версия 2.10.0-1~bpo60+1. Поставить его можно из моего репозитария для squeeze в секции backports.
Из замеченных мною изменений:
Сборочная среда понемногу развивается. Сейчас ночные сборки переведены на новую схему именования версий. Раньше очередная версия формировалась из внутренней версии апстрима с добавлением суффикса ~gitYYYYMMDD-1. Получалось что-то вроде 3:4.8.0-34-g0035a1d~git20111028-1 что не всегда давало версию старше, чем в предыдущем билде. Сейчас эта версия превратилась в 4:4.8.0~git20111028-1 (префикс 4: гарантирует переход с любой старой версии на новую схему). Плюс ко всему nightly builds допускает несколько сборок в пределах одного дня.
Добавил поддержку новых дистрибутивов. Сейчас полный список выглядит так:
Debian
deb http://www.tataranovich.com/debian squeeze backports
Из замеченных мною изменений:
- более менее адекватно работает аудио/видео связь;
- починили clientLogin и SSL в ICQ.
Сборочная среда понемногу развивается. Сейчас ночные сборки переведены на новую схему именования версий. Раньше очередная версия формировалась из внутренней версии апстрима с добавлением суффикса ~gitYYYYMMDD-1. Получалось что-то вроде 3:4.8.0-34-g0035a1d~git20111028-1 что не всегда давало версию старше, чем в предыдущем билде. Сейчас эта версия превратилась в 4:4.8.0~git20111028-1 (префикс 4: гарантирует переход с любой старой версии на новую схему). Плюс ко всему nightly builds допускает несколько сборок в пределах одного дня.
Добавил поддержку новых дистрибутивов. Сейчас полный список выглядит так:
Debian
- lenny
- squeeze
- wheezy
- sid
hardy (пакет требует отдельных телодвижений для сборки)- lucid
- maverick
- natty
- oneiric
вторник, 11 октября 2011 г.
Продолжение первой статьи на хабрахабре
суббота, 8 октября 2011 г.
Синхронизация истории сообщений в pidgin
Довольно часто мне приходится пользоваться pidgin для общения с друзьями и коллегами на разных компьютерах. Поэтому мне важно, чтобы история переписки была всегда в актуальном состоянии и была доступна на любом из компьютеров.
Постоянно я пользуюсь минимум тремя компьютерами - домашний, рабочий и нетбук на случай, если я в дороге. Pidgin хранит историю сообщений в обычных текстовых файлах, причем имя файла содержит метку времени. Это удобно в плане многосторонней синхронизации.
Ранее я сталкивался с упоминаниями unison для синхронизации, но насколько я смог разобраться в его фичах, он не поддерживает прозрачную синхронизацию. На данный момент я выбрал dropbox. Посколько dropbox не поддерживает шифрование на стороне клиента, то дополнительно применена encfs (позволяет шифровать не только содержимое файла, но и его имя).
Dropbox настроен на синхронизацию каталога ~/Dropbox. Внутри папки ~/Dropbox создан каталог ~/Dropbox/Safe, который содержит зашифрованную часть EncFS. Расшифрованная часть монтируется в каталог ~/Safe.
После настройки логи pidgin были перенесены из ~/.purple/logs в ~/Safe/.purple-logs и создана символическая ссылка ~/.purple/logs -> ~/Safe/.purple-logs
Уже прошла неделя использования этой схемы. Из замеченного:
Постоянно я пользуюсь минимум тремя компьютерами - домашний, рабочий и нетбук на случай, если я в дороге. Pidgin хранит историю сообщений в обычных текстовых файлах, причем имя файла содержит метку времени. Это удобно в плане многосторонней синхронизации.
Ранее я сталкивался с упоминаниями unison для синхронизации, но насколько я смог разобраться в его фичах, он не поддерживает прозрачную синхронизацию. На данный момент я выбрал dropbox. Посколько dropbox не поддерживает шифрование на стороне клиента, то дополнительно применена encfs (позволяет шифровать не только содержимое файла, но и его имя).
Dropbox настроен на синхронизацию каталога ~/Dropbox. Внутри папки ~/Dropbox создан каталог ~/Dropbox/Safe, который содержит зашифрованную часть EncFS. Расшифрованная часть монтируется в каталог ~/Safe.
После настройки логи pidgin были перенесены из ~/.purple/logs в ~/Safe/.purple-logs и создана символическая ссылка ~/.purple/logs -> ~/Safe/.purple-logs
Уже прошла неделя использования этой схемы. Из замеченного:
- В один момент времени должен работать клиент только на одном из компьютеров, если работает на нескольких, то возможны дублирования в истории (плотно не тестировал, т.к. у меня таких случаев очень мало)
- Dropbox плохо переваривает синхронизацию большого количества маленьких файлов (~35000 файлов, общим объемом на ~17MB)
Исходники сборочной среды теперь доступны на code.google.com
Сегодня субботнее утро, но спать как-то не охота. И пока семейство еще спит у меня есть час-другой свободного времени, чтобы разобрать накопившиеся дела.
Когда я писал статью на хабре я обещался выложить код как только приведу его в божеский вид. Похоже причесать код окажется гораздо сложнее, чем мне казалось поначалу. Потому я решил следовать принципу Эрика Раймонда (Release early, release often) и выложил первый рабочий вариант на code.google.com. Проект называется mc-buildbot и доступен по адресу http://code.google.com/p/mc-buildbot/
В процессе освоения хостинга, интеграции mercurial с ним и написанием патча, появилась пара мелочей, которые достойны упоминания здесь.
Чтобы проверить, что патч правильно накладывается:
Отменить все патчи
Позже постараюсь найти время, чтобы плотнее поизучать quilt. Неплохая заметка по началу работы есть в Debian New Maintainers' Guide
Когда я писал статью на хабре я обещался выложить код как только приведу его в божеский вид. Похоже причесать код окажется гораздо сложнее, чем мне казалось поначалу. Потому я решил следовать принципу Эрика Раймонда (Release early, release often) и выложил первый рабочий вариант на code.google.com. Проект называется mc-buildbot и доступен по адресу http://code.google.com/p/mc-buildbot/
В процессе освоения хостинга, интеграции mercurial с ним и написанием патча, появилась пара мелочей, которые достойны упоминания здесь.
- Чтобы каждый раз не вводить свой логин/пароль от googlecode, его можно сохранить в настройках mercurial (вроде работает, начиная с версии 1.3). Для этого в ~/.hgrc добавляется секция [auth] содержащая настройки авторизации, например:
[auth] googlecode.prefix = https://code.google.com/ googlecode.username = username googlecode.password = password
- Проверить ошибки в страницах man, можно выполнив команду:
LANG=en_US.UTF-8 MANWIDTH=80 man --warnings -E UTF-8 -l /path/to/man/page >/dev/null
- Добавить патч под управлением quilt
$ export QUILT_PATCHES="debian/patches" $ quilt import -P patchname /path/to/patch
Чтобы проверить, что патч правильно накладывается:
$ quilt push
Отменить все патчи
$ quilt pop
Позже постараюсь найти время, чтобы плотнее поизучать quilt. Неплохая заметка по началу работы есть в Debian New Maintainers' Guide
Подписаться на:
Сообщения (Atom)