The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Каталог документации / Раздел "Документация для Linux" (Архив | Для печати)

Первоначальная настройка ASPLinux 11


Автор: В.Костромин (http://rus-linux.net)
Оригинал: linuxcenter.ru

Содержание

В своей предыдущей заметке («О процедуре инсталляции дистрибутива ASPLinux 11») я рассказал о моем опыте установки дистрибутива ASP Linux 11 на персональный компьютер. После инсталляции я не спеша занялся настройкой системы. Для этого перечитал все статьи, посвященные настройке и оптимизации Linux, которые упоминаются в соответствующем разделе моего каталога. Кроме того, несколько полезных советов на тему настройки процедур загрузки я заимствовал из статьи Майка Сондерса «Ускорение загрузки системы», опубликованной в июньском номере журнала LinuxFormat. Все полезное, что мне удалось найти в этих статьях, я попытался применить на двух своих компьютерах. Естественно, применил кое-что и из своего прошлого опыта. В настоящей заметке я расскажу, что у меня получилось. Думаю, что мой опыт настройки будет полезен любому пользователю, независимо от того, какие прикладные задачи он решает на своем персональном компьютере.

Настройка терминала и файлового менеджера

В ходе дальнейшей работы на компьютере мне, скорее всего, придется ставить в дополнение к ранее установленным какие-то программы. На дистрибутивных дисках их масса. А поскольку ставить, вероятно, придется еще не один пакет, особенно из-за необходимости разрешения зависимостей, то я первым делом решил скопировать все пакеты с дистрибутивных дисков на жесткий диск. Места у меня пока достаточно, а хлопот потом меньше будет, не надо будет менять CD-диски для поиска нужного пакета.

Для того, чтобы скопировать файлы с CD-ROM на жесткий диск, необходим файловый менеджер. Я привык в качестве такового использовать Midnight Commander – аналог привычных по Windows-системам Norton Commander и FAR. Поэтому после каждой установки и переустановки системы (а таковых было уже немало) я первым делом запускаю терминал (в данном случае командой Система-Терминал) и с помощью команды Настройка-Шрифт главного меню этого окна выбираю шрифт, который меня устраивает (на мой взгляд в качестве шрифта в Терминале лучше всего выбрать Fixed). Затем запускаю в терминале Midnight Commander и провожу его настройку: выбираю укороченный формат отображения списка файлов для обеих панелей, задаю кодировку KOI8-R для отображения символов и сохраняю настройки. Затем открываю в том же терминале сеанс работы суперпользователя и для него провожу аналогичные настройки.

Теперь можно создать копию дистрибутива на жестком диске. На служебном компьютере я создал каталог /opt/RPMS и скопировал в него все rpm-пакеты с дистрибутивных CD-дисков. На домашнем компьютере каталог RPMS я разместил на втором диске (который не форматируется при переустановках системы). Теперь я всегда могу найти в этих архивах тот пакет, который мне может понадобиться (если он, конечно, есть в дистрибутиве).

Но вернемся к настройке терминала. Необходимо еще проверить, как работает переключение раскладок клавиатуры. При инсталляции я выбрал для такого переключения комбинацию клавиш Alt+Shift. Убеждаюсь, что эта комбинация работает и ввод кириллицы идет нормально, по крайней мере, в командной строке терминала.

Для редактирования настроечных файлов нам в пару к файловому менеджеру нужен еще редактор ASCII-файлов. Системные администраторы обычно используют vi (или vim), но я его так и не освоил. А поэтому обычно пользовался встроенным редактором Midnight Commander-а. И хотя в ASP11 этот редактор не умеет работать с разными кодировками русского, но конфигурационные файлы обычно написаны на латинице, так что он вполне сгодится в качестве консольного редактора. А для работы с кириллическими текстами я, после некоторых опытов, стал использовать Kate. Все равно редактирование выполняю в графическом режиме.

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

Настройка аппаратной части

Настройка видеокарты на чипсете NVidia

Как я сказал выше, на домашнем компьютере у меня стоит видеокарта от nVidia и сразу после установки у меня возникла небольшая проблема с драйвером для этой видеокарты. Я решил эту проблему путем редактирования файла /etc/X11/xorg.conf. Однако после перезапуска компьютера на следующий день та же проблема возникла вновь, поскольку в секции Devices файла /etc/X11/xorg.conf строка

Driver "nv" 

оказалась снова заменена на строку

Driver "nvidia". 

Несколько дней я правил файл при каждом запуске системы, что, как вы понимаете, мне быстро надоело, поэтому я стал искать, кто же заменяет мне эту строку (или весь файл /etc/X11/xorg.conf). Подозрение пало на службу (сервис) nvidia-glx, которая обнаружилась в списке системных сервисов. Приведенное к ней пояснение гласило: «This script will check if the nvidia kernel module is present for the running kernel and modify /etc/X11/xorg.conf to the 'best' configuration.» (то бишь «Этот скрипт проверяет, присутствуют ли модули ядра nvidia для запущенной версии ядра и изменяет /etc/X11/xorg.conf, приводя его к «лучшей» конфигурации»). В результате такого «приведения к лучшей конфигурации» у меня графика и не запускается! После отключения этой службы перезагрузка и выход в графический режим по команде startx прошли успешно.

Жесткий диск

О том, как оптимизировать быстродействие жесткого диска с помощью программы hdparm, было рассказано в моей книге. Вы можете прочитать соответствующий раздел по следующей ссылке. Кроме того, было опубликовано несколько статей других авторов на эту тему (ссылки найдете здесь). Поэтому я не буду повторяться, скажу только что мои эксперименты по оптимизации жесткого диска как на служебном компьютере, так и на домашнем компьютере не привели к каким-то заметным изменениям в его (их) быстродействии. Хотя на каждый диск я потратил примерно по два часа. Так что можно оставить настройки, заданные по умолчанию (не могу сказать, подобраны ли они программой инсталляции, или как-то еще). Единственный (и малополезный) вывод, который я сделал в результате этих экспериментов, заключается в том, что команда
/sbin/hdparm -Tt /dev/hda
при последовательных запусках показывает каждый раз разные результаты, причем при увеличении задержки между запусками (если ничего не делать в это время на компьютере), показатели быстродействия диска несколько повышаются.

Монтируемые устройства

Поскольку я часто использую flash-диск для переноса информации с одного компьютера на другой, проверяю, как будет восприниматься системой flash. Вставляю флешку в разъем USB. Первоначально никакой реакции не последовало, но пока я размышлял, как смонтировать съемный носитель, на экране появилось диалоговое окно, изображенное на рисунке 1.

Рис. 1. Диалог подключения USB-диска

После щелчка по кнопке ОК на рабочем столе появился значок съемного устройства. И теперь мне достаточно подключить флэш-диск к разъему и немного подождать. Через несколько мгновений на рабочем столе появляется значок Съемное устройство. Вызываю контекстное меню этого значка и выбираю в нем команду Монтировать. После этого можно работать с файлами, расположенными на флеш-диске. Причем, устройство монтируется вполне корректно, даже не проявился такой нежелательный эффект, когда все файлы показываются как исполняемые. Для корректного извлечения флешки из разъема достаточно воспользоваться командой Безопасно извлечь в контекстном меню того же значка на рабочем столе.

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

Дальше проверяю, как монтируются дискеты и CD-ROM. Дистрибутивный CD-ROM смонтировался успешно, а вот на дискете даже текстовые файлы обозначены как исполняемые. Заглянув в файл /etc/fstab обнаруживаю, что строка монтирования дискет имеет вид

/dev/fd0 /media/floppy auto pamconsole,exec,noauto,codepage=866,iocharset=utf8,managed 0 0

в то время как строка монтирования флеш-диска имеет следующий вид

/dev/sda1 /media/usbdisk vfat pamconsole,exec,noauto,showexec,iocharset=utf8,codepage=866,managed 0 0

то есть отличается от первой строки только параметром showexec. Вставляю этот параметр в строку монтирования флоппи и перемонтирую устройство. Теперь исполняемыми показываются только exe-файлы (дискета от Windows). Однако после изучения странички man fstab-sync стало ясно, что после перезагрузки компьютера файл fstab примет прежнее значение. Чтобы этого не произошло, убираю параметр managed и перезагружаюсь, чтобы проверить эффект. Результат – положительный: строка файла /etc/fstab, соответствующая дискете, осталась неизменной и исполняемыми показываются именно те файлы, которые таковыми и являются.

Настройка процедур загрузки

Загрузчик

Настройку процедур загрузки я начал с изменения длительности интервала задержки, в течение которого отображается меню загрузчика GRUB. Дело в том, что установленное по умолчанию значение 30 секунд, на мой взгляд, слишком велико. Включая компьютер, я уже обычно решил, какую из двух установленных систем я хочу загрузить. А для нажатия клавиши с нужной стрелкой при появлении меню GRUB достаточно и двух секунд. Тем более, что наиболее часто загружается система Linux, вызов которой происходит по умолчанию. Так что можно и не следить за процессом загрузки, если не требуется выйти в Windows (что происходит достаточно редко). Ну, чтобы не волноваться, что в этих редких случаях могу пропустить нужный момент, установлю задержку в 5 секунд. Для этого открываю на редактирование файл /boot/grub/grub.conf, нахожу строку «timeout 30» и заменяю ее на «timeout 5».

Файл inittab

Теперь займемся редактированием файла /etc/inittab. Поскольку я обычно выключаю свой компьютер на ночь, то меня раздражает то, что после нажатия известной «комбинации из трех пальцев» (Ctrl+Alt+Delete) компьютер не выключается, а уходит на перезагрузку. Чтобы этого не было, я заменил в строке

ca:: ctrlaltdel : /sbin/shutdown -t3 -r now

опцию -r (restart = перезагрузка) на -h (halt = останов).

Заодно ради экономии системных ресурсов уменьшил число виртуальных консолей, ибо мне ни разу не пришлось еще воспользоваться одновременно более чем тремя такими консолями. Вот три и оставил. Для чего закомментировал строки вида

N:2345:respawn:/sbin/mingetty ttyN

для N=4, 5 и 6. Надо только не забывать, что после этого графическая оболочка запускается в 4-ой консоли, а не в 7-ой, как ранее.

Скрипты начальной загрузки

Я обычно не пользуюсь цифровой клавиатурой, поэтому привык, чтобы клавиша Numlock была включена. В консоли это можно сделать с помощью команды setleds +num. Чтобы NumLock включалась при запуске системы, я добавил следующие строки в /etc/rc.d/rc.local:

# Turn numlock on:
for tty in /dev/tty[1-3]; do
/usr/bin/setleds -D +num < $tty
done

Для того чтобы включить Numlock в KDE, воспользовался вкладкой Периферия-Клавиатура в Центре управления KDE.

Далее проверил, какое значение принимают системные переменные. Для этого достаточно просмотреть вывод команды set. Честно признаюсь, что назначение и смысл некоторых переменных мне непонятны, так что изменять их значения я не буду. Вот разве что переменную PATH можно чуть подправить. Дело в том, что она у меня имеет значение

PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/kos/bin

и меня удивило, что в ней не указаны каталоги /sbin и /usr/sbin. И это обстоятельство уже приводит к некоторым неудобствам, например, в процессе экспериментов с утилитой hdparm мне приходилось каждый раз набирать /sbin/hdparm вместо hdparm. Поэтому я решил добавить каталоги /sbin и /usr/sbin в переменную PATH. Сделать это можно либо в общесистемном конфигурационном файле /etc/profile, либо в пользовательском конфигурационном файле ~/.bash_profile. Заглянув в /etc/profile, я обнаружил, что там уже сделана попытка добавить эти каталоги в переменную PATH с помощью функции pathmunge, но по какой-то причине этот способ не работает. Поэтому прописываю в /etc/profile строку

PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin

Теперь заглянем в файлы .bashrc и .bash_profile в моей домашней директории. Мой файл .bashrc имеет следующий вид:

# .bashrc
# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

Как видите, в начале файла сообщается, что в нем задаются псевдонимы и функции пользователя, но фактически только вызывается общесистемный файл /etc/bashrc. А поскольку последнего в моей системе не обнаружилось, то фактически и ~/.bashrc никаких функций и псевдонимов не задает. Но какие-то псевдонимы все же заданы, о чем сообщает команда alias. Выполняю эту команду и вижу следующий результат:

[kos@linux /]$ alias
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot –show-tilde'

Пожалуй стоит добавить в перечень alias-ов следующие строки, чтобы избежать непоправимых последствий в случае нечаянной ошибки:

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

Просто добавляю эти три строки в файл /home/kos/.bashrc. Чтобы проверить, что это работает, переключаюсь во второй виртуальный терминал, вхожу под именем kos и снова выполняю команду alias. Вижу, что добавленные псевдонимы присутствуют в ее выводе. Псевдонимы особенно полезны, если приходится часто вводить команду, которая содержит длинный список параметров или директорий. Но мне с ходу вспомнить нужную команду такого типа не удается, так что оставляю эту затею до более подходящего момента.

Теперь заглянем в файл .bash_profile. У меня оказалось, что в нем снова вызывается файл .bashrc, после чего переменная PATH дополняется каталогом $HOME/bin и отменяется значение переменной USERNAME. Просмотренные мной источники рекомендуют задавать здесь значения нужных переменных. Эти переменные специфичны для каждого пользователя. Например, переменная EDITOR указывает любимый редактор пользователя. Эта переменная может быть очень полезна при написании shell-скриптов. Поскольку я привык пользоваться редактором mcedit, добавляю в файл .bash_profile две строки:

EDITOR=mcedit

export EDITOR

Примечание по ходу для себя: Если просто задать какое-то значение переменной, то это значение будет действовать только в окружении той программы, в которой она была задана. Экспорт переменной помещает её в окружение командного интерпретатора. Тогда это значение будет известно всем порожденным процессам. Экспорт необходим, чтобы многие программы могли использовать одно и тоже значение заданной переменной.

Ревизия системных сервисов

С чем еще нужно разобраться, так это с перечнем запускаемых системных служб (сервисов). Наличие неиспользуемых в процессе работы служб приводит к нерациональному использованию системных ресурсов и существенно замедляет процесс запуска системы.

Чтобы получить какую-то оценку целесообразности проводимых действий по отключению служб, я предварительно провел некоторые замеры на домашнем компьютере (естественно, что цифры, которые вы видите ниже, надо оценивать с учетом технических характеристик компьютера, которые были приведены в предыдущей статье). Вначале выполнил команды free и vmstat. Они показали, что всего физической оперативной памяти у моего домашнего компьютера 451 016 Кбайт, из них используется 399852 Кбайт и 51164 Кбайт свободно. Поэтому swap-память не задействована (используется 0 Кбайт). Команда top дает аналогичные данные (см. рис. 2).

Рис.2. Вывод команды top до отключения части системных сервисов (домашний компьютер)

Команда df дала следующий результат:

Файловая система 
1K-блоков
Исп
Доступно
Исп%
смонтирована на
/dev/hda3 
8062920
2384600
5268748
32% 
/
/dev/hda2 
99075
5389
88571
6%
/boot
/dev/hda4
11072728
1089660
9420604
11%
/home

Время начальной загрузки системы у меня характеризуется следующими величинами:

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

Такую же оценку я буду проводить после удаления некоторых служб.

При подготовке настоящей статьи я постарался собрать хотя бы краткие сведения о назначении различных системных служб. Причем не только о тех, которые оказались установлены в моих системах, но и тех, которых у меня нет, но которые упоминаются в тех или иных источниках. Краткая справка о назначении каждой из служб приведена в графе «Комментарий» таблицы 3. В двух следующих столбцах указано, какие сервисы оказались установлены на двух моих компьютерах (конфигурация служб, приведенная в таблице 3, получена с помощью команды /sbin/chkconfig --list). Поскольку я запускаю систему всегда на 3-й уровень, то в приводимой ниже таблице указано состояние служб именно на этом уровне. Знаком вкл отмечены службы, которые оказались запущенными. Если служба установлена, но не работает, она помечена знаком выкл .

Таблица 3

Демон, служба

Комментарий

Служебный компьютер

Домашний компьютер

acpid

Управление питанием (более новая утилита, чем APM). Прослушивает и распределяет сообщения об ACPI-событиях от ядра. Если у вас не сервер, то acpid лучше отключить.


вкл

anacron

Проверяет задания cron, которые не были выполнены из-за пребывания системы в выключенном состоянии и выполняет их. Полезен если у вас есть задания для cron, не выполняющиеся постоянно -- anacron обнаружит их в процессе загрузки. Если вы не используете cron, то и anacron стоит отключить


вкл

apmd

Apmd (Advanced Power Management) - демон управления питанием, использующийся для мониторинга состояния батарей и протоколирования их статуса с помощью syslog. Позволяет останавливать систему в случае снижения заряда до критичного значения. Применялся в основном в ноутбуках выпуска до 2002 года. В настоящее время заменен на acpid. Если у вас не сервер, то apmd лучше отключить.


вкл

atd

Этот демон выполняет в указанное время команды, которые заданы планировщиком "at", а также запускает команды, заданные утилитой batch, используя для этого периоды низкой загрузки системы.


вкл

auditd

Демон системного аудита Linux


вкл

autofs

Демон автомонтирования файловых систем в случае возникновения потребности обращения к той или иной файловой системе.


вкл

bootparamd

Серверный процесс, предоставляющий загрузочную информацию бездисковым станциям



clamd

Демон антивирусной службы.

выкл


cpuspeed

Изменяет частоту ЦПУ с целью экономии энергии, нужна на лэптопах (и то только в том случае, когда эта опция поддерживается железом).


вкл

crond

Демон автоматического выполнения в заданный момент времени каких-либо задач или команд пользователя, например, обновление логов, очистка каталога /tmp и т.п. На домашнем компьютере, который я все равно выключаю после каждого сеанса работы с ним, вряд ли имеет смысл использовать этот демон.


вкл

cups

CUPS (аббревиатура от Common UNIX Printing System) -- это мощная система печати, предоставляющая сетевой доступ для принтеров

вкл

вкл

cups-config-daemon

Демон конфигурирования принтеров через D-BUS


выкл

dhcpd

Демон, обеспечивающий работу по протоколам DHCP (Dynamic Host Configuration Protoccol) и BOOTP (Internet Bootstrap Protocol).



exim

Агент пересылки почты (Mail Transport Agent), обеспечивающий пересылку сообщений от одной машины к другой.


вкл

freshclam

Демон обновления антивирусных баз для Clam AV.

выкл


gated

Демон маршрутизации, управляющий сразу двумя протоколами маршрутизации и заменяющий routed и egpup.



gpm

Драйвер для поддержки мыши в Линукс-консоли. Обеспечивает выполнение операций типа «вырезать-вставить» с помощью мыши, а также поддержку выпадающих меню в консоли. Если вы работаете только в графической оболочке, его можно и отключить.

вкл

вкл

haldaemon

Демон сбора и поддержки в актуальном состоянии информации об установленном в компьютере оборудовании из нескольких различных источников.

вкл

вкл

hplib

Start/stop script for HP Linux Imaging and Printing (HPLIP).

вкл

httpd

Демон веб-сервера Apache..

вкл

выкл

inetd

Демон, который принимает запросы к сетевым службам (в частности, к службе дозвона dial-in) и передает их соответствующей службе. Умеет при необходимости загружать соответствующий демон (ftpd, telnetd и т.д.) и выгружать его, экономя таким образом системные ресурсы. Современные системы используют вместо inetd демон xinetd как более безопасный.



iptables

Брандмауэр для Linux

вкл

вкл

irda

IrDA (Infrared Data Association) – это промышленный стандарт для беспроводной связи между устройствами с помощью инфракрасного излучения. IrDA обеспечивает скорость передачи в границах от 9600 бит в секунду до 4 мегабит в секунду. IrDA используется во многих современных устройствах, включая ноутбуки, сетевые адаптеры, принтеры и мобильные телефоны.


выкл

irqbalance

Демон irqbalance распределяет обработку прерываний между разными процессорами в мультипроцессорных системах с целью балансировки нагрузки.


вкл

isdn

Служба для обладателей ISDN адаптеров


вкл

joystick

Служба поддержки джойстика в текстовом режиме.



kerneld

Автоматически загружает и выгружает модули ядра.



keytable

Загружает выбранную раскладку клавиатуры, заданную в файле /etc/sysconfig/keyboard. Эту службу удалять, пожалуй, не стоит.


вкл

klogd

Этот демон перехватывает и протоколирует сообщения ядра.



kudzu

Определяет и настраивает новое или изменившееся оборудование. Может конфигурировать некоторые устройства.

вкл

вкл

lirc

Демон удаленного управления компьютером через инфракрасный порт

выкл

выкл

lisa

LISa – это небольшой демон, предназначенный для запуска на клиентских компьютерах. Он обеспечивает построение чего-то подобного «сетевому окружению», но делается это только путем использования стека протоколов TCP/IP, без использования smb иди еще чего-либо. Информация о хостах в вашем «окружении» предоставляется через TCP-порт 7741.


выкл

lm_sensors

Служба мониторинга значений, выдаваемых датчиками, установленными на материнской плате.

вкл

вкл

lpd

Демон печати. В современных системах вместо lpd используется cups.



lvm

Система управления логическими томами (Logical Volume Manager), позволяющая динамически изменять структуру разделов. Если логические тома не используются, то и служба не нужна.



mcserv

Сервер сетевой файловой системы Midnight Commander. Предоставляет доступ к локальной файловой системе клиентам, т.е. файловому менеджеру Midnight Commander. Если программа запущена с правами root, то она пытается занять зарезервированный порт, если нет, то она использует порт 9876. Если в системе запущен демон portmapper, то тогда порт будет им зарегистрирован и клиенты смогут подключаться к нужному порту автоматически. Если portmapper не запущен, то порт нужно указывать вручную в опции -p.



mdadm, mdadm-raid

Mdadm используется для создания, управления и мониторинга за работой программных RAID-массивов. Если на компьютере не используются RAID-массивы, то эти службы можно отключить.



mDNSResponder

Демон, который запускается на Howl-клиентских компьютерах, выполняет проверку наличия в сети сервиса Zeroconf. mDNSResponder должен быть запущен в системах, которые используют Howl для обнаружения сервиса, и не нужен в противном случае. Примечание: к сожалению, пока не знаю, что такое Howl и Zeroconf.

выкл

вкл

mdmonitor

Запускает, останавливает и перезагружает службу мониторинга и управления программным RAID, основанным на mdadm.


вкл

mdmpd

Запускает, останавливает и перезагружает основанную на mdmpd службу многопутевого мониторинга и управления устройствами ( the mdmpd-based multipath device monitoring and management facility).


выкл

messagebus

Это демон, который обеспечивает широковещательную рассылку сообщений о системных событиях и других сообщений. Смотри http://www.freedesktop.org/software/dbus/

вкл

вкл

microcode_ctl

Скрипт, обеспечивающий примение микрокода ЦПУ. Микрокод не использовался до появления 686-х процессоров.


выкл

mysql

Сервер баз данных. Если база данных не используется, то службу можно отключить.



named

Сервер имен системы Internet Domain Name Server (DNS), который служит для разрешения имен, то есть для получения имени хоста по его IP-адресу и, наоборот, IP-адреса при известном имени хоста.

выкл


netdump

Загружает и и конфигурирует модуль ядра, который при крахе системы посылает сообщение об этом и дамп оперативной памяти на компьютер, на котором запущен netdump-сервер. Используется в случае, когда надо разрешить проблему, используя gdb и образ ядра.


выкл

netfs

Скрипт, который монтирует сетевые файловые системы, например, Network File System (NFS), SMB/CIFS (Lan Manager/Windows) и NCP (NetWare).

вкл

вкл

netplugd

Netplugd – это демон, управляющий нестатичными сетевыми интерфейсами.

выкл

выкл

network

Активизирует/отключает все сетевые интерфейсы, инициализируемые на этапе загрузки системы, вызовом скриптов, расположенных в /etc/sysconfig/network-scripts.

вкл

вкл

NetworkManager

Это демон, который автоматически переключает сетевое соединение на наилучший из возможных вариантов.


nfs

Демон сетевой файловой системы, используется для экспортирования ресурсов в TCP/IP-сетях при запросе ресурса удаленными системами (вместе со службой поддержки portmap). На домашнем компьютере, где нет других Linux/Unix машин, эти службы, скорее всего, не нужны.

выкл


nfslock

Запускает или останавливает службу блокировки nfs

вкл


nifd

Этот демон следит за состоянием сетевых интерфейсов и посылает сообщения демонам autoipd и mDNSResponder в том случае, если изменяется IP-адрес или статус сетевого интерфейса. nifd должен быть запущен на системах, которые используют autoipd и mDNSResponder для автоматического получения Link-Local IPv4 адресов и службу Zeroconf.

выкл

вкл

nscd

Это демон, который обрабатывает запросы к файлам passwd и group от выполняющихся программ и кеширует результаты для использования при следующем обращении. Использовать эту службу необходимо только в том случае, если вы используете медленные службы типа NIS, NIS+, LDAP или hesiod.


выкл

ntpd

Ntpd – это демон NTPv4. Протокол NTP (The Network Time Protocol) используется для синхронизации времени на компьютере-клиенте или сервере с другим сервером или источником временных данных, таких как радио, спутниковый приемник или модем.

выкл

выкл

nvidia-glx

Этот скрипт проверяет, присутствует ли в работающем ядре модуль nvidia и модифицирует файл /etc/X11/xorg.conf для задания «наилучшей» конфигурации.


вкл

numlock

Включает режим numlock на дополнительной цифровой клавиатуре при загрузке системы или при смене уровня выполнения.



pcmcia

Служба для работы pcmcia-устройств (например, сетевой карты или модема) в лаптопах (переносных компьютерах). Эта служба тратит время на поиск несуществующих устройств. Если вы работаете не на ноутбуке, то данная служба вам не нужна. Вместе с тем, как утверждает комментарий в скрипте загрузки этой службы, она не стартует автоматически (если только специально не сконфигурирована соответствующим образом) и поэтому ее можно вполне безопасно устанавливать и на компьютеры, которые в ней не нуждаются.


вкл

portmap

Этот демон управляет сетевыми соединениями, основанными на механизме Remote Procedure Calls, который используется такими протоколами, как NFS и NIS. Сервер portmap должен быть запущен на компьютерах, которые используются как серверы для протоколов, использующих механизм RPC. Может вам понадобиться при работе в сети.

вкл

вкл

postfix

Агент доставки почты, популярная замена для sendmail.



psacct

Скрипт, управляющий учетом процессов ядра (kernel process accounting).


выкл

random

Сохраняет и восстанавливает «энтропию» системы для более качественной генерации случайных чисел



rdate

Этот скрипт заботится о том, чтобы во время запуска системы синхронизировать временные данные с ntp-сервером.


выкл

rdisc

Этот демон находит маршрутизатор в локальной подсети.

выкл

выкл

readahead

Эта служба обеспечивает загрузку в оперативную память программ, используемых в процессе начальной загрузки системы, еще до того, как они потребуются, сокращая тем самым время загрузки.


выкл

readahead_early

Эта служба обеспечивает загрузку в оперативную память программ, используемых в процессе начальной загрузки системы, еще до того, как они потребуются, сокращая тем самым время загрузки.


выкл

routed

Демон, управляющий таблицами маршрутизации



rpcgssd

Демон пользовательского уровня, который управляет контекстом RPCSEC GSS для клиента NFSv4.

выкл


rpcidmapd

Демон пользовательского уровня для NFSv4, который сопоставляет (maps) имена пользователей с числовыми значениями UID и GID.

выкл


rpcsvcgssd

Демон пользовательского уровня для сервера NFSv4, который управляет контекстом RPCSEC GSS.



rstatd

Сервер статистики ядра.



ruserd

Демон идентификации пользователей.



rwalld

Служба отправки сообщений удаленным пользователям.



rwhod

Сервер поддержки базы данных программ rwho и ruptime. Его работа зависит от возможности обмена широковещательными пакетами в сети.



sendmail

Агент передачи почты.



saslauthd

Saslauthd – это серверный процесс, который обрабатывает запросы на аутентификацию, представленные в простом текстовом виде, в интересах библиотеки cyrus-sasl.

выкл

выкл

squid

Кеширующий http прокси-сервер. Прокси-сервер передаёт запросы своих клиентов во внешний мир, принимает оттуда ответы, которые затем перенаправляет клиентам. Можете использовать данный прокси, если захотите использовать свою Линукс-машину в качестве шлюза в Интернет



smartd

Демон, реализующий технологию SMART( Self Monitoring and Reporting Technology), предназначенную для мониторинга состояния жестких дисков. Эта технология поддерживается многими ATA-3 и более поздними ATA-дисками, IDE, SCSI-3 дисками. Smartd опрашивает диск каждые 30 минут, запускает процедуры самотестирования дисков и в случае выявления каких-либо проблем сообщает об этом (посредством службы syslog или путем посылки сообщения по электронной почте).


вкл

smb

Демон, обеспечивающий работу по протоколу smb, предоставляющий доступ к отрытым ресурсам компьютера для компьютеров, работающих под ОС Windows.

вкл

выкл

smtpd

Демон, реализующий Simple Mail Transfer Protocol, использующийся для обмена электронными почтовыми сообщениями. Протокол SMTP поддерживает множество программ, например sendmail, smtpd, rsmtpd, qmail, zmail, и т.д.



snmpd

Демон, поддерживающий протокол Simple Network Management Protocol (SNMP)

выкл


snmptrapd

Simple Network Management Protocol (SNMP) Trap Daemon

выкл


sshd

Служба поддержки удаленных подключений по протоколу OpenSSH, более безопасная, чем telnet. При отсутствии удаленного доступа к вашей машине службу можно отключить.


вкл

syslog

Демон syslogd управляет системой протоколирования системных событий, собирая сообщения от многих служб. Syslog рекомендуется запускать в любой Linux (UNIX) системе, поскольку создаваемые им протоколы помогают разобраться в случае возникновения каких-либо проблем в работе системы.

вкл

вкл

webmin

Сервер управления системой через веб-интерфейс.

вкл


winbind

Запускает и останавливает демон winbind

выкл

выкл

usb

Демон, необходимый для работы устройств на шине USB (Universal Serial Bus).



xfs

X font server - сервер шрифтов - служба, предоставляющая централизованный доступ к шрифтам в системе. Может работать как локально, так и в сети. Он также обеспечивает создание и обновление списков шрифтов.

вкл

вкл

xinetd

Xinetd – это мощная замена демону inetd. Среди прочих возможностей он обеспечивает механизмы управления доступом, расширенные возможности протоколирования, возможность ограничения запуска служб по времени и может ограничивать число одновремено запущенных служб.

выкл

вкл

Службы, основанные на xinetd (список этих служб оказался разным, он приведен в двух следующих столбцах)

Служебный компьютер: chargen chargen-udp daytime daytime-udp echo echo-udp tftp time time-udp

Домашний компьютер: auth chargen chargen-udp daytime daytime-udp echo echo-udp eklogin gssftp klogin krb5-telnet kshell ktalk rsync time time-udp

все службы, основанные на xinetd, были выключены

все службы, основанные на xinetd, были выключены

ypbind

Демон, который запускается на NIS/YP-клиентах и подключает их к NIS-домену. Необходим, если ваш компьютер является членом домена Network Information Service.


выкл

yum

Обеспечивает ежедневный запуск утилиты yum, предназначенной для обновления установленных в системе rpm-пакетов.

выкл

выкл

Примечание: Обратите внимание на то, что в случае выбора варианта Минимальная установка (см. случай домашнего компьютера) программа инсталляции устанавливает гораздо больше служб, чем в варианте Пользовательский (случай служебного компьютера). Хотя в том и в другом случае я проставлял флажок Выборочно. Выводы, как говорится, делайте сами.

Теперь я попробую проанализировать, какие службы действительно нужны на компьютере обычного среднего пользователя (то есть у меня конкретно, читатели могут прислушаться к моим выводам, могут поразмышлять сами), а какие реально не работают и только тратят драгоценные ресурсы компьютера - оперативную память и, вероятно, быстродействие (поскольку так или иначе они работают, то есть съедают часть тактов процессора). Пока буду рассматривать службы абстрактно, только основываясь на данных, приведенных в таблице 3, независимо от того, установлена ли соответствующая служба на моих компьютерах.

Начну с того, что, на мой взгляд, на стационарных пользовательских компьютерах можно отключить службы apmd и acpid (управление питанием) и демон pcmcia, поскольку, в отличие от ноутбука или лэптопа, такие компьютеры питаются не от аккумуляторов, а от сети, и PCMCIA-устройств не имеют. То же самое (то есть отключение) касается службы cpuspeed, поскольку по описанию она нужна только на лэптопах.

Такие службы как cron, atd и anacron ставились по умолчанию во всех дистрибутивах, которые у меня были, но я эти службы никогда не использовал,. Просто потому, что каждый день выключаю компьютер на ночь, поэтому давать ему какие-то регулярно выполняемые задания нет нужды, проще было бы включить такие задачи в инициализационные скрипты.

Агенты пересылки почты exim, postfix и sendmail можно спокойно отключить, так как пользовательский компьютер обычно является просто клиентом почтовых систем и никуда почту не пересылает.

У меня нет устройств, использующих инфракрасный порт, ISDN-адаптера и джойстика, а значит и демоны irda и lirc (управления инфракрасными устройствами), isdn и joystick не нужны. Вы тут решайте сами, в зависимости от наличия тех или иных устройств. Демон irqbalance, который служит для балансировки нагрузки в мультипроцессорных системах, очевидно, не нужен, поскольку оба моих компьютера однопроцессорные.

Демон bootparamd ни к чему, если не используются бездисковые рабочие станции или удаленные терминалы (у меня их нет ни дома, ни на работе).

Если на компьютере нет принтера, то ни к чему такие службы как lpd или cups. (У меня на служебном компьютере cups надо оставить, а дома – отключить). Если не используются логические тома, то можно удалить еще и lvm.

mdadm, mdadm-raid, mdmonitor отключаем, если не используются программные RAID-массивы. Named отключаем, поскольку на пользовательском компьютере можно ограничиться файлом /etc/hosts и подключением (при необходимости) к серверу разрешения имен. Пользовательский компьютер обычно не занимается маршрутизацией сообщений (кроме тривиального случая направления всех сообщений маршрутизатору, указанному командой route), а поэтому демоны routed и gated запускать ни к чему. Службы nfs и nfslock необходимы только в том случае, если вы собираетесь предоставить доступ к каким-то ресурсам (каталогам) вашего компьютера для других компьютеров. Думаю, что дома мне эти службы ни к чему. Вместе с ними можно, кажется, отключить и portmap (впрочем, это следует проверить экспериментально, почему-то этот демон запущен по умолчанию на обоих моих системах). Демон ntpd вряд-ли нужен на пользовательском компьютере, применяемом для решения офисных задач. Я, во всяком случае, еще ни разу не пользовался этой службой, системное время сверяю по наручным часам и корректирую, при необходимости, с помощью команды date. Так что этот демон можно отключить, вкупе с rdate. О том воздействии, которое запуск службы nvidia-glx оказал на мою систему, и о том, что эту службу я уже отключил, я писал выше. Прокси-сервер Squid я тоже никогда не использовал и полагаю ненужным его присутствие на пользовательских компьютерах (пусть им занимаются сетевые администраторы). Не знаю, насколько верны мои представления о протоколе snmp, но кажется мне, что он тоже не нужен в большинстве случаев. Поэтому можем со спокойной совестью отключить демоны snmpd и snmptrapd.

Как сказано в таблице 3, все сервисы, запускаемые через xinetd, оказались отключены. К тому же в одной из статей я обнаружил такое замечание относительно этого сервиса: «зачем он нужен, если нет насущной потребности, скрываясь от полиции в Интернет-кафе "Зимбабве", стереть с жесткого диска важный налоговый документ, подключившись по telnet». Не могу утверждать, что согласен с этим мнением, однако настойчивое желание удалить xinetd у меня появилось.

Ну, и наконец, два последних демона из числа приведенных в таблице 3: ypbind и yum. Их тоже можно отключить, поскольку к NIS мы не подключаемся и постоянного подключения к Интернет, а, значит, и к репозиторию обновления rpm-пакетов, у меня нет. Вот какой обширный перечень ненужных на первый взгляд служб и сервисов сформировался. Причем относительно некоторых не вошедших в этот перечень служб (mDNSResponder, mdmpd, netdump, netplugd, nifd, nscd, smtpd, winbind) у меня просто недостает знаний для того, чтобы решить, насколько они мне нужны. Проверить необходимость их присутствия в системе я попытаюсь экспериментально. А вот сервис numlock, который включает режим NumLock на дополнительной цифровой клавиатуре при загрузке системы или при смене уровня выполнения, я, наоборот, хотел бы видеть запущенным.

Итак, приступаю к отключению сервисов на своем домашнем компьютере. Для этого выполняю команду Системные параметры-Настройка сервера-Службы из главного меню KDE. В открывшемся (после ввода пароля суперпользователя) окне Настройка служб (рис.3) снимаю галочки с ненужных мне сервисов и, наоборот, проставляю галочки на тех, которые мне нужны (например, добавляю запуск демонов httpd и smb, поскольку буду их использовать).

Рис.3. Окно Настройка служб

Отключил я следующие службы: acpid, anacron, apmd, atd, cpuspeed, crond, cups, cups-config-daemon, exim, irqbalance, isdn, mdmonitor, pcmcia, portmap, xinetd. Службы postfix, sendmail, lpd, lvm, joystick, bootparamd, mdadm, mdadm-raid, named, routed, gated, squid, nfs, nfslock, snmpd, snmptrapd у меня и не были установлены, а такие сервисы как irda, lirc, ntpd, rdate, nvidia-glx, ypbind, yum были уже отключены.

После снятия флажков с отключаемых сервисов нужно сохранить сделанные изменения с помощью меню программы Настройка служб, что я и сделал. После чего произвел перезагрузку системы. Время загрузки системы после отключения запуска перечисленных выше демонов сократилось примерно на 20 секунд. Конечно, время работы BIOS и запуска KDE не изменилось, все сокращение произошло в промежутке между выдачей заставки GRUB и появлением приглашения login:, что было вполне ожидаемо. Загрузка оперативной памяти тоже снизилась, как видно из рисунка 4, хотя и не так существенно, как я ожидал (полагаю, что причиной этого стал запуск служб httpd и smb).

Рис. 4. Вывод команды top после отключения части системных сервисов (домашний компьютер)

В остальном каких-либо изменений в работе системы я не заметил, по крайней мере пока. Поэтому я решил провести эксперимент по отключению еще нескольких служб. Начну с упомянутого выше mDNSResponder. Судя по описанию (см. таблицу 3) он выполняет какие-то сетевые задачи и на моем изолированном компьютере он вроде бы не нужен. Отключаю эту службу и перезагружаюсь. Сокращения времени загрузки не заметил, каких-либо отклонений в работе системы тоже. На этом я закончил эксперименты с отключением сервисов на домашнем компьютере.

На служебном компьютере я отключил я службы: lirc, ntpd. Остались включены cups, gpm, haldaemon, hplib, http, iptables, kudzu, lm_sensors, messagebus, netfs, network, nfs, nfslock, portmap, smb, syslog, webmin, xfs, xinetd. Это полный список запущенных служб. Я не призываю читателя слепо следовать моему примеру, делайте выбор самостоятельно.

Удаление ненужных пакетов

Отключение ненужных сервисов натолкнуло меня на мысль о том, что если они все равно не используются, то зачем их вообще устанавливать. Переинсталлировать систему ради удаления ненужных демонов, конечно, не стоит, все равно при этом будут установлены какие-то из этих сервисов. А вот удалить установленные пакеты можно и относительно несложно. Но давайте сразу поставим задачу шире: удалить не только пакеты с ненужными сервисами, а вообще все неиспользуемые rpm-пакеты. Ведь как бы старательно не выбирался состав установленного в системе ПО, программа инсталляции и помимо демонов устанавливает массу пакетов, которые я никогда не буду использовать. Поэтому я провел ревизию того, что установлено в моей системе. Для этого на обоих компьютерах выполнил команду

[kos] rpm -qa | sort > rpm_installed.txt

В результате получил два списка. В одном из них перечислено 623 пакета (это на домашнем компьютере), во втором – 546 пакетов (на служебном компьютере). Как видите, число установленных пакетов огромно, наверняка далеко не все они мне нужны. Как решить, какой пакет нужен, а какой не нужен? Для этого я перешел в тот каталог, в который после инсталляции скопировал все rpm-пакеты с дистрибутивных дисков и выполнил команду

[kos] rpm -qpi <имя_пакета>.rpm

подставляя последовательно вместо <имя_пакета> реальные названия тех пакетов, назначение которых мне было не ясно. Если мне казалось, что пакет не нужен, переключался в сеанс работы суперпользователя и выполнял команду

[root] rpm -e <имя_пакета>

(обратите внимание: расширение .rpm из имени пакета надо убрать). В некоторых случаях появлялись сообщения о том, что пакет необходим для других пакетов («неудовлетворенные зависимости»). В таких случаях от удаления пакета я отказывался, либо предварительно удалял тот пакет, который требовал наличия первого. Работа эта кропотливая и длительная, так что сами решайте, надо ли ею заниматься. Мне было просто интересно, что же можно без ущерба удалить из своей системы. В результате на домашнем компьютере я удалил следующие пакеты:

acl, acpid, anacron, apmd, attr, gnome-bluetooth-libs, libbtctl, bluez-libs, cpuspeed, hal-cups-utils, system-config-printer, redhat-lsb, dhclient, mdadm, fetchmail, exim, irda-utils, irqbalance, isdn4k-utils, joystick, lilo, netdump, procmail, rdate, rdist, vixie-cron.

В результате у меня на файловой системе /dev/hda3 освободилось примерно 25 мегабайт, а на остальных уменьшения занятого пространства практически не произошло. Для 40 Гигабайтного диска эти 25 МБ такая мелочь, что и упоминать не стоит. Правда, я удалил далеко не все ненужные пакеты, но трудоемкое это занятие мне уже наскучило. В общем, заниматься удалением ненужных пакетов стоит только в том случае, если у вас очень маленький диск. Я же для себя решил, что отключить ненужные службы необходимо, а удалять из системы установленное ПО я больше не буду (разве что уж очень прижмет).

Примечание: Уже после того, как я закончил свои эксперименты с удалением ненужных пакетов, была выложена в открытый доступ статья Арсения Чеботарева «Сделай свой Linux чище», в которой он рассказал, как удалять из системы группы пакетов, связанные взаимными зависимостями. Его методом можно, в частности, удалить из KDE-системы все пакеты, предназначенные для оболочки GNOME. Оказывается таких пакетов ставится достаточно много, причем в KDE они вообще не нужны. Я в ходе своих опытов тоже наталкивался на них, но удалить их не решился как раз из-за того, что появлялись сообщения о неудовлетворенных зависимостях. А проследить все цепочку на предмет необходимости входящих в нее пакетов я не удосужился. По утверждению же А.Чеботарева, можно без нарушения работоспособности системы удалить с жесткого диска до полу-гигабайта ненужных файлов.

Впрочем, этот успех коллеги в удалении лишнего ПО не поколебал моей убежденности с справедливости того вывода, который я сделал в предыдущем абзаце. Я, по-прежнему, считаю, что заниматься удалением установленного ПО заниматься не стоит. Просто затрачиваемые на это усилия не оправдываются достигнутым результатом. Если вас прижмет недостаток свободного места на диске, то ненадолго можно выкрутиться за счет удаления лишних пакетов, но это вас все равно не спасет и в долгосрочной перспективе лучше задуматься о приобретении нового диска.

Настройка KDE (графического режима)

Настройка работы в графическом режиме (а у меня это - KDE), требует, вероятно, отдельной статьи. Поэтому я ограничусь здесь парой замечаний о тех настройках, которые наиболее для меня актуальны.

Меняем переключатель клавиатуры

Что касается настройки графического режима, то в первую очередь я обычно меняю способ переключения раскладок клавиатуры. Хотя в моем случае, как уже было сказано в начале этой заметки, переключение раскладок работает нормально, я все же расскажу, как его настроить в KDE. Штатный переключатель раскладки клавиатуры в KDE устроен, на мой взгляд, не очень удачно: переключение с русского на английский и обратно можно выполнить только с помощью значка на панели, в то время как я привык выполнять такое переключение комбинацией клавиш Alt+Shift. Поскольку моя основная работа – набор статей, то клавишами мне переключаться удобнее и быстрее. Поэтому обычно я предпочитаю тот способ переключения, который предоставляют «иксы». Правда, в этом случае пропадает индикатор раскладки на панели, но с этим лично я уже могу примириться.

Для того, чтобы заработал штатный переключатель, надо, во-первых, отключить переключатель из KDE. Для этого достаточно вызвать Центр управления KDE, перейти на вкладку «Раскладка клавиатуры» (она находится в группе «Региональные и специальные возможности») и снять флажок «Включить переключение раскладок клавиатуры», после чего щелкнуть по экранной кнопке Применить.

Затем надо отредактировать файл /etc/X11/xorg.conf, а именно, секцию, описывающую клавиатуру. Вот как эта секция выглядит у меня:

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc104"
        Option      "XkbLayout" "us,ru"
        Option      "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection

Здесь введены в обращение две раскладки— us и ru, переключение которых осуществляется с помощью комбинации клавиш <Alt>+<Shift> (grp:alt_shift_toggle) и индикация русской раскладки осуществляется светодиодом Scroll Lock. Разумеется, чтобы это заработало, после того как вы произведете правку, надо перезагрузить графическую оболочку KDE.

Добавляем шрифты TrueType от Microsoft

Не секрет, что в Линукс во многих случаях не достает высококачественных шрифтов. Вот и при редактировании настоящих заметок я уже столкнулся с тем, что в OpenOffice.org Writer (я этот редактор использую в частности и для редактирования html-файлов) на стыках английского и русского текстов символы наезжают друг на друга. В результате текст отображается на экране некорректно. Решается эта проблема заменой шрифтов в OpenOffice.org. Чтобы не натыкаться на эту проблему постоянно (например, при получении от коллег или из Интернет файлов, созданных в Microsoft Office), лучше добавить в систему некоторые шрифты из Windows-системы. Для добавления TTF-шрифтов я сделал следующее:

Примечание: В одной из статей я нашел рекомендацию перейти в каталог ttf и удалить все файлы, имена которых содержат заглавные буквы. Не знаю, насколько необходимо придерживаться этого совета, но если у вас какой-то шрифт не появится, вспомните об этом примечании.

[root] # /usr/bin/ttmkfdir

(в каталоге /usr/X11R6/lib/X11/fonts/ttf появился файл fonts.scale)

[root] # /usr/X11R6/bin/mkfontdir

[root] # /usr/sbin/chkfontpath -a /usr/X11R6/lib/X11/fonts/ttf

Проверить, что новый каталог действительно добавлен в список путей, можно командой

[root] # /usr/sbin/chkfontpath -l

Примечание: вообще говоря, перезагрузка не требуется, достаточно перезапустить сервер шрифтов xfs командой

[root] # /etc/init.d/xfs restart

или просто выйти из системы (завершить сеанс работы пользователя, выйдя из KDE и выполнив команду logout) и войти повторно, но я просто перезагрузился.

Этого, однако, еще недостаточно для того, чтобы OpenOffice.org Writer и другие графические приложения получили доступ к новым шрифтам. Мне потребовалось еще запустить Центр управления KDE, перейти на вкладку Установка шрифтов (это в группе Системное администрирование), переключиться в режим администратора и добавить вновь установленные шрифты в список (см. рис.5)


Рис. 5. Добавление новых шрифтов в KDE.

Все графические приложения, в том числе и OpenOffice.org, «увидят» новые шрифты только после перезапуска соответствующего приложения.

На этом свои заметки о первоначальной настройке ASPLinux 11 после инсталляции я заканчиваю. Надеюсь в следующей части рассказать еще о настройке тех приложений, которыми я более-менее регулярно пользуюсь. Но сроков выхода следующей части заметок предсказать не берусь...

[ опубликовано 14/09/2006 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру