Инструкция по установке Debian 12 и Ubuntu 22.04, создание Live USB, используя утилиту debootstrap
Также видеоинструкция установки Ubuntu через IMG файл и создание USB флешки
Установка необходимых программ
Установите программы на хост систему
_x000D_apt-get update_x000D_apt-get install -y debootstrap openbios-ppc openbios-sparc openhackware _x000D_ qemu qemu-kvm ovmf grub-efi-amd64-bin grub-efi-ia32-bin grub-pc-binСоздайте папку, куда будет установлена система
_x000D_sudo su -l_x000D_mkdir -p /media/debian/root_x000D_mkdir -p /media/debian/root/etc/aptПодготовка среды через debootstrap для Debian
Если вы хотите установить Debian
1) Настройте зеркало используя сайт https://www.debian.org/mirror/list
2) Сделайте debootstrap
_x000D_export DEBIAN_MIRROR="http://cdn-fastly.deb.debian.org"_x000D_export DEBIAN_VERSION="bookworm"_x000D__x000D_cd /media/debian_x000D_debootstrap --arch amd64 $DEBIAN_VERSION root $DEBIAN_MIRROR/debian3) Настройте sources.list
_x000D_cat > /media/debian/root/etc/apt/sources.list << EOF_x000D_deb $DEBIAN_MIRROR/debian/ $DEBIAN_VERSION main contrib non-free non-free-firmware_x000D_deb-src $DEBIAN_MIRROR/debian/ $DEBIAN_VERSION main contrib non-free non-free-firmware_x000D__x000D_deb $DEBIAN_MIRROR/debian/ $DEBIAN_VERSION-updates main contrib non-free non-free-firmware_x000D_deb-src $DEBIAN_MIRROR/debian/ $DEBIAN_VERSION-updates main contrib non-free non-free-firmware_x000D__x000D_deb https://security.debian.org/debian-security/ $DEBIAN_VERSION-security main contrib non-free non-free-firmware_x000D_deb-src https://security.debian.org/debian-security/ $DEBIAN_VERSION-security main contrib non-free non-free-firmware_x000D__x000D_deb $DEBIAN_MIRROR/debian/ $DEBIAN_VERSION-backports main contrib non-free non-free-firmware_x000D_deb-src $DEBIAN_MIRROR/debian/ $DEBIAN_VERSION-backports main contrib non-free non-free-firmware_x000D__x000D_EOFПодготовка среды через debootstrap для Ubuntu
Если вы хотите установить Ubuntu, вместо Debian, то выполните следующие комманды:
1) Настройте зеркало используя сайт https://launchpad.net/ubuntu/+archivemirrors
2) Сделайте debootstrap
_x000D_export DEBIAN_MIRROR="http://en.archive.ubuntu.com"_x000D_export DEBIAN_VERSION="jammy"_x000D__x000D_cd /media/debian_x000D_debootstrap --arch amd64 $DEBIAN_VERSION root $DEBIAN_MIRROR/ubuntu3) Настройте sources.list
_x000D_cat > /media/debian/root/etc/apt/sources.list << EOF_x000D_deb $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION main universe restricted multiverse_x000D_deb-src $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION main universe restricted multiverse_x000D__x000D_deb $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-updates main universe restricted multiverse_x000D_deb-src $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-updates main universe restricted multiverse_x000D__x000D_deb $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-security main universe restricted multiverse_x000D_deb-src $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-security main universe restricted multiverse_x000D__x000D_deb $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-backports main universe restricted multiverse_x000D_deb-src $DEBIAN_MIRROR/ubuntu/ $DEBIAN_VERSION-backports main universe restricted multiverse_x000D_EOFНачальные настройки
Скопируйте resolv.conf
_x000D_yes | cp /etc/resolv.conf /media/debian/root/etc/resolv.confСмонтируйте необходимые папки:
_x000D_mount -t proc proc /media/debian/root/proc_x000D_mount -t sysfs sys /media/debian/root/sys_x000D_mount -o bind /dev /media/debian/root/dev_x000D_mount -t devpts none /media/debian/root/dev/ptsУстановите локаль:
_x000D_cat > /media/debian/root/etc/profile.d/0.locale.sh << EOF_x000D_LANG="en_US.UTF-8"_x000D_LANGUAGE="en_US:en"_x000D_export LANG_x000D_export LANGUAGE_x000D_EOF_x000D__x000D_cat > /media/debian/root/etc/profile.d/0.editor.sh << EOF_x000D_export EDITOR=nano_x000D_EOF_x000D__x000D_echo "en_US.UTF-8 UTF-8" >> /media/debian/root/etc/locale.gen_x000D_echo "ru_RU.UTF-8 UTF-8" >> /media/debian/root/etc/locale.genУстановка ПО
Сделайте chroot:
_x000D_chroot /media/debian/root_x000D_Установите базовое ПО:
_x000D_apt-get update_x000D_apt-get install -y locales apt-utils aptitude apt-rdepends_x000D_aptitude upgrade -y_x000D_apt-get install -y bash-completion bsdmainutils psmisc uuid-runtime _x000D_ htop mc nano curl pv dnsutils sudo man-db anacron iotop preload git cmake _x000D_ g++ openssh-client wget unrar unar zip unzip p7zip-full rar inxi attr libnotify-bin _x000D_ traceroute bridge-utils mtools xfsprogs network-manager rsync dnsmasq python3-pynput _x000D_ network-manager-gnome iptables-persistent net-tools dnsutils linux-base dbus _x000D_ grub-efi grub-efi-amd64-bin grub-efi-ia32-bin grub-pc-bin openntpd python3-pip _x000D_ libnss-nis libnss-nisplus whoisУстановите Openbox и LXQT:
_x000D_apt-get install -y flatpak lxqt xorg xterm xxkb xkbind gxkb openbox _x000D_ sddm sddm-theme-maldives gnome-disk-utility smbclient compton _x000D_ breeze breeze-gtk-theme kde-cli-tools kde-spectacle obconf-qt _x000D_ scrot software-properties-gtk kcalc konsole dolphin dconf-editor _x000D_ gnome-screensaver fonts-noto-core fonts-noto-color-emoji fonts-dejavu _x000D_ fonts-freefont-ttf font-manager kitty kcolorchooser vlc ark_x000D_Установка браузера:
_x000D_flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo_x000D_flatpak install flathub org.mozilla.firefoxУстановка Google Chrome
Добавьте ключ
_x000D_apt-key adv --keyserver keyserver.ubuntu.com --recv 4EB27DB2A3B88B8B_x000D_apt-key export 4EB27DB2A3B88B8B | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/google-chrome.gpg_x000D_Добавьте репозиторий Google Chrome
_x000D_cat > /etc/apt/sources.list.d/google-chrome.list << EOF_x000D_deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main_x000D_EOF_x000D_Установите браузер
_x000D_apt-get update_x000D_apt-get install -y google-chrome-stable Установка ядра и драйверов для Debian
Ядро
_x000D_apt-get install -y linux-image-generic dkms linux-headers-amd64Драйвера
_x000D_apt-get install -y firmware-misc-nonfreeДрайвера Realtek:
_x000D_apt-get install -y firmware-realtekДрайвера Nvidia (лучше их устанавливать когда уже загрузитесь с флешки):
_x000D_apt-get install -y --install-recommends nvidia-driver_x000D_echo "options nvidia-drm modeset=1" > /etc/modprobe.d/nvidia-drm-nomodeset.confВозможно потребуется установить:
_x000D_apt-get install linux-modules-nvidia-525-generic linux-modules-nvidia-525-generic-hwe-22.04Установка ядра для Ubuntu
Ядро
_x000D_apt-get install -y linux-generic linux-generic-hwe-22.04 linux-tools-generic-hwe-22.04 linux-firmware dkmsУдаление лишних программ
Удалите пакет ifupdown и resolvconf
_x000D_apt-get purge apparmor ifupdown resolvconf connman cmst geoclue-2.0 modemmanager xfwm4 xfwm4-theme-breeze obconf xscreensaver gnome-keyring gnome-power-manager gnome-session-bin smplayer_x000D_apt autoremoveОчистите кэш
_x000D_apt-get clean allНастройка часового пояса
Вместо Asia/Almaty укажите свой часовой пояс
_x000D_timedatectl set-timezone Asia/Almaty_x000D__x000D_cat > /etc/profile.d/0.datetime.sh << EOF_x000D_TZ='Asia/Almaty'_x000D_export TZ_x000D_EOFОбновление времени
_x000D_cp /etc/openntpd/ntpd.conf /etc/openntpd/ntpd.orig.conf_x000D_echo "servers pool.ntp.org" > /etc/openntpd/ntpd.confНастройка клавиатуры
Сконфигурируйте раскладку клавиатуры на переключение через Alt+Shift
nano /etc/default/keyboard
_x000D_# KEYBOARD CONFIGURATION FILE_x000D__x000D_# Consult the keyboard(5) manual page._x000D__x000D_XKBMODEL="pc105"_x000D_XKBLAYOUT="us,ru"_x000D_XKBVARIANT=""_x000D_XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"_x000D__x000D_BACKSPACE="guess"Настройка приветствия
Откройте файл
_x000D_nano /etc/profile.d/0.welcome.shВставьте текст
_x000D_if [[ `whoami` = "root" ]]; then_x000D_ HILIT="e[0;91m"_x000D_else_x000D_ HILIT="e[0;94m"_x000D_fi_x000D__x000D_HOSTNAME=`hostname`_x000D_PS1="[${HILIT}][u@${HOSTNAME} W]\$ [e[0m]"_x000D_export PS1Создание пользователя
Создайте пользователя ubuntu
_x000D_echo "%wheel ALL=(ALL:ALL) NOPASSWD: ALL" >> /etc/sudoers_x000D_useradd -m --shell /bin/bash user_x000D_usermod -a -G sudo user_x000D_groupadd -r wheel_x000D_usermod -a -G wheel user_x000D_chmod 700 /home/user_x000D_chown -R user:user /home/userУстановите пароль для root
_x000D_passwdУстановите пароль для пользователя user
_x000D_passwd userНастройка home directory
Скачайте готовый конфиг с сайта
_x000D_cd /home/user_x000D_git clone https://github.com/bayrell-os/lxqt_home_x000D_cp -rfT lxqt_home/src $HOME_x000D_rm -rf lxqt_home_x000D_chown -R user:user /home/userНастройка SDDM
SDDM — это менеджер входа в систему, где вы вводите логин и пароль от аккаунта
Настройте sddm в качестве display manager по умолчанию:
_x000D_echo "/usr/bin/sddm" > /etc/X11/default-display-manager _x000D_sddm --example-config > /etc/sddm.confУкажите в /etc/sddm.conf тему maldives:
_x000D_sed -i 's|Session=.*|Session=openbox.dektop|g' /etc/sddm.conf_x000D_sed -i 's|Current=.*|Current=maldives|g' /etc/sddm.conf_x000D_sed -i 's|CursorTheme=.*|CursorTheme=breeze_cursors|g' /etc/sddm.confЕсли вы хотите сделать автоматический вход для пользователя use то укажите:
_x000D_sed -i 's|User=.*|User=user|g' /etc/sddm.confУкажите иконки по умолчанию:
_x000D_update-alternatives --set x-cursor-theme /etc/X11/cursors/breeze_cursors.theme_x000D_Настройка NetworkManager
Измените настройки /etc/NetworkManager/NetworkManager.conf
_x000D_[main]_x000D_plugins=ifupdown,keyfile_x000D_dns=none_x000D__x000D_[ifupdown]_x000D_managed=false_x000D__x000D_[device]_x000D_wifi.scan-rand-mac-address=no_x000D_Создайте файл /usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf
_x000D_[keyfile]_x000D_unmanaged-devices=*,except:type:ethernet,except:type:wifi,except:type:gsm,except:type:cdma,interface-name:lxc*,interface-name:docker*,interface-name:virtual*,interface-name:veth*_x000D_Отключите сервисы systemd и avahi
_x000D_systemctl disable systemd-networkd.socket_x000D_systemctl disable systemd-networkd.service_x000D_systemctl disable systemd-resolved.service_x000D_systemctl disable avahi-daemon.service_x000D_systemctl disable avahi-daemon.socket_x000D_Поменяйте файл /etc/resolv.conf
_x000D_rm -f /etc/resolv.conf_x000D_echo "nameserver 127.0.0.1" > /etc/resolv.confСоздайте файл /etc/dnsmasq.conf
_x000D_port=53_x000D_#listen-address=0.0.0.0_x000D_no-dhcp-interface=_x000D_bind-interfaces_x000D_expand-hosts_x000D_local-ttl=1_x000D_no-negcache_x000D__x000D_# Динамические настройки DNS_x000D_resolv-file=/run/NetworkManager/resolv.conf_x000D__x000D_# Настройки DNS по умолчанию_x000D_#resolv-file=/etc/resolv.dnsmasq_x000D__x000D_conf-dir=/etc/dnsmasq.d_x000D_cache-size=150_x000D_max-cache-ttl=600_x000D_min-cache-ttl=60_x000D__x000D_# Одновременный запрос ко всем DNS серверам_x000D_# all-servers_x000D__x000D_# Запрещаем резолвить домены без точки (нужно для Docker Swarm)_x000D_domain-needed_x000D__x000D_# Для отладки_x000D_#log-queriesРаскоментируйте строку в файле /etc/default/dnsmasq
_x000D_IGNORE_RESOLVCONF=yesВыключите резолвер из внешней сети интернет. Создайте файл /etc/dnsmasq.d/disable-external-network
_x000D_bind-interfaces_x000D_except-interface=eth*_x000D_except-interface=enp*_x000D_except-interface=wlan*_x000D_except-interface=wlp*Создайте файл /etc/NetworkManager/dispatcher.d/99-dnsmasq
_x000D_#!/bin/bash_x000D__x000D_if [[ "$2" = "up" || "$2" = "down" ]]; then_x000D_ kill -9 `cat /var/run/dnsmasq/dnsmasq.pid`_x000D_ systemctl start dnsmasq_x000D_fiУстановка hostname
Укажите название хоста
_x000D_echo "liveusb" > /etc/hostnameДобавьте локальный IP адрес
_x000D_echo "127.0.0.1 liveusb" >> /etc/hostsУстановите BFQ
BFQ это диспетчер I/O. Это улучшенная версия, которая позволяет ускорить работу с системой. Подробнее про BFQ
Откройте файл
_x000D_nano /etc/default/grubВ параметр GRUB_CMDLINE_LINUX_DEFAULT нужно добавить строчку scsi_mod.use_blk_mq=1 а также убрать слово quiet
Пример:
_x000D_GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=none scsi_mod.use_blk_mq=1"_x000D_acpi_backlight — это яркость экрана. Возможные значения:
- video
- vendor
- none
Если яркость экрана не будет меняться, то попробуйте изменить эти параметры, или убрать acpi_backlight=none
Добавить BFQ
_x000D_echo 'bfq' >> /etc/initramfs-tools/modules_x000D_echo 'ACTION=="add|change", KERNEL=="sd*[!0-9]|sr*", ATTR{queue/scheduler}="bfq"' >> /etc/udev/rules.d/60-scheduler.rulesНастройка GRUB
Откройте файл с настройками grub
_x000D_nano /etc/default/grubСледует установить строки
_x000D_GRUB_DEFAULT=0_x000D_#GRUB_TIMEOUT_STYLE=hidden_x000D_GRUB_TIMEOUT_STYLE=menu_x000D_GRUB_TIMEOUT=5_x000D_GRUB_DISABLE_OS_PROBER=true_x000D_GRUB_DISTRIBUTOR="Live USB Debian"_x000D_#GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`_x000D_GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=none scsi_mod.use_blk_mq=1"_x000D_GRUB_CMDLINE_LINUX=""Настройка iptables
Iptables нужно ставить всегда обязательно. Это фаерволл, который защищает систему он внешних атак. Откройте редактор файла /etc/iptables/rules.v4
_x000D_nano /etc/iptables/rules.v4Вставьте следующее содержимое:
_x000D_*filter_x000D_:INPUT ACCEPT [19:913]_x000D_:FORWARD ACCEPT [0:0]_x000D_:OUTPUT ACCEPT [39:3584]_x000D_:ALLOW-INPUT - [0:0]_x000D_-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT_x000D_-A INPUT -p icmp -j ACCEPT_x000D_-A INPUT -i lo -j ACCEPT_x000D__x000D_# Разрешаем входящие соединения ssh_x000D_#-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT_x000D__x000D_# Разрешить http_x000D_#-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT_x000D_#-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT_x000D__x000D_# Перейти к цепочке ALLOW-INPUT_x000D_-A INPUT -j ALLOW-INPUT_x000D__x000D_# Запрещаем остальные входящие соединения_x000D_-A INPUT -j REJECT_x000D_-A FORWARD -j REJECT_x000D__x000D_-A ALLOW-INPUT -j RETURN_x000D__x000D_COMMITСкопируйте rules.v4 в rules.v6
_x000D_cp /etc/iptables/rules.v4 /etc/iptables/rules.v6Настройка udisks2
udisks2 отвечает за подключение флешек и разных устройств. Рекомендуется добавить параметр sync для более корректной работы с USB устройствами
Откройте файл
_x000D_nano /etc/udisks2/mount_options.confВставьте содержимое
_x000D_[defaults]_x000D_vfat_defaults=uid=$UID,gid=$GID,shortname=mixed,utf8=1,showexec,flush,sync_x000D_ntfs_defaults=uid=$UID,gid=$GID,windows_names,sync,relatime_x000D__x000D_Установка gnome screensaver
Выполните команду
_x000D_cat > /etc/xdg/autostart/lxqt-gnome-screensaver.desktop << EOF_x000D_[Desktop Entry]_x000D_Comment=Screensaver_x000D_Exec=gnome-screensaver_x000D_GenericName=GNOME Screensaver_x000D_Name=GNOME Screensaver_x000D_OnlyShowIn=LXQt;_x000D_TryExec=gnome-screensaver_x000D_Type=Application_x000D_EOFУстановка picom
Выполните команду
_x000D_cat > /etc/xdg/autostart/lxqt-picom.desktop << EOF_x000D_[Desktop Entry]_x000D_Comment=A X compositor_x000D_Exec=picom --backend glx --vsync_x000D_GenericName=X compositor_x000D_Name=Picom (X Compositor)_x000D_OnlyShowIn=LXQt;_x000D_TryExec=compton_x000D_Type=Application_x000D_EOFНастройка монитора
Выполните команду
_x000D_cat > /etc/xdg/autostart/lxqt-monitor.desktop << EOF_x000D_[Desktop Entry]_x000D_Comment=Monitor Settings_x000D_Exec=sh -c \'sleep 60 && xset dpms 200 200 200 && xset -dpms && xset s off\'_x000D_GenericName=Monitor Always ON_x000D_Name=Monitor Always ON_x000D_OnlyShowIn=LXQt;_x000D_Type=Application_x000D_EOFНастройка pulseaudio
Создайте файл
_x000D_nano /etc/pulse/default.pa.d/pulse-socket.paПропишите строчку
_x000D_load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse-socketНастройка Flatpak
Чтобы курсор во Flatpak приложениях был одинаковым, выполните:
_x000D_flatpak override --user --filesystem=$HOME/.icons/:ro_x000D_flatpak override --user --filesystem=/usr/share/icons/:ro_x000D_flatpak override --user --filesystem=xdg-config/gtk-3.0:ro_x000D_flatpak override --user --env GTK_USE_PORTAL=1Установка дополнительных скриптов
Скачайте скрипты
_x000D_cd /opt_x000D_git clone https://github.com/bayrell-os/desktop_scriptsДобавьте правила в sudoers
_x000D_echo "user ALL = NOPASSWD: /opt/scripts/brightness.sh" >> /etc/sudoers_x000D_Установка libssl 1.1
_x000D_cd /src_x000D_wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.debПроверьте md5 сумму. Она должна быть равна 1cd1b6ba2a30a42580c01e92a6278281
_x000D_$ md5sum -b *_x000D_1cd1b6ba2a30a42580c01e92a6278281 *libssl1.1_1.1.1f-1ubuntu2_amd64.debУстановите libssl
_x000D_dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.debОтключение автообновлений
Откройте файл /etc/apt/apt.conf.d/20auto-upgrades и установите значение «0» для Unattended-Upgrade
_x000D_APT::Periodic::Unattended-Upgrade "0";Отключите автозапуск
_x000D_systemctl stop unattended-upgrades_x000D_systemctl disable unattended-upgradesПрочие настройки
Установите лимиты на размер journalctl и время ожидания запуска сервисов
_x000D_echo "SystemMaxUse=128M" >> /etc/systemd/journald.conf_x000D_echo "DefaultTimeoutStartSec=60" >> /etc/systemd/system.conf_x000D_echo "DefaultTimeoutStopSec=30" >> /etc/systemd/system.confЗавершение настроек
Выйдите из chroot
_x000D_exitОтмонтируйте папки
_x000D_umount /media/debian/root/proc_x000D_umount /media/debian/root/sys_x000D_umount /media/debian/root/dev/pts_x000D_umount /media/debian/root/devУдалите содержимое папки dev
_x000D_rm -rf /media/debian/root/dev/*Установка завершена!
Форматирование флешки
Дальше идет инструкция переноса данных на флешку
Узнайте на каком устройстве смонтирована флешка командой
_x000D_fdisk -lОбычно это /dev/sdb, но у вас оно может быть другим.
В данной инструкции будет применяться /dev/sdb, вы должны будете указать свое устройство
Выполните команду создания GPT разметки для img файла
_x000D_parted /dev/sdb mklabel gptЗапустите программу управления дисками
_x000D_cfdisk /dev/sdbСоздайте primary раздел на весь диск
| Size | Type | |
| 1 | 100M | EFI System |
| 2 | All space | Linux root (x86-64) |
Выведите на экран результат
_x000D_fdisk -lu /dev/sdbДолжно вывести
_x000D_Disk /dev/sdb: 29,7 GiB, 31914983424 bytes, 62333952 sectors_x000D_Units: sectors of 1 * 512 = 512 bytes_x000D_Sector size (logical/physical): 512 bytes / 512 bytes_x000D_I/O size (minimum/optimal): 512 bytes / 512 bytes_x000D_Disklabel type: gpt_x000D_Disk identifier: D6857A30-CA82-4F07-8189-928A5DF74020_x000D__x000D_Device Start End Sectors Size Type_x000D_/dev/sdb1 2048 206847 204800 100M EFI System_x000D_/dev/sdb2 206848 62333918 62127071 29,6G Linux root (x86-64)_x000D_Создайте файловую систему
_x000D_mkfs.vfat -F32 /dev/sdb1_x000D_mkfs.ext4 -L live_usb /dev/sdb2Проверьте файловую систему
_x000D_fsck -fv /dev/sdb1_x000D_fsck -fv /dev/sdb2Проверьте правильно ли создали разметку
_x000D_parted /dev/sdb printУ меня выдало следующее:
_x000D_Model: Mass Storage Device (scsi)_x000D_Disk /dev/sdb: 31,9GB_x000D_Sector size (logical/physical): 512B/512B_x000D_Partition Table: gpt_x000D_Disk Flags: _x000D__x000D_Number Start End Size File system Name Flags_x000D_ 1 1049kB 106MB 105MB fat32 boot, esp_x000D_ 2 106MB 31,9GB 31,8GB ext4_x000D_Перенос файлов на флешку
Смонтируйте флешку
_x000D_mount /dev/sdb2 /mnt_x000D__x000D_mkdir -p /mnt/boot/efi_x000D_mkdir -p /mnt/{proc,sys,dev,tmp}_x000D_mkdir -p /mnt/dev/pts_x000D__x000D_mount /dev/sdb1 /mnt/boot/efi_x000D_mount -t proc proc /mnt/proc_x000D_mount -t sysfs sys /mnt/sys_x000D_mount -o bind /dev /mnt/dev_x000D_mount -t devpts none /mnt/dev/ptsЗатем сделайте rsync
_x000D_rsync -aSsuh --info=progress2 --numeric-ids --bwlimit=10240 --delete _x000D_ --exclude 'boot/efi' --exclude 'dev' --exclude 'proc' --exclude 'sys' --exclude 'tmp' _x000D_ /media/debian/root/ /mnt/Выполните синхронизацию
_x000D_sync -f && fstrim -avCконфигурируйте fstab
Выполните комманду:
_x000D_blkidОна выдаст UUID дисков. Примерно следующее:
_x000D_/dev/sdb1: UUID="EBEC-F6A2" TYPE="vfat" PARTUUID="252be12a-395c-d648-baa9-abba0ed42877"_x000D_/dev/sdb2: LABEL="live_usb" UUID="16337269-4de0-4503-a2ee-e7dbd896866c" TYPE="ext4" PARTUUID="d32191ba-09f2-e842-b3b8-1ff747359a85"_x000D_Откройте файл fstab для редактирования.
_x000D_nano /mnt/etc/fstabID дисков нужно прописать в fstab.
Обратите внимание. У вас может отличаться UUID. Прописывайте свои UUID, которые выдала вам программа blkid
_x000D_# /etc/fstab: static file system information._x000D_#_x000D_# Use 'blkid' to print the universally unique identifier for a_x000D_# device; this may be used with UUID= as a more robust way to name devices_x000D_# that works even if disks are added and removed. See fstab(5)._x000D_#_x000D_# <file system> <mount point> <type> <options> <dump> <pass>_x000D_# / was on /dev/sda1 during installation_x000D_UUID=16337269-4de0-4503-a2ee-e7dbd896866c / ext4 errors=remount-ro 0 1_x000D_UUID=EBEC-F6A2 /boot/efi vfat umask=0077 0 1_x000D_Установка загрузчика GRUB
Сделайте chroot
_x000D_chroot /mntУстановите загрузчик
Обратите внимание, на какой диск устанавливаете загрузчик. Обычно это /dev/sdb, но может быть другой диск
_x000D_grub-install --target=x86_64-efi --bootloader-id=liveusb _x000D_ --boot-directory=/boot --removable --recheck _x000D_ --no-floppy /dev/sdb_x000D__x000D_update-initramfs -u_x000D_update-grubВыйдите из chroot
_x000D_exitОтмонтируйте папки
_x000D_umount /mnt/proc_x000D_umount /mnt/sys_x000D_umount /mnt/dev/pts_x000D_umount /mnt/dev_x000D_umount /mnt/boot/efi_x000D_umount /mntВыполните синхронизацию
_x000D_sync -fЗагрузочная флешка готова!
Проверка через QEMU
Запустите qemu с параметрами
_x000D_qemu-system-x86_64 -m 2G -cpu host -enable-kvm _x000D_ -bios /usr/share/ovmf/OVMF.fd _x000D_ -netdev user,id=net0 -device virtio-net-pci,netdev=net0 _x000D_ -drive format=raw,media=disk,file=/dev/sdbЗагрузитесь в Qemu и запустите рабочее окружение. Вы можете настроить его по своему усмотрению, настроить обои, темы, шрифты, раскладку клавиатуры и т.п. У меня, например, при загрузке не правильно отображался рабочий стол. Это можно исправить в настройках LXQT.
Исправление ошибок
Данные действия нужно выполнять, если входе инструкции у вас возникли определенные ошибки
1) Если выходит ошибка:
_x000D_W: Cannot check Release signature; keyring file not available /usr/share/keyrings/debian-archive-keyring.gpgвыполните для Ubuntu:
_x000D_apt-get install debian-keyring debian-archive-keyringвыполните для Debian:
_x000D_apt-get install ubuntu-archive-keyring2) Если выходит ошибка
_x000D_W: Cannot check Release signature; keyring file not available /usr/share/keyrings/ubuntu-archive-keyring.gpg_x000D_Выполните
_x000D_apt-get install debian-keyring debian-archive-keyring_x000D_cp /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/ubuntu-archive-keyring.gpg_x000D_gpg --list-keys_x000D_gpg --no-default-keyring --keyring /usr/share/keyrings/ubuntu-archive-keyring.gpg --keyserver keyserver.ubuntu.com --recv 871920D1991BC93C3) Если выходит ошибка
_x000D_Release signed by unknown key (key id F8D2585B8783D481)начит нужно установить ключ в /usr/share/keyrings/debian-archive-keyring.gpg
Выполните команду:
_x000D_gpg --no-default-keyring --keyring /usr/share/keyrings/debian-archive-keyring.gpg --keyserver keyserver.ubuntu.com --recv F8D2585B8783D481Если не работает, то эту:
_x000D_wget "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x4d64fec119c2029067d6e791f8d2585b8783d481" -O "debian-bookworm.gpg"_x000D_gpg --no-default-keyring --keyring /usr/share/keyrings/debian-archive-keyring.gpg --import debian-bookworm.gpgПосмотреть список установленных ключей:
_x000D_gpg --no-default-keyring --keyring /usr/share/keyrings/debian-archive-keyring.gpg --list-keys4) Если выходит ошибка:
_x000D_E: No such script: /usr/share/debootstrap/scripts/bookwormто создайте симлинк:
_x000D_cd /usr/share/debootstrap/scripts_x000D_ln -s sid bookwormУбрать автомонтирование устройств для udisk
Эту опцию можно пропустить
Создайте файл
_x000D_nano /etc/udev/rules.d/99-udisk.rulesС содержимым
_x000D_SUBSYSTEM=="block", ENV{ACTION}=="add", ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{UDISKS_IGNORE}="1", ENV{UDISKS_PRESENTATION_HIDE}="1"_x000D_