Устанавливаем Debian buster на десктоп с UEFI

debianeach

Опубликован:  2019-07-19T09:56:17.464223Z
Отредактирован:  2019-08-12T11:09:17.922821Z
Debian buster обрёл стабильность и стал официальным релизом сообщества. Старый добрый stretch готов отправиться на заслуженный отдых, мы всегда будем вспоминать его добрым словом. Дебианыч не может оставить без внимания очередную пройденную вешку, поэтому этот обзор будет посвящен buster -у и установке операционной системы на десктоп с UEFI. Осторожно, в топике много картинок...

1. Исходные данные

В этом обзоре я продемонстрирую установку Debian buster на десктоп с UEFI из официального установочного образа Debian-netinst. Данная демонстрация будет иметь пошаговый характер, а в результате будет получен настроенный десктоп с окружением LXDE и минимальным набором пакетов, готовый к дальнейшей установке пользовательского программного обеспечения на каждый день в зависимости от нужд и целей конкретного пользователя.

Для этой демонстрации мне понадобятся следующие принадлежности:

  1. Флэш-накопитель с USB-разъёмом, на который будет записан установочный образ, минимальный размер определяется размером используемого образа, для netinst достаточно стандартной флэшки на 512MiB;
  2. Компьютер с установленной операционной системой Linux любого вендора или с live-cd, с помощью которого можно скачать и записать на носитель установочный образ;
  3. Компьютер с UEFI, на который будет установлен Debian buster;
  4. Поскольку установка пакетов будет осуществляться из сети Интернет, необходим нелимитированный по трафику и времени Интернет-канал, к которому можно подключиться по DHCP или статическому IP-адресу (без vpn-сессии и других сложных методов авторизации), в моём случае соединение с таким Интернет-каналом обеспечивает обычный бытовой роутер.

Приступим...

2. Загружаем установочный iso-образ

Установка Debian вариантна и может быть выполнена различными способами, с различных носителей и с переменным успехом. Дебианыч предпочитает собирать свою систему по крохам, устанавливая только необходимые пакеты, это позволяет содержать систему в актуальном состоянии, избежать свалки и захламления системного раздела жесткого диска, а в случае необходимости абгрейда, ещё и даёт возможность обойти многие брошенные на пути грабли. Для меня самой лучшей сборкой навсегда останется Debian-netinst, именно этим установочным образом я и воспользуюсь сейчас.

Скачать Debian buster можно с любого доступного зеркала, я предпочитаю ftp.yandex.ru, захожу на сайт, перехожу в каталог debian-cd и нахожу в его оглавлении желанный образ.

l3sfJBanGP.png

Следует иметь ввиду, что загрузка образа с официального торрент-трекера происходит быстрей, чем если бы я загружал образ напрямую с ftp-сервера, к тому же это значительно снижает нагрузку на зеркало. Для установки мне потребуется два файла: торрент-файл загружаемого образа и текстовый файл с контрольными суммами MD5. Загружаю оба файла на свой жесткий диск, а затем открываю торрент-файл в соответствующем клиенте.

LLGUhytIzn.png

Как видно на снимке экрана выше, загрузка iso-образа в торрент-клиенте осуществляется с довольно высокой скоростью и занимает всю ширину моего Интернет-канала. Дожидаюсь полной загрузки образа...

3. Записываем установочный iso-образ на флэш

После завершения загрузки открываю терминал и захожу в каталог, в котором сохранил загруженные с зеркала файлы, итого у меня два файла:

  • debian-10.0.0-amd64-netinst.iso;
  • MD5SUMS.

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

Проверяю контрольную сумму скачанного iso-образа.

md5sum debian-10.0.0-amd64-netinst.iso

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

grep debian-10.0.0-amd64-netinst.iso$ MD5SUM

Записываю образ на свой USB-носитель, имя носителя при этом следует уточнить при помощи lsblk, в моём случае это /dev/sdb - здесь я указываю имя носителя а не раздела на нём.

sudo dd oflag=direct if=debian-10.0.0-amd64-netinst.iso of=/dev/sdb bs=1M status=progress; sync

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

