Установка Linux Debian на сервер
В данной статье, детально рассмотрим установку операционной системы Linux на базе дистрибутива Debian. Первым делом, идем на официальный сайт разработчика и качаем установочный образ. Мне нравится вариант который содержит только саму операционную систему и минимальное количество ПО, так называемый - netinst. К тому же для сервера этот вариант подходит куда лучше, т.к в процессе настройки мы не ставим ничего лишнего, только пакеты под конкретную серверную роль. Если требуется установить OS Linux на реальный сервер, то предварительно понадобится подготовить установочный usb диск. Под Windows или Linux с этой задачей прекрасно справится утилита UNetbootin. или Rufus. Перед использованием утилиты под Windows важно отформатировать usb-накопитель в FAT32.
В рамках данного руководства будем инсталлировать систему на виртуальную машину. В самом начале нам доступно несколько режимов установки:
Graphical Install - графический режим установки (по умолчанию);
Install - текстовый режим установки (отличается от графического, простым визуальным стилем и тем что в нем не доступна мышь);
Advanced options - дополнительные параметры установки;
Help - помощь;
Install with speech synthesis - Установка с использованием речевого синтеза;
Переходим в Advanced options и видим следующие пункты меню.
Graphical expert install - Экспертная установка в графическом режиме;
Graphical rescue mode - Режим восстановления в графическом режиме (в случае если установка в обычном режиме завершилась не удачей);
Graphical automated install - Автоматическая установка в графическом режиме (используется специальный файл ответов, позволяющий полностью автоматизировать процесс установки);
Expert install, Rescue mode, Automated install - аналогичные опции в текстовом режиме;
Speech-enabled advanced options - Дополнительные опции речевого синтеза.
Выбираем режим экспертной установки (Graphical expert install). Попадаем в главное меню установки Debian.
Пока это не все доступные пункты меню, по мере продвижения, список доступных опций будет увеличен.
На экране Choose language выбираем язык, на котором хотим что бы отображался процесс установки, данный выбор повлияет так же на язык который будет по умолчанию в системе.
Затем зададим местонахождение, региональные настройки (локалей). Дополнительные локали если требуется.
Далее настроем клавиатуру, раскладку и зададим комбинацию клавиш для переключения между раскладками.
Далее переходим к пункту: Поиск и монтирование CD-ROM.
Если установка производится с usb носителя как в нашем случае, то программа установки предложит установить модуль usb-storage. Соглашаемся и ждем продолжить.
В случае успеха программа установки сообщит нам от том что компакт-диск Debian GNU/Linux успешно определен. Жмем продолжить.
Затем переходим к пункту меню: Загрузка компонентов программы установки с компакт-диска. Отмечаем необходимые компоненты если требуется. Выбор некоторых пунктов приведет к появлению дополнительных более сложных параметров установки, таких например как: настройка и установка PPPoE соединения, продолжение установки через SSH, установка с малым объемом оперативной памяти, установка шифрования, поддержка файловой системы ntfs и др. Поскольку данный набор компонентов затрагивает только процесс установки, то не вижу смысла здесь что либо выбирать.
Жмем продолжить и переходим к следующим пунктам меню: определению сетевой карты и настройке сети. Сетевая карточка определяется быстро, а в меню "Настройка сети" необходимо выбрать либо автоматическая установка, при наличии DHCP-сервера в сети, либо задать параметры вручную.
Для наглядности настроим сеть вручную. Поэтому отмечаем "Нет" и жмем "Продолжить" :)
Задаем IP-адрес с маской подсети, шлюз и dns. В итоге должны получить следующую картинку.
Если информация верна, жмем Продолжить. Позже, можно будет поменять эти параметры отредактировав файл /etc/network/interfaces. На следующем экране, задаем время ожидания в секундах, жмем "Продолжить". Затем, зададим имя нашей машине и домен.
Имя домена желательно использовать отличное от .local т.к. данный домен зарегистрирован для служебных целей.
Если в будущем планируется разворачивать на данной машине почтовый сервер, то правильнее будет указать доменное имя, которое соответствует реально существующей записи на DNS-сервере, в формате: company.com. Позже сетевое имя машины и домен можно будет поменять в файлах: /etc/hostname и /etc/hosts. Жмем "Продолжить" и переходим к следующему пункту "Настройка учетных записей пользователей и паролей".
Соглашаемся с мастером установки и разрешаем включение теневых shadow паролей и не разрешаем вход в систему суперпользователем "root", что означает, что все административные задачи можно будет выполнять от имени обычного пользователя, но с использованием sudo - специальной программы, позволяющей повышать привилегии пользователя до root. На последующих экранах задаем полное имя нашей будущей "не административной" учетной записи, например "Vasya Pupkin" и краткое имя пользователя, как оно будет в системе, т.е. "Vasya". Жмем "Продолжить".
Затем задаем "хороший" пароль для нашей "не административной" учетной записи, жмем "Продолжить".
Далее настроим время, согласимся с настройкой протокола ntp и сервером ntp по умолчанию.
Дожидаемся завершения настройки ntp, переходим к выбору часового пояса.
Позже часовой пояс можно будет поменять при помощи команды:
dpkg-reconfigure tzdata
Далее переходим к разделу определения дисков, который занимает считанные секунды. Затем подробно рассмотрим процесс по разметке и созданию разделов.
Доступны следующие варианты для выбора:
Авто - использовать весь диск. Это так называемая "направляющая разметка" - наиболее простой способ разметки с наименьшим количеством возможных параметров. После выбора диска пользователю будет предложено выбрать один из 3-х возможных вариантов настройки файловой системы и точек монтирования:
- Всё файлы в одном разделе. Все дерево файловой системы Linux хранится в единственной корневой директории - "/". Это простая и надежная разметка для личных и однопользовательских систем. На самом деле, при любом сценарии будет создан и второй раздел под виртуальную память - swap.
- Корневой раздел - "/" и отдельный раздел для /home - домашний каталог пользователя, и так же раздел под swap.
- Отдельные разделы для /home - пользовательские данные, /var - изменяемые данные и /tmp - временные файлы и swap. Данный вариант больше подходит для серверов и многопользовательских систем.
Авто - использовать весь диск и настроить LVM. Аналогично первому варианту, только в конце будет запущен мастер для разметки дисков с использованием менеджера логических томов (Logical Volume Manager). Основное предназначение LVM - это возможность производить операции по изменению разделов (сжатию\расширению\присоединения физических дисков) "на лету" без необходимости в "размонтировании" файловой системы. Делать снимки (snapshots) текущего состояния системы, т.е. использовать как систему резервного копирования. LVM - незначительно снижает производительность дисковой системы, что компенсируется возможностью достаточно легко изменять размеры разделов без привязки к конкретным размерам носителей. Поэтому использовать данную технологию или нет решать вам. Для примера, вот так выглядит автоматическая разметка первого диска в системе c использованием LVM.
Авто - использовать весь диск с шифрованным LVM. Аналогично предыдущему варианту, только дополнительно предлагается зашифровать систему, использую одну из поддерживаемых систем шифрования, по умолчанию используется алгоритм шифрования dm-crypt: aes-256, xts-plain64. Зашифровать можно все разделы, включая swap (рекомендуется), за исключением /boot, т.к. шифрование загрузочного раздела пока не поддерживается и не включено в ядро системы. Вся настройка в данном режиме сводится к созданию надежной ключевой фразы и выбору алгоритма шифрования отличного от по умолчанию, если требуется. Шифрование естественным образом будет так же замедлять работу системы, так как при каждом чтении и записи данных происходит операция по шифрованию и дешифрованию. Насколько сильно будет зависть от быстродействия процессора, выбранного алгоритма шифрования и длины ключа. Пример разметки шифрованного диска в системе, с использованием LVM.
В данной статье подробную настройку шифрованных разделов и LVM рассматривать не будем, это тема отдельной статьи. Перейдем к последнему пункту меню - к ручной разметке диска. Вручную. Данный вариант позволяет наиболее подробно рассмотреть процесс разметки диска, что нам и нужно. В самом начале выберем диск который хотим разметить.
Жмем Продолжить. Соглашаемся с выбором по созданию пустой таблицы разделов. Говорим Да.
Далее, выберем типа таблицы разделов. По умолчанию: msdos и это правильно.
Жмем продолжить. Теперь видим что у нашего первого диска появилась не размеченная свободная область. Отмечаем ее для редактирования и жмем "Продолжить".
Здесь нам сразу же предлагают создать новый раздел. Соглашаемся.
Первым разделом на диске у нас будет загрузочный /boot. В этом разделе размещаются файлы загрузчика, которые считываются при старте Grub, а также ядро и initrd образ. Отдельный раздел под /boot имеет смысл, когда вы хотите экспериментировать с различными файловыми системами, которые не достаточно хорошо поддерживаются GRUB. Долгое время так было с btrfs и f2fs. Так же в системах с RAID-контроллером, некоторые BIOS не позволяют грузится с него, поэтому приходится выносить раздел /boot на отдельный диск не в рейде. При использовании LVM ситуация аналогичная. В GRUB2 данные проблемы решены. Если вам не нужен LVM и RAID то в большинстве случаев делать отдельный /boot раздел смысла не имеет. По умолчанию установщик автоматически выделяет под данный раздел - 250мб, но при ручном режиме установки можно выделить и больше. Главное понимать зачем это нужно.
Выделим по данный раздел 300мб, файловая система пусть будет ext4. Тип раздела "Первичный", в начале диска.
Точку монтирования зададим как /boot, и пометим раздел загрузочным. Остальные параметры оставляем как есть. Отмечаем пункт "Настройка раздела закончена". Жмем Продолжить.
Переходим к экрану разметки дисков и снова отмечаем свободное пространство на диске, жмем "Продолжить".
Следующим разделом будет swap - раздел под виртуальную память. Зададим ему объем равный объему оперативной памяти, как и рекомендует руководство debian. На нашей виртуальной машине всего 1Gb, поэтому его и указываем. Жмем Продолжить.
Далее выбираем тип нового раздела "Первичный", местоположение "Начало". Затем в первой строке "Использовать как...", выбираем "раздел подкачки", метка 'загрузочный' в состоянии "выкл". Выбираем "Настройка раздела закончена" и жмем "Продолжить".
В итоге должны получить следующую картинку.
Теперь снова отмечаем не размеченную область, где у нас свободное место и жмем "Продолжить". Так же создаем новый раздел и выделяем под него оставшееся пространство, тип раздела первичный. В итоге настроим наш основной раздел следующим образом:
- Тип файловой системы: "Журналируемая файловая система Ext4";
- Точка монтирования - / - корень диска, где будет хранится основное содержимое включая /home, /user, /tmp /srv и.т.д., за исключением директории /var - для которой у нас приготовлен второй диск;
- Параметры монтирования: default;
- Метка - произвольное имя, я прописал: sys;
- Зарезервированные блоки: 5% (по умолчанию);
- Обычное использование: стандарт;
- Метка загрузочный: вкл;
Выбираем, настройка раздела закончена и жмем "Продолжить". Теперь переходим к следующему диску, жмем "Продолжить".
Аналогичным образом настроим второй диск. Создаем новую таблицу разделов, тип раздела: msdos. Затем новый раздел, используя все пространство диска, тип раздела: первичный. В итоге настроим наш второй диск следующим образом:
- Тип файловой системы: "Журналируемая файловая система Ext4";
- Форматировать раздел: "Да, форматировать"
- Точка монтирования - /var или /var/mail - изменяемые данные, которые будут у нас использоваться в качестве хранилища почтовых сообщений. Например для популярной почтовой сборки iRedMail достаточно указать /var т.к. конечной директорией хранилища будет /var/vmail. Для других систем можно вручную прописать /var/mail;
- Параметры монтирования: default;
- Метка - произвольное имя, я прописал: mail;
- Зарезервированные блоки: 5% (по умолчанию);
- Обычное использование: стандарт;
- Метка загрузочный: выкл;
Жмем 'Продолжить". Затем в главном меню, выбираем "Закончить разметку и записать изменения на диск" и завершаем настройку по разметке дисков очередным "Продолжить".
Соглашаемся записать изменения на диск. Дожидаемся форматирования, переходим к установке базовой системы. На данном этапе происходит распаковка и настройка всех основных файлов системы.
На завершающем этапе, система предложит нам выбрать одно из ядер. Выберем то что предлагается по умолчанию, если вдруг что то пойдет не так, всегда можно повторить процесс установки и выбрать другое ядро.
Затем установщик предложит нам выбрать, какой набор драйверов мы хотим включить в образ initrd, специализированный содержащий только необходимые для данной системы драйверы, или общий, содержащий все драйверы и программы, позволяющий загрузить компьютер почти с любым набором аппаратного обеспечения. initrd - это сокр. от Initial Ram Disk - диск в оперативной памяти необходимый для начальной загрузки. Содержит мини образ корневой файловой системы, который загружается в память и позволяет смонтировать настоящую корневую файловую систему. Что бы процесс монтирования осуществился, образ initrd должен содержать все необходимые для этого процесса драйверы, библиотеки и программы. Программа установки Debian, в свою очередь предлагает нам выбрать, какой набор драйверов использовать для включения в initrd. Выберем специализированный набор, с ним обычно не возникает проблем, особенно на простых системах, без спец. контроллеров и прочего.
Далее переходим к настройке менеджера пакетов. На предложение просканировать другой CD\DVD-диск выберем "Нет" и жмем "Продолжить".
Затем соглашаемся использовать зеркало архива из сети. Жмем Да, протокол загрузки файлов - http. Далее выбираемым страну и адрес зеркала из списка. Жмем Продолжить.
На следующем экране укажем адрес прокси сервера если нужно. На вопрос использовать несвободное ПО или нет в составе дистрибутива, отвечаем утвердительно, хотя это вопрос индивидуальных предпочтений и решать вам.
Затем, на предложение включить репозитории исходных пакетов APT выбираем ДА. Дожидаемся процесса установки. Далее, соглашаемся активировать сервисы для получения обновлений безопасности (с security.debian.org) и обновлений выпуска. Жмем "Продолжить".
Переходим к пункту меню: "Выбор и установка программного обеспечения". В процессе настройки возможно, будет предложено выбрать дополнительное или специализированное ПО, в зависимости от аппаратной начинки вашего ПК. Участвовать или нет в опросе популярности пакетов решать вам. Я выбираю "Нет." На этапе выбора программного обеспечения, отмечаем галочками: стандартные системные утилиты и если нужно SSH-сервер. Жмем "Продолжить".
В стандартные системные утилиты, входят примерно следующие пакеты:
apt-listchanges lsof libswitch-perl telnet file python bash-completion python bzip2 reportbug krb5-locales bind9-host liblockfile-bin ncurses-term mutt mime-support ftp nfs-common python-minimal libclass-isa-perl debian-faq, doc-debian
Далее, в качестве системного загрузчика выбираем GRUB т.к. LILO является более устаревшим и значительно менее функциональным. Соглашаемся с установкой GRUB в главную загрузочную запись.
Укажем диск для установки Grub'а, это будет первый диск в системе, или /dev/sda.
Если ругнется на то, что компьютер загружается через EFI и надо дополнительно прописать GRUB в путь съемных носителей EFI, выбираем НЕТ. Далее выбираем "Завершение установки". Если программа установки спрашивает показывают ли часы компьютера время в UTC - универсальное координированное время, отвечаем ДА. После чего, система немного подумав, выдаст долгожданное сообщение о том что установка завершена и можно перезагрузить компьютер. УРА!!!