среда, 26 декабря 2007 г.

IP-телефония: часть 2(дополнение про FXS и FXO)

Долго не мог понять разницу между FXO и FXS интерфейсами, поэтому выкладываю очень полезную информацию с рисунками. Взято с www.3cx.ru.

Что обозначают термины FXO и FXS?
FXS и FXO – это названия портов, к которым подключаются аналоговые телефонные линии ТФОП (также известные под названием «телефонные сети общего пользования»).

Интерфейс FXS – это порт, который дает возможность подключения абонента к аналоговой телефонной линии. Другими словами «розетка в стене» выдает сигнал станции, обеспечивает батарейное питание линии и напряжение, необходимое для звонка.

Интерфейс FXO – это разъем, в который включается аналоговая телефонная линия. Это разъем на телефонном или факсимильном аппарате или разъем / разъемы на аналоговой мини-АТС. Такой порт имеет индикацию состояния трубка снята / трубка на телефоне (замыкание цепи). Так как порты (разъемы) являются частью устройства, например, телефона или факса, такое устройство часто называют «устройством FXO» или «аналоговым устройством».

Разъемы FXO и FXS всегда парные, то есть имеют «вилку» и «гнездо».

При отсутствии мини-АТС, телефон подключается прямо к розетке FXS, предоставляемой телефонной компанией.



При наличии мини-АТС, телефонные линии, ведущие от телефонной компании, подключаются к мини-АТС, к которой также подключаются абонентские телефоны. Поэтому мини-АТС должна быть оборудована портами обоих типов – для подключения портов FXS от телефонной компании и портов FXO для подключения телефонов или факсов.



FXS, FXO и VOIP

Термины FXS и FXO встречаются, когда принимается решение о покупке оборудования, позволяющего подключать аналоговые телефонные линии к телефонной системе VOIP или традиционных аналоговых мини-АТС к поставщику услуг VOIP или связывать такое оборудование по каналам Интернет.

Шлюз FXO

Для подключения аналоговых телефонных линий к IP мини-АТС необходим шлюз FXO. Это позволяет подключить порт FXS к порту FXO, имеющемуся на шлюзе, который преобразует сигнал аналоговой телефонной линии в вызов VOIP.



Шлюз FXS

Шлюз FXS используется для подключения одной или более традиционных аналоговых мини-АТС к VOIP мини-АТС или провайдеру. Шлюз FXS необходим для соединения портов FXO (которые обычно соединяются с телефонной компанией) с Интернетом или VOIP мини-АТС.



Адаптер FXS или адаптер ATA

Адаптер FXS используется для соединения аналогового телефона или факса с VOIP мини-АТС или провайдером VOIP услуг. Это необходимо для подключения порта FXO на телефонном/факс-аппарате к адаптеру.



Процедуры FXS/ FXO – как это работает

Если вы интересуетесь техническими подробностями процедур взаимодействия портов устройств FXS/FXO, вот точное описание последовательности:

При осуществлении исходящего звонка:
Абонент поднимает трубку (устройство FXO). Порт FXS определяет, что трубка поднята.
Набирается телефонный номер, который в виде двухтональных многочастотных сигналов (DTMF) передается на порт FXS.

Входящий звонок:
Порт FXS принимает звонок, затем посылает сигнал звонка с необходимым напряжением на соединенное с ним устройство FXO.
Телефон звонит.
После поднятия трубки можно говорить.

Окончание звонка – обычно порт FXS заканчивает соединение по сигналу соединенного с ним устройства FXO.

Примечание: На порт FXS подается постоянное напряжение около 50 Вольт с аналоговой телефонной линии. Поэтому прикосновение к проводникам подключенной телефонной линии вызывает слабый «электрический удар». Отдельное питание телефонной линии позволяет осуществлять звонки даже при отсутствии напряжения в сети переменного тока.

IP-телефония: часть 2.

Итак продолжение внедрения ip-телефонии... Необходимо внедрить базовую часть, т.е. внедрить хотя бы 1 номер и вести с ним экперименты. В качестве шлюза была выбрана модель компании GrandStream GXW-4104 c 4 FXO портами. Общая схема будет выглядеть следующим образом:


