http://www.debian.org/logos/openlogo-nd-50.png http://www.debian.org/Pics/debian.png

Translation(s): - Русский


Подготовка свежеустановленной системы Debian к использованию

Этот раздел поможет наглядно подготовить чистую систему Debian squeeze к полноценному использованию в качестве того, что вы выберите сами. Нижеуказанные настройки рекомендую выполнять в пошаговом режиме. Каждый блок проверен, теория, практика и описания подаются кратко, без излишеств. Если мало, подробности ищите в Google.

Настоятельно рекомендую использовать только чистый Debian, т.е. без "заранее подобранных наборов ПО".

tasksel.jpg

Такой подход наиболее полно реализует преимущества Debian перед Ubuntu и Gentoo - оптимальное сочетание затрат на установку\настройку к эффективности\захламлённости ненужным ПО. Считаю достойным восхищения то, что за 15 минут можно с нуля установить на голое железо по-настоящему универсальную ОС, которая будет содержать только самый минимум программ.


Страница находится в активной разработке


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


Contents

  1. Подготовка свежеустановленной системы Debian к использованию
  2. Настройка менеджера пакетов aptitude
    1. Настройка автоматического обновления
  3. Настройка входа в систему
    1. Автоматический вход с mingetty
    2. Автоматический вход с стандартным agetty
  4. Настройка сети
    1. Универсальная базовая настройка
    2. Настройка в псевдографическом интерфейсе wicd-curses
  5. Firewall (брандмауэр, межсетевой экран и т.п.)
    1. Общие сведения
    2. Apf-firewall
    3. Vuurmuur (пока только для i386)
  6. Локализация
    1. Глобальные параметры локализации системы
    2. Поддержка кириллицы в консоли
    3. Удаление неиспользуемых файлов локализации
  7. Загрузчик
    1. GRUB2
      1. Решение проблем
        1. Кракозябры
  8. Служебные программы
    1. Файловый менеджер Midnight Commander
    2. Утилита-мультиплексор Screen
    3. Просмотр процессов Htop
    4. Утилита для просмотра текста в консоли Less
    5. Набор утилит для диагностики DNS
    6. Утилита для просмотра загрузки сети nethogs
    7. Утилиты для определения оборудования hwinfo и lshw
  9. Службы, демоны и сервисы
    1. Управление запуском служб
    2. Служба удаленного доступа ssh
      1. Авторизация по ключам
        1. Генерация ключей
        2. Настройка сервера
        3. Настройка клиента
        4. Настройка Putty
      2. Усиленные настройки безопасности
      3. Параноидальные настройки безопасности (knock)
    3. Служба обновления микрокода процессоров Intel
    4. Служба управления скоростью вращения вентиляторов fancontrol
    5. Установка системного времени и его автоматической раздачи/обновления(NTP)
    6. Служба загрузки torrent Transmission
    7. Служба доступа к файлам и принтерам SMB (CIFS)
      1. Корзина для Samba
      2. Принтеры для Samba
        1. Проблемы, которые не удалось решить
      3. Служба Web интерфейса для администрирования Samba
    8. Служба Web-сервера
      1. Apache2
        1. Прикручиваем поддержку PHP5
    9. Служба сервера БД MySQL
    10. Служба анонимного доступа TOR
    11. Служба обновления имени домена для динамических IP адресов ddclient
  10. Сглаживание шрифтов
  11. Примечания
    1. Примечание 1 (настройка aptitude)
    2. Примечание 2 (ошибка запуска сети)
    3. Примечание 3 (настройка мс)
    4. Примечание 4 (ошибка pcspkr)
    5. Примечание 5 (setfacl неподдерживаемая операция)


Настройка менеджера пакетов aptitude


aptitude - локализованный менеджер пакетов с псевдографическим интерфейсом, который используется для наглядной и функциональной установки программ в Debian.

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

Запускем программу и настраиваем её параметры.

# aptitude --> F10 --> Параметры --> Предпочтения

См. примечание 1.


Настройка автоматического обновления


Устанавливаем unattended-upgrades:

# aptitude install unattended-upgrades

Правим общие настройки обновления:

nano /etc/apt/apt.conf.d/50unattended-upgrades 

// Выбираем все источники обновлений
Unattended-Upgrade::Allowed-Origins {
        "${distro_id} stable";
        "${distro_id} ${distro_codename}-security";
        "${distro_id} ${distro_codename}-updates";
        "${distro_id} ${distro_codename}-proposed-updates";
};
// Список пакетов, которые не должны обновляться, у меня таких нет.
Unattended-Upgrade::Package-Blacklist {
//      "vim";
};
// Возможность оповещения об обновлении на почту пока отключаем.
//Unattended-Upgrade::Mail "root@localhost";
// Удаляем не нужные пакеты
Unattended-Upgrade::Remove-Unused-Dependencies "true";
// Автоматически перезагружаем систему, включаем
Unattended-Upgrade::Automatic-Reboot "true";
// Можно ограничить скорость загрузки к примеру в 70 кб в сек., отключаем
//Acquire::http::Dl-Limit "70";

