среда, 10 сентября 2008 г.

Установка и минимальная настройка vserver

ехнология Linux-VServer позволяет создавать несколько виртуальных серверов (VPS), работающих независимо под управлением одного ядра операционной системы.

Каждый виртуальный сервер связан с одним контекстом, в котором выполняются его процессы. Контекст –это окружение, объединяющее группу процессов в системе, и отделяющее их от процессов, не входящих в этот контекст. Имена пользователей и групп, а также их идентификаторы принадлежат контексту. Процессы главного (корневого) сервера входят в контекст с нулевым номером и обладают большими возможностями, они имеют доступ к процессам и данным всех виртуальных серверов. В файловой системе главного сервера корни файловых систем виртуальных серверов расположены в некоторой директории.

VPS внутри выглядит как полноценная Linux-система. Вы можете предоставить права root на него и совершенно не бояться, что как-то могут быть повреждены другие виртуальные серверы или главный сервер. Все сервисы, такие как электронная почта, базы данных, Web, SSH, могут быть запущены без модификаций (или с некоторыми минимальными модификациями) на виртуальном сервере. Каждый VPS может обладать как одним IP-адресом, так и несколькими.

Для виртуального сервера может быть настроено множество параметров и ограничений. Вот наиболее часто используемые из них:

  • Место, занимаемое на диске и количество индексных дескрипторов (файлов).
  • Объем физической и виртуальной памяти.
  • Доля использования мощности процессора и список процессоров, на которых может выполняться VPS.
  • Максимальное количество процессов, принадлежащих контексту.>/li<

Для каждого VPS могут отслеживаться такие показатели, как:

  • Использованное процессорное время.

  • Количество совершенных системных вызовов fork (с его помощью создаются новые процессы).
  • Количество полученных и переданных сетевых пакетов.

Приступим:

  • Устанавливаем ядро с поддержкой vserver'a и пакет программ для работы с vserver'ом util-vserver:
    #apt-get install linux-image-2.6.18-4-vserver-686 linux-headers-2.6.18-4-vserver-686 util-vserver
  • Перегружаемся, выбирая естественно необходимый нам вариант загрузки:
    Debian GNU/Linux, kernel 2.6.18-4-vserver-686
  • Теперь непосредственно создадим окружение нашему серверу
    #vserver build -m debootstrap --hostname --interface eth1:X.X.X.X/24 -- -d etch -m file:///media/cdrom -- --resolve-deps --arch i386
  • Может возникнуть ошибка:
    ncontext: vc_net_create(): Invalid argument
    Лечиться следующим образом:
    #echo 101 > /etc/vservers//context
  • Предварительно добавив в /etc/network/interfaces:
    auto eth1:1
    iface eth1:1 inet static
    address X.X.X.X
    netmask 255.255.255.255
  • "Проваливаемся" в наше окружение
    #vserver exec /bin/sh
  • Перво наперво следует сменить пароль root'а
    #passwd
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
  • Далее настраиваем наш сервер, так как вам необходимо — устанавливаем программы, утилиты и т.д.
  • Для того, что бы у нас была возможность производить монтирование в системе, на основной машине создаем файл:
    #touch /etc/vservers//ccapabilities
    и записываем в него следующее сожержимое
    #cat /etc/vserver//ccapabilities
    SECURE_MOUNT
    BINARY_MOUNT
  • Устанавливаем лимиты на vserver
    # vlimit -c —rss 2047131
    где это ID vserver'a
    # vserver-stat
    CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME
    40029 52 1.9G 240.2M 0m03s51 0m01s17 34m14s27

    размер задается в страницах (размер одной страницы 4096 байт)
    просмотреть лимиты можем с помощью:
    #vlimit -c -a -d | grep RSS
    RSS N/A 2047131 2047131

    обязательно добавляем параметр "VIRT_MEM"
    #echo "VIRT_MEM" >> /etc/vservers//flags
    записываем кол-во страниц
    #cat /etc/vservers/myguest/rlimits/rss
    1663293

    проверяем на vservere
    # free -k
    total used free shared buffers cached
    Mem: 6653172 46944 6606228 0 0 0
    -/+ buffers/cache: 46944 6606228
    Swap: 1535352 0 1535352
  • А дальше все в ваших руках...

понедельник, 14 апреля 2008 г.

WinXP в роли терминального сервера

Linux - это, конечно, хорошо, но до сих пор остаются задачи и приложения которые, к сожалению, требуют запуска под ОС Windows. В моем случае задачей было организовать работу 2 и более пользователей на одной машине по управлением этой самой винды...
Казалось бы, есть Win2003 с его системой терминального доступа, но стоит это все немалых денег (а делать то надо все на совесть=)) ), так что этот вариант мне не подошел. Во время поисков по данной теме наткнулся на замечательную статью, которая описывает как из виндовХР сделать практически полноценный терминальный сервер. Добавлю, что это решение у меня работает уже более года и никаких проблем не вызывало.

http://www.xakep.ru/post/28531/default.asp

Удачи.

четверг, 10 апреля 2008 г.

Узнаем блок IP адресов ресурса

Например нам необходимо узнать блок ip адресов какого-либо интернет ресурса - пусть это будет vkontakte.ru. Прежде всего делаем

#ping vkontakte.ru
PING vkontakte.ru (195.190.105.236): 56 data bytes
64 bytes from 195.190.105.236: icmp_seq=0 ttl=50 time=27.485 ms
64 bytes from 195.190.105.236: icmp_seq=1 ttl=50 time=29.874 ms

