Осваиваем Git

Никогда не пользовался системами контроля версий, так как мало что творю на языках программирования, а скрипты можно просто хранить в папочке.
Ну и вот решил попробовать хранить скрипты (и не только) в каком-то хранилище, но при этом упустить освоение SVN И CVS, а сразу приступить к Git’у , так как мы не исчем легких путей 🙂

Для начала создаем собственный репозиторий с проэктом, который будет находится не на локальной машине, а где-то в сети.
Пишу по мотивам статьи How to set up your own private Git server on Linux
Сервер и клиенты (в основном) работают под управлением Gentoo.
Итак приступим.
Для начала добавим свой публичный ключ на сервер

cd ~/.ssh
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub 'user'@'server':.ssh/authorized_keys

Теперь мы можем зайти по SSH на наш сервер и установить Git:

ssh 
ACCEPT_KEYWORDS="~amd64" USE="bash-completion cvs subversion" emerge -av git

Теперь добавим пользователя

useradd -d /home/git -m -s /bin/bash git

Теперь вам нужно добавить свой публичный ключ для пользователя Git

mkdir /home/git/.ssh
cp ~/.ssh/authorized_keys /home/git/.ssh/
chown -R git:git /home/git/.ssh
chmod 700 !$
chmod 600 /home/git/.ssh/*

Читати далі

Blacklist в Asterisk

Допустим нужно, чтоб определенный список людей попадал сразу в отдел продаж минуя IVR. Реализация такой схемы: [incoming] exten => s,1,LookupBlacklist(j) ;проверка на наличие номера в базе, j – переход на приоритет n+101 exten => s,2,Goto(ivr,s,1) exten => s,102,Dial(SIP/1234,60,tT) exten => s,103,Hangup Добавление номера в базу данных происходит таким образом: asterisk -rx “database put blacklist 0442223344 … Читати далі

FreeBSD: Средства мониторинга

Во FreeBSD существует огромное количество средств для получения информации о функционировании системы. Однако некоторые из них спрятаны немного нетривиально.

  1. Информация о дисках
    1. mount – показывает смонтированные подразделы и флаги из монтирования
    2. df – показывает смонтированные подразделы, их размер и свободное место на них
    3. fdisk /dev/ad0 – показывает информацию о диске ad0 и разделах на нем
    4. disklabel /dev/ad0s1 – показывает список подразделов в первом разделе диска ad0
    5. swapinfo – показывает список подразделов свопинга на дисках и их использование
    6. fstat – показывает список открытых файлов (имена файлов не выводятся)
    7. pstat -f – выводит список открытых файлов (имена файлов не выводятся)
    8. systat -vmstat n – каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой.
    9. iostat – выводит информацию, аналогичную systat -vmstat, но не выводит занятости диска по времени и может выводить среднюю статистику с момента загрузки.
    10. vmstat – выводит количество операций на диске в секунду
    11. /stand/sysinstall – можно посмотреть и изменить разметку диска и монтирование
    12. less /etc/fstab – таблица монтирования при загрузке
  2. Информация о процессоре и памяти
    1. systat -vmstat n – вывод показателей загрузки (number of jobs in the run queue averaged over 1, 5 and 15 min), состояния памяти (в страницах), количества процессов в группах, количество вызовов специальных функций ядра (traps, interrupts, system calls, network software interrupts), использование процессора, трансляции имен, активность свопа, прерывания, а также информацию по использованию диска (см)
    2. top – аналогичная информация в сокращенном виде + использование памяти и свопа в мегабайтах, список процессов, отсортированных по использованию процессора.
    3. ps afx – список запущенных процессов и время процессора на каждый
    4. grep -i cpu /var/run/dmesg.boot – узнать тип процессора

      Читати далі

Новый синтаксис в Asterisk 1.6

Буду тут оставлять заметки о том как меняется синтаксис между Asterisk 1.2 и Asterisk 1.6 1. Вместо “трубы” теперь в диалплане используется запятая, например 1.2 include => kiev|8:30-18:30|mon-fri|*|* 1.6 include => kiev,8:30-18:30,mon-fri,*,* 2. В ivr сменилось использование переменных DigitTimeout, ResponseTimeout, например: 1.2 exten => s,1,DigitTimeout,5 ; Set Digit Timeout to 5 seconds exten => s,2,ResponseTimeout,10 … Читати далі

Сервисы в Gentoo

Спижжено с Gentoo Wiki Чтобы запустить программу при загрузке системы, в Gentoo сущестует специальный файл: /etc/conf.d/local.start Синтаксис предельно простой. Каждая строка – команда с параметрами, которая должна быть выполнена. Также есть возможность запускать программы при выключении системы. Для этого есть файл: /etc/conf.d/local.stop Что сделать если невозможно остановить сервис, или процесс убит а система продолжает думать … Читати далі

Простой сайт своими руками

По роду деятельности есть у меня несколько более-менее стандартных запросов к БД, а также парочка скриптов, которые, что-то делают.
Но все это безобразие делалось на скорую руку и разбросано по всему компьютеру, скрипты отдельно, SQl отдельно… и иногда просто тяжело найти, что-то, а особенно когда смотришь на название файла и не понимаешь к какому месту его приложить.
Почесав репу решил все это собрать под одну крышу, но как всегда человека одолевает лень. Так случилось и со мной, стало лень все это переписывать заново, а хотелось как-то красиво все это склеить.

Читати далі

Всплывающие изображения в WordPress

Как-то никогда не заморачивался картинками в блоге, тем более, что у меня на весь сайт картинок 5 наберется, но вот добавил в пост 2 скрина и стало грустно, они открываются в том же окне, что и сам пост, но в режиме “только картинка”.

Читати далі

rewrite правила Gallery2 на Nginx

location /v/ { if ($request_uri !~ /main.php) { rewrite ^/v/(.*)$ /main.php?g2_view=core.ShowItem&g2_path=$1 last; } } location /d/ { if ($request_uri !~ /main.php) { rewrite /d/(\d+)-(\d+)/([^/?]+)/main.php?g2_view=core.DownloadItem&g2_itemId=$1&g2_serialNumber=$2&g2_fileName=$3 last; } }