Правим настройки периодичности обновления

nano /etc/apt/apt.conf.d/02periodic

// Включаем обновление
APT::Periodic::Enable "1";
// Проверяем обновления каждый 1 день
APT::Periodic::Update-Package-Lists "1";
// Отключаем загрузку пакетов без установки
APT::Periodic::Download-Upgradeable-Packages "0";
// Применяем обновления каждый 1 день
APT::Periodic::Unattended-Upgrade "1";
// Удаляем устаревшие установочные пакеты каждые 7 дней
APT::Periodic::AutocleanInterval "7";

Логи обновления смотрим тут - /var/log/unattended-upgrades/unattended-upgrades.log.

Указываем время выполнения обновления. Например каждый день в 6:25 утра:

nano /etc/сrontab

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Перезапускаем cron:

/etc/init.d/cron restart


Настройка входа в систему


Автоматический вход с mingetty


Устанавливаем Mingetty: - упрощённый вариант стандартной программы agetty, в задачи которой входит управление доступом к физическим и виртуальным терминалам.:

# aptitude install mingetty

Далее меняем строку настроек в консоли по-умолчанию, вместо root можно указать другой логин.

sed -i '/:2345/s/^/\#/; /:2345/a 1:2345:respawn:\/sbin\/mingetty --autologin root --noclear tty1' /etc/inittab

или вручную

nano /etc/inittab

#1:2345:respawn:/sbin/getty 38400 tty1
1:2345:respawn:/sbin/mingetty --autologin root tty1 linux
2:23:respawn:/sbin/getty 38400 tty2


Автоматический вход с стандартным agetty


Стандартный менеджер входа agetty (util-linux) начиная с v.2.20 содержит функциональность mingetty

Далее настраиваем вход, вместо root пишем нужный логин

nano /etc/inittab

#1:2345:respawn:/sbin/getty 38400 tty2
1:2345:respawn:/sbin/getty --autologin root tty1 linux
2:23:respawn:/sbin/getty 38400 tty2


Настройка сети


Универсальная базовая настройка


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

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

Ищем нашу сетевую карту в списке:

# ifconfig -a

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

Открываем файл конфигурации сети:

# nano /etc/network/interfaces

Строки, начинающиеся со слова "auto", используются для идентификации физических интерфейсов при их подьеме во время запуска ifup с опцией -a. (Эта опция используется сценариями загрузки системы.) Имена физических интерфейсов должны следовать за словом "auto" в той же строке. Может быть несколько строф "auto". ifup поднимет названные интерфейсы в порядке их перечисления.

Строки, начинающиеся с "allow-", используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами. Это может быть сделано, например, с использованием команды "ifup --allow=hotplug eth0 eth1", которая будет поднимать только eth0 или eth1, если они перечислены в строке "allow-hotplug". Учтите, что "allow-auto" и "auto" - синонимы.

Если настройки статические, тогда, к примеру, заполняем так:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
           address 192.168.1.94
           network 192.168.1.0
           netmask 255.255.255.0
           broadcast 192.168.1.255
           gateway 192.168.1.1

Если настройки сети раздаются через DHCP, тогда, к примеру, заполняем по-другому:

auto eth0
allow-hotplug eth0
iface eth0 inet dhcp 

Если необходимо использовать одновременно несколько IP адресов на одной сетевой карте, тогда, к примеру, добавляем строки:

auto eth0:1
iface eth0:1 inet static
           address 192.168.0.94
           network 192.168.0.0
           netmask 255.255.255.0
           broadcast 192.168.0.255

Для настройки DNS нужно редактировать файл /etc/resolv.conf

Статичный DNS, например:

nameserver 10.30.1.11 212.45.2.5
search gspk
domain bober.gspk

Динамический DNS по DHCP вносится в /etc/resolv.conf автоматически.


Настройка в псевдографическом интерфейсе wicd-curses


wicd - cлужба управления проводными и беспроводными сетями для Linux с Qt, GTK+ и curses интерфейсами. Эта служба наиболее удобна, если часто возникает необходимость в быстром подключении к различным сетям.

После первого запуска wicd автоматические переключает все настройки сети на DHCP.

Для управления службой в консоли необходим curses клиент wicd-curses.

# aptitude install wicd-curses

Запускам настройку:

# wicd-curses

Для применения настроек необходимо нажать "Shift+C"


