Как установить Debian без знаний и опыта

«Как установить Debian без знаний и опыта» — это довольно частый вопрос, который мне приходится слышать. Хоть я и не считаю себя специалистом в этой области, я все же накопил некоторые инструкции для себя, которые позволяют мне быстро установить или настроить то или иное приложение либо операционную систему.

В данной статье, как и в остальных статьях моего блога, будет показан пример установки со скриншотами и подробным описанием того, что при этом происходит и для чего это нужно. Даже будет затронута тема LVM. Инструкция довольно длинная и нудная. Больше подойдет тем, кто сталкивается с установкой Linux впервые и хочет найти ответы на большинство своих вопросов в одном месте, не гугля целый день. Хотя, учитывая объем инструкции, Вам придется потратить на нее целый день :) Шутка. На самом деле уже через час у Вас будет свой собственный Debian сервер, который Вы создали и настроили сами!

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

Disclamer

Напомню. Я не профессионал в данном вопросе. Моя инструкция может содержать огромное множество неточностей и ошибок, которые заметят профессионалы. Если Вы один из них, пожалуйста, дайте знать, что я указал неверно, либо забыл указать — я с удовольствием исправлю.

Введение

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

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

Загрузка дистрибутива

Текущей версией на сегодняшний день является Debian 8 с кодовым названием Jessie.

Существует три основных способа установки Debian (ссылки на загрузку будут представлены ниже):

  1. Загрузка полного образа CD или DVD. Это удобно, если на будущем сервере пока еще нет доступа в интернет для загрузки компонентов по сети. Выбирая этот способ, достаточно загрузить образ первого CD или DVD, который содержит саму операционную систему и наиболее необходимые программные компоненты. Размер файла образа CD примерно 650 Мб.
  2. Загрузка образа сетевой установки (netinstall). Данный образ содержит только саму операционную систему. Все дополнительные компоненты будут загружены из интернет. Размер файла такого образа примерно 250 Мб.
  3. Загрузка образа стандартного минидиска. Данный способ подходит, если Вам периодически, время от времени, необходимо устанавливать Debian и Вы хотите, чтобы каждый раз устанавливалась самая последняя версия операционной системы и программных компонентов. Образ минидиска имеет размер примерно 28 Мб. Все файлы операционной системы и программных компонентов загружаются через интернет.

Есть еще один способ — самостоятельная сборка дистрибутива. Но мы не будем рассматривать этот способ, так как это заслуживает отдельной большой статьи.

Образы по первым двум вариантам установки можно загрузить по адресу:

Если нужен CD либо netinstall перейдите на FTP-сервер по адресу: ftp.ua.debian.org/debian-cd/current/amd64/iso-cd/ и скачайте необходимый образ, например, CD №1: debian-8-amd64-CD-1.iso или Netinstall: debian-8-amd64-netinst.iso.

Если нужен DVD перейдите на FTP-сервер по адресу: ftp.ua.debian.org/debian-cd/current/amd64/iso-dvd/ и скачайте DVD №1: debian-8-amd64-DVD-1.iso.

Образ минидиска можно скачать по адресу: ftp.ua.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/mini.iso. Обратите внимание, что этот загрузочный мини-образ устанавливает последнюю версию Debian ветки Jessie, в то время как предыдущие ссылки ведут на каталог с образами самой последней версии Debian не привязываясь к ветке.

За более подробной информацией Вы можете обратиться к официальному руководству: загрузка образа CD и DVD, загрузка образов для установки через интернет.

Запись дистрибутива на носитель

После того, как файл образа загружен, его нужно записать на носитель. Проще всего использовать CD-R или DVD-R диски, если у Вас еще остались приводы для их записи. Но самым ожидаемым способом является запись образа на USB-флешку, с которой затем и будет производиться установка.

Для записи я использую утилиту UNetbootin, которую можно бесплатно загрузить на сайте http://unetbootin.github.io/. Обратите внимание на то, что флешка будет автоматически отформатирована! То есть все данные с нее будут удалены. Предупредил.

Запишите образ, выбрав следующие параметры, указав файл образа и нажав ОК:

UNetbootin — запись образа на USB-флешку

Установка Debian

