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

webmaster

Опубликован:  2021-04-01T05:48:16.981129Z
Отредактирован:  2021-04-01T07:42:46.765170Z
9
0
0
Вы неавторизованы, рекомендую зарегистрироваться и авторизоваться.

Debian bullseye..? Легко. Прямо сейчас bullseye является тестовой веткой популярной операционной системы свободного сообщества Debian. На моей машине он благополучно работает с конца мая прошлого года, и я констатирую, что это вполне себе стабильная и интересная система, несмотря на текущий статус - testing. Очень скоро эта ветка станет стабильной, а всеми любимый buster уйдёт в тень, так всегда случается в нечетный год календаря, будем готовы...

Как известно, для установки Debian предназначены так называемые дистрибутивные iso-образы, которые можно записать на носитель (CD/DVD или USB-flash) и, загрузив компьютер с него, запустить стандартный установщик Debian. Эти iso-образы имеют разный размер, но почти одинаковую программу установки операционной системы, которая стартует сразу при загрузке компьютера с подготовленного носителя. Выбор iso-образа обычно определяется опытом и умениями оператора, при этом самый скромный размер имеет образ debian-netinst, он же даёт самый полный контроль над процессом, но требует безлимитного подключения к сети Интернет.

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

1. Важная информация для постоянных читателей

Уважаемый читатель, списки auriz.ru не имеет спонсоров и финансирования, и чтобы выжить мы можем рассчитывать только на поддержку своих постоянных читателей и их пожертвования. Если вам оказалась полезна эта или другая статья этого сайта, и вы хотите больше интересных материалов на auriz.ru, поддержите нас рублём, ваша поддержка даст нам шанс выжить, оплатить продление домена и VDS, написать и опубликовать для вас другие интересные материалы.

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

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

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

Для реализации задуманного мне необходимы следующие вещи:

  1. Компьютер, на который можно установить десктопную операционную систему, и который умеет загружаться с USB-накопителей.
  2. Этот компьютер должен быть подключен к сети Интернет, желательно без лимитов по времени и трафику, проводное соединение посредством dhcp на начальной стадии сэкономит некоторое количество времени и усилий, но в принципе можно использовать и соединение по WiFi, в этой демонстрации я покажу только подключение к проводной сети по dhcp, в противном случае статья может оказаться значительно длиннее, да и подключение к WiFi в терминале заслуживает отдельного топика в этом блоге.
  3. USB-flash накопитель с записанным на нём LiveCD Debian buster.

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

3. Загружаем компьютер и готовим жесткий диск

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

sudo -i

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

HNmFSDGbQz.png

Как видно на снимке экрана выше, на моей машине установлен жесткий диск весьма скромных размеров - 40 ГиБ, в системе он имеет имя sda, и на нём существует три раздела - sda1, sda2 и sda3. На этой машине я демонстрировал классическую схему разметки для установки Debian в одном из предыдущих выпусков этого блога.

Поскольку диск моей машины имеет мизерные размеры, я не буду использовать подготовленные на нём разделы, удалю их и создам новый раздел размером 40 ГиБ. Запускаю parted.

parted /dev/sda

В интерактивной сессии parted последовательно выполняю следующие команды:

(parted) unit mib
(parted) mklabel msdos
(parted) mkpart primary ext4 1 -1
(parted) set 1 lba off
(parted) set 1 boot on
(parted) print
(parted) q

Вот как это выглядит в моём терминале:

Ss4ESA8eDK.png

Диск размечен, можно посмотреть ещё раз на выхлоп lsblk.

WdNyKO9ede.png

Как видно на снимке экрана выше, теперь на моём диске один раздел размером 40 ГиБ с именем sda1, на этот раздел я и установлю операционную систему Debian bullseye, а пока нужно создать на этом разделе файловую систему.

mkfs.ext4 -L rootfs /dev/sda1

hg8nSrj1GU.png

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

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

Мне понадобится специальный инструмент, с помощью которого я смогу развернуть базовую систему Debian bullseye, - это debootstrap. Из коробки используемый LiveCD в своём составе не имеет этой программы, но это не значит, что его нельзя установить дополнительно. Для этого обновляю базу данных пакетного менеджера apt.

apt update

xcnBViY1gj.png

Как видно на снимке экрана выше, пакетный менеджер сообщает, что нашлось 264 пакета, которые требуют обновления, но обновлять систему LiveCD я конечно же не буду, а просто установлю debootstrap.

apt install -y debootstrap

4EBYeOSY5G.png

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

5. Разворачиваем базовую систему

Базовую систему Debian bullseye я предполагаю развернуть на уже подготовленном разделе диска sda1, который впоследствии будет корнем будущей операционной системы. Монтирую этот раздел в каталог /mnt.

mount /dev/sda1 /mnt

Сразу после процедуры монтирования посмотрим на оглавление каталога /mnt.

ls /mnt

5Hd7yqCZWL.png

