Устанавливаем Debian bullseye на десктоп
webmaster
Опубликован: | 2021-04-01T05:48:16.981129Z |
Отредактирован: | 2021-04-01T07:42:46.765170Z |
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. Исходные данные
Для реализации задуманного мне необходимы следующие вещи:
- Компьютер, на который можно установить десктопную операционную систему, и который умеет загружаться с USB-накопителей.
- Этот компьютер должен быть подключен к сети Интернет, желательно без лимитов по времени и трафику, проводное соединение посредством dhcp на начальной стадии сэкономит некоторое количество времени и усилий, но в принципе можно использовать и соединение по WiFi, в этой демонстрации я покажу только подключение к проводной сети по dhcp, в противном случае статья может оказаться значительно длиннее, да и подключение к WiFi в терминале заслуживает отдельного топика в этом блоге.
- USB-flash накопитель с записанным на нём LiveCD Debian buster.
Предупреждение новичкам: изложенный ниже материал содержит много-много скучных картинок и непонятных обычному пользователю команд, после повторения которых вы уже никогда не будете прежним, прежде чем открывать их, стоит подумать, нужно ли вам это, или может быть будет лучше довольствоваться привычным Mint.
3. Загружаем компьютер и готовим жесткий диск
Загрузить компьютер с LiveCD Debian совсем не сложно, в статье по ссылке изложены некоторые характерные особенности работы в его сессии. На начальном этапе мне необходимо запустить терминал и получить в нём права суперпользователя.
sudo -i
В этом терминале я и проведу ближайшие пол-часа своей увлекательной жизни...
Посмотрим на состояние блочных устройств, для этого предназначена команда lsblk.
Как видно на снимке экрана выше, на моей машине установлен жесткий диск весьма скромных размеров - 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
Вот как это выглядит в моём терминале:
Диск размечен, можно посмотреть ещё раз на выхлоп lsblk.
Как видно на снимке экрана выше, теперь на моём диске один раздел размером 40 ГиБ с именем sda1
, на этот раздел я и установлю операционную систему Debian bullseye, а пока нужно создать на этом разделе файловую систему.
mkfs.ext4 -L rootfs /dev/sda1
На снимке экрана выше следует обратить внимание, что программа нашла на диске руины старого раздела и запросила подтверждения на выполнение действия, достаточно было ввести символ y
и процесс форматирования продолжился. Всё, жесткий диск моей машины готов к использованию...
4. Устанавливаем debootstrap
Мне понадобится специальный инструмент, с помощью которого я смогу развернуть базовую систему Debian bullseye, - это debootstrap. Из коробки используемый LiveCD в своём составе не имеет этой программы, но это не значит, что его нельзя установить дополнительно. Для этого обновляю базу данных пакетного менеджера apt.
apt update
Как видно на снимке экрана выше, пакетный менеджер сообщает, что нашлось 264 пакета, которые требуют обновления, но обновлять систему LiveCD я конечно же не буду, а просто установлю debootstrap.
apt install -y debootstrap
Дожидаюсь полного завершения процесса установки, можно двигаться дальше...
5. Разворачиваем базовую систему
Базовую систему Debian bullseye я предполагаю развернуть на уже подготовленном разделе диска sda1
, который впоследствии будет корнем будущей операционной системы. Монтирую этот раздел в каталог /mnt
.
mount /dev/sda1 /mnt
Сразу после процедуры монтирования посмотрим на оглавление каталога /mnt
.
ls /mnt
Как видно на снимке экрана выше, в каталоге присутствует вложенный каталог с именем lost+found
- в этом каталоге хранится журнал файловой системы ext4, и это является признаком, что в каталог /mnt
смонтирован раздел диска. Запускаю debootstrap.
debootstrap --arch amd64 bullseye /mnt
Здесь следует обратить внимание, что я указал интересующую меня архитектуру - amd64
, затем интересующую меня ветку репозитория - bullseye
, и каталог, куда будут скачаны и распакованы файлы deb-пакетов - /mnt
. Поскольку моя машина подключена к сети, debootstrap соединяется с зеркалом Debian и начинает загружать все необходимые пакеты.
Процесс этот не быстрый, следует дождаться полного его завершения, он неизбежно должен завершиться сообщением - Base system installed successfully, а потом ещё раз посмотреть на оглавление каталога /mnt
.
ls /mnt
Как видно на снимке экрана выше, теперь в этом каталоге присутствуют все сущности файловой системы UNIX, это значит, что всё идёт по плану. Делаю каталог /mnt
текущим окружением root.
LANG=C.UTF-8 chroot /mnt /bin/bash
Следует обратить внимание на то, как после выполнения этой команды изменилось приглашение командной строки. С этого момента этот терминал управляет новым, только что созданным окружением будущей операционной системы, и мне нужно успешно запустить файловый менеджер apt, принадлежащий этому окружению. Для этого монтирую все необходимые временные файловые системы, выполняю последовательно три команды:
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devpts devpts /dev/pts
Открываю в текстовом редакторе Nano файл sources.list.
nano /etc/apt/sources.list
Мне необходимо посмотреть его состав, и на данный момент он выглядит следующим образом:
Для полного успокоения совести я допишу в него одну единственную строчку.
deb-src http://deb.debian.org/debian bullseye main
На данный момент пакетный менеджер нацелен на центральное зеркало Debian, чуть позже я отредактирую этот файл ещё раз и перенаправлю apt на зеркало, которое расположено чуть-чуть ближе ко мне.., а пока сохраняю изменения в файл (ctrl+o
) и покидаю текстовый редактор (ctrl+x
). Теперь можно обновить базу данных файлового менеджера apt текущего окружения.
apt update
Великолепно..! Всё готово к установке ядра операционной системы и начального загрузчика, об этом далее...
6. Устанавливаем ядро и начальный загрузчик
Пришло время установить ядро и начальный загрузчик. Но прежде чем приступить непосредственно к этому действию, необходимо остановиться и подумать над следующим... Начальный загрузчик обычно устанавливается в MBR жесткого диска компьютера, за исключением машин с UEFI загрузкой. Мой компьютер не имеет UEFI и грузится в legacy режиме как раз с MBR. Операционная система на базе ядра Linux для работы с жестким диском, а диск - это устройство, имеет в каталоге /dev
специальный файл устройства. Отсюда я делаю вывод, что, начальному загрузчику на стадии установки будет необходим файл соответствующего устройства - /dev/sda
, и такого файла в моём окружении на данный момент нет, увы. Но у меня есть подключенный к сетевому хранилищу apt. Устанавливаю makedev.
apt install makedev
Перехожу в каталог /dev
, создаю файлы устройств для своего диска и возвращаюсь в коневой каталог окружения.
cd /dev
MAKEDEV -v sda
cd /
После первой перезагрузки компьютера новая операционная система должна иметь возможность смонтировать разделы жесткого диска. Открываю в текстовом редакторе файл fstab.
nano /etc/fstab
И на текущем этапе он выглядит следующим образом.
Вписываю в этот файл две новые строчки.
/dev/sda1 / ext4 errors=remount-ro 0 1
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
Сохраняю файл и покидаю текстовый редактор. Можно устанавливать ядро и загрузчик.
apt install -y linux-image-amd64 grub-pc dbus
Пакетный менеджер вытащит из сетевого зеркала по зависимостям 27 новых пакетов и начнёт их установку, терпеливо жду завершения процесса, в итоге мой терминал будет выглядеть как-то так:
Странным образом, при установке grub-pc пакетным менеджером не состоялась конфигурация grub, вероятно я где-то зевнул или накосячил, разбираться не буду, просто установлю загрузчик ручками.
grub-install /dev/sda
Поскольку на моей машине будет установлена одна единственная операционная система, а в дефолте на начальный загрузчик установлен тайм-аут в пять секунд для выбора операционной системы, мне очень хочется этот тайм-аут отменить, чтобы не тратить зря время при каждой перезагрузке компьютера. Открываю в тестовом редакторе ещё один файл.
nano /etc/default/grub
Нахожу в этом файле строчку, которая задаёт тайм-аут, и редактирую в ней значение, ставлю ноль.
Сохраняю изменения в файл и покидаю текстовый редактор. Чтобы изменения вступили в силу, необходимо обновить загрузчик.
update-grub
Поскольку пользователя новой системе я пока не создал, а после перезагрузки машины мне необходимо будет залогиниться в новой операционной системе, создам пароль суперпользователю.
passwd
Программа предложила придумать и ввести дважды пароль, при вводе пароля он не отображается на экране - обычная практика. Пароль следует хорошо запомнить, он очень скоро понадобится, войти в новую операционную систему после перезагрузки компьютера можно будет только с этим паролем.
Вот в общем-то и всё, на этом миссия нашего великолепного LiveCD может считаться завершенной, покидаю текущее окружение.
exit
И перезагружаю компьютер.
systemctl reboot
На этот раз я пытаюсь загрузить машину с её жесткого диска, и на старте меня приветствует начальный загрузчик.
Через несколько секунд на экране моего монитора появится приглашение ввести логин.
Базовая система готова, ещё немножко терпения, далее будет продемонстрирован сеанс работы в голой консоли и настройка установленной операционной системы ручками оператора. Оставайтесь с нами...
7. Настраиваем проводную сеть
Базовая система загрузилась, но хлопать в ладоши пока рано, мне нужно научить эту систему хорошим манерам. Вхожу суперпользователем.
Посмотрим, как в этой системе обстоят дела с проводной сетью.
ip a
На снимке экрана выше видно, что адаптер enp0s3
не имеет IP-адреса. Открываю в текстовом редакторе nano файл сетевых интерфейсов.
nano /etc/network/interfaces
В этот файл я допишу несколько новых строчек.
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet dhcp
Сохраняю изменения в файл и покидаю текстовый редактор. Нужно поправить ещё один файл.
nano /etc/hostname
И ещё один файл.
nano /etc/hosts
В этом файле вписываю одну строчку, на снимке экрана ниже она обозначена красным фломастером.
Сохраняю изменения в файл и покидаю текстовый редактор. Дёргаю сетку рестартом соответствующего сервиса.
systemctl restart networking.service
И пробую попинговать какой-нибудь ресурс рунета.
ping -c 3 ya.ru
Результат меня полностью удовлетворяет, сетка заработала, едем дальше...
8. Настраиваем пакетный менеджер
На текущий момент пакетный менеджер apt моей системы нацелен на центральное зеркало Debian, но мне хотелось бы подключиться к зеркалу, которое расположено чуть-чуть поближе ко мне географически - это ftp.yandex.ru
, для этого ставлю ещё один пакет.
apt install -y ca-certificates
Опять открываю в текстовом редакторе 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
Опять сохраняю изменения в файл и покидаю текстовый редактор. Настало время обновить базу пакетного менеджера.
apt update
С этого момента мне не составит никакого труда установить в эту операционную систему любой доступный в репе Debian bullseye софт.
9. Создаём пользователя системы
В системе до сих пор нет ни одного пользователя, только суперпользователь root. Поскольку я планирую установить на этот десктоп X-сервер и графическое окружение рабочего стола, системе нужен хотя бы один пользователь. И будет совсем не лишним дать этому пользователю возможность получать права суперпользователя с программой sudo. Устанавливаю её.
apt install -y sudo
Создаю нового пользователя.
adduser debianeach
Программа имеет интерактивный режим, в процессе будет запрошен новый пароль, который необходимо будет ввести дважды, при вводе пароль не будет отображаться в терминале - как мы любим. Следует придумать хороший пароль и запомнить его, этот пароль тоже очень скоро понадобится.
Чтобы этому пользователю было не скучно в окружении рабочего стола, необходимо добавить его в ключевые системные группы.
usermod -a -G cdrom,floppy,sudo,audio,dip,video,plugdev,netdev debianeach
Пришло время ещё раз перезагрузить компьютер.
systemctl reboot
После перезагрузки пробую войти от имени и с паролем только что созданного пользователя, прошу любить и жаловать - debianeach
.
Следует обратить внимание на текст приглашения командной строки, в нём теперь отображается новое имя хоста - desktop
. С этого момента все последующие действия в терминале я буду осуществлять от имени debianeach
, а когда необходимо получить права суперпользователя - использовать перед командой префикс sudo
.
10. Учим систему русскому языку
Займёмся локализацией... Операционная система должна давать возможность пользователю переключать раскладку клавиатуры. Кроме этого, её нужно научить отображать на терминале символы русского алфавита. Мне потребуется ещё пара пакетов.
sudo apt install -y console-setup locales
На снимке экрана выше следует обратить внимание, что теперь система предупредила пользователя об ответственности за действия с правами суперпользователя и запросила ввод пароля, необходимо ввести пароль пользователя debianeach
. Пакетный менеджер начнёт установку запрошенных пакетов, загрузит их с сетевого зеркала, начнёт распаковку и настройку, и в определённый момент на терминале появится окно настройки клавиатуры. Последовательно устанавливаю нужные параметры. Перемещать курсор в этом окне можно клавишами со стрелками и табулятором.
Последует ещё одно окно, в котором нужно выбрать кодировку консоли.
По завершении процесса мой терминал будет выглядеть следующим образом.
Внимательный пользователь заметит, что в терминале поменялся шрифт. Для полного счастья мне не хватает русскоязычной локали, установить её можно с помощью программы dpkg.
sudo dpkg-reconfigure locales
На терминал отрисуется очередное окно с псевдо-графикой, в котором нужно выбрать желаемые локали. Я обычно устанавливаю две локали, английскую.
И русскую.
Дефолтной локалью устанавливаю русскую.
Отлично! Настало время научить систему отображать время и дату в соответствии с заданным часовым поясом.
sudo dpkg-reconfigure tzdata
Опять на терминал отрисуется псевдо-графика, в окне выбираю свой часовой пояс.
Ещё раз перезагружаю компьютер.
sudo systemctl reboot
После всех предпринятых усилий опять вхожу как debianeach
и пробую на терминале смену раскладки и русские буквы.
Отлично, на текущем этапе этого достаточно, русский алфавит отображается, в системе есть два языка, а раскладка клавиатуры переключается заданным клавиатурным сочетанием. Можно двигаться дальше...
11. Устанавливаем X-сервер и окружение рабочего стола
Современный десктоп практически немыслим без графического сервера и оконной системы окружения рабочего стола. В рамках этой демонстрации я буду устанавливать LXDE, мне нравится легковесность этого рабочего стола и лаконичность сессии. Но в принципе сейчас можно установить на систему любой имеющийся в репах Debian bullseye рабочий стол.
Устанавливаю диспетчер входа в систему - LightDM.
sudo apt install -y lightdm
У LightDM достаточно много зависимостей, пакетный менеджер вытянет дополнительно 188 пакетов, в том числе и xserver.
На установку такого количества пакетов потребуется время, следует запастись терпением и дождаться полного завершения этого процесса.
Второй ключевой пакет, который я установлю - lxde, но поскольку у этого пакета целый сонм рекомендуемых зависимостей, добрая половина из которых мне в системе не нужна, устанавливать этот пакет я буду с дополнительной опцией.
sudo apt install -y --no-install-recommends lxde
В этом варианте запуска пакетный менеджер вытащит по зависимостям ещё 89 пакетов и начнёт их установку и настройку.
Опять следует дождаться полного завершения процесса установки всех запрошенных пакетов. Снова перезагружаю систему.
sudo systemctl reboot
Дожидаюсь загрузки операционной системы, меня приветствует диспетчер входа, ввожу логин и пароль.
Ещё "три" секунды ожидания, и на экране отрисовывается рабочий стол LXDE. Обращаю внимание на абсолютно пустое системное меню.
На диске такая система занимает всего 1,4 ГиБ, а по выхлопу системного монитора top можно оценить нагрузку на RAM машины.
На старте система использовала 146 MiB оперативной памяти и 197 MiB под буферы и кэш, полученный десктоп имеет в запасе 1639 MiB свободной оперативной памяти, комментарии излишни.
12. Заключение
Полученный десктоп готов к установке пользовательского программного обеспечения на каждый день. В текущем состоянии он не содержит даже man-страниц. Выбор программного обеспечения на каждый день - это дело вкуса каждого конкретного конечного пользователя, для успешного решения этой задачи достаточно всего лишь изучить состав официального репозитория Debian, научиться пользоваться пакетным менеджером apt и определиться с собственными приоритетами и предпочтениями, иногда последнее - самая сложная задача. А заявленная цель этой демонстрации полностью достигнута, я получил голый десктоп Debian bullseye, допилить который опытным пользователем до приемлемого юзабилити - вопрос одного вечера. Некоторые аспекты такого выпиливания я обязательно освещу в этом блоге на auriz.ru
, будет интересно...
Важное замечание: в этой демонстрации показана чистая установка операционной системы на машину с поддерживаемыми ядром Linux аппаратными средствами, в реальной же жизни всегда вероятны сложности с некоторыми проприетарными или совсем новыми устройствами, к сожалению описать решение возможных проблем не имея в наличие конкретного проблемного оборудования не возможно, поэтому увы, это описание никак не затрагивает эти аспекты установки операционной системы.
Метки: | debian, dpkg, livecd, parted, lxde, buster, bullseye, debootstrap, apt, sudo, networking, virtualbox, desktop |