sudo head -c 350224384 /dev/sdb | md5sum

Ещё раз вывожу контрольную сумму из файла MD5SUM на экран терминала и убеждаюсь, что контрольные суммы совпали. Совпадение контрольных сумм даёт гарантию, что носитель записан верно.

После записи флэш нужно правильно извлечь из USB-разъёма, детально методы работы с USB-накопителями в Linux описаны по ссылке. Отключаю питание на накопителе.

udisksctl power-off --block-device /dev/sdb

Весь процесс записи запечатлён на следующем снимке экрана.

ZNFtDgIKlZ.png

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

4. Предварительная подготовка компьютера

Некоторые пользователи, предпочитающие приложения с GUI, обычно перед установкой операционной системы предварительно готовят жесткий диск при помощи какого-нибудь продвинутого live-cd, имеющего в своём арсенале программу GParted. В сущности, разметить диск можно и в программе установки Debian, но поскольку описание такого процесса потребует слишком много снимков экрана, я для этой демонстрации тоже предварительно разметил диск своего компьютера с помощью live-cd от команды MX-Linux.

UQFqI2OQ59.png

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

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

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

lHOr0erOYl.png

Первый пункт меню, он выделен курсором, меня полностью устроит, нажимаю enter и приступаю к установке операционной системы.

Для справки: меню загрузчика образа netinst имеет несколько интересных фич, некоторые из которых я, возможно, опишу в одном из выпусков блога, перемещать курсор по меню загрузчика можно клавишами со стрелками "вверх" и "вниз" соответственно.

5. Устанавливаем базовую систему

Программа установки Debian, а именно её графический вариант, представляет несколько последовательных форм, предлагаемых для заполнения пользователем. Все формы имеют стандартный GUI-интерфейс, управлять программой установки можно клавишами со стрелками, клавишами tab и enter или курсором мыши и соответствующими элементами интерфейса. Ничего сложного в программе установки нет, любой пользователь, имея хотябы элементарный опыт работы на компьютере, вполне быстро разберётся и справится с задачей.

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

VpFkB3nmLj.png

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

07kEvkNuti.png

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

FIwTMfQqve.png

Программа установки попытается подключиться к сети по DHCP.

yu45Mpucna.png

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

l01FbMXe5W.png

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

s2YUvheeCs.png

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

B4AssSl1FF.png

Yz5C9VITxE.png

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

UMKvwZAyK0.png

Медленно но верно мы добрались до разметки диска. Поскольку мой жесткий диск уже размечен и готов к использованию выбираю в предложенной форме ручную разметку диска и жму enter.

6qL1hqzonp.png

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

37BUTirTYi.png

Выбираю курсором пункт "Закончить разметку и записать изменения на диск", жму enter.

В следующей форме соглашаюсь записать изменения на диск.

KXtB0gN9iI.png

Программа установки запишет на диск все изменения, покажет прогресс этого процесса а затем приступит к установке на жесткий диск базовой системы Debian buster.

Dzv3mrc5aU.png

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

oMNW5axwiQ.png

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

VEgjzEYLqt.png

Затем само зеркало.

VyQZiZ3HXb.png

Поле HTTP-прокси оставляю пустым.

U0YCmGNpul.png

Начнётся настройка apt и просмотр выбранного зеркала Debian.

LcfoNDrl6i.png

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

1fUDNodvOc.png

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

v5K6N04UbW.png

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

7laQYum0K3.png

Начнётся процесс установки запрошенных пакетов, программа установки покажет прогресс-бар.

XopCjJGLc4.png

Завершится этот процесс установкой загрузчика GRUB, поскольку установка осуществляется на компьютер с UEFI загрузкой, программа установки всё сделает сама, просто дожидаюсь завершения процесса.

dmnVSIwyN5.png

Через некоторое время получаю на экран монитора отчёт об успешном завершении установки операционной системы.

LOWRNBrixZ.png

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

LSeDZj7Dzu.png

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

6. Начальная настройка системы

