Установка и первичная настройка дистрибутива Arch Linux: различия между версиями
Comminux (обсуждение | вклад) Перенесены устаревшие части |
Comminux (обсуждение | вклад) Удалена ошибочная строка в настройках загрузочных записей |
||
| (не показано 13 промежуточных версий этого же участника) | |||
| Строка 145: | Строка 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 | ||
| Строка 155: | Строка 168: | ||
=== Установка требуемых пакетов и приложений === | === Установка требуемых пакетов и приложений === | ||
pacman -S alacritty | 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 google-chrome-dev | trizen -S --noedit android-studio anydesk-bin assistant google-chrome-dev gtk2-patched-filechooser-icon-view webcord | ||
==== KDE ==== | ==== KDE ==== | ||
pacman -S plasma | pacman -S ark audiocd-kio dolphin dolphin-plugins ffmpegthumbs filelight icoutils kdegraphics-thumbnailers kdf kimageformats kio-admin kompare plasma resvg | ||
systemd enable plasmalogin.service | systemd enable plasmalogin.service | ||
| Строка 166: | Строка 179: | ||
==== Sway (устарело, требуется обновление части) ==== | ==== Sway (устарело, требуется обновление части) ==== | ||
sudo pacman -S gdm sway | sudo pacman -S gdm sway | ||
trizen -S libdisplay-info-git | trizen -S libdisplay-info-git rofi-lbonn-wayland-git slurp waybar xdg-desktop-portal-wlr --noedit | ||
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 | ||
| Строка 190: | Строка 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) { | ||
| Строка 198: | Строка 221: | ||
} | } | ||
}); | }); | ||
И добавляем нашего пользователя в группу '''storage''': | И добавляем нашего пользователя в группу '''storage''': | ||
| Строка 204: | Строка 228: | ||
=== Устаревшая секция === | === Устаревшая секция === | ||
sudo pacman -S android-tools android-udev baobab chromium filezilla gimp gnu-netcat gvfs inkscape keepassxc libreoffice-fresh | 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> | Для компьютера на базе графического процессора от Intel: <code>sudo pacman -S intel-media-driver powertop xf86-video-intel</code> | ||
Для компьютера на базе графического процессора от AMD: <code>sudo pacman -S | Для компьютера на базе графического процессора от 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> | Перечень Vulkan драйверов: <nowiki>https://wiki.archlinux.org/title/Vulkan</nowiki> | ||
| Строка 213: | Строка 237: | ||
Для настройки тачпада ноутбука: <code>xorg-xinput</code> | Для настройки тачпада ноутбука: <code>xorg-xinput</code> | ||
trizen -S android-studio anydesk-bin chromexup | 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 | echo -e "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> ~\.bashrc | ||
== Установка дополнительных компонентов и настройка серверной станции == | == Установка дополнительных компонентов и настройка серверной станции == | ||
| Строка 221: | Строка 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 | ||
=== Настройка принтера === | === Настройка принтера === | ||
| Строка 238: | Строка 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; | ||
| Строка 248: | Строка 273: | ||
== Устаревшие секции == | == Устаревшие секции == | ||
Тут приведены устаревшие части настройки системы | Тут приведены устаревшие части настройки системы. Если systemd-boot теперь устанавливается в <code>/efi</code>, то за автоматическое монтирование отвечает systemd, т.к. при создании разделов мы использовали метки Discoverable Partitions Specification (DPS). | ||
=== Установка загрузчика systemd-boot === | === Установка загрузчика systemd-boot === | ||
| Строка 256: | Строка 281: | ||
Теперь берем UUID swap'а и раздела монтируемого по корневому пути. (''эту часть нужно улучшить, чтобы UUID был сохранён в переменную'') | Теперь берем UUID swap'а и раздела монтируемого по корневому пути. (''эту часть нужно улучшить, чтобы UUID был сохранён в переменную'') | ||
ls -l /dev/disk/by-partuuid/ | grep 'sd[a-z][1-3]' | 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 | 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 будет запоминать последнюю выбранную загрузочную запись | sudo sed -i '1i default @saved' /boot/loader/loader.conf # systemd-boot будет запоминать последнюю выбранную загрузочную запись | ||
Завершаем работу в '''chroot''' окружении и перезагружаем компьютер для продолжения настройки системы. | Завершаем работу в '''chroot''' окружении и перезагружаем компьютер для продолжения настройки системы. | ||
exit | exit | ||
reboot | reboot | ||
=== Настройка fstab === | === Настройка fstab === | ||