Характеристики GXW-4104:

Наименование товара: Grandstream GXW-4104
Тип продукта : Шлюз
Производитель: Grandstream
Модель: GXW-4104
Интерфейсы / Коннекторы: 4xFXO
поддержка H.264 кодека (до 30 кадров в сек. с разрешением CIF)
2 порта RJ45 10/100Mbps Base-T(LAN/WAN) (работа в режиме моста или маршрутизатора)
TFTP и HTTP загрузка ПО и конфигураций
Аудио Кодеки: G.711, G.723.1, G.729A/B, GSM
Питание: 12 Vdc, 1.25Amp

С начальным оборудованием определись.Продолжение следует...

вторник, 25 декабря 2007 г.

IP-телефония: часть 1.

В компании встала задача : иметь возможность слушать разговоры техподдержки с абонентами, т.к. поступила информация что в техподдержке грубо разговаривают. Решил внедрить ip- телефонию. Но т.к. я этом еще новичек пришлось понапрягаться. В первую очередь нужно было поднять сервер телефонии.
Мной был выбран Asterisk. Далее сервер был слинкован с провайдером ip-телефонии: sipnet.ru.
Вот некоторые конфигурационные файлы из /etc/asterisk:
asterisk.conf
[directories]
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run
astlogdir => /var/log/asterisk

В extensions.conf добавлено:

;Для звонков на Москоу
[nabor_7495]
exten => _7495XXXXXXX,1,SetCallerID("SipPhone" <3300562>)
exten => _7495XXXXXXX,2,Dial(SIP/sipnet1/${EXTEN},120)
exten => _7495XXXXXXX,3,PlayBack(noanswer)
exten => _7495XXXXXXX,4,HangUp
exten => _7495XXXXXXX,5,PlayBack(busy)
exten => _7495XXXXXXX,6,HangUp; Для работников, кому разрешено звонит в Москву

[office]
include => limited
include => nabor_7495

;Кому не разрешено
[limited]
exten => 200,1, Macro(stdexten,200,SIP/200)
exten => 201,1, Macro(stdexten,201,SIP/201)
exten => 202,1, Macro(stdexten,202,SIP/202)
exten => 203,1, Macro(stdexten,203,SIP/203)
exten => 204,1, Macro(stdexten,204,SIP/204)
exten => 205,1, Macro(stdexten,205,SIP/205)
exten => 206,1, Macro(stdexten,206,SIP/206)
include => confs
include => demo
В sip.conf добавлено:

[206]
type=friend
host=dynamic
username=206
secret=passwd
nat=no
canreinvite=no
context=limited
callerid="Radio" <206>
allow=gsm
allow=ulaw
allow=alaw

[sipnet1]
type=friend
username=Логин
secret=Пароль
callerid=
host=sipnet.ru
nat=no
fromuser=Логин
fromdomain=sipnet.ru
dtmfmode=rfc2833
insecure=very
context=SipNet
disallow=all
allow=alaw
Далее когда все заработало и можно звонить в Москву,-надо было иметь возможность звонить в локальную сеть с городских и наоборот. О том как это будет организовано расскажу в следующий раз...

воскресенье, 23 декабря 2007 г.

Yakuake

Есть на свете множество хороших и эргономичных программ. Одна из которых называется Yakuake. Просто установите ее (apt-get install yakuake). Закиньте в автозагрузку и при нажатии F12 у вас будет появлятся консоль как в игре Quake. :-)

понедельник, 3 декабря 2007 г.

Перегружаем DVB карту SS2

Здесь пример sh-скрипта который я использую для перезагрузки спутникового интрнета. Думаю информация будет особенна интересна людям настраивающим спутниковый интернет на Linux.

#!/bin/sh
#любой адрес например 192.168.238.238
IPDVB=""
#ваш мак который вы указали при подписке
MAC=""
#номер вашего пида
PID=""
# Ip шлюза вашего наземного провайдера
IP=""
#login в Spectrumsat
NAME=
#Включаем карту на приём данных
killall szap

#Деинициализируем устройства(вдруг они запущены)
#---------------------------