Firewall (брандмауэр, межсетевой экран и т.п.)


Общие сведения


Межсетевой экран - средство контроля и фильтрации сетевых соединений. В защищенной домашней или корпоративной сети установка firewall не актуальна и может принести больше вреда чем пользы. В случае если Ваш компьютер подключен к Интернет, то использование сетевого экрана просто обязательно. В Debian эта задача решается с помощью утилиты Iptables. Эту утилиту можно использовать в "чистом" виде путём ручного ввода команд в консоли, или запускать команды в самописном скипте, либо с помощью различных надстроек, облегчающих формирование сложных команд iptables. В зависимости от поставленной задачи каждый из способов имеет свои достоинства и преимущества.


Apf-firewall


Простой аскетичный аpf-firewall для быстрой защиты сервера без самописных скриптов.

Устанавливаем.

aptitude install аpf-firewall

Правим файл конфигурации

nano /etc/apf-firewall/conf.apf 

# чтобы через 5 минут фаерволл не перестал работать
DEVEL_MODE="0"

# Указываем что у нас монолитное ядро 
SET_MONOKERN="1" 

Сетевая которую будем защищать
IFACE_IN="eth0" 
IFACE_OUT="eth0"

# Это Открываем входящие TCP порты
IG_TCP_CPORTS="22"

# Это Открываем входящие UDP порты 
IG_UDP_CPORTS=""

# Отключаем фильтрацию на исходящих портах
EGF="0"

# Открываем исходящие TCP порты, если EGF="1"
EG_TCP_CPORTS="21,25,80,443,43"

# Открываем исходящие UDP порты, если EGF="1"
EG_UDP_CPORTS="20,21,53" 

Разрешаем запуск

nano /etc/default/apf-firewall 

RUN="yes"

Запускаем firewall

/etc/init.d/apf-firewall start


Vuurmuur (пока только для i386)


Vuurmuur - мощная свободная надстройка к iptables с curses интерфейсом. Псевдографический интерфейс значительно упрощает оперативную работу с сетевым экраном. К сожалению разработка программы заморожена уже более двух лет. Раньше она присутствовала в официальных репозиториях Debian, но была заброшена сопровождающим, что привело к её удалению. Программа полностью документирована и переведена на русский, но к сожалению пока что имеет проблемы отображения русского интерфейса конфигуратора с системной кодировкой UTF8. К сожалению, в официальных репозиториях аналогов найдено не было.

Подключаем "родной" источник установки

echo "deb ftp://ftp.vuurmuur.org/debian/ squeeze main" >> /etc/apt/sources.list

Обновляем список пакетов

aptitude update

Устанавливаем Vuurmuur и утилиту просмотра сетевых соединений conntrack

aptitude install vuurmuur conntrack -r

Разрешаем автозапуск

nano /etc/default/vuurmuur

VUURMUUR_START=1

Запускаем службу

/etc/init.d/vuurmuur start

Запускаем конфигуратор

LANG=en vuurmuur_conf

vur 1.JPG

1. Настраиваем пути к служебным утилитам Vuurmuur Config --> General

vur 2.JPG

2. Настраиваем interfaces, т.е. указываем с какими сетевыми картами будем работать.

Будьте внимательны - опция Active в настройках должна быть Yes, иначе Vuurmuur будет их игнорировать.

vur 3.JPG

3. Смотрим Services, если нет нужных добавляем свои. Я добавил входящий порт для Web морды SWAT.

vur 4.JPG

4. Настраиваем Zones, т.е. делим и\или объединяем наши сети в "зонах" на "свои" и "чужие". Каждая "зона" может содержать несколько сетей, хостов (т.е. компьютеров в сети) и групп хостов. Я создал две.

vur 5.JPG

5. В каждую из "зон" я добавил по одной соответствующей ей сети: интернет

vur 6.JPG

vur 7.JPG

6. В "домашнюю зону" я добавил хост, т.к. для него будут отдельные правила доступа.

vur 8.JPG

7. Настраиваем "rules", т.е. правила доступа в сети. Ниже переброс портов на комп локальной сети временно отключен.

vur 9.JPG

vur 10.JPG

Настройки применяем в главном меню нажав F11.

Решение проблем.


Локализация


Глобальные параметры локализации системы


Смотрим текущую локаль:

$ locale

Кроме LC_ALL все параметры должны быть ru_RU.UTF-8.

Если это не так, тогда запускаем настройку

# dpkg-reconfigure locales

Если системная локаль не применяется к пользователю, то стоит посмотреть файл настроек интерпретатора командной строки (bash, dash, ash) в домашнем каталоге пользователя.


Поддержка кириллицы в консоли


См. примечания 2

Настраиваем кириллицу в консоли