благодаря чему узнаем ip адрес -
195.190.105.236

Идем на http://www.db.ripe.net/whois в имеющейся форме вбиваем адрес и получаем:
inetnum:         195.190.105.0 - 195.190.105.255
netname: VKONTAKTE-NET2
descr: VKontakte Ltd
country: RU
и теперь делаем все то, что нам необходимо с этими адресами. В моем случае я просто блокирую в своей сети данный ресурс

вторник, 25 марта 2008 г.

Master Browser

Необходимо назначить машину под управлением Debian Master Browser'ом рабочей группы XXX.

Напомню, что для формирования списка компьютеров и доменов в сетях Windows применяется механизм Browsing. Его общий смысл заключается в том, что определённые компьютеры сети выполняют роль браузеров (browser) - хранят и распространяют список имён присутствующих в данный момент в сети компьютеров.
Компьютеры принимают роль Master Browser в результате выборов. Процесс выборов инициирует любой компьютер, который не смог найти Master Browser. Также выборы начинаются, если загружается контроллер домена или предпочитаемый Master Browser. Нужно помнить, что выборы происходят при помощи широковещательных пакетов. Это значит, что для каждого домена коллизий будет выбран свой Master Browser и набор Backup Browser'ов. Кроме того, для нахождения Master Browser'а клиент использует широковещательный запрос. Поэтому, если компьютер со службой браузинга отделен от Master Browser'а маршрутизатором, который не пропускает широковещательные пакеты, - Master Browser будет не найден.

Добавляем в /etc/samba/smb.conf
domain master = yes #будет ли являться master browser' ом для текущей рабочей группы
os level = 65 #os level = 255 - победить все
#os level = 0 - победить никого
#os level > 32 - победить win-десктопы
#os level > 65 - победить win-сервера

preferred master = yes #будет ли nmbd предпочитаемым master browser'ом для этой рабочей группы.
При прохождении следующих выборов ваша машина станет master browser'ом, собственно говоря, чего и необходимо было добиться.
Проверяем:
#smbclient -L workstation
Workgroup Master
--------- -------
XXX YYY

суббота, 22 марта 2008 г.

HP LaserJet 1020 (1018,1022)

Для того что бы "завести" принтера hp1010, hp1018, hp1020 на операционной системе Linux (приведен пример для Debian, в остальных дистрибутивах возможны небольшие различия) нам необходимо:
1. Установить пакет foo2zjs
# apt-get install foo2zjs
или
# dpkg -i foo2zjs_20060625dfsg-4_i386.deb

2. Скачать образ прошивки, которую мы будем "лить" в принтер, каждый раз когда он будет
обнаруживаться системой.,
# getweb 1020
где 1020 модель принтера (может быть 1010,1018)

3.Конвертируем образ в понятный для принтера:
# arm2hpdl sihp1020.img >/usr/share/foo2zjs/firmware/sihp1020.dl

4.Можно воспользоваться утилитой printconf для "быстрой" настройки принтера:
# printconf

5. Выключаем и снова включаем принтер. После того, как подсистема hotplug обнаружит принтер, подключенный к USB шине и отправит в порт прошивку, всё должно работать.

четверг, 20 марта 2008 г.

Конец виндам


Наконец-то свершилось - полностью (окончательно и бесповоротно) снёс на своем домашнем ПК винды. Последнее, что держало их был WoW. После того как установил последнюю версию wine (0.9.57) с которой он запустился без каких либо проблем с чистой совестью отфарматил винт.

вторник, 18 марта 2008 г.

TCP\IP принтер в Win98

Существует проблема при установке TCP\IP принтера в системе win98. Просто напросто нет возможности средствами самой ОС настроить порт принтера.
Решается все просто...
1. Ищем и скачиваем HP JetDirect , устанавливаем.
2. Затем, устанавливаем необходимый нам принтер как локальный.
3. В настройках порта принтера выбираем "Добавить порт" -> "TCP\IP jet direct" -> указываем ip адрес нашего принтера (порт по умолчанию 9100).

У меня заработало!

Cмена раскладки в KDE

Установив KDE в Debian etch можно заметить, что есть небольшие проблемы по смене раскладок!

Для того, что бы решить их необходимо проделать следующее:

1.Установить утилиту kkbswitch

#apt-get install kkbswitch

2.Внести изменения в файл /etc/X11/xorg.conf в секцию "InputDevice":

Option          "XkbLayout"     "us,ru"
Option "XkbVariant" ",winkeys"

3. Удалить файл ~/.kde/share/config/kxkbrc

4.Центр управления -> Региональные и специальные возможности -> Раскладка клавиатуры -> Параметры XKB

Включить "Использовать переключатели XKB" и выбрать комбинацию клавиш смены раскладки.

5. Перезапустить Х сервер, дабы изменения вступили в силу.

понедельник, 17 марта 2008 г.

Локальный дистрибутив

1. Создание дистрибутива с DVD дисков
Поиск deb пакетов на диске и копирование их в директорию
#find /media/cdrom0 -name *.deb -exec cp {} .deb/ \;

Создание файла Packages.gz
#dpkg-scanpackages .deb /dev/null | gzip > .deb/Packages.gz

Добавить в список репозитариев /etc/apt/sources.list

deb file:/home/username .deb/

Ну и последнее
#apt-get update

Все можно спокойно ставить пакеты, не беспокоясь о смене дисков.