Как видно на снимке экрана выше, в каталоге присутствует вложенный каталог с именем lost+found - в этом каталоге хранится журнал файловой системы ext4, и это является признаком, что в каталог /mnt смонтирован раздел диска. Запускаю debootstrap.

debootstrap --arch amd64 bullseye /mnt

Здесь следует обратить внимание, что я указал интересующую меня архитектуру - amd64, затем интересующую меня ветку репозитория - bullseye, и каталог, куда будут скачаны и распакованы файлы deb-пакетов - /mnt. Поскольку моя машина подключена к сети, debootstrap соединяется с зеркалом Debian и начинает загружать все необходимые пакеты.

Camhm2NZse.png

Процесс этот не быстрый, следует дождаться полного его завершения, он неизбежно должен завершиться сообщением - Base system installed successfully, а потом ещё раз посмотреть на оглавление каталога /mnt.

ls /mnt

CjXMvQkMKy.png

Как видно на снимке экрана выше, теперь в этом каталоге присутствуют все сущности файловой системы UNIX, это значит, что всё идёт по плану. Делаю каталог /mnt текущим окружением root.

LANG=C.UTF-8 chroot /mnt /bin/bash

qPQJrXJMGB.png

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

mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devpts devpts /dev/pts

HKB3nyPPbZ.png

Открываю в текстовом редакторе Nano файл sources.list.

nano /etc/apt/sources.list

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

XAlouDvW7w.png

Для полного успокоения совести я допишу в него одну единственную строчку.

deb-src http://deb.debian.org/debian bullseye main

yu6djr1SsY.png

На данный момент пакетный менеджер нацелен на центральное зеркало Debian, чуть позже я отредактирую этот файл ещё раз и перенаправлю apt на зеркало, которое расположено чуть-чуть ближе ко мне.., а пока сохраняю изменения в файл (ctrl+o) и покидаю текстовый редактор (ctrl+x). Теперь можно обновить базу данных файлового менеджера apt текущего окружения.

apt update

9ND7NiCJ0K.png

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

6. Устанавливаем ядро и начальный загрузчик

Пришло время установить ядро и начальный загрузчик. Но прежде чем приступить непосредственно к этому действию, необходимо остановиться и подумать над следующим... Начальный загрузчик обычно устанавливается в MBR жесткого диска компьютера, за исключением машин с UEFI загрузкой. Мой компьютер не имеет UEFI и грузится в legacy режиме как раз с MBR. Операционная система на базе ядра Linux для работы с жестким диском, а диск - это устройство, имеет в каталоге /dev специальный файл устройства. Отсюда я делаю вывод, что, начальному загрузчику на стадии установки будет необходим файл соответствующего устройства - /dev/sda, и такого файла в моём окружении на данный момент нет, увы. Но у меня есть подключенный к сетевому хранилищу apt. Устанавливаю makedev.

apt install makedev

kRB2XQWgMZ.png

Перехожу в каталог /dev, создаю файлы устройств для своего диска и возвращаюсь в коневой каталог окружения.

cd /dev
MAKEDEV -v sda
cd /

61CbK9QENh.png

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

nano /etc/fstab

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

7D226PwGcZ.png

Вписываю в этот файл две новые строчки.

/dev/sda1 /             ext4        errors=remount-ro 0 1
/dev/sr0  /media/cdrom0 udf,iso9660 user,noauto       0 0

dLQqskh5Ib.png

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

apt install -y linux-image-amd64 grub-pc dbus

a68hkvc6EO.png

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

SznziV3sWx.png

Странным образом, при установке grub-pc пакетным менеджером не состоялась конфигурация grub, вероятно я где-то зевнул или накосячил, разбираться не буду, просто установлю загрузчик ручками.

grub-install /dev/sda

uFDHjpnyTz.png

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

nano /etc/default/grub

Нахожу в этом файле строчку, которая задаёт тайм-аут, и редактирую в ней значение, ставлю ноль.

2TYHvyz0G6.png

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

update-grub

up3asxnLpO.png

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

passwd

7k5QNDckjj.png

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

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

exit

И перезагружаю компьютер.

systemctl reboot

9HSWEheRmV.png

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

dWq0k19pbO.png

Через несколько секунд на экране моего монитора появится приглашение ввести логин.

UzBDPEdSQr.png

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

7. Настраиваем проводную сеть

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

4sKVXx2b96.png

Посмотрим, как в этой системе обстоят дела с проводной сетью.

ip a

X9K7n6p6Tq.png

На снимке экрана выше видно, что адаптер enp0s3 не имеет IP-адреса. Открываю в текстовом редакторе nano файл сетевых интерфейсов.

nano /etc/network/interfaces

В этот файл я допишу несколько новых строчек.

auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet dhcp

UL5SeZiS2W.png

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

nano /etc/hostname

H5BHFkAeSR.png

И ещё один файл.

nano /etc/hosts

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

EWCbBycnFT.png

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

systemctl restart networking.service

И пробую попинговать какой-нибудь ресурс рунета.

ping -c 3 ya.ru

SGQdRX5tVQ.png