Устанавливаем пакет console-cyrillic:

# aptitude install console-cyrillic

Настраиваем все параметры пакета:

# dpkg-reconfigure console-cyrillic


Удаление неиспользуемых файлов локализации


localepurge - утилита для удаления ненужных локализаций, документации и прочего. При установке пакета с помощью debconf выводится список языков в различных кодировках, отметить следует только нужные вам локализации. Рекомендуется сперва сделать backup системы и добавить к нужным английскую локализацию. В дальнейшем утилита будет автоматически запускаться и чистить файлы сразу после установки любых пакетов.

# aptitude install localepurge

Удаление происходит при запуске утилиты:

## localepurge
localepurge: Disk space freed in /usr/share/locale: 345340 KiB
localepurge: Disk space freed in /usr/share/man: 2060 KiB
localepurge: Disk space freed in /usr/share/gnome/help: 65770 KiB
localepurge: Disk space freed in /usr/share/omf: 435 KiB

Total disk space freed by localepurge: 413605 KiB

Если вдруг понадобились удаленные языковые файлы, вернуть их можно так:

apt-get --reinstall install $(dpkg -S LC_MESSAGES | cut -d: -f1 | tr ', ' '
' | sort -u)


Загрузчик


GRUB2


Решение проблем


Кракозябры


При установке корневого раздела на зашифрованный диск GRUB может в главном меню показывать кракозябры. Это происходит из-за недоступности стандартного шрифта /usr/share/grub/unicode.pf2. Копируем шрифт

cp /usr/share/grub/unicode.pf2 /boot/grub/

Указываем настройку

nano /etc/default/grub

GRUB_FONT=/boot/grub/unicode.pf2

Применяем настройку:

update-grub


Служебные программы


Файловый менеджер Midnight Commander


Устанавливаем mc: - один из лучших инструментов для быстрой навигации по файловой системе компьютера в консоли:

# aptitude install mc

См. примечание 3


Утилита-мультиплексор Screen


Устанавливаем screen: - утилиту-мультиплексор, предоставляющую пользователю доступ к нескольким сессиям в рамках одной сессии.:

# aptitude install screen

Далее настраиваем:

nano /etc/screenrc

# Отключаем приветствие
startup_message off
# Производить отключение сессии при разрыве связи с терминалом
autodetach on
# Включаем строку состояния
hardstatus on
# Параметры строки состояния
hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "

или одной командой:

sed -i 's/^#startup_message.*/startup_message off/; s/^#autodetach.*/autodetach on/; s/^hardstatus off.*/hardstatus on/; s/^hardstatus string.*/hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "/' /etc/screenrc


Просмотр процессов Htop


Устанавливаем htop: - "Диспетчер задач" для нашей системы

# aptitude install htop


Утилита для просмотра текста в консоли Less


Устанавливаем less: - позволяет прокручивать текст на экране вверх\вниз

# aptitude install less

Пример использования

# ifconfig -a | less
     Клавиши ↑ и ↓ позволят прокручивать текст
     Для выхода нужно нажать Esc


Набор утилит для диагностики DNS


Устанавливаем dnsutils: - получаем утилиту nslookup, позволяющую быстро диагностировать проблемы преобрзования доменных имен в IP адреса.

# aptitude install dnsutils

Пример использования: получаем IP адрес сервера lenta.ru. Если dns не работает, либо настроен неправильно, тогда получить такую информацию не удастся

root@tt400:~# nslookup lenta.ru
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   lenta.ru
Address: 81.19.85.116

Или более мощный варинант

dig @8.8.8.8 -p 53 lenta.ru 


Утилита для просмотра загрузки сети nethogs


Устанавливаем nethogs: - получаем утилиту наглядно отображающую какой процесс насколько сильно и какую нагружает сетевую карту.

# aptitude install nethogs

nethogs1.JPG


Утилиты для определения оборудования hwinfo и lshw


Устанавливаем hwinfo: и lshw: - позволяют выборочно просматривать свойства программных и аппаратных компонентов компьютера

Достоинства и недостатки: hwinfo выводит более подробную информацию, чем lshw, но устанавливает дополнительные библиотеки и постоянно работающую службу dbus.

# aptitude install hwinfo lshw

Эти программы по умолчанию выводят всю собранную информацию, что сильно затрудняет поиск нужных сведений. Поэтому lshw полезно запускать с флагом -C и указанием раздела (display, network и т.д.). В этом случае программа покажет сведения только об указанном разделе. Аналогично осуществляется выборка и в hwinfo

Сначала получаем списки доступных разделов сведений о компьютере

# hwinfo --h
# lshw | less

Пример выбора раздела в hwinfo - просмотр сведений о видеокарте:

# hwinfo --gfxcard

Пример выбора раздела в lshw - просмотр сведений о сетевых соединениях:

# lshw -c network

Эта команда отобразит всю доступную информацию о ваших сетевых устройствах (проводных и беспроводных): от возможностей до драйверов и так далее. Важнее всего проверить, не отключено ли устройство и указан ли драйвер. Драйвер должен появиться в последней строке секции об этом устройстве и обозначен как «driver=имя_драйвера»


Службы, демоны и сервисы


Управление запуском служб


sysv-rc-conf: - утилита с curses интерфейсом, преназначенная для быстрого управления работой и запуском служб (демонов, сервисов). Очень удобна для просмотра установленных служб в системе.

# aptitude install sysv-rc-conf

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


Служба удаленного доступа ssh


Устанавливаем ssh: - комплекс программ, позволяющих соединяться с удалёнными машинами по защищённому каналу и выполнять команды в консоли:

# aptitude install ssh

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


Авторизация по ключам


Генерация ключей


Вариaнт 1 (подходит для putty и native ssh клиентов Linux)


Выбираем пользователя на сервере под которым будем логиниться в ssh. Например это будет "user". Входим с его правами в консоль. Далее генерируем ключи, при желании указываем пароль на создаваемый ключ.

ssh-keygen -t rsa -b 2048 -C "комментрий к ключу" -f /user/.ssh/newserver.key

В итоге получаем в "/user/.ssh/" два файла "newserver.key" и "newserver.key.pub"


Вариaнт 2 (для всех + проприетарный Bitvise Tunnelier)


К сожалению, я не нашёл способа сконвертировать OpenSSH ключи в понятный Tunnelier-у формат. Поэтому действовать будем от обратного.

На Windows машине запускаем Bitvise Tunnelier. На вклaдке "Login" выбираем раздел "Authentickation" --> "Use keypair manager". В новом окне жмём "Generate New ...", выставляем опции на свой вкус --> "Generate". Далее выбираем "Export" и сохраняем любым удобным способом публичный ключ в формате OpenSSH в файл /user/.ssh/newserver.key.pub на ssh сервере.

ssh2.JPG

Для использования в других ssh клиентах аналогично экспортируем и закрытый ключ. В итоге получаем в "/user/.ssh/" два файла "newserver.key" и "newserver.key.pub"


Настройка сервера


Перемещаем открытый ключ в список разрешённых ключей Например так

mv /user/.ssh/newserver.key.pub /user/.ssh/authorized_keys

Правим конфигурацию сервера

nano /etc/ssh/sshd_config

# Разрешаем авторизацию по парам ключей
PubkeyAuthentication yes
# Путь к списку отпечатков открытых ключей
AuthorizedKeysFile      %h/.ssh/authorized_keys

Перезапускаем сервер

/etc/init.d/ssh restart


Настройка клиента


Выбираем пользователя на клиенте под которым будем логиниться в ssh. Например это будет "user". Логинимся по юзером. Любым удобным способом копируем сгенерированный ранее файл newserver.key в папку /home/user/.ssh. Если хочется, чтобы ssh клиент подхватывал ключ автоматически, сохраняем ключ с новыми именем "id_dsa"

Выставляем права доступа, иначе ssh клиент проигнорирует ключ.

cd /home/user
chmod 700 ./.ssh
chmod 600 ./.ssh/newserver.key

Запускаем ssh клиента.

ssh -i /home/user/.ssh/newserver.key user@192.168.0.1

Всё должно работать.


Настройка Putty


К сожалению, Putty не понимает ключи в формате OpenSSH. Поэтому загружаем latest development snapshot Puttygen. Обычный Puttygen нам не подойдёт.

Скармливаем проге наш newserver.key (Conversions --> Import key), если нужно вводим пароль для доступа ключу. Получаем окно

ssh1.JPG

Если надо меняем комментарий и пароль доступа к ключу. В разделе "Parameters" рекомендую выбрать SSH-2 RSA и 2048 bits. Далее жмём "Save private key" и получаем ключ в формате ppk, пригодный для скармливания обычному Putty в разделе Сonnection --> SSH --> Auth


Усиленные настройки безопасности


Рекомендую следующие настройки

nano /etc/ssh/sshd_config

#Запрещаем вход под root
PermitRootLogin no
# Меняем порт по умолчанию - может помочь против поверхностного сканирования портов
Port 17854
# Указываем на каком IP слушать порт
ListenAddress 192.168.0.1
# Запрещаем вход по паролям, усложняет брутфорс
PasswordAuthentication no
# Запрещаем пустые пароли
PermitEmptyPasswords no


Параноидальные настройки безопасности (knock)


Служба обновления микрокода процессоров Intel


Устанавливаем intel-microcode: - комплекс программ, позволяющих загрузить c cайта Intel обновлённый микрокод для Вашего Intel процессора и обновить его в процессоре сразу после включения компьютера. Обновлённый микрокод исправляет ошибки и оптимизирует работу процессоров Intel, что наиболее актуально для современных процессоров.

Во время установки нам будет предложено скачать новую версию микрокода, соглашаемся.

# aptitude install intel-microcode

Автоматически происходит только обновление микрокода в процессоре, загружать новый микрокод с сайта Intel нужно вручную:

# /usr/sbin/update-intel-microcode  


Служба управления скоростью вращения вентиляторов fancontrol


Устанавливаем fancontrol: - службу, которая в зависимости от температуры оборудования устанавливает необходимую скорость работы вентилятора. На многих современных компьютерах и даже на не очень современных ноутбуках эта служба уже реализована средствами BIOS, и устанавливать fancontrol просто не необходимости.

Устанавливаем службу:

# aptitude install lm-sensors -r 

Определяем датчики

# sensors-detect  

Чтобы не перезагружать компьютер заново загружаем модули

/etc/init.d/module-init-tools

См. примечание 4

Смотрим показания датчиков

sensors

Далее настраиваем вывод программы:

Для поиска понятных названий датчиков можно воспользоваться:

Если нашли кто есть кто, тогда смотрим название датчика

sensors | head -1

Перемещаем оригинальный файл.

mv /etc/sensors3.conf /etc/sensors3.conf.BAK

Cоздаём новый конфиг и правим его (Пример для ASUS p4p800)

nano /etc/sensors3.conf

# Указываем системный датчик

chip "w83627thf-isa-0290"

# Игнорируем неопознанные датчики

ignore in1
ignore in3
ignore in4
ignore in7
ignore in8
ignore fan3
ignore temp3

# Указываем правильное название датчика

label temp2 "CPU Temp"
label temp1 "MB Temp"
label fan1 "System Fan"
label fan2 "CPU Fan"
label in0 "Vcore"
label in2 "3.3V"

# Задаём max значения датчиков и уровеня отключения тревоги (ALARM)

set temp1_max 60
set temp1_max_hyst 50
set temp2_max 80
set temp2_max_hyst 60

# Указываем min PWM вентиляторов
set fan1_div 2
set fan1_min 0
set fan2_div 2
set fan2_min 0


# Указываем норму отклонения напряжения не более 5%
set in2_min  3.3 * 0.95
set in2_max  3.3 * 1.05
set in0_min  1.95 * 0.95
set in0_max  1.95 * 1.05

Чтобы sensors применил настройки проверено помогала только перезагрузка ПК.

Далее внимательно читаем и настраиваем fancontrol

pwmconfig

Перезапускаем службу для применения новых настроек

/etc/init.d/fancontrol restart

(./) Далее наслаждаемся тишиной 8)


