Установка и первичная настройка дистрибутива Arch Linux: различия между версиями
Comminux (обсуждение | вклад) Secure Boot |
Comminux (обсуждение | вклад) Удалена ошибочная строка в настройках загрузочных записей |
||
| (не показано 15 промежуточных версий этого же участника) | |||
| Строка 82: | Строка 82: | ||
'''В зависимости от производителя процессора, требуется поставить дополнительный пакет с обновлением микрокода:''' <code>intel-ucode</code> '''или''' <code>amd-ucode</code> | '''В зависимости от производителя процессора, требуется поставить дополнительный пакет с обновлением микрокода:''' <code>intel-ucode</code> '''или''' <code>amd-ucode</code> | ||
== Настройка базовой системы == | == Настройка базовой системы == | ||
| Строка 167: | Строка 145: | ||
sudo pacman -S linux</pre> | sudo pacman -S linux</pre> | ||
=== | === TPM2 разблокировка === | ||
<pre>sudo systemd-cryptenroll /dev/gpt-auto-root-luks --recovery-key | |||
sudo systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=0+7 /dev/gpt-auto-root-luks --tpm2-with-pin=yes</pre> | |||
Если Swap раздел не был разблокирован на этапе загрузки, то необходимо это сделать сейчас: | |||
sudo cryptsetup luksOpen /dev/nvme0n1p2 swap | |||
Добавим ключ для Swap раздела в TPM2. | |||
sudo systemd-cryptenroll --tpm2-device auto /dev/disk/by-designator/swap-luks | |||
=== | === Завершение настройки базовой системы === | ||
Trizen менеджер пакетов для AUR: облегченная оболочка pacman и помощник AUR. | Trizen менеджер пакетов для AUR: облегченная оболочка pacman и помощник AUR. | ||
cd /tmp | cd /tmp | ||
| Строка 191: | Строка 168: | ||
=== Установка требуемых пакетов и приложений === | === Установка требуемых пакетов и приложений === | ||
pacman -S alacritty android-tools android-udev blender code filezilla gimp godot gvfs inkscape keepassxc lib32-ncurses libreoffice-fresh libreoffice-fresh-ru libva-utils mesa-demos mpv nextcloud-client noto-fonts noto-fonts-cjk noto-fonts-emoji qbittorrent steam telegram-desktop tesseract tesseract-data-eng tesseract-data-rus vlc | |||
trizen -S --noedit android-studio anydesk-bin assistant google-chrome-dev gtk2-patched-filechooser-icon-view webcord | |||
==== KDE ==== | |||
pacman -S ark audiocd-kio dolphin dolphin-plugins ffmpegthumbs filelight icoutils kdegraphics-thumbnailers kdf kimageformats kio-admin kompare plasma resvg | |||
systemd enable plasmalogin.service | |||
После запуска KDE необходимо настроить раскладки клавиатуры, DPI. | |||
==== Sway (устарело, требуется обновление части) ==== | |||
sudo pacman -S gdm sway | |||
=== | trizen -S libdisplay-info-git rofi-lbonn-wayland-git slurp waybar xdg-desktop-portal-wlr --noedit | ||
sudo pacman -S | |||
trizen -S libdisplay-info-git | |||
sudo systemctl enable --now gdm | sudo systemctl enable --now gdm | ||
=== Настройка путей и монтирования в домашнем каталоге === | === Настройка путей и монтирования в домашнем каталоге === | ||
mkdir -pv /home/$USER/{Desktop,Downloads,Documents,Pictures,Public,Sounds,Templates,VPNs | Тут необходимо решить проблему с тем, что русскоязычные папки уже могут быть созданы. | ||
mkdir -v /home/$USER/{Music,Videos} # Для | |||
mkdir -pv /home/$USER/{Desktop,Databases,Downloads,Documents,Pictures,Public,Sounds,Templates,VPNs} | |||
mkdir -v /home/$USER/{Music,Videos,Work/Builds/ArchLinux} # Для устройства с одним накопителем | |||
ln -s ~/.local/share/Steam ~/Steam | ln -s ~/.local/share/Steam ~/Steam | ||
Если основной накопитель имеет малый размер и имеется возможность установки второго, то последний можно монтировать через <code>/etc/fstab</code> и создать симлинки на основной папки. | |||
ln -s /mnt/storage/Music/ ~/Music | |||
ln -s /mnt/storage/Videos/ ~/Videos | |||
ln -s /mnt/storage/Work/ ~/Work | |||
=== Импортирование конфигурации === | === Импортирование конфигурации === | ||
git clone <nowiki>https://git.tmon8.ru/comminux/dotfiles.git</nowiki> ~/Work/dotfiles | git clone <nowiki>https://git.tmon8.ru/comminux/dotfiles.git</nowiki> ~/Work/dotfiles | ||
cd ~/Work/dotfiles | cd ~/Work/dotfiles | ||
| Строка 230: | Строка 212: | ||
=== Исправление ошибки "Not authorized to perform operation" при попытке монтирования дополнительного накопителя. === | === Исправление ошибки "Not authorized to perform operation" при попытке монтирования дополнительного накопителя. === | ||
Создаём это polkit правило в <code>/etc/polkit-1/rules.d/00-mount-internal.rules</code>: | Создаём это polkit правило в <code>/etc/polkit-1/rules.d/00-mount-internal.rules</code>: | ||
polkit.addRule(function(action, subject) { | polkit.addRule(function(action, subject) { | ||
| Строка 238: | Строка 221: | ||
} | } | ||
}); | }); | ||
И добавляем нашего пользователя в группу '''storage''': | И добавляем нашего пользователя в группу '''storage''': | ||
<code># sudo usermod -aG storage $USER</code> | <code># sudo usermod -aG storage $USER</code> | ||
=== Устаревшая секция === | |||
sudo pacman -S android-tools android-udev baobab chromium filezilla gimp gnu-netcat gvfs inkscape keepassxc lib32-ncurses libreoffice-fresh libreoffice-fresh-ru libva-utils mesa-demos minetest mpv neofetch nextcloud-client nomacs noto-fonts noto-fonts-cjk noto-fonts-emoji pavucontrol pcmanfm-qt pipewire-jack qbittorrent qt5-translations qt6-translations qutebrowser steam steam-native-runtime telegram-desktop tesseract tesseract-data-eng tesseract-data-rus ttf-liberation wine-gecko wine-mono winetricks | |||
Для компьютера на базе графического процессора от Intel: <code>sudo pacman -S intel-media-driver powertop xf86-video-intel</code> | |||
Для компьютера на базе графического процессора от AMD: <code>sudo pacman -S lib32-vulkan-radeon libva-mesa-driver vulkan-radeon xf86-video-amdgpu</code> | |||
Перечень Vulkan драйверов: <nowiki>https://wiki.archlinux.org/title/Vulkan</nowiki> | |||
Для настройки тачпада ноутбука: <code>xorg-xinput</code> | |||
trizen -S android-studio anydesk-bin chromexup evhz-git godot lib32-gconf undistract-me-git webcord --noedit | |||
echo -e "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> ~\.bashrc | |||
== Установка дополнительных компонентов и настройка серверной станции == | == Установка дополнительных компонентов и настройка серверной станции == | ||
| Строка 246: | Строка 244: | ||
=== Основные программы === | === Основные программы === | ||
sudo pacman -Suy certbot-nginx composer cups ffmpeg gitea libreoffice-fresh mediawiki nextcloud nginx php-fpm php-gd php-imagick php-intl php-sodium qbittorrent-nox sane vlc vsftpd youtube-dl | sudo pacman -Suy certbot-nginx composer cups ffmpeg gitea libreoffice-fresh mediawiki nextcloud nginx php-fpm php-gd php-imagick php-intl php-sodium qbittorrent-nox sane vlc vsftpd youtube-dl | ||
trizen -S gerbera samsung-unified-driver steamcmd | trizen -S gerbera minetest-git samsung-unified-driver steamcmd --noedit | ||
=== Настройка принтера === | === Настройка принтера === | ||
| Строка 263: | Строка 261: | ||
sudo mkdir /etc/nginx/sites-available | sudo mkdir /etc/nginx/sites-available | ||
sudo mkdir /etc/nginx/sites-enabled | sudo mkdir /etc/nginx/sites-enabled | ||
Также потребуется добавить опцию sites-enabled/*; в конец блока http в файле <code>/etc/nginx/nginx.conf</code> для возможности использования отдельных конфигураций под каждое веб-приложение: | Также потребуется добавить опцию sites-enabled/*; в конец блока http в файле <code>/etc/nginx/nginx.conf</code> для возможности использования отдельных конфигураций под каждое веб-приложение: | ||
http { | http { | ||
types_hash_max_size 4096; | types_hash_max_size 4096; | ||
| Строка 270: | Строка 270: | ||
include sites-enabled/*; | include sites-enabled/*; | ||
} | } | ||
== Устаревшие секции == | |||
Тут приведены устаревшие части настройки системы. Если systemd-boot теперь устанавливается в <code>/efi</code>, то за автоматическое монтирование отвечает systemd, т.к. при создании разделов мы использовали метки Discoverable Partitions Specification (DPS). | |||
=== Установка загрузчика systemd-boot === | |||
Для копирования исполняемого файла загрузчика на EFI-раздел и добавления загрузочной записи в прошивку материнской платы можно воспользоваться инструментом из состава systemd: <code>bootctl --path=/boot install</code> | |||
Если требуется, сторонние [[Список полезных команд Linux|загрузочные записи можно очистить]]. | |||
Теперь берем UUID swap'а и раздела монтируемого по корневому пути. (''эту часть нужно улучшить, чтобы UUID был сохранён в переменную'') | |||
ls -l /dev/disk/by-partuuid/ | grep 'sd[a-z][1-3]' | |||
echo -e 'title\t\tArch Linux Kernel\nlinux\t\t/vmlinuz-linux\ninitrd\t\t/intel-ucode.img\ninitrd\t\t/initramfs-linux.img\noptions\t\troot=PARTUUID=55d7a752-7da7-4a8f-aae7-a90b63614d83 rw resume=PARTUUID=4af468e0-0c92-4dab-9a21-738fd95875d3' >> /boot/loader/entries/arch.conf | |||
sudo sed -i '1i default @saved' /boot/loader/loader.conf # systemd-boot будет запоминать последнюю выбранную загрузочную запись | |||
Завершаем работу в '''chroot''' окружении и перезагружаем компьютер для продолжения настройки системы. | |||
exit | |||
reboot | |||
=== Настройка fstab === | |||
sudo genfstab -U /mnt/install >> /mnt/install/etc/fstab | |||
Теперь требуется проверить и отредактировать <code>/mnt/install/etc/fstab</code> перед следующим этапом. | |||
Пример: | |||
# Static information about the filesystems. | |||
# See fstab(5) for details. | |||
# <file system> <dir> <type> <options> <dump> <pass> | |||
# /dev/nvme0n1p3 | |||
UUID=68b6d3fa-3dd1-4c2d-acd4-8956a89d7c53 / ext4 rw,relatime 0 1 | |||
# /dev/nvme0n1p1 | |||
UUID=CFA0-CC07 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2 | |||
# /dev/nvme0n1p2 | |||
UUID=c9e25512-cc2d-45cf-a95e-e4cfc6dfb116 none swap defaults 0 0 | |||
Файловые системы vfat и ext4 требуют дополнительной опции <code>discard</code> при использовании SSD накопителя: | |||
# /dev/sdX3 | |||
UUID=6b0d06c4-ca05-427d-83d4-b3978595f6bb / ext4 rw,relatime,discard 0 1 | |||
== Смотрите также == | == Смотрите также == | ||