Установка Arch для (почти) самых маленьких

Иконка ресурса
Краткое описание:
Краткий гайд по установке Arch Linux
331
  • Теги
    arch
  • Примечание​

    Данный гайд предполагает что у вас уже есть какой-никакой опыт установки ОС на ПК и работы с базовыми Linux командами, поэтому процесс скачивания и записи ISO образа на флешку мы опустим.
    Если вы не уверены, лучше попробуйте на виртуальной машине (VirtualBox, VMWare и т.д.)!
    Не начинайте ничего делать пока не прочитаете ПОЛНОСТЬЮ!
    ЗА ВСЕ ДЕЙСТВИЯ НЕСЁТЕ ОТВЕТСТВЕННОСТЬ ТОЛЬКО ВЫ САМИ!!!

    Установку драйверов для видеокарт NVidia также опустим, слишком уж обширная тема



    Для начала нам понадобится​

    1. Установочный образ Arch, скачать можно на официальном сайте
    2. Флешка, на которую можно будет записать этот образ. Можно использовать Ventoy если нужно иметь на флешке несколько образов или вообще устанавливать с телефона через DriveDroid (нужен ROOT)
    3. Не бояться буковок на чёрном фоне



    Приступим!​

    ШАГ 0: Загрузка в установщик

    Думаю, тут объяснять ничего такого и не нужно, всё и так понятно. Втыкаем флешку с образом, в boot меню выбираем её и грузимся

    Запускаемся и пишем archinstall.. так не интересно, будем делать всё ручками как настоящие кул хацкеры!

    ШАГ 1: Подготовка


    Как только вы увидите строку, можно писать команды. Первым делом, конечно же, нужно подключить интернеты чтобы скачать все нужные пакеты.

    И тут уже такая развилка:​

    Если у вас интернет подключен по проводу, можете пропускать этот шаг

    Если по WiFi, пишем следующее:
    1. Запускаем программу для настройки сети
      Код:
      iwctl
    2. Смотрим список адаптеров:
      Код:
      station list
    3. Смотрим список сетей:
      Код:
      station адаптер get-networks
    4. Подключаемся:
      Код:
      station адаптер connect "название сети"

    Не обязательно, но стоит сделать:​

    Если вы хотите немного ускорить процесс скачивания пакетов (что поможет в будущем), то включите параллельную загрузку в здешнем менеджере пакетов - pacman

    Код:
    nano /etc/pacman.conf
    (nano - консольный текстовый редактор)

    Убираем # перед ParallelDownloads, по желанию задаём нужное число, сохраняем через Сtrl + S и выходим через Ctrl + X



    ШАГ 2: Разметка диска - самое сложное


    Для начала узнаём какие диски вообще подключены:

    Код:
    lsblk -f
    Эта команда выведет список всех подключенных дисков. Предположим, нужный диск - /dev/sda

    Далее, нам необходимо его разметить, ниже описано как это делать для UEFI систем:

    ВНИМАНИЕ: ПРИ РАЗМЕТКЕ ВСЕ ДАННЫЕ ДИСКА МОГУТ БЫТЬ ПОТЕРЯНЫ!!! БУДЬТЕ ВНИМАТЕЛЬНЫ И НЕ УДАЛИТЕ НУЖНЫЕ РАЗДЕЛЫ

    Код:
    cfdisk /dev/sda
    /dev/sda замените на нужный диск!
    Инструкция по использованию cfdisk - тут. Хоть программа и не сложная, но ознакомиться лишним не будет

    ЛАЙФХАК: При разметке диска создавайте для директории /home отдельный раздел диска. При переустановке системы вам это может очень помочь в переносе данных

    Поэтому, относительно хорошая разметка будет выглядеть как:

    НазначениеТип раздела (файловая система)Точка монтированияРаздел диска
    ЗагрузчикEFI/boot/efi/dev/sda1
    ROOT - корень системыLinux filesystem//dev/sda2
    Домашний разделLinux filesystem/home/dev/sda3

    Где:​

    • Загрузчик EFI В ИДЕАЛЕ 1 ГБ
    • ROOT раздел - от 10-20 до 30-40 ГБ
    • Домашний раздел - всё оставшееся место

    Дальше нужно эти разделы форматировать:​

    1. EFI раздел:
      Код:
      mkfs.vfat /dev/sda1
    2. ROOT раздел:
      Код:
      mkfs.ext4 /dev/sda2
    3. Домашний раздел:
      Код:
      mkfs.ext4 /dev/sda3

    И примонтировать (подключить):​


    Подключим ROOT раздел в папку /mnt
    Код:
    mount /dev/sda2 /mnt

    После чего создадим там папку для EFI
    Код:
    mkdir -p /mnt/boot/efi

    И подключим туда EFI раздел
    Код:
    mount /dev/sda1 /mnt/boot/efi

    Создадим папку для раздела /home
    Код:
    mkdir -p /mnt/home

    И подключим туда домашний раздел
    Код:
    mount /dev/sda3 /mnt/home



    ШАГ 3: Пакеты, пакеты...

    Диск размечен, теперь нужно выкачать саму систему и базовые пакеты (приложения, компоненты, кому как удобнее) для неё

    Для начала определимся, что нам вообще нужно:​

    1. Базовые пакеты - НУЖНЫ ОБЯЗАТЕЛЬНО:
      • base base-devel linux linux-firmware linux-headers nano vim bash-completion grub efibootmgr
    2. Графика - экран входа (выберите ТОЛЬКО ОДИН):
      • sddm, gdm, lightdm, lxdm ...
    3. Графика - оболочка (в идеале ТОЛЬКО ОДНА, доставить или поменять всегда успеете):
      • plasma, gnome, xfce4, cinnamon, budgie, lxqt, lxde, hyprland ...
    4. Шрифты (я лично не помню чтобы ставил, но почему-то советуют):
      • ttf-ubuntu-font-family ttf-hackttf-dejavu ttf-opensans

    Если вы только знакомитесь с окружениями, экранами входа и так далее, то возможно вам стоит выбрать другой дистрибутивsddm и plasma.

    Как только определимся - пишем команду для установки всего этого набора. Например, команда может выглядеть так:
    Код:
    pacstrap /mnt base base-devel linux linux-firmware linux-headers nano vim bash-completion grub efibootmgr ttf-opensans sddm plasma

    Жмём ENTER, подтверждаем загрузку кнопкой Y на клавиатуре и ждём. После этого считайте что базовая система уже на вашем диске, осталось только чуть-чуть донастроить



    ШАГ 4: Донастройка системы "под капотом"


    Если кратко, fstab - текстовый файл с описанием того, как монтировать диск, куда какие разделы и т.д.

    Генерируем этот самый fstab:
    Код:
    genfstab -U /mnt >> /mnt/etc/fstab

    "Чрутимся" - временно меняем корневую директорию с загрузочного образа на /mnt - диск /dev/sda, примонтированный в папку /mnt с почти установленной системой
    Код:
    arch-chroot /mnt

    Теперь все наши операции будут происходить из-под свежеустановленной системы на диске!

    Запускаем системые службы, а именно NetworkManager (менеджер сети) и выбраный вами DM выше (экран входа, в нашем случае sddm)
    Код:
    systemctl enable NetworkManager
    Код:
    systemctl enable sddm



    ШАГ 5: Настройка юзера


    Создаём пользователя (например, с именем username)
    Код:
    useradd -m username

    Устанавливаем ему пароль (имя пользователя - "username", как и указали выше)
    Код:
    passwd username

    Устанавливаем пароль для ROOT пользователя (можно пропустить, но я лично бы не стал)
    Код:
    passwd

    Дальше даём этому пользователю доступ к ROOT правам (правам администратора):

    1. Добавляем пользователя с именем username в группу администраторов wheel
    Код:
    usermod -aG wheel username

    2. Включаем права администратора для пользователей в группе wheel
    Код:
    nano /etc/sudoers

    Теперь ищем в этом файле строки
    Код:
    ## Uncomment to allow members of group wheel to execute any command
    # %wheel ALL=(ALL:ALL) ALL

    И убираем # перед строкой %wheel ALL=(ALL:ALL) ALL. Как и выше, сохраняем файл через Ctrl + S и выходим через Ctrl + X



    ШАГ 6: Донастройка системы 2 и установка загрузчика


    И так, система уже стоит, но мы в неё загрузиться всё ещё не сможем. Почему? Нужно установить загрузчик

    Устанавливаем загрузчик на диск
    Код:
    grub-install /dev/sda

    Открываем конфиг загрузчика
    Код:
    nano /etc/default/grub

    Ищем строку GRUB_CMDLINE_LINUX_DEFAULT и убираем в ней слово quiet

    Применяем конфиг загрузчика
    Код:
    grub-mkconfig -o /boot/grub/grub.cfg

    Теперь нужно сделать предпоследнее, но тоже очень важное действие: выбрать язык

    Открываем файл с локализациями
    Код:
    nano /etc/locale.gen

    Убираем # перед строкой с нужным языком

    Например:
    Код:
    # ru_RU.UTF-8 UTF-8
    станет
    Код:
    ru_RU.UTF-8 UTF-8

    Открываем файл с применённой локализацией и вписываем туда нужный язык в строке LANG="язык":
    Код:
    nano /etc/locale.conf

    Например:
    Код:
    LANG="ru_RU.UTF-8"

    Применяем локализацию
    Код:
    locale-gen



    ШАГ 7: Наконец-то!


    Вот как-то так, система готова к началу использования

    Выходим обратно из "подменённой" корневой папки
    Код:
    exit

    Отмонтируем диск
    Код:
    umount -R /mnt

    Перезагружаемся
    Код:
    reboot



    ШАГ 7.1: Настройка времени


    После загрузки в систему было бы неплохо также и настроить время. Я, например, вспомнил об этом уже только тогда, когда мне нужно было видеть на часах сколько часов, но вообще всё же стоит настроить

    Устанавливаем часовой пояс
    Код:
    sudo timedatectl set-timezone ПОЯС

    Список часовых поясов - файлы в папке /usr/share/zoneinfo. Например, Europe/Moscow, Europe/Kiev, Europe/Minsk и т.д. Замените ПОЯС в команде на соотвествующий часовой пояс

    Включаем синхронизацию времени по сети
    Код:
    sudo timedatectl set-ntp true



    ГОТОВО!​


    Надеюсь, что для кого-то этот гайд был действительно полезен и он если не установил, то хотя бы понял как всё это работает

    Автор

    MrDrag0nXYT

    Еще ресурсы от MrDrag0nXYT

    NightJoiner
    Добавляет вашим игрокам возможность настроить для себя сообщение при входе или выходе!
    NightChatRestricter
    Запрети новичкам писать в чат и использовать определённые команды
    NightCodes
    Добавляет вашим игрокам возможность создавать реферальные коды и получать бонусы за приглашения
    ⚡ Красивый сайт для вашего проекта
    Свёрстанный макет сайта на чистых HTML, CSS и JS для вашего проекта
    VANILLA 1.21.X - Ванильная сборка Java/Bedrock с ресурспаком
    VANILLA 1.21.X - Ванильная сборка Java/Bedrock с ресурспаком
    Крутая кроссплатформенная сборка для начинающего ванильного сервера
    NightDart
    Добавьте на свой сервер уникальный предмет - усыпляющий дротик
    PlatformJoinAnnouncer
    Плагин, добавляющий настраиваемые сообщения при входе с разных платформ (Bedrock/Java)
    SkyBlock Spawn
    Красивый маленький спавн в виде летающего острова
    SimpleReplacer
    Генератор маленьких заглавных букв в реальном времени
    FastBukkitSetup
    Скрипт для быстрой базовой настройки VPS/VDS для Minecraft сервера
    Tools & Armors Pack
    Tools & Armors Pack
    Improve your server with more tools & armors!
    Minerals pack
    Minerals pack
    Spice up your server with some custom ores!
    ВерхНиз