Установка системного времени и его автоматической раздачи/обновления(NTP)


С консоли время в системе можно установить так:

# date MMDDhhmmCCYY.ss
#или
# date --set 4/13/2004 
# date --set 14:46:27

Где MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды.

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

# aptitude install ntp

По-умолчанию все настройки рабочие. Время забирается с сервера ntp.pool.org, служба автоматически синхронизирует время сразу после запуска. Настройки службы находятся в файле /etc/ntp.conf. Для раздачи времени в локальной сети нужно раскомментировать строку "broadcast" и добавить широковещательный адрес вашей сети.

Пример для сети 192.168.0.xx

broadcast 192.168.0.255

Перезапускаем службу для применения новых настроек

/etc/init.d/ntp restart

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

Если вам не нужно раздавать время на другие машины, можете довольствоваться пакетом ntpdate, который не запускает свой демон при старте системы.

# aptitude install ntpdate
# ntpdate-debian
# ntpdate-debian -bs

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


Служба загрузки torrent Transmission


Устанавливаем transmission-daemon: - простой и не прожорливый до ресурсов torrent клиент.

# aptitude install transmission-daemon acl.

Останавливаем службу

/etc/init.d/transmission-daemon stop

Создаём папку для хранения загружаемых файлов

mkdir /mnt/data/downloads

