# Установка Arch Linux (на виртуалбокс пока что) >После того, как я обсирался в процессе установки и настройки и переустанавливал арч **3 раза** из-за этого, я таки решил запилить нормальный гайд для себя и учесть возможные ошибки ## Установка После загрузки установочного окружения неофит попадает в виртуальный терминал с zsh. Первым делом нужно проверить режим загрузки. ```bash= ls /sys/firmware/efi/efivars ``` Если команда выполнилась без ошибки, то это значит, что система загрузилась в UEFI режиме Далее проверяем подключение к интернету: ```bash= ip a ping archlinux.org ``` Настраиваем *системные часы* (о да, самое важное) ```bash= timedatectl set-ntp true ``` И приступаем к разделке диска. Первым делом выведем информацию о существующих разделах ```bash= fdisk -l ``` Эта команда выведет информацию и сразу выйдет из fdisk. Теперь можно создать разделы в **cfdisk** (у него есть крутая гуя), запускаем в режиме GPT (тк у нас используется EFI) ```bash= cfdisk ``` Создаем **три** раздела: 1) Раздел для EFI (минимум 300мб) 2) Раздел подкачки (минимум 500мб) 3) Linux Filesystem (остальное место) > Я не нашел нормального объяснения в чем разница между Linux Filesystem и Linux root, но при загрузке системы fstab спотыкается, если установлена вторая, поэтому лучше ставить Filesystem Записываем изменения и присутпаем к форматированию разделов: - EFI раздел должен быть отформатирован как Fat-32: ```bash= mkfs.fat -F32 /dev/*раздел EFI* ``` - Linux Filesystem может быть отформатирован чем только можно, я выбираю Btrfs ```bash= mkfs.btrfs /dev/*раздел Linux Filesystem* ``` - Создать и включить раздел подкачки ```bash= mkswap /dev/*Swap partition* swapon /dev/*Swap partition* ``` Далее, монтируем свежесозданный рут к нашей нынешней системе в качестве /mnt: ```bash= mount /dev/*root partition* /mnt ``` Теперь устанавливаем с помощью pacstrap базовую систему и еще neovim и sudo чтобы они сразу были потом **в /mnt** ```bash= pacstrap /mnt base linux linux-firmware sudo neovim ``` Теперь генериуем fstab файл (файл, нужный для того чтобы ядро при загрузке системы монтировала нужные разделы и распознавала ФС) ```bash= genfstab -U /mnt >> /mnt/etc/fstab ``` Теперь меняем рут на наш новый созданный рут в /mnt ```bash= arch-chroot /mnt ``` Теперь мы находимся в bash консоли установленной системы. Первым делом *установим ~~часы~~ часовой пояс* (почему это так смешно ахахахаха) ```bash= ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime ``` И hardware clock: ```bash= hwclock --systohc ``` Настраиваем локали. Сначала окрываем файл /etc/locale.gen и раскомментируем нужные нам локали. **Обязательная: en_US.UTF-8 UTF-8** Далее генерируем файл локалей ```bash= locale-gen ``` Теперь создаем файл locale.conf и записываем в переменную LANG выбранные нами локали. ```bash= echo LANG=en_US.UTF-8 > /etc/locale.conf ``` Установим лейаут для клавиатуры: создадим файл /etc/vconsole.conf и добавим туда ту же строку "LANG=en_US.UTF-8" Настроим хостнеймы для сети: ```bash= echo *your hostname* > /etc/hostname ``` Открываем файл /etc/hosts и туда добавляем строки: ``` 127.0.0.1 localhost ::1 localhost 127.0.1.1 myhostname.localdomain myhostname ``` Установим пароль для рута: ```bash= passwd ``` Теперь установим загрузчик GRUB ```bash= pacman -S grub efibootmgr mkdir /boot/efi mount /dev/*EFI partition* /boot/efi grub-install grub-mkconfig -o /boot/grub/grub.cfg ``` Установим самый важный компонент - **Steam Locomotive**, чтобы при ошибке в написании команды ls консоль переезжал поезд ```bash= pacman -S sl ``` И, наконец, установим NetworkManager, заэнейблим его и выйдем из системы ```bash= pacman -S networkmanager systemctl enable NetworkManager exit ``` Отмонтируем /mnt и ребутнемся ```bash= umount -R /mnt reboot ``` ## Поздравляю, ты поставил голый арч. Впереди у тебя еще минимум месяц веселья перед тем как ты сможешь его нормально использовать =) ![](https://i.imgur.com/3KMrJ8p.jpg) > Йе уагарет над тобой, так как знает, что тебя ждет