/sbin/ifconfig dvb0_0 down > /dev/null 2>&1
sleep 2s
/usr/local/bin/dvbnet -d 0 > /dev/null 2>&1
/usr/bin/killall dvbnet > /dev/null 2>&1
/sbin/modprobe -r skystar2 > /dev/null 2>&1
/sbin/ifconfig tun0 down
/usr/bin/killall -TERM openvpn
# /sbin/route del default
# /sbin/route add default dev ppp0

#Устанавливаем новые устройства
#-------------------------------
/sbin/modprobe skystar2 > /dev/null 2>&1
/usr/local/bin/szap -c /usr/local/etc/channels.conf -n 1 -p > /dev/null 2>&1

#Настраиваем фильтрацию по нужному PID
/usr/local/bin/dvbnet -p $PID -a 0 > /dev/null 2>&1
#Присваеваем карте MAC-адрес, на который оформлена подписка
/sbin/ifconfig dvb0_0 hw ether $MAC > /dev/null 2>&1
# Присваеваем DVB карте IP
/sbin/ifconfig dvb0_0 $IPDVB > /dev/null 2>&1
#Поднимаем интерфейс
/sbin/ifconfig dvb0_0 up > /dev/null 2>&1
/sbin/route del default
/sbin/ip route add default via $IP
/usr/local/bin/routing
echo 1 > /proc/sys/net/ipv4/conf/dvb0_0/forwarding
echo 1 > /proc/sys/net/ipv4/conf/ppp0/forwarding
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
#Поднимаем OpenVPN
/usr/local/sbin/openvpn --config /etc/openvpn/$NAME.ovpn > /dev/null 2>&1&
sleep 5s
echo 1 > /proc/sys/net/ipv4/conf/tun0/forwarding
echo `date` >> /usr/local/bin/ss.log

среда, 28 ноября 2007 г.

Настройка X-сервера теминалов

На сервере настраивать X-сервер необязательно. X-сервер должен быть установлен на клиенте(на сервере достаточно X-клиента libx11).
Для того, чтобы появлялось что-то более полезное вместо xterm на сервере должен стоять WM(xfce4, twm, etc) или DE(Gnome, KDE, etc) и в ~/.xsession или глобально должна быть настроена его загрузка.

$ ssh server
Установить xdm, libx11(встанет по зависимостям) и фонты:
$ sudo apt-get install xdm xfonts-base
Установить WM/DE:
$ sudo apt-get install xfwm4 (или kde/gnome)
Настроить конфигурацию X-сессии:
$ cat > .xsession
startxfce4 (или startkde/gnome-session)
^D
Настроить доступ к менеджеру дисплеев XDM с любых узлов:
$ sudoedit /etc/X11/xdm/Xaccess
...

* #any host can get a login window

...
Разрешаем протокол удаленной X11-авторизации XDMCP:
$ sudoedit /etc/X11/xdm/xdm-config
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
!DisplayManager.requestPort: 0
Запускаем XDM:
$ sudo /etc/init.d/xdm start
Готово
$ exit
На клиенте

Ставим XDMCP-клиент(tsclient поддерживает RDP,VNC,XDMCP):
$ sudo apt-get install tsclient xnest
Запускаем:
$ tsclient
Указываем протокол XDMCP, имя сервера, соединиться. Авторизуемся и попадаем в графическую среду. Терминал-сервер готов.

P.S.
Пункт создания .xsession в Debian необязателен, т.к. при установке первого WM/DE деб автоматически устанавливает его системным x-session-manager(update-alternatives --list x-session-manager) и системным винменеджером(update-alternatives --list x-window-manager).

P.P.S
Можно сделать "apt-get install sysvconfig" и вместо "/etc/init.d/xdm start" можно будет запускать сервисы как в RedHat: "service xdm start". А вместо постоянных sudo или su можно сделать:
$ cat ~/.bash_aliases
alias dpkg="sudo dpkg"
alias aptitude="sudo aptitude"
alias apt-get="sudo apt-get"
alias rm="rm -i"
alias mv="mv -i"
alias cp="cp -i"
alias j="jobs"
alias grep="grep --colour=auto"
alias service="sudo service"
alias sysvconfig="sudo sysvconfig"

понедельник, 29 октября 2007 г.

Сборка ядра