Открываем полный доступ к папке только для пользователя debian-transmission

Если у Вас папка не на разделе ХFS, то смотрим примечание 5

setfacl -m u:debian-transmission:rwx /mnt/data/downloads

Правим файл конфигурации

nano /etc/transmission-daemon/settings.json

    "blocklist-enabled": false, 
    "download-dir": "/mnt/data/downloads", 
    "encryption": 1, 
    "peer-port": 52413, 
    "preallocation": 1, 
    "rpc-authentication-required": true, 
    "rpc-enabled": true, 
    "rpc-password": "password", 
    "rpc-port": 8091, 
    "rpc-username": "user", 
    "rpc-whitelist-enabled": false, 

Чтобы не засорять daemon.log настраиваем вывод в отдельный лог файл:

mkdir -p /var/log/transmission
echo > /var/log/transmission/transmission.log
setfacl -m u:debian-transmission:rwx /var/log/transmission

Указываем путь к лог файлу (можно и в /dev/zero)

nano /etc/default/transmission-daemon
...
OPTIONS="--config-dir $CONFIG_DIR --logfile /var/log/transmission/transmission.log"

Запускаем службу для применения новых настроек

/etc/init.d/transmission-daemon stop start

Далее можно управляеть загрузками по адресу http:\\ip_сервера:8091, либо с помощью клиентских программ. Также не забываем открыть порт 52413 для входящих соединений.