Подключите USB-флешку к серверу и включите его. Вызовите меню загрузки BIOS (Boot menu) и выберите загрузку с USB-устройства, которое должно будет появиться в этом списке. После этого произойдет загрузка загрузчика с флешки и Вы увидите следующий приветственный экран:

Если всё так, то разрешите Вас поздравить! Первый этап пройден. Вы скачали и записали установочный образ на носитель и даже смогли загрузиться с него. Идем дальше — жмем Install.

Интерактивная конфигурация

Локаль

Далее в интерактивном режиме Вам будет предложено выбрать язык установщика и местонахождение. Эти два параметра определяют основную локаль устанавливаемой системы. Например, если язык будет выбран Русский, а страна Украина, то в итоге выбранная локаль (и кодировка) будет иметь вид: ru_UA.UTF-8.

Локаль определяет непосредственно язык системы и региональные особенности этого языка. Это может влиять на отображение времени, валют, календаря (первый день недели), алфавитную сортировку и т.д.

Кодировка определяет то, каким способом будут кодироваться символы UNICODE. По умолчанию в Debian используется UTF-8.

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

Во время инсталляции выбор языка и региона выглядит следующим образом

Если Вам нужно изменить локаль уже после установки, то Вы можете воспользоваться следующими инструментами:

Выполните команду locale, чтобы узнать, какая локаль установлена в системе по умолчанию. Чтобы посмотреть все установленные в системе локали, выполните locale -a.

Чтобы добавить в систему новые локали и/или изменить локаль по умолчанию, выполните команду sudo dpkg-reconfigure locales — Вам будет предложено выбрать локали, которые необходимо установить и затем какую локаль установить как основную.

Есть еще один способ добавить необходимую локаль. Отредактируйте файл /etc/locale.gen, раскомментировав строки с необходимыми локалями, после чего выполните команду sudo locale-gen.

Настройка клавиатуры

Следующим этапом идет настройка клавиатуры. Выберите, какая раскладка клавиатуры Вам необходима и на следующем экране выберите сочетание клавиш для переключения между выбранной  и стандартной латинской раскладками.

Во время инсталляции эти диалоговые окна выглядят следующим образом

Так как почти вся последующая работа с сервером в будущем будет происходить через SSH, то изменять настройки клавиатуры после установки операционной системы вряд ли понадобится. Но, если вдруг такая необходимость появилась, то выполните команды sudo dpkg-reconfigure keyboard-configuration и затем sudo service keyboard-setup restart. Более подробная информация по этой теме доступна в wiki.

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

Следующим этапом идет настройка сети. Сначала компонент настройки попытается получить сетевые настройки автоматически по протоколу DHCP. Если в сети, к которой подключен сервер, нет DHCP-сервера, жмите Отмена — Вам будет предложено настроить сетевой интерфейс вручную через интерактивный диалог, в котором Вам будет необходимо ввести IP-адрес, маску подсети, адрес шлюза и адреса серверов имен DNS.

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

В процессе эксплуатации операционной системы Вам вероятно понадобится изменять сетевые настройки.

Настройки сетевых интерфейсов хранятся в файле /etc/network/interfaces.

После его редактирования не забудьте перезапустить сетевой стек командой /etc/init.d/networking restart. Будьте осторожны, если Вы делаете это удаленно, можете потерять связь с сервером.

Если же необходимо изменить настройки DNS, просто отредактируйте файл /etc/resolv.conf, добавив в него строки формата:

nameserver 8.8.8.8
nameserver 8.8.4.4

Имя узла и домена в последствии можно изменить командой hostname newname.newdomain. Чтобы имя узла было установлено при загрузке, измените его в файле /etc/hostname (пропишите имя узла без домена). Не забудьте изменить файл /etc/hosts, указав в нем новое имя узла с доменом и без.

Выбор зеркала архива Debian

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

Рекомендуется использовать ftp.<код страны>.debian.org — мы так и поступим. В большинстве случаев это оптимальный выбор. На следующем экране будет предложено настроить прокси-сервер, если в Вашей сети для доступа в интернет используется прокси. Если не используется — просто выбирайте Продолжить. Начнется загрузка дополнительных компонентов.

Учетные записи пользователей

