суббота, 25 апреля 2009 г.

Linux hints

Простенькие вещи, которые могут быть полезны:

MySQL статистика по запросам

watch -n1 "mysqladmin -uПОЛЬЗОВАТЕЛЬ -pПАРОЛЬ processlist"

Работа с virtualenv

Создание новой:
virtualenv ENVNAME

Запуск:
source ENVNAME/bin/activate
потом просто (без source ENVNAME/bin/)
deactivate

Установка пакаджей с помощью pip
pip -E ENVNAME install PACKAGENAME

Подробнее:
http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/

MySQL уникальный ключ по нескольким полям

CREATE UNIQUE INDEX `indexnamehere` ON registrations(`column_1`,`column_2`);

Работа со screen

1. запуск новой сессии
# screen
после этого вы можете работать, как в обычном терминале
2. работа при помощи комбинации клавиш:
а) создать новую сессию в уже запущенной "ctrl+a, c"
б) переключиться на следующую сессию "ctrl+a, n"
в) переключиться на определенную сессию "ctrl+a, 1" ; "ctrl+a, 2" ; ...
г) отделить сессию от текущего терминала (оставить работать в фоновом режиме) "ctrl+a, d"
после этой комбинации клавиш Вы можете смело выйти из терминала (и пойти домой, например),
запущенная команда будет работать
3. прикрепить запущенную ранее сессию
# screen -r
4. Если запущено больше одной копии screen, то по команде screen -r, будет выведен список сеансов, типа
25944.pts-1.nuiZZZ (Detached)
12269.pts-2.nuiZZZ (Detached)
В этом случае, необходимо выбрать сессию и продолжить.
Например, если необходимо продолжить вторую сессию,
надо использовать команду
#screen -r 12269.pts-2.nuiZZZ
Или в сокращенном варианте
#screen -r 2


Игнорировать в svn все файлы текущей директории
svn propset svn:ignore '*' .
Обратить внимание, что маска задается в кавычках. Обратное действие:
svn propdel svn:ignore '*' .

Рекурсивно удалить все папки .svn из текущей директории:
find . -type d -name .svn -print0 | xargs -0 rm -rf

Поменять в vim кодировку на cp1251:
Убедиться, что установлено подходящая локаль export LANG=ru_RU.UTF-8
затем в редакторе в режиме ввода команд:
:e ++enc=cp1251

.vimrc установить кодировку
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8

Узнать IP адрес ADSL модема или прокси, за которым сидишь или с которого в инет смотрит контора:
wget -q -O - http://getip.110mb.com/mini/

Сделать chroot для системы со сломанным загрузчиком:

Загружемся с LiveCD и далее, логинимся как суперпользователь(Ctrl+Alt+F1)
#mkdir /mnt/newroot
#mount /proc /mnt/newroot/proc -o bind
#mount /proc /mnt/newroot/dev -o bind
#chroot /mnt/newroot

Заставить в ALTLinux при загрузке выставлять для определённого модуля ядра свои настройки:

Устанавливаем нужный модуль, тестируем настройки. Если все нормально, то создаем в каталоге /etc/modprobe.d текстовый файл с именем модуля (имя вообще-то любое может быть, но чтобы не запутаться лучше именно так) и сохраняем в нем настройки. Например, у меня по умолчанию не устанавливалась марка тюнера на плате saa7134. Я создал файл saa7134 в нем задал "options saa7134 tuner=1" и тюнер теперь заводится после перезагрузки.