Служба доступа к файлам и принтерам SMB (CIFS)


Устанавливаем samba: - набор утилит и служб, которые реализуют протокол SMB/CIFS в системах Unix, позволяя обслуживать запросы к файлам и принтерам

Устанавливаем

aptitude install samba samba-common-bin acl:
dpkg-reconfigure samba
dpkg-reconfigure samba-common

Выставляем базовые настройки:

nano /etc/samba/smb.conf

[global]
# сначала требуем вход с локальными логином и паролем клиента
security = user
# Если будет получен неправильный пароль, то клиенту будет дан гостевой доступ.
map to guest = Bad Password
# Принуждаем клиентов заходить под своим именем
client schannel = Yes
# Используем защищенную процедуру аутентификации
server schannel = Yes
# Работает только на нужной сетевой карте
interfaces = eth1

Далее для примера решаем 2 типовые задачи:

1. Открываем папку для любых пользователей с правом на запись.

Создаём папку и выставляем разрешения

mkdir /mnt/data/share && chmod 777 /mnt/data/share

Вносим новые настройки в файл /etc/samba/smb.conf

# nano /etc/samba/smb.conf

[share]
path = /mnt/data/share/
browsable = yes
read only = no
guest ok = yes

2. Открываем папку только для пользователя Ivan с правом на запись.

Смотрим список пользователей в системе и в БД samba

cat /etc/passwd | cut -d: -f1
pdbedit -L

Создаём локального пользователя без права входа в систему и задаем пароль

useradd -c "Ivan" -m -g users Ivan -s /bin/false && passwd Ivan

Создаём пользователя в базе пользователей samba.

smbpasswd -a Ivan

Автоматически для пользователя будет создана и расшарена домашняя папка /home/Ivan доступная по сети только ему. Если надо отменяем расшаривание домашних папкок, удаляя или комментируя раздел [homes] в /etc/samba/smb.conf

Создаём папку и выставляем разрешения

Если у Вас папка не на разделе ХFS, то смотрим примечание 5

mkdir /mnt/data/doc && setfacl -m u:Ivan:rwx /mnt/data/doc

Вносим новые настройки в файл /etc/samba/smb.conf

# nano /etc/samba/smb.conf

[doc]
path = /mnt/data/doc/
browsable = yes
read only = no
guest ok = no

Перезапускаем samba для применения новых настроек

smbcontrol smbd reload-config

Если надо смотрим подключенных к шарам пользователей

smbstatus


Корзина для Samba


Создаём файл конфигурации

nano /etc/samba/recycle.conf

##Recycle Bin Configuration File##
repository = .recycle/%U
mode = KEEP_DIRECTORIES|VERSIONS|TOUCH
maxsize = 0
exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.trace
excludedir = /tmp|/temp|/cache
noversions = *.doc|*.ppt|*.dat|*.ini
keeptree = Yes
versions = Yes

Добавляем к каждой из выбранных расшаренных папок строки:

nano /etc/samba/smb.conf
...
vfs object = recycle
config-file = /etc/samba/recycle.conf

Теперь в каждой шаре у нас при удалении создаться каталог .recycle и в нём будут все удалённые файлы. Чистить эту «Корзину» нужно в ручную


Принтеры для Samba


Сперва настраиваем принтер

Далее вносим настройки:

nano /etc/samba/smb.conf

[global]
...
load printers = yes
printing = cups
printcap name = cups
...
[printers]
browseable = yes
printable = yes
guest ok = yes

Перезапускаем samba для применения новых настроек

smbcontrol smbd reload-config

Далее для Windows клиентов принтер устанавливается также, как и любой другой расшаренный из Windows принтер


Проблемы, которые не удалось решить



Служба Web интерфейса для администрирования Samba


Устанавливаем swat: - веб-инструмент управления Samba.

Примечание - после установки SWAT 2:3.5.6 аккуратно подхватывает настройки из smb.conf, вносит свои и удаляет ВСЕ параметры которые система использует по-умолчанию.