После загрузки компонентов будет предложено задать пароль для суперпользователя root — его нужно будет ввести дважды. Вы можете оставить пароль root пустым — этом случае получить права суперпользователя сможет обычный пользователь через sudo, учетная запись которого будет создана далее. Каким образом поступить Вам — зависит от режима администрирования сервера. Если Вы единственный админстратор, а сервер доступен только Вам, то отдельный пароль для root Вам может быть и не нужен. Если на сервере работает множество пользователей, то желательно закрыть учетную запись суперпользователя root отдельным паролем.

Далее будет предложено создать обычного пользователя. Сначала укажите полное имя пользователя (full name), затем его системное имя пользователя (username) и пароль. После чего будут загружены еще некоторые компоненты.

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

Чтобы простой пользователь в системе мог выполнить команду с повышением (то есть с правами суперпользователя), он должен перед командой вставить sudo. Например: sudo apt-get update. Пользователю будет предложено повторно ввести свой пароль перед тем, как команда будет выполнена непосредственно. Если такой уровень безопасности с дополнительным вводом пароля Вам не нужен, можно отключить запрос пароля в конфигурационном файле /etc/sudoers.

Не каждый пользователь может пользоваться повышением полномочий через sudo. То, какие пользователи и как именно имеют право пользоваться sudo, указывается в файле /etc/sudoers. В этом файле можно указывать права и привилегии как для каждого пользователя, так и для группы пользователей (перед именем группы указывается символ процента %). Например, чтобы разрешить безусловное использование sudo всем пользователям системы, входящим в группу пользователей под названием sudo, необходимо добавить (или изменить) следующую запись в /etc/sudoers:

%sudo   ALL=(ALL:ALL) ALL

Если хотите отключить дополнительный запрос пароля, то измените запись следующим образом:

%sudo   ALL=(ALL) NOPASSWD:ALL

Теперь для всех пользователей системы, входящих в группу пользователей sudo, будет разрешено выполнять действия от имени других пользователей без дополнительного ввода своего пароля.

Чтобы добавить существующего пользователя с именем vasya в группу sudo, просто выполните команду sudo usermod -a -G sudo vasya.

Разметка диска

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

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

Второй — «сложный» способ с использованием менеджера логических томов (LVM) и ручным созданием разделов. Этот способ более предпочтителен, так как позволяет изменять физическую структуру в будущем.

Далее описаны оба способа. Вы должны выбрать какой-то один из них, но не оба одновременно.

Автоматическая разметка диска

Выберите режим «Авто — использовать весь диск», после чего Вам будет предложено выбрать диск и затем выбрать схему расположения разделов на нем. Вы можете выбрать любую из предложенных схем — всё будет сделано инсталлятором автоматически. На скриншотах показана разметка, в которой используется один единственный корневой раздел (раздел swap будет создан автоматически). На диске будет создана таблица разделов FAT32. (В отличие от FreeBSD, где используется современная таблица разделов GPT, позволяющая создать достаточно большое количество разделов и легко управлять их размером).

Используйте такой способ, если только нет смысла в нормальной правильной организации файловой системы (Ваша первая установка Debian с целью «пощупать»).

Ручная разметка диска с использованием LVM

Тема LVM очень обширная. Чтобы изучить ее более детально, обратитесь к данной статье. Здесь же я попытаюсь дать очень краткое описание и объяснить, почему именно LVM я рекомендую использовать на сервере.

Проще всего начать с обычной разметки, без использования LVM, которая была описана в предыдущем параграфе. В обычной разметке на самом носителе (физическом устройстве) создаются разделы, на каждом из которых создается файловые системы. Это удобно в простых случаях, так как не требует никаких сложных знаний. Всё в целом так же, как и в других операционных системах: есть диск, на нем есть разделы, которые содержать файловые системы. Эти разделы подмонтированы в операционной системе в точках монтирования. В unix системах это каталоги, в microsoft системах это буквы дисков. Всё просто и понятно. Однако, учитывая то, что у нас сервер, мы должны обеспечить максимально надежную его работу. Если на диске закончится свободное место, мы должны иметь возможность каким-то образом его расширить, используя дополнительный жесткий диск, либо, при использовании виртуальных устройств хранения, расширить объем самого устройства и иметь возможность изменить размер разделов файловой системы. Это и многое другое достаточно сделать при обычной организации разделов (FAT32).

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