Результат меня полностью удовлетворяет, сетка заработала, едем дальше...

8. Настраиваем пакетный менеджер

На текущий момент пакетный менеджер apt моей системы нацелен на центральное зеркало Debian, но мне хотелось бы подключиться к зеркалу, которое расположено чуть-чуть поближе ко мне географически - это ftp.yandex.ru, для этого ставлю ещё один пакет.

apt install -y ca-certificates

SpQOUhBNgp.png

Опять открываю в текстовом редакторе sources.list.

nano /etc/apt/sources.list

Переписываю этот файл следующим образом.

deb https://ftp.yandex.ru/debian/ bullseye main contrib non-free
deb-src https://ftp.yandex.ru/debian/ bullseye main contrib non-free

deb https://ftp.yandex.ru/debian-security bullseye-security main contrib non-free
deb-src https://ftp.yandex.ru//debian-security bullseye-security main contrib non-free

IPJHyOszmv.png

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

apt update

irNg58cvwh.png

С этого момента мне не составит никакого труда установить в эту операционную систему любой доступный в репе Debian bullseye софт.

9. Создаём пользователя системы

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

apt install -y sudo

j55cZslMBK.png

Создаю нового пользователя.

adduser debianeach

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

wzpLtQa2NG.png

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

usermod -a -G cdrom,floppy,sudo,audio,dip,video,plugdev,netdev debianeach

EQXTltAcyK.png

Пришло время ещё раз перезагрузить компьютер.

systemctl reboot

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

exJ4Wsc1dy.png

Следует обратить внимание на текст приглашения командной строки, в нём теперь отображается новое имя хоста - desktop. С этого момента все последующие действия в терминале я буду осуществлять от имени debianeach, а когда необходимо получить права суперпользователя - использовать перед командой префикс sudo.

10. Учим систему русскому языку

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

sudo apt install -y console-setup locales

f4qAamHCZ7.png

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

Tji88cjQbV.png

nm5uJ8hivv.png

su1DMBpdlR.png

BS9A8M5LJY.png

Последует ещё одно окно, в котором нужно выбрать кодировку консоли.

3oU5K09HSR.png

QRWaSuOiVj.png

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

LZAAA8NUfk.png

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

sudo dpkg-reconfigure locales

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

DUmvUxH7QK.png

И русскую.

KJpABIFoJo.png

Дефолтной локалью устанавливаю русскую.

EyKsIY3v0A.png

Отлично! Настало время научить систему отображать время и дату в соответствии с заданным часовым поясом.

sudo dpkg-reconfigure tzdata

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

MjfAoHsswb.png

qc33vohIyQ.png

Ещё раз перезагружаю компьютер.

sudo systemctl reboot

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

74RNud2jgu.png

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

11. Устанавливаем X-сервер и окружение рабочего стола

Современный десктоп практически немыслим без графического сервера и оконной системы окружения рабочего стола. В рамках этой демонстрации я буду устанавливать LXDE, мне нравится легковесность этого рабочего стола и лаконичность сессии. Но в принципе сейчас можно установить на систему любой имеющийся в репах Debian bullseye рабочий стол.

Устанавливаю диспетчер входа в систему - LightDM.

sudo apt install -y lightdm

У LightDM достаточно много зависимостей, пакетный менеджер вытянет дополнительно 188 пакетов, в том числе и xserver.

ZSERJtFY0u.png

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

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

sudo apt install -y --no-install-recommends lxde

В этом варианте запуска пакетный менеджер вытащит по зависимостям ещё 89 пакетов и начнёт их установку и настройку.

RaiNKy7poJ.png

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

sudo systemctl reboot

zDVrmrqbgJ.png

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

hxUNEU7HtX.png

Ещё "три" секунды ожидания, и на экране отрисовывается рабочий стол LXDE. Обращаю внимание на абсолютно пустое системное меню.

Poqsv5XBS3.png

VGITXGsURO.png

На диске такая система занимает всего 1,4 ГиБ, а по выхлопу системного монитора top можно оценить нагрузку на RAM машины.

D4d6AE7SBz.png

На старте система использовала 146 MiB оперативной памяти и 197 MiB под буферы и кэш, полученный десктоп имеет в запасе 1639 MiB свободной оперативной памяти, комментарии излишни.

12. Заключение

Полученный десктоп готов к установке пользовательского программного обеспечения на каждый день. В текущем состоянии он не содержит даже man-страниц. Выбор программного обеспечения на каждый день - это дело вкуса каждого конкретного конечного пользователя, для успешного решения этой задачи достаточно всего лишь изучить состав официального репозитория Debian, научиться пользоваться пакетным менеджером apt и определиться с собственными приоритетами и предпочтениями, иногда последнее - самая сложная задача. А заявленная цель этой демонстрации полностью достигнута, я получил голый десктоп Debian bullseye, допилить который опытным пользователем до приемлемого юзабилити - вопрос одного вечера. Некоторые аспекты такого выпиливания я обязательно освещу в этом блоге на auriz.ru, будет интересно...

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

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