Устанавливаем swat и документацию к samba

aptitude install swat samba-doc

После установки SWAT будет доступен по адресу http:\\ip_сервера:901.

Для применения внесённых изменений в SWAT изменений нужно на вкладке STATUS нажать кнопку "Перезапустить всё"


Служба Web-сервера


Apache2


Устанавливаем apache2: - самый функциональный и популярный Web сервер в мире. Рекомендуется новичкам, т.к. многие Web интерфейсы (например Zabbix, Mantiss b т.д.)по-умолчанию подстроены именно по него.

Сперва нужно определиться, что нам важнее - стабильность или скорость? Если скорость тогда так

aptitude install apache2-mpm-worker apache2

если надёжность и совместимость, то

aptitude install apache2-mpm-prefork apache2

Далее можно очень просто открыть доступ к файлам по протоколу http.

Например хотим открыть доступ к /mnt/data/

ln -s /mnt/data /var/www

Далее в браузере открываем адрес http://ip_адрес/data


Прикручиваем поддержку PHP5


Устанавливаем php5: - скриптовый язык программирования общего назначения. Необходим для множества Web-интерфейсов.

aptitude install php5 libapache2-mod-php5

Перезапускаем Apache2

/etc/init.d/apache2 restart

Создаём файл для проверки

nano /var/www/test.php

# test.php
<?php phpinfo(); ?>

Далее в браузере открываем адрес http://ip_адрес/test.php. Если всё работает, то увидим много интересного.


Служба сервера БД MySQL


Устанавливаем mysql-server: - попyлярный сервер БД, требует не менее 256 МБ памяти. Необходим для множетсва Web интерфейсов. Устанавливаем

aptitude install mysql-server mysql-client

Не забываем написать где-нибудь пароль root


Служба анонимного доступа TOR


_В разработке

aptitude install tor


Служба обновления имени домена для динамических IP адресов ddclient


Устанавливаем ddclient: - службу, позволяющую привязать динамический IP от вашего провайдера к бесплатному домену второго уровня (например от dyndns.org)

Регистрируемся на сайте dyndns.org и в итоге бесплатно получаем username, пароль и доменное имя. Я выбрал себе ххххх.dyndns.org

aptitude install ddclient

При установке скармливаем конфигуратору имя, пароль и домен. Для проверки работы этой службы можно использовать сайт http://ping.eu

Теперь служба будет автоматически обновлять Ваш IP в DNS сервере при его смене.


Сглаживание шрифтов

Активация сглаживания шрифтов


Примечания


Примечание 1 (настройка aptitude)


По-умолчанию aptitude устанавливает рекомендумемые пакеты. Если это не нужно, к консольной команде установки следует добавить ключ "-R", либо в curses интерфейсе в настройках запретить автоустановку.

}}}


Примечание 2 (ошибка запуска сети)


Если установка проводилась по сети с настройкой по DHCP, то после перезагрузки сетевой интерфейс eth0 может не запуститься автоматически, а значит вы не сможете устанавливать новые пакеты из сети. Для решения проблемы настраиваем eth0:

 nano /etc/networking interfaces
     Перед строкой "iface eth0 inet dhcp" добавляем новую строку "auto eth0"

Применяем настройки:

# /etc/init.d/networking restart


Примечание 3 (настройка мс)


Яркие синие цвета в mc некоторым уже могли надоесть. Чтобы изменить цвета нужно закрыть mc (чтобы настройка не затёрлась самим мс ). Папка .mc создаётся в домашней директории вашего пользователя при первом запуске mc.

sed -i 's/^base_color=.*/base_color=normal=cyan,default::selected=black,cyan:directory=cyan,default:marked=brightgreen,default:errors=red,default:marked=yellow,default:executable=brightred,default:marked=brightgreen,default:link=grey,default:marked=brightgreen,default:device=brightmagenta,default:marked=brightgreen,default:menuhot=black,cyan:menusel=cyan,black:menuhotsel=gray,black:menu=black,cyan:helpnormal=cyan,black:editnormal=cyan,black:editbold=yellow,black:editmarked=cyan,black/; s/^confirm_delete=1*/confirm_delete=0/; s/^confirm_exit=1.*/confirm_exit=0/' /root/.mc/ini


Примечание 4 (ошибка pcspkr)


В Debian 6 при запуске ядро по-умолчанию пытается загрузить уже задействованный модуль системного динамика, о чём и выдает ошибку. Исправляем баг.

echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf


Примечание 5 (setfacl неподдерживаемая операция)


Для устранения ошибки файловая система должна быть смонтирована с опцией acl. Для XFS эта опция применяется по-умолчанию.