Терминология

Физический томPV (physical volume) — физический том (входит в состав группы томов, представляет собой физический носитель)

Группа томовVG (volume group) — группа томов (состоит из физических томов со стороны PV и из логических томов со стороны LV)

Логический томLV (logical volume) — логический том (также входит в состав группы томов, эквивалент разделу диска в обычной не-LVM разметке, является блочным устройством, может содержать файловую систему)

Схема разметки, используемая в примере

В данном «сложном» примере будем использовать одну группу томов с именем vg1, в которую добавим один физический том (жесткий диск) и следующую схему логических томов:

Логические тома входят в группу томов vg1, поэтому имеют соответствующие префиксы. Если в системе используется несколько групп томов, то указание таких префиксов делает работу с томами более удобной. Указание префиксов не является обязательным.

Поехали!

В диалоговом окне выбора метода разметки выбираем — «Вручную». Затем выбираем жесткий диск (физическое устройство, не раздел) для размещения настроек и подтверждаем в третьем диалоговом окне.

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

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

Пришло время создать логическое тома внутри группы томов. Эти операции равносильный созданию разделов диска на физическом диске при использовании не-LVM системы.

Создаем логические тома согласно таблице, указывая их имена и размер. Повторяем операцию для каждого логического тома. После создания последнего тома будет отображена текущая конфигурация LVM. После чего выбираем — Закончить.

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

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

Выбираем каждый раздел и создаем на нем файловую систему согласно таблице выше. Далее будут показаны скриншоты каждого из разделов. Не торопитесь, неправильное указание типа файловой системы или точки монтирования — распространенная ошибка. Обратите внимание, что для раздела boot используется Ext3, а для всех остальных, за исключением swap, используется Ext4. После создания файловой системы на каждом из логических томов, выбирайте пункт «Настройка раздела закончена». После создания всех необходимых файловых систем выберите «Закончить разметку и записать изменения на диск».

Вот и всё :)

Установка системы и выбор ПО

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

При выборе программного обеспечения рекомендую оставить только «SSH-сервер» и «Стандартные системные утилиты». Даже если Вам нужен WEB-сервер, лучше установить последние версии Nginx (или Apache), а так же PHP, MySQL и т.д. из альтернативных репозиториев после установки операционной системы. Причина этому — репозиторий Debian содержат устаревшие версии программного обеспечения, некоторые из которых уже даже не поддерживаются разработчиками. Например, репозиторий Debian до сих пор предлагает PHP версии 5.5, которая уже не поддерживается разработчиками. Текущей версией PHP является 7.0 и 7.1, а минимальной поддерживаемой — 5.6.

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

Системный загрузчик GRUB

Последний этап установки Debian — установка загрузчика GRUB. Так как мы устанавливаем Debian как единственную операционную систему на нашем сервере, то просто установите загрузчик в главную загрузочную область, как это предлагается инсталлятором. На втором экране выберите устройство для установки системного загрузчика.

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

Чтобы изменить загрузчик, отредактируйте файл /etc/default/grub, затем запустите sudo update-grub, чтобы сформировать загрузчик. Вы также можете редактировать или добавлять различные сниппеты, которые хранятся в каталоге /etc/grub.d/, если в этом будет какая-то необходимость и Вы знаете что делаете.

Стоит обратить внимание на то, что изменения загрузчика могут привести к тому, что сервер не сможет загрузиться. Не стоит это делать, если к серверу нет непосредственного доступа. Будьте осторожны!

Завершение установки

Вот и всё. Установка завершена. Нажмите «Продолжить», чтобы перезагрузить сервер. После перезагрузки убедитесь, что включена загрузка с жесткого диска и Вы извлекли носитель с дистрибутивом Debian (но не извлекайте его до начала перезагрузки).

После перезагрузки Вы должны увидеть меню загрузчика GRUB.

Вы можете немного подождать, либо нажать Enter, чтобы продолжить загрузку.

После окончания загрузки Вы увидите приглашение операционной системы.

Можно Вас поздравить с успешно установленной системой.

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

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

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

Репозиторий APT