Поскольку схема разметки жесткого диска моей системы содержит swap-раздел, а от пароля суперпользователя я отказался, следовательно программа sudo для моего пользователя уже настроена из коробки, мне осталось только некоторым образом скорректировать параметры GRUB.

Пользователям виртуальных машин VirtualBox при первой загрузке системы, если система установлена на машину с UEFI, необходимо продублировать файл загрузчика, чтобы избежать вероятных траблов с загрузчиком после выключения машины при следующем включении. Для этого выполняю следующие действия:

Получаем права суперпользователя.

sudo -i

При помощи lsblk смотрим состояние раздела sda1 - смонтирован/не смонтирован.

lsblk

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

mkdir -p /boot/efi/EFI/boot

И копирую в этот каталог исполняемый файл загрузчика с новым именем.

cp /boot/efi/EFI/debian/grubx64.efi /boot/efi/EFI/boot/bootx64.efi

zyt7R9Yotu.png

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

Поскольку на моей машине установлена единственная операционная система, мне необходимо отключить таймаут загрузчика при показе стартового меню. Для этого открываю файл /etc/default/grub в текстовом редакторе Nano.

sudo nano /etc/default/grub

И переписываю в этом файле значение в поле GRUB_TIMEOUT на ноль.

ajdZRC04aS.png

Сохраняю файл и покидаю текстовый редактор (ctrl+o и ctrl+x), а затем обновляю загрузчик.

sudo update-grub

iNJdWysWAN.png

Открываю в nano файл /etc/apt/sources.list.

sudo /etc/atp/sources.list

Редактирую этот файл и привожу его к следующему виду.

SDq3qp7de2.png

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

sudo apt update

AHOQJN1A0u.png

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

Для справки: если необходимо перезагрузить компьютер на данной стадии настройки системы, это можно сделать с помощью команды - sudo systemctl reboot, выключить компьютер можно командой sudo systemctl poweroff.

7. Установка окружения рабочего стола

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

Графический сервер удобно устанавливать посредством установки диспетчера входа в систему - LightDM, который в свою очередь по зависимостям вытягивает всё необходимое, в том числе и графический сервер. Устанавливаю LightDM.

sudo apt install lightdm

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

86qC2QnZoE.png

В самом низу экрана расположен запрос на подтверждения выполняемого действия, ввожу символ Y и нажимаю enter, пакетный менеджер приступит к загрузке пакетов из сети, распаковке и установке.

juRu7GAmND.png

Успешное окончание процесса установки будет выглядеть на экране терминала как-то так.

f0wqP1RJKo.png

Важное замечание: после установки LightDM, пока в системе нет ни одного оконного менеджера или окружения рабочего стола, не рекомендуется перезагружать компьютер, а если всё-таки перезагрузили, то важно помнить как открываются виртуальные текстовые консоли - их шесть и попасть в них можно сочетание клавиш ctrl+alt+F1 ... F6.

Теперь можно приступить к установке окружения рабочего стола, у Debian buster имеются различные варианты, я обычно устанавливаю минималистичное окружение LXDE. К пакету lxde релиз менеджеры постарались и напихали рекомендованных зависимостей, которые мне совершенно ни к чему, поэтому команда будет иметь опцию --no-install-recommends.

sudo apt install --no-install-recommends lxde

На этот раз всё повторится, пакетный менеджер выдаст много информации, которая не поместится на один экран и запросит подтверждения на выполнения запрошенного действия.

2m1AODBeP6.png

Опять ввожу Y, начнётся процесс загрузки и распаковки всех запрошенных пакетов, и завершится он таким экраном.

O5HsG5ArFD.png

Если вы устанавливаете систему на компьютер, то после завершения процесса установки запрошенных пакетов можно перезагрузить компьютер (sudo systemctl reboot), но если вы устанавливаете систему на виртуальный компьютер VirtualBox, тогда стоит потратить ещё немного времени и внимания и установить дополнения для гостевых машин VirtualBox, для этого потребуется диск с дополнениями, который идёт в комплекте с программой VirtualBox.

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

sudo apt install dkms udisks2

O8ADdmQr4x.png

