Установка Ubuntu 16.04 с помощью утилиты debootstrap на новый чистый диск
Данный материал содержит инструкцию по созданию собственного дистрибутива LiveCD.
- Desktop Enviroment Openbox с темой Breeze,
- Панели tint2 и docky.
- Login manager - sddm с темой maldives.
Скачивание образа Ubuntu 16.04
Создайте виртуальную машину №1 в программе VirtualBox.
Создайте еще один диск для LiveCD и подключите его к виртуальной машине №1.
Скачайте и поставьте Ubuntu 16.04. Подключитесь к виртуальной машине №1, после установки на нее Ubuntu 16.04.
Запустите программу cfdisk:
cfdisk /dev/sdb
И разбейте подключенный новый диск. Первый раздел /dev/sdb1 сделайте большим, а второй /dev/sdb2 размером 1Гб. Он будет под swap.
Сборка системы
Установите необходимые пакеты:
sudo apt install debootstrap
Debootstrap позволяет собрать в папке чистую систему. Причем не обязательно той же версии, которая установлена в виртуальной машине.
Создайте папку, где будет происходить сборка системы:
sudo mkdir -p /media/UFS/disk
cd /media/UFS
Отформатируйте чистый диск, который вы подключали к виртуальной машине.
sudo cfdisk /dev/sdb
sudo mkfs.ext4 /dev/sdb1
sudo mount /dev/sdb1 /media/UFS/disk
Установите систему через debootstrap:
sudo debootstrap --arch amd64 xenial disk http://ru.archive.ubuntu.com/ubuntu
Подготовьте chroot:
sudo cp /etc/apt/sources.list /media/UFS/disk/etc/apt/sources.list
sudo cp /etc/resolv.conf /media/UFS/disk/etc/resolv.conf
sudo mount -t proc proc /media/UFS/disk/proc/
sudo mount -t sysfs sys /media/UFS/disk/sys/
sudo mount -o bind /dev /media/UFS/disk/dev/
sudo mount -t devpts none /media/UFS/disk/dev/pts
sudo chroot /media/UFS/disk
echo "127.0.0.1 ubuntu" >> /etc/hosts
echo "ubuntu" >> /etc/hostname
Обновите систему в Chroot и установите локаль:
apt update
apt upgrade
locale-gen en_US.UTF-8
locale-gen ru_RU.UTF-8
Установите необходимые системные пакеты:
apt install ubuntu-standard linux-generic dbus
Установите openbox:
apt install aptitude nano mc htop xorg openbox sddm sddm-theme-maldives wicd gedit nitrogen compton tint2 lxappearance lxappearance-obconf obmenu docky volti pulseaudio pavucontrol pavumeter xxkb xkbind gxkb gmrun zip unzip unar qlipper breeze-icon-theme gtk3-engines-breeze breeze-cursor-theme qt5-style-plugins lxqt-config lxqt-qtplugin pcmanfm konsole firefox zip unzip menu
Настройте sddm в качестве display manager по умолчанию:
echo "/usr/bin/sddm" > /etc/X11/default-display-manager
sddm --example-config > /etc/sddm.conf
Укажите в /etc/sddm.conf тему maldives:
sed -i -- 's/Session=openbox.dektop/Session=plasma.dektop/g' /etc/sddm.conf
sed -i -- 's/Current=breeze/Current=maldives/g' /etc/sddm.conf
cp /usr/share/xsessions/openbox.desktop /usr/share/xsessions/plasma.desktop
Копирование openbox в plasma нужно, потому что sddm при автоматическом входе без авторизации пытается найти plasma.desktop и игнорирует параметр Session.
Укажите иконки по умолчанию:
update-alternatives --set x-cursor-theme /etc/X11/cursors/breeze_cursors.theme
Создайте пользователя ubuntu:
echo "%wheel ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers
useradd -m --shell /bin/bash ubuntu
usermod -a -G sudo ubuntu
groupadd -r wheel
usermod -a -G wheel ubuntu
chmod 700 /home/ubuntu
chown -R ubuntu:ubuntu /home/ubuntu
Укажите sddm, чтобы он грузился без пароля:
sed -i -- 's/User=/User=ubuntu/g' /etc/sddm.conf
Установите конфиги домашней папки от openbox. Это уже настроенная конфигурация рабочего стола Openbox с темой Breeze.
cd /root
wget https://blog.bayrell.org/media/files/archives/openbox.config.zip
unzip /root/openbox.config.zip
cp -aT /root/.bak/ /home/ubuntu/
Установите полезные программы:
apt-get install gnome-disk-utility
Установите пароль для пользователя ubuntu (Пароль ubuntu):
passwd ubuntu
Cконфигурируйте fstab:
nano /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
/dev/sda1 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda4 during installation
/dev/sda2 none swap sw 0 0
Сконфигурируйте раскладку клавиатуры на переключение через Alt+Shift:
nano /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL=""
XKBLAYOUT="us,ru"
XKBVARIANT=""
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
BACKSPACE="guess"
Настройте grub:
aptitude install os-prober
Если спросит, на какой диск ставить grub, укажите диск /dev/sdb.
Выйдите из chroot:
apt-get clean
rm -rf /tmp/*
exit
sudo umount /media/UFS/disk/sys/
sudo umount /media/UFS/disk/dev/pts
sudo umount /media/UFS/disk/dev/
sudo umount /media/UFS/disk/proc/sys/fs/binfmt_misc
sudo umount /media/UFS/disk/proc/
Дальше можно создать новую виртуальную машину №2, и указать в качестве главного диска второй диск, загрузится с него и проверить как все работает.
Ссылки на полезные материалы по этой теме:
- https://www.youtube.com/watch?v=fxWRZuKqmk4 - How to create a custom Linux GUI (Desktop) from scratch
- http://help.ubuntu.ru/wiki/дистрибутив_на_базе_ubuntu_вручную
- https://help.ubuntu.com/community/LiveCDCustomization_ru
- https://help.ubuntu.com/community/CustomizationFromScratch