Первое, что необходимо сделать — это сконфигурировать стандартный репозиторий. Отредактируйте файл /etc/apt/sources.list введя команду sudo nano /etc/apt/sources.list.

Удалите или закомментируйте строки, в которых указан репозиторий, находящийся на CD (если Вы устанавливали систему с полных образов, то эти записи непременно должны присутствовать).

Эти строки выглядят подобным образом (начинаются с dev cdrom):

deb cdrom:[Debian GNU/Linux 6.0.1 _Squeeze_ - Official amd64 DVD Binary-1 20110319-14:31]/ squeeze contrib main

Репозиторий Debian предоставляет три раздела пакетов программного обеспечения:

  • main — абсолютно бесплатное программное обеспечение, требование к которому предъявлены в следующих критериях. Это целиком бесплатное программное обеспечение, которое если имеет зависимости, то так же целиком бесплатные.
  • contrib — бесплатное программное обеспечение. Программное обеспечение, входящее в данный пакет, так же как и main — абсолютно бесплатное, однако возможно, что хотя бы одна из любых, даже косвенных зависимостей данного программного обеспечения является платной (входит в пакет non-free). По умолчанию раздел не включен в файл /etc/apt/sources.list и Вы не сможете установить программное обеспечение, входящее в этот раздел, пока не добавите его репозиторий в /etc/apt/sources.list
  • non-free — возможно бесплатное программное обеспечение — то, которое не соответствует критериям. Данный разел так же не включен в /etc/apt/sources.list по умолчанию, но Вы можете сделать это самостоятельно.

Добавляя в /etc/apt/sources.list разделы contrib и non-free, вы самостоятельно принимаете на себя ответственность за использование платного программного обеспечения.

Для этого достаточно привести файл /etc/apt/sources.list к виду:

deb http://ftp.ua.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.ua.debian.org/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

deb http://ftp.ua.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.ua.debian.org/debian/ jessie-updates main contrib non-free

Более подробно об этом можно прочитать в wiki.

К этому же параграфу можно отнести и добавление альтернативных репозиториев, если в них есть необходимость, о которых шла речь в разделе Установа системы и выбор ПО.

Обновление ПО и ОС

В Debian обновление программного обеспечения и операционной системы объедено в одно действие.

Для начала необходимо произвести обновление информации из репозиториев: sudo apt-get update.

Затем произведите обновление ПО и ОС командой: sudo apt-get dist-upgrade.

Проверьте текущую версию Debian командой lsb_release -a

Синхронизация времени NTP

Чтобы часы на сервере всегда показывали точное время (это критически необходимо для работы большинства приложений), необходимо обзавестись NTP-клиентом.

Устанавливаем: sudo apt-get install ntp ntpdate.

После установки автоматически будет запущен NTP-клиент. Для начала остановим его: sudo service ntp stop.

Откроем конфигурационный файл sudo nano /etc/ntp.conf и приведем список серверов к виду:

server 0.ua.pool.ntp.org iburst
server 1.ua.pool.ntp.org iburst
server 2.ua.pool.ntp.org iburst
server 3.ua.pool.ntp.org iburst

Пытаемся прочитать время с одного из серверов: sudo ntpdate 0.ua.pool.ntp.org.

Если все в порядке, то выполняем команду еще раз, но в этот раз указывая на необходимость записи полученного времени в локальные системные часы: sudo ntpdate -bs 0.ua.pool.ntp.org.

Если вдруг обнаружили, что часовой пояс настроен неверно, выполните команду: sudo dpkg-reconfigure tzdata и укажите свое местоположение.

Теперь запускаем остановленный сервер: sudo service ntp start.

Спустя минуту наблюдаем за работой: ntpq -p.

Последний штрих

Для включения автодополнения bash, в файле /etc/bash.bashrc раскомментируйте if-fi блок, озаглавленный комментарием (не сам комментарий, а блок, расположенный сразу под ним:

# enable bash completion in interactive shells

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

#force_color_prompt=yes

Установите Dialog, чтобы заменить консольные интерактивные меню на псевдографические диалоговые окна: sudo apt-get install -y dialog

Если командная строка пока еще не Ваш конёк, установите файловый менеджер Midnight Commander: sudo apt-get install -y mc

Удачи в освоении Debian!

Добавить комментарий