Опять ввожу Y и дожидаюсь завершения процесса установки всех запрошенных пакетов.

R7t5Ts2sxk.png

Вставляю в привод виртуальной машины образ с дополнениями VirtualBox - это можно сделать прямо в меню "Устройства" виртуальной машины. После этого монтирую диск с дополнениями.

udisksctl mount --block-device /dev/sr0

Менеджер монтирования сообщит точку монтирования, в которой можно будет найти файлы смонтированного диска, в данном случае точка монтирования /media/cdrom0, как можно видеть на снимке экрана ниже.

Запускаю программу установки дополнений гостевых машин.

sudo bash /media/cdrom0/VBoxLinuxAdditions.run

RbiCTWHt8f.png

Как видно на снимке экрана, по завершении modprobe не удалось запустить новый модуль, это не фатально, после перезагрузки всё встанет на свои места. Перезагружаю компьютер.

sudo systemctl reboot

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

x7ec1lgWt0.png

И меня встречает мрачный рабочий стол LXDE.

cwtm9TMU2s.png

С совершенно пустым системным меню.

5fXjFmr4jo.png

Если запустить терминал и посмотреть в системный монитор, можно увидеть, что на старте система расходует порядка 125M оперативной памяти и 418М под буферы и кэш - великолепный результат, именно за это очень многие продвинутые пользователи Linux и уважают это окружение рабочего стола.

d1eLlBAgl5.png

Давайте посмотрим, как заполнен жесткий диск.

XvFQGCTh95.png

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

8. Настройка окружения рабочего стола

Для тонкой настройки операционной системы мне необходимы следующие дополнительные пакеты:

lxhotkey-plugin-openbox
breeze-cursor-theme
xfonts-terminus
xfonts-terminus-oblique
adwaita-qt
xscreensaver
xscreensaver-data
xscreensaver-data-extra
gvfs-backends
pavucontrol
parcellite
screengrab
font-manager
fonts-liberation
fonts-liberation2
qt5ct
network-manager
network-manager-gnome
papirus-icon-theme
firefox-esr
firefox-esr-l10n-ru

Открываю терминал и при помощи nano создаю в домашнем каталоге файл с именем packages.

nano packages

Копирую в этот файл все перечисленные выше имена пакетов.

E2pTHMbiYp.png

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

sudo apt install $(cat packages)

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

jr4CAGUSwR.png

Дожидаюсь завершения процесса установки.

Scn8MC5yph.png

В списке установленных пакетов присутствует NetworkManager и апплет для него, поскольку до настоящего момента сеть управлялась с помощью службы networking, чтобы не возникло коллизий между двумя этими службами открываю в текстового редакторе файл /etc/network/interfaces.

sudo nano /etc/network/interfaces

На текущий момент этот файл имеет следующее содержание.

NBdnNhemHs.png

Удаляю из этого файл все интерфейсы, оставляю только "The loopback network interface".

qNWwwmgtVF.png

Сохраняю файл и покидаю текстовый редактор. Теперь можно перезагрузить компьютер.

Настройка рабочего стола LXDE уже детально описана в блоге для системы Debian stretch, с тех пор мало что изменилось, LXDE имеет отличные вспомогательные программы с GUI и ими очень легко пользоваться, поэтому я не буду дублировать снимками экрана все свои настройки и повторять их описание, покажу только результат.

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

YrEuWEdyj5.png

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

3evimunnrH.png

Система на текущий момент занимает 2.4G дискового пространства в корневом разделе жесткого диска.

8zbElWbgM6.png

На старте система потребляет 171М оперативной памяти и 460M уходит под буферы, из 2ГиБ оперативной памяти моего компьютера в моём распоряжении остаётся порядка 1.2ГиБ, что может считаться отличным состоянием дел.

jgSoLQqeJz.png

В системе есть GUI приложение для настройки внешнего вида программ на базе Qt, их становится всё больше и их теперь удобно использовать в LXDE, потому что можно настроить абсолютно одинаковый с приложениями GTK внешний вид интерфейса.

LyzdGpDuTC.png

bKs4dtoZt9.png

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

Комментарии: