Устанавливаем Debian sid на внешний HDD, эпизод третий

prolinux

Опубликован:  2023-07-11T09:13:38.776388Z
Отредактирован:  2023-07-11T09:13:38.776388Z
Статус:  публичный
63
0
0

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

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

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

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

Работать я буду на своей рабочей станции, в которой уже есть все необходимые инструменты, включая VirtualBox, к которой я подключаю внешний HDD в USB-разъём. Монтирую раздел sdb1 внешнего HDD.

$ sudo mount /dev/sdb1 /mnt

Удаляю с внешнего HDD "хомяк" пользователя jazz, созданного в прошлом выпуске блога.

$ sudo rm -rf /mnt/home/jazz/

Распаковываю на его место ранее подготовленный архив c настроенным "хомяком", чуть позже я покажу, как такой архив сделать. Архив представляет из себя обычный файл с расширением .tar.gz, внутри архива один вложенный каталог с именем jazz. Распаковываю его на уже смонтированный внешний HDD.

$ sudo tar xaf home.jazz.tar.gz -C /mnt/home

Архиватор Tar хранит не только файлы и каталоги, он хранит ещё и атрибуты файлов и каталогов в файловой системе ext4, поэтому никаких дополнительных действий по изменению прав собственности или доступа делать не нужно, "хомяк" имеет состояние как есть из архива. Отмонтирую внешний HDD.

$ sudo umount /mnt

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

KhiwatHvVP.png

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

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

DUPjdGJMGq.png

Устанавливаем в систему дополнительные приложения

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

sudo apt update

Затем обновляют всю операционную систему.

$ sudo apt -y full-upgrade

Эта команда откликается вот таким весёлым выхлопом в консоль.

Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Расчёт обновлений… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  libblockdev-btrfs2 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2
  libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2
  libblockdev2
Для их удаления используйте «sudo apt autoremove».
Следующие НОВЫЕ пакеты будут установлены:
  libblockdev-btrfs3 libblockdev-crypto3 libblockdev-fs3 libblockdev-loop3
  libblockdev-mdraid3 libblockdev-nvme3 libblockdev-part3 libblockdev-swap3
  libblockdev-utils3 libblockdev3 libnvme1 mdadm
Следующие пакеты будут обновлены:
  arch-test bsdutils ca-certificates-java debianutils desktop-base eject
  fakeroot fdisk gettext-base libaudit-common libaudit1 libblkid1 libfakeroot
  libfdisk1 libflite1 libjsoncpp25 liblwp-protocol-https-perl libmount1
  libp11-kit0 libsdl2-2.0-0 libselinux1 libsemanage-common libsemanage2
  libsmartcols1 libudisks2-0 libuuid1 libxml2 libyajl2 mount p11-kit
  p11-kit-modules rfkill udisks2 udisks2-btrfs util-linux util-linux-extra
Обновлено 36 пакетов, установлено 12 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 27,7 MB архивов.
После данной операции объём занятого дискового пространства возрастёт на 3204 kB.

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

Для полного и всеобъемлющего счастья мне не хватает в этой операционной системе ещё нескольких пакетов. В предыдущей статье этого цикла мне не удалось их установить, поскольку Debian sid временами бывает нестабилен, и пакетный менеджер не может установить пакет до тех пор, пока в хранилище не обновятся все зависимости этого пакета. Попробую установить их сейчас. В системе уже есть текстовый редактор NeoVim, создаю ещё один файл с именем packages в "хомяке" текущего пользователя системы с его помощью.

nvim packages

Вписываю в этот файл имена всех необходимых мне пакетов. Это qt-программы...

Wur7tznM4r.png

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

$ sudo apt install -y $(cat packages)

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

Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Уже установлен пакет adwaita-qt самой новой версии (1.4.2-3).
Следующие пакеты устанавливались автоматически и больше не требуются:
  libblockdev-btrfs2 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2
  libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2
  libblockdev2
Для их удаления используйте «sudo apt autoremove».
Будут установлены следующие дополнительные пакеты:
  audacious-plugins audacious-plugins-data grim kwayland-data
  kwayland-integration libaudcore5 libaudgui5 libaudqt2 libaudtag3 libcddb2
  libcue2 libglib2.0-bin libkf5archive-data libkf5archive5 libkf5auth-data
  libkf5authcore5 libkf5codecs-data libkf5codecs5 libkf5config-bin
  libkf5config-data libkf5configcore5 libkf5configgui5
  libkf5configwidgets-data libkf5configwidgets5 libkf5coreaddons-data
  libkf5coreaddons5 libkf5crash5 libkf5dbusaddons-bin libkf5dbusaddons-data
  libkf5dbusaddons5 libkf5globalaccel-bin libkf5globalaccel-data
  libkf5globalaccel5 libkf5globalaccelprivate5 libkf5guiaddons-bin
  libkf5guiaddons-data libkf5guiaddons5 libkf5i18n-data libkf5i18n5
  libkf5iconthemes-bin libkf5iconthemes-data libkf5iconthemes5
  libkf5itemviews-data libkf5itemviews5 libkf5waylandclient5
  libkf5widgetsaddons-data libkf5widgetsaddons5 libkf5windowsystem-data
  libkf5windowsystem5 libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5
  libminiupnpc17 libmuparser2v5 libnatpmp1 libneon27-gnutls libpolkit-qt5-1-1
  libqt5multimedia5 libqt5xdg3 libqt5xdgiconloader3 librecad-data
  libsidplayfp6 libxcb-record0 libxcb-res0 smplayer-themes transmission-common
Предлагаемые пакеты:
  minissdpd natpmpc sidplayfp qt5-style-plugins
Следующие НОВЫЕ пакеты будут установлены:
  audacious audacious-plugins audacious-plugins-data flameshot grim
  kcolorchooser kwayland-data kwayland-integration libaudcore5 libaudgui5
  libaudqt2 libaudtag3 libcddb2 libcue2 libglib2.0-bin libkf5archive-data
  libkf5archive5 libkf5auth-data libkf5authcore5 libkf5codecs-data
  libkf5codecs5 libkf5config-bin libkf5config-data libkf5configcore5
  libkf5configgui5 libkf5configwidgets-data libkf5configwidgets5
  libkf5coreaddons-data libkf5coreaddons5 libkf5crash5 libkf5dbusaddons-bin
  libkf5dbusaddons-data libkf5dbusaddons5 libkf5globalaccel-bin
  libkf5globalaccel-data libkf5globalaccel5 libkf5globalaccelprivate5
  libkf5guiaddons-bin libkf5guiaddons-data libkf5guiaddons5 libkf5i18n-data
  libkf5i18n5 libkf5iconthemes-bin libkf5iconthemes-data libkf5iconthemes5
  libkf5itemviews-data libkf5itemviews5 libkf5waylandclient5
  libkf5widgetsaddons-data libkf5widgetsaddons5 libkf5windowsystem-data
  libkf5windowsystem5 libkf5xmlgui-bin libkf5xmlgui-data libkf5xmlgui5
  libminiupnpc17 libmuparser2v5 libnatpmp1 libneon27-gnutls libpolkit-qt5-1-1
  libqt5multimedia5 libqt5xdg3 libqt5xdgiconloader3 librecad librecad-data
  libsidplayfp6 libxcb-record0 libxcb-res0 qt5ct screengrab smplayer
  smplayer-l10n smplayer-themes speedcrunch transmission-common
  transmission-qt
Обновлено 0 пакетов, установлено 76 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 24,8 MB архивов.
После данной операции объём занятого дискового пространства возрастёт на 164 MB.

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

$ sudo apt -y autoremove

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

Qt-приложения в LXDE

Существует мнение, что поскольку LXDE - это GTKшное окружение, приложениям Qt в нём делать нечего. Но, извините, я привык ко многим qt-приложениям и отказываться от них совсем не хочу. К счастью внешний вид qt-приложений довольно успешно настраивается, об этом я расскажу чуть позже, и их практически невозможно отличить по виду от gtk-приложений. Вот как это выглядит в описываемой системе.

P82ab5yHRp.png

SMPlayer, хоть и разработан под KDE, тем не менее великолепно настраивается и может гармонично вписаться в любую GTK-среду, LXDE не исключение.

dBtlGr6eic.png

Сохраняем "хомяк" в архив

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

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

$ sudo mount /dev/sdb1 /mnt

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

$ sudo tar czf home.jazz.tar.gz -C /mnt/home jazz

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

ISOtyoOMv1.png

Подводим итог

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