Сборка ядра в debian очень простое занятие.
Шаг1 - подготорка
Для начала нужно установить следующие пакеты:
kernel-package,libncurses5-dev, fakeroot, wget, bzip2, build-essential и сами исходники ядра.
Пакеты устанавливаем так: apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential.
Скачиваем исходники, распковываем в /usr/src. Делаем ссылку linux на исходники.
tar xjf linux-2.6.21.3.tar.bz2
ln -s linux-2.6.21.3 linux
cd /usr/src/linux

Если у нас есть патчи то устанавливаем так:
bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1

Первая команда нужна для теста, 2-ая для установки. Никогда не вводите 2-ую если у вас успешно не выполнилась 1-ая.
Далее копируем наш теперешний конфиг в /usr/src/linux и пишем
make clean && make mrproper
cp /boot/config-`uname -r` /usr/src/linux/.config

Далее запускам конфигуратор:
make menuconfig

Шаг 2 - сборка и установка
После конфигурирования ядра - проинсталлируем его:
make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Где вместо -custom поставим нужную нам версию(или префикс). Например, -my-build
После выполнения команды в каталоге с исходниками вы найдете 2 файла с раширением *.deb. Нужно всего лишь установить их, например так:
dpkg -i linux-image-2.6.21.3-custom_2.6.21.3-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.21.3-custom_2.6.21.3-custom-10.00.Custom_i386.deb


А Grub автоматом подхватит все необходимые настройки. Теперь можно перезагрузится с новым ядром, если при конфигурировании вы подключили все что надо ;)

Контроль за входом на сервер через SMS

Сегодня я хочу предложить такой способ котроля за входами на сервер как SMS.
Итак, что нам нужно: нам надо, чтобы при заходе определенного пользователя нам приходило смс сообщение во сколько и кто приконнектился.
Для чего это надо: очень часто доступ к серверам имеет только 1 человек - сисадмин. Поэтому если произошол несанкционированный коннект на сервер вы 1-ый об этом узнаете.
Решение. Для начала напишем простой скрипт на php для посылки почты. Назовем его alarm.php и поместим в любой удобный на нас каталог.
Код скрипта банально прост(в данном примере оператор beeline, у которого надо подключить соответствующую услугу для получения смс-кой всего что приходит на ваш Билайновский ящик):
#!/usr/bin/php
итак, открываем у того домашний каталог пользователя под которым вы коннетитесь на ssh сервер(надеюсь это не root ;)). Открываем файл ".bash_profile". И вписываем туда такие строки:
if [ 'tail -n 1 /var/log/secure | awk "{print substr(1,1,length)}"' != "192.168.1.13" ] ; then
/usr/local/bin/alarm.php;
fi;
Этими строками мы говорим: если произошел коннект на сервак с ip отличного от 192.168.1.13, то отослать предупреждающее sms. Сделано это для того чтобы не пугать себя лишний раз.

четверг, 25 октября 2007 г.

Что делать если в приложении кракозябры?

Можно попробовать и скорее всего это сработает запустить его например так:
debian:/# LANG=ru_RU.KOI8-R xmms

Как включить русский язык в Wine, WineX, Cedega?

Для Wine находим в домашней папке каталог .wine, для WineX каталог .trangaming.

В них открываем файл config.

И смотрим раздел [fonts] и [FontPatterns] (если последнее есть).

Пишем нечто вроде такого:

;; default TrueType fonts with russian koi8-r encoding
"Default" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultFixed" = "-monotype-courier new-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultSerif" = "-monotype-times new roman-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultSansSerif" = "-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
В новых версиях wine все настройки перенесены в реестр. Если файла config нет в каталоге ~/.wine - то с помощью regedit в ветви реестра HKCU\Software\Wine\X11 Driver\Fonts нужно создать ключи
"Default"="-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultFixed"="-monotype-courier new-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultSansSerif"="-monotype-arial-*-*-*--*-*-*-*-*-*-koi8-r"
"DefaultSerif"="-monotype-times new roman-*-*-*--*-*-*-*-*-*-koi8-r"
Если ttf-шрифты не установлены, то скорее всего у вас есть шрифты cronyx, тогда русификация будет выглядеть так:
"Default" = "-cronyx-helvetica-"
"DefaultFixed" = "fixed"
"DefaultSerif" = "-cronyx-times-"
"DefaultSansSerif" = "-cronyx-helvetica-"
Как вариант, для WineX у меня работает такая настройка:
[fonts]
;Read documentation/fonts before adding aliases
"Resolution" = "96"
"Default" = "-cronix-times-"

[FontPatterns]
"Pattern0" = "-cronix-times*"
"Pattern1" = "-cronix-helvetica*"
"Pattern2" = "-cronix-courier*"
"Pattern3" = "-monotype-Arial-*-*-*--*-*-*-*-*-*-koi8-r"
С Cedega ситуация несколько изменилась. Если шрифты и локаль верно настроены, то с выводом русских символов не возникнет проблем. Как видно, изменения лишь в том, что теперь я (jackill) использую ttf-шрифты:
[fonts]
;Read documentation/fonts before adding aliases
"Resolution" = "96"
"Default" = "-monotype-arial-"
; Use new improved fonts (uses FreeType and XRender libraries) at user request.
; Defaults to "Y".
;"FreeType" = "N"

[FontPatterns]
"Pattern0" = "-monotype-times*"
"Pattern1" = "-monotype-arial*"
"Pattern2" = "-monotype-courier*"
"Pattern3" = "-monotype-andale*"

[FontDirs]
;"0"="/path/to/extra/fonts"

[FontAlias]
;; Add font aliases here. On the left put the name of the windows font family
;; that you want to fake, on the right put the a similar font family that you
;; have installed. These will override the fontconfig and the WineX builtin fallbacks,
;; but may look better (if you choose them correctly).
;; Alias' may refer to other alias' that have been defined above them.
;; These alias' are the first that WineX loads.
;;
;; Serif Fonts
;"Times New Roman"="Times"
"MS Serif"="Times New Roman"
;;
;; Sans Serif Fonts
;"Arial"="Helvetica"
"Helv"="Arial"
"MS Sans Serif"="Arial"
"System"="Arial"
"Tahoma"="Arial"
;;
;; Mono Space Fonts
;"Courier New"="Courier"
;"FixedSys"="Courier"
Здесь указаны семейства стандартных ttf-шрифтов от MS (см. вопрос о настройке шрифтов) и разрешено использовать FreeType.

И не забудьте настроить локаль! Для UTF-8 убедитесь в отсутствии необходимости вводить это:
$ export LC_ALL=ru_RU.UTF-8
иначе будете получать следующие строки и русский работать не будет:
Warning: Language ’’ was not recognized, defaulting to English.
Иногда, русские шрифты всё же не включаются - в этом случае можно указать в конфиге следующие строки:
[x11drv]
"ClientSideWithRender" = "N"
"ClientSideWithCore" = "N"
"ClientSideAntiAliasWithRender" = "N"
"ClientSideAntiAliasWithCore" = "N"
"X11FontPattern" = "*-cp1251"
CrossOver Office иногда глючит с русскими именами в файловой системе. Для UTF-8 локали укажите
[x11drv]
"Codepage" = "65001"
для KOI8-R
[x11drv]
"Codepage" = "20866"

Чтение-запись NTFS с использованием драйвера ntfs-3g в Debian.

обавляем backports в список доступных репозиториев:
$ sudo vi /etc/apt/source.list
и вставляем
deb http://www.backports.org/debian sarge-backports main
Загружаем и добавляем ключи:
$sudo wget -O - http://backports.org/debian/archive.key | sudo apt-key add -
Обновляем список репозиториев и устанавливаем NTFS-3g:
$ sudo apt-get update
$ sudo apt-get install ntfs-3g
Монтируем:
$ sudo mount -t ntfs-3g /dev/sda1 /mnt/win -o umask=0
Убедившись в том, что все работает правильно, запись можно добавить в файл /etc/fstab:
$sudo vi /etc/fstab
добавляем:
/dev/sda1 /mnt/win ntfs-3g umask=0,nls=ваша_локаль 0 0

понедельник, 24 сентября 2007 г.

Переключение раскладок

Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "AutoRepeat" "500 30"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbVariant" "base"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection

понедельник, 23 июля 2007 г.

Мышь в консоли

Мышь в консоли Debian можно очень легко настроить установкой пакета gpm:
apt-get install gpm
Дальше идем в консоль и там пишем
invoke-rc.d gpm start
Вот и все ;)

Работа с CD в debian

В дебьяне очень просто снять образ с диска для этого достаточно ввести команду:
mkisofs -r -jcharset koi8-r -o /root/iso/cdrom.iso /media/cdrom
Смотировать этот образ можно слудующей командой:
mount -t iso9660 -o ro,loop=/dev/loop0 /root/iso/cdrom.iso
При работе с перезаписываемыми носителями для очиски диска выполнить:
growisofs -Z /dev/dvd=/dev/zero или growisofs -Z /dev/cdrom=/dev/zero
Для записи образа на диск:
growisofs -Z /dev/dvd=./cdrom.iso
growisofs -Z /dev/cdrom=./cdrom.iso
Для монтирования образа созданного в Nero (file.nrg) без его конвертации в iso образ можно воспользоваться командой:
mount -t udf,iso9660 -o loop,ro,offset=307200 file.nrg /mnt

Внутрисетевой репозитарий

Работая в телекомпании пришла в голову мысль перевести часть менеджеров на debian.))) Cказано - сделано. В результате 4 человека в компании включая меня имеют опыт работы с linux :-D. Т.к дебьян очень хорошо насыщен репозитариями появилась необходимость настроить
в сети локальный источник. Итак, нам потребуются образы дисков. Посмотреть как снять образы с дисков с репозитариями читайте тут .
Дальше монтируем (в ссылке выше показано и как смонтировать). У меня это команды:
mount -t iso9660 -o ro,loop=/dev/loop0 /var/install/iso/debian1.iso /var/install/pack1 ;
mount -t iso9660 -o ro,loop=/dev/loop1 /var/install/iso/debian2.iso /var/install/pack2 ;
mount -t iso9660 -o ro,loop=/dev/loop2 /var/install/iso/debian3.iso /var/install/pack3 ;
Соответвенно образы будут смотированы в /var/install/pack 1,2,3.
Далее нам необходимо определится с фтп сервером. Я выбрал vsftpd. Устанавливаем его
или любой другой фтп-сервер. Т.к по умолчанию vsvftpd использует каталог для ftp /home/ftp и я понятия не имею как его изменить, то просто забиндим все это дело в /home/ftp командами:
mount --bind /var/install/pack1 /home/ftp/1
mount --bind /var/install/pack2 /home/ftp/2
mount --bind /var/install/pack3 /home/ftp/3
Далее для локального сервера, где находится ваш фтп и репозитарии редактируем /etc/apt/sources.list:
deb file:/var/install/pack1 etch contrib main
deb file:/var/install/pack2 etch contrib main
deb file:/var/install/pack3 etch contrib main
Для других компов
deb ftp://192.168.1.13/1 etch contrib main
deb ftp://192.168.1.13/2 etch contrib main
deb ftp://192.168.1.13/3 etch contrib main
Далее просто на тех компах где установлен debian наберите apt-get update. Вот собственно и все :-)

Вот и началось

Ну вот и началось. "Записки системного администратора" - так хотел назвать свой блог. Честно говоря я и не думал это что вообще надо мне, 
но после недогих размышлений понял что свой опыт будет 
полезен и другим сисадминам. Ни в коей мере я не претендую на оригинальность, 
просто все то что мне понадобилось будет лежать в 1 месте и 
возможно понадобится кому то еще. -)

понедельник, 4 июня 2007 г.

О блоге

О блоге: блог предназначен для людей увлеченных изучением ОС Debian Linux.

Об авторе: меня зовут Рукавков Никита. Работаю системным администратором. В 99% моего времени посвящено компьютерам, и (к сожалению) только 1% своей семье, подруге и отдыху. Слушаю тяжелый рок(Appacaliptica, Rammstein, Ария, Кипелов и много другой красивой музыки).

Как связаться: email: tvs-admin@mail.ru. icq: 312779094.

Мои пожелания Вам: enjoy ! ;)