6 нояб. 2010 г.

График загрузки процессора

Будем использовать sar из пакета sysstat и gnuplot.
sar автоматически создает задания для cron, поэтому просто допишем к существующему сбору статистики в /etc/cron.hourly/ свой скрипт, который вызывает sar, обрабатывает его вывод и строит по полученным данным график.

3 нояб. 2010 г.

Python. Полезности для отладки CGI-скриптов.

1. Встроенный сервер для CGI-скриптов (файлы надо класть обязательно в cgi-bin/):
python2 -c "import CGIHTTPServer;CGIHTTPServer.test()"
2. Модуль cgitb (CGI Traceback manager):
import cgitb; cgitb.enable()
3. Еще иногда полезно запустить простой HTTP сервер:
python2 -m SimpleHTTPServer [port]
где [port] — номер порта (по умолчанию 8000).

28 окт. 2010 г.

Автоубийство процессов, грузящих процессор

Получаем список процессов, отсортированных по использованию процессора, убиваем те, у которых значение поля %CPU (номер 3) > 95:
ps aux --sort=%cpu | tail -10 | awk '$3 > 95 {system("sudo kill -9 "$2)}'
Источник
Добавляем задание в планировщик cron (демон crond должен быть запущен):
crontab -e
Добавляем строку, указывающую запускать скрипт каждые 5 минут:
*/5 * * * * /path/to/script

22 окт. 2010 г.

smbnetfs кодировка

Для русских названий файлов в нормальной кодировке (в системе ru_RU.UTF8):
/etc/smbnetfs/.smb/smbnetfs.conf:
local_charset "utf-8"
samba_charset "utf-8"

21 окт. 2010 г.

xdg-open fix (hack)

1) Поставить пакет exo (из xfce)
2) В конце /usr/bin/xdg-open сразу после detectDE дописать DE=xfce

UPD:
Заменить /usr/bin/xdg-open на
#!/bin/sh

[ -z "$1" ] && exit 1

if echo "${1}" | egrep -q "^(https?://|www.)"; then
    firefox "${1}" &
    exit
fi

pcmanfm "${1}"
* вместо pcmanfm можно написать свой файловый менеджер, например nautilus, thunar и т. д.
Источник http://forums.gentoo.org/viewtopic-p-6435009.html#6435009

22 сент. 2010 г.

Eclipse. Мой список плагинов

UPD 27.06.2011: обновление в связи с выходом релиза indigo

*tip: Наверное, лучше всего использовать eclipse platform, наращивая его
плагинами самостоятельно (http://download.eclipse.org/eclipse/downloads/)

Ссылки добавлять в «Avaliable software sites»
  1. Главный update site для текущей версии
    http://download.eclipse.org/releases/indigo
  2. PyDev (Python + Django) ! Django template editor works only with Aptana3 !
    http://pydev.org/updates
  3. MercurialEclipse (Mercurial)
    http://cbes.javaforge.com/update
  4. Aptana (web stuff)
    http://download.aptana.com/tools/studio/plugin/install/studio
  5. Aptana3 (PyDev is included)
    http://download.aptana.com/studio3/plugin/install
  6. Django Editor — templates syntax highlight.
    http://eclipse.kacprzak.org/updates
  7. Android development tools (ADT) — the main instrument for android developer
    https://dl-ssl.google.com/android/eclipse/
  8. CheckStyle — integrates source code analyzer Checkstyle into Eclipse
    http://eclipse-cs.sf.net/update/

10 авг. 2010 г.

Samba. Русские буквы

На стороне сервера в smb.conf, секция [global]:
dos charset = 866
unix charset = utf8
display charset = LOCALE
У клиента в /etc/fstab:
//SERVERNAME/path/to/share /path/to/mount/dir cifs iocharset=utf8,codepage=cp866,users,guest,suid,workgroup=YOURWORKGROUP 0 0

8 авг. 2010 г.

NTP. Автоматическая синхронизация времени

Для простой синхронизации времени на локальной машине достаточно вписать список серверов в конфиг OpenNTPD /etc/ntpd.conf.
server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
Интересно, что демон этот подводит время маленькими кусочками каждые 3 минуты, чтобы не вводить в ступор остальные службы.

UPD:
Теперь, согласно арчивики openntpd под Linux больше не поддерживается, поэтому рекомендуется использовать ntpd из пакета ntp.

Openssl. Генерация сертификата

Для личных нужд самоподписанный сертификат.
$ openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 365 -nodes

1 авг. 2010 г.

Mplayer. Автоопределение кодировки субтитров

В конфиге:
subcp=enca:ru:cp1251
enca автоматически выбирает кодировку на основе указанного (ru) языка. Если не может, используется кодировка cp1251.

21 июл. 2010 г.

Screen. Посылаем команду detached сессии

Сначала создадим detached сессию:
screen -d -m -S hello
!Внимание: сессия должна быть хотя бы один раз приаттачена, иначе работать не будет.
Затем передадим ей команду "ls -l":
screen -S hello -X stuff $'ls -l\n' 
Опция -X посылает команду stuff нашей сессии hello.
Stuff отвечает за ввод внутри сессии, то есть строка 'ls -l\n' как бы "напечаталсь" внутри работающей, но отцепленной сессии.
Знак доллара $ перед строкой с командой нужен, чтобы escape-последовательность \n превратилась в "нажатие Enter" внутри сессии.

20 июл. 2010 г.

12 июл. 2010 г.

Как распаковать .deb пакет

ar vx package_name.deb
Появится несколько файлов. Все "потроха" содержатся в data.tar.gz, который можно разархивировать следующей командой:
tar xzf data.tar.gz

9 июл. 2010 г.

Vim. Tip 1. Join/split lines

J — join line, but there's no one stroke command to split line in two. Its possible to replace whitespace between words to <CR>:
r<Enter>(cursor on whitespace).

7 июл. 2010 г.

Screen. Запуск с фоновой задачей.

screen -mdS session_name process_name
Запускается сесссия с именем "session_name" с работающей задачей "process_name" внутри.
Чтобы прицепиться к этой сессии:
screen -r session_name