Продолжение, начало тут:
В предыдущих частях мы установили минимальную систему с графическим окружением. В этой части мы установим еще одну систему на другой раздел, теперь уже из удобной графической среды. Загружаемся и логинимся под созданным пользователем, открываем Alacritty.
Установка пакета для установки Arch Linux из Arch Linux
sudo pacman -Sy arch-install-scripts
Далее будем устанавливать новую систему на второй раздел. Если сделали локальные зеркала - установка возможна без интернет!
Более того, похожим образом можно установить Gentoo из Arch Linux, о чем возможно будет отдельная статья.
Подготовка и монтирование разделов диска
Далее все команды будем выполнять под пользователем root
sudo -i
Получаем список дисков и разделов на них, с указанием файловых систем
lsblk
Форматируем раздел, созданный как описано в первой статье
mkfs.ext4 /dev/имя_раздела_arch2, например nvme0n1p3 или sda3
Монтируем разделы
mount /dev/имя_раздела_arch2 /mnt
mkdir -pv /mnt/boot/efi
mkdir -pv /mnt/data
mount /dev/имя_раздела_efi /mnt/boot/efi
mount /dev/имя_раздела_data /mnt/data
Проверяем
lsblk
Установка системы
Устанавливаем все пакеты, включая AUR
Вы можете заранее изучить назначение пакетов, и исключить ненужные вам, или добавить свои. Так же все пакеты ниже можно объединить в одну команду pacstrap -i /mnt список_пакетов_через_пробел.
Если не хватает каких то пакетов из AUR в локальном репозитории, добавьте их туда командой aur sync -d aur список_пакетов_через_пробел заранее, до установки новой системы (не из под root).
Базовая система
pacstrap /mnt base linux-firmware
Ядро linux
оптимизированное ядро
pacstrap /mnt linux-zen linux-zen-headers
или ядро "real time" (для работы со звуком)
pacstrap /mnt linux-rt linux-rt-headers
Консольные приложения
pacstrap -i /mnt sudo man-db mc vim nano base-devel extra-cmake-modules git pciutils usbutils gptfdisk rsync openssh fastfetch cdrtools smartmontools nvme-cli arch-install-scripts
Сеть и VPN
pacstrap -i /mnt networkmanager strongswan networkmanager-strongswan networkmanager-l2tp openvpn networkmanager-openvpn
Звук
pacstrap -i /mnt alsa-lib alsa-card-profiles alsa-utils alsa-plugins alsa-tools wireplumber pipewire pipewire-audio pipewire-jack pipewire-alsa pipewire-pulse realtime-privileges
Xorg
pacstrap -i /mnt xorg-server xorg-xinit xorg-xrandr xorg-xev xorg-xprop
Видео драйверы
Intel
pacstrap -i /mnt mesa mesa-utils vulkan-intel vulkan-mesa-layers
или AMD
pacstrap -i /mnt mesa mesa-utils vulkan-radeon vulkan-mesa-layers
или Nvidia
pacstrap -i /mnt nvidia-dkms nvidia-utils nvidia-settings
Дополнительные драйверы разного оборудования
например
pacstrap -i /mnt linux-firmware-qlogic
Сервис печати
pacstrap -i /mnt cups
Plasma (KDE)
Ставим не через мета-пакет plasma-meta и не через группу plasma, чтобы не ставить "лишние" компоненты.
Минимально необходимый пакет для работоспособности КДЕ - plasma-desktop, но там многого будет не хватать, поэтому добавили несколько дополнительных пакетов.
Можете посмотреть состав группы plasma тут: https://archlinux.org/groups/x86_64/plasma/
и решить, что добавить еще
pacstrap -i /mnt sddm plasma-desktop ttf-droid qt6-multimedia-ffmpeg plasma-x11-session kio-admin sddm-kcm kscreen kgamma colord-kde plasma-nm plasma-pa kdeplasma-addons ffmpegthumbs kdegraphics-thumbnailers kdesdk-thumbnailers spectacle oxygen kde-gtk-config breeze-gtk plasma-systemmonitor kinfocenter plasma-disks print-manager system-config-printer
или можете установить полностью
pacstrap -i /mnt plasma-meta ttf-droid qt6-multimedia-ffmpeg plasma-x11-session kio-admin colord-kde ffmpegthumbs kdegraphics-thumbnailers kdesdk-thumbnailers system-config-printer
Приложения КДЕ
pacstrap -i /mnt dolphin dolphin-plugins kate krusader konsole kclock ark filelight kdf kcolorchooser kcharselect kcalc gwenview kolourpaint okular qpwgraph
Другие приложения
pacstrap -i /mnt alacritty cool-retro-term doublecmd-qt6 geany qbittorrent audacious smplayer amok-exif-sorter telegram-desktop libreoffice-fresh
Принтеры HP если есть
pacstrap -i /mnt hplip pyqt5
Java
нужна для некоторых приложений и для программирования
pacstrap -i /mnt jdk8-openjdk jdk11-openjdk jdk17-openjdk jdk21-openjdk
Программирование
pacstrap -i /mnt docker docker-compose maven gradle nodejs npm
Менеджер AUR и приложения из AUR
pacstrap -i /mnt aurutils vifm yandex-browser yandex-disk yandex-disk-indicator rar zoom ventoy-bin visual-studio-code-bin
VMware tools
Если ставили в VMware, устанавливаем vmware-tools
pacstrap -i /mnt open-vm-tools gtkmm3
Настройка системы
Монтирование разделов
genfstab -t PARTLABEL /mnt > /mnt/etc/fstab
Проверяем
cat /mnt/etc/fstab
Переход в установленную систему
arch-chroot /mnt
Создание файла подкачки
Если у вас мало памяти (меньше 32Gb), желательно создать файл подкачки
dd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap defaults 0 0' | tee -a /etc/fstab
Системные настройки
Проверьте скрипт и измените свои индивидуальные настройки, например имя компьютера в hostname, часовой пояс, приглашение bash
cat > /etc/hostname << 'EOF'
archlinux
EOF
cat > /etc/locale.gen << 'EOF'
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
EOF
cat > /etc/locale.conf << 'EOF'
LANG=ru_RU.UTF-8
EOF
cat > /etc/vconsole.conf << 'EOF'
KEYMAP=ru
FONT=cyr-sun16
EOF
cat >> /etc/inputrc << 'EOF'
"\e[A": history-search-backward
"\e[B": history-search-forward
EOF
sed -i -E 's/^[[:space:]]*#?[[:space:]]*(%sudo[[:space:]]+ALL=\(ALL:ALL\)[[:space:]]+ALL)/\1/' /etc/sudoers
groupadd sudo
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
locale-gen
systemctl enable NetworkManager
systemctl enable sddm
systemctl enable systemd-timesyncd
systemctl enable cups
cat >> /etc/pacman.conf << 'EOF'
[aur]
SigLevel = Optional TrustAll
Server = file:///data/arch/aur_repo
EOF
cat > /root/.bash_profile << 'EOF'
[[ -f ~/.bashrc ]] && . ~/.bashrc
EOF
cat > /root/.bashrc << 'EOF'
[[ $- != *i* ]] && return
export HISTSIZE=10000
export HISTFILESIZE=10000
export HISTCONTROL=ignoreboth:erasedups
export HISTIGNORE="&:ls:ll:[bf]g:exit"
export PROMPT_COMMAND="history -a"
shopt -s histappend
shopt -s autocd
shopt -s cdspell
shopt -s checkjobs
shopt -s checkwinsize
shopt -s cmdhist
shopt -s dirspell
shopt -s globstar
alias grep='grep --color=auto'
alias ls="ls -AF --color=auto"
alias ll='ls -AFl --color=auto'
alias lsblk='lsblk -apl -o NAME,RM,RO,ROTA,DISC-GRAN,PARTTYPENAME,TYPE,FSTYPE,FSVER,PARTLABEL,LABEL,SIZE,FSUSED,FSUSE%,MOUNTPOINTS'
N="\[\e[0m\]"
C1="\[\e[38;2;255;255;153m\]"
C2="\[\e[38;2;255;192;203m\]"
C3="\[\e[38;2;230;190;255m\]"
A1="\[\e[38;5;196m\]"
A2="\[\e[38;2;255;215;0m\]"
A3="\[\e[38;2;152;255;152m\]"
PS1="$C1\t $C2\u $C3\w $A1>$A2>$A3> $N"
export PROMPT_DIRTRIM=3
unset N C1 C2 C3 A1 A2 A3
EOF
Зеркала для репозиториев
cat > /etc/pacman.d/mirrorlist << 'EOF'
Server = http://mirror.kamtv.ru/archlinux/$repo/os/$arch
Server = https://mirror.kamtv.ru/archlinux/$repo/os/$arch
EOF
или локальные зеркала на диске
cat > /etc/pacman.d/mirrorlist << 'EOF'
Server = file:///data/arch/repo/$repo/os/$arch
EOF
VMware tools
Если ставили в VMware, включаем сервисы vmware-tools
systemctl enable vmtoolsd
systemctl enable vmware-vmblock-fuse
Создание пользователя
замените username на что нибудь своё
useradd -m -G wheel,sudo,audio,video,storage -s /bin/bash username
passwd username
Перезагрузка
exit
exit
reboot
Загружаемся в только что установленную систему, которая должна была автоматически появиться в меню загрузчика.
Продолжение тут: