Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш IP-адрес будет виден всем, если вы внесёте какие-либо изменения.

Установка Arch Linux: различия между версиями

Материал из Aprel Wiki
Дополнительные действия
Нет описания правки
Метки: с мобильного устройства из мобильной версии через расширенный мобильный режим
 
(не показано 57 промежуточных версий этого же участника)
Строка 1: Строка 1:
Мяу, товарищи! На связи [[Oleg Aprel]]!
Приветствую, товарищи!
Ну что, приступим же к ручной установке? Или воспользуемся [[archinstall]] (быстрее, легче, понятнее)?
Ну что, приступим же к ручной установке? Или воспользуемся [[archinstall]] (быстрее, легче, понятнее)?


Если в статье есть недостоверная информация, то обязательно посетите обсуждение и сообщите об этом: [[Обсуждение:Установка Arch Linux]].
Если в статье есть недостоверная информация, то обязательно посетите наш чат в Telegram и сообщите об этом: https://t.me/aprelkunchat, https://t.me/aprelteamchat или https://t.me/linuxchatik.
 
Помимо Telegram обо всём можно сообщить на форуме, в Discord и Matrix: https://forum.aprelteam.su/mur/ustanovka-i-nastrojka-arch-linux-2024/?id=163, https://discord.aprelteam.su, https://matrix.aprelteam.su.


== Загрузка образа ==
== Загрузка образа ==
Строка 42: Строка 44:
<blockquote>ping archlinux.org</blockquote>
<blockquote>ping archlinux.org</blockquote>


Если вы используете Wi-Fi на своём ПК, то используйте команды:
Если вы используете Wi-Fi на своём ПК, то используйте команды (обычно имя wlan0, если у вас другое, то указываем своё):


<blockquote>iwctl
<blockquote>iwctl
Строка 48: Строка 50:
device list
device list


station device scan
station wlan0 scan
 
station wlan0 get-networks
 
station wlan0 connect SSID</blockquote>


station device get-networks
Вводим пароль от сети Wi-Fi, всё готово.


station device connect SSID</blockquote>
SSID (имя вашей сети Wi-Fi - указываем в скобках, пример: '''"Xiaomi Mi WiFi6 Router AX9000"''').


После подключения:
После подключения:


<blockquote>ping archlinux.org</blockquote>
<blockquote>exit
<br>ping archlinux.org</blockquote>


Ctrl + C остановит задачу.
Ctrl + C остановит задачу.
Этап завершён.


== Разделы диска ==
== Разделы диска ==
Строка 66: Строка 75:
Команда для просмотра разделов:
Команда для просмотра разделов:


<ref>lsblk</ref>
<blockquote>lsblk</blockquote>


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


<ref>fdisk -l</ref>
<blockquote>fdisk -l</blockquote>
 
=== Разметка диска ===


Время размечать наш диск. Используем команду cfdisk для этого и выбираем gpt формат :
Время размечать наш диск. Используем команду cfdisk для этого и выбираем gpt формат :


<ref>cfdisk /dev/sda</ref>
<blockquote>cfdisk /dev/sda</blockquote>
 
Bажно! Если во время использования команды '''lsblk''' и '''fdisk -l''' вы увидели что sda является не тем диском, что нужен вам, то вы дописываете в конец название другого диска, например '''sdb''', у меня это был '''nvme0n1'''.
 
Используя стрелочки создаём 4 раздела на диске (можно создать 2, boot и корень - '''/''' (это быстрее и проще).
 
<blockquote>/dev/sda1 # примерно 1 GB под BOOT \\ UEFI. Здесь будет загрузчик.</blockquote>
 
Наводим на выделенное место (1 GB), выбираем Type » BIOS boot или UEFI boot (пункт может различаться, можно выделить просто Linux и поставить звёздочку в Bootable).


Bажно! если во время использования команды lsblk и fdisk вы увидели что sda является не тем диском, что нужен вам, то вы дописываете в конец название другого диска, например sdb.
<blockquote>/dev/sda2 # примерно 15-20 GB. Здесь будет корень (root).</blockquote>


Используя стрелочки создаём 3 раздела на диске:
Наводим на выделенное место (15-20 GB), выбираем Type » Linux или Linux Filesystems (пункт может различаться).


/dev/sda1 # размером 1G места под UEFI
Следующие разделы по желанию пользователя, если их не создавать или создать только home, не создавая отдельный раздел под swap, то ничего не произойдёт. Многие граждане делают файл swap в уже установленной системе, а не выделяют целый раздел.
/dev/sda2 # размером примерно 10-15 GB под root
В общем под swap выделяем минимум 2 GB, в зависимости от ОЗУ.
/dev/sda3 # всё оставшееся место под директорию home
 
<blockquote>/dev/sda3 # практически всё оставшееся место. Здесь будет домашний раздел (home).</blockquote>
 
Наводим на выделенное место (много GB), выбираем Type » Linux или Linux Filesystems (пункт может различаться).
 
<blockquote>/dev/sda4 # от 2 GB (в зависимости от ОЗУ). Здесь будет раздел подкачки (swap).</blockquote>
 
Наводим на выделенное место (от 2 GB), выбираем Type » Linux swap / Solaris (пункт может различаться).
 
»»» Наводим на корневой раздел (root), выделяем внизу '''Write''', пишем '''yes''' и нажимаем Enter.
 
Выходим (выделяем '''Quit''' и жмём '''Enter''').


PS: Если вы решили переделать разметку диска, то через эту утилиту можно и удалять разделы.
PS: Если вы решили переделать разметку диска, то через эту утилиту можно и удалять разделы.


Для проверки используем lsblk снова. Если всё норм, что /dev/sda будет содержать в себе 3 раздела.
Для проверки используем lsblk снова. Если всё норм, то /dev/sda будет содержать в себе 4 раздела.


Далее форматируем наши разделы.
Трудный этап завершён.


Форматируем тот раздел, который мы выделили под UEFi
=== Форматирование разделов ===


<ref>mkfs.fat -F32 /dev/sda1</ref>
Форматируем тот раздел, который мы выделили под загрузчик.


Раздел root
<blockquote>mkfs.fat -F32 /dev/sda1</blockquote>


<ref>mkfs.ext4 /dev/sda2</ref>
Раздел root (если файловая система ext4 вас устраивает, раздел можно не форматировать в ext4, если он уже отформатирован ранее в btrfs - пропускаем команду).


Раздел home
<blockquote>mkfs.ext4 /dev/sda2</blockquote>


<ref>mkfs.ext4 /dev/sda3</ref>
Раздел home (если файловая система ext4 вас устраивает, раздел можно не форматировать в ext4, если он уже отформатирован ранее в btrfs - пропускаем команду).
 
<blockquote>mkfs.ext4 /dev/sda3</blockquote>
 
Раздел swap.
 
<blockquote>mkswap /dev/sda4</blockquote>


Монтируем root и создаём папку home:
Монтируем root и создаём папку home:


<ref>mount /dev/sda2 /mnt
<blockquote>mount /dev/sda2 /mnt
mkdir /mnt/home
mkdir /mnt/home
mount /dev/sda3 /mnt/home</ref>
mount /dev/sda3 /mnt/home</blockquote>


И снова lsblk для проверки
Итак, давайте включим наш раздел подкачки с приведенным ниже кодом.
 
<blockquote>swapon /dev/sda4</blockquote>
 
И снова lsblk для проверки.
 
Очередной успех, товарищ!


== Установка ==
== Установка ==


Начинается самая долгая часть, потому что нужно будет много скачать. Устанавливаем все основные пакеты, а также nano, чтоб редачить файлы системы. Если вдруг вы знакомы с vim можете скачать и его (дописать в конец).
Переходим к установке, придётся много чего загрузить. Устанавливаем все основные пакеты, а также nano, чтоб редактировать файлы системы. Если вдруг вы знакомы с vim можете загрузить и его (дописать в конец).


<ref>pacstrap -i /mnt base linux linux-firmware sudo nano</ref>
<blockquote>pacstrap -i /mnt base linux linux-firmware sudo nano</blockquote>


Вам предложат что установить выбирайте all и далее yes. Если будут трудности, то можно просто выполнить команду дважды выбирая вначале один пакет, а затем второй.
Или по желанию:
<blockquote>pacstrap -i /mnt base linux linux-firmware sudo nano vi</blockquote>


Создадим  fstab файл
Если возникнут трудности с зеркалами, то меняйте своё подключение. После ввода команды выше должна моментально идти загрузки, если этого не произошло, то меняйте подключение. Я например подключил свой смартфон по USB в режиме модема и загрузка пошла моментально (да, статья пишется в режиме настоящей ручной установки на настоящем оборудовании).


<ref>genfstab -U -p /mnt >> /mnt/etc/fstab</ref>
Вам предоставят выбор того, что установить, выбирайте all и далее yes. Если будут трудности, то можно просто выполнить команду дважды выбирая вначале один пакет, а затем второй.


Настраиваем установленную систему
Ждём окончания загрузки, наверное это самый долгий этап установки, так как здесь мы ждём окончания загрузки.


<ref>Chroot</ref>
=== Создадим  fstab файл ===


Chroot (change root) нужен нам, чтобы мы могли сменить  root пользователя (как и сказано в названии команды).
<blockquote>genfstab -U -p /mnt >> /mnt/etc/fstab</blockquote>


<ref>arch-chroot /mnt /bin/bash</ref>
Настраиваем установленную систему. Chroot.


Настройка файла локали
Chroot (change root) нужен нам, чтобы мы могли сменить  root пользователя.


Для начала идём в файл локали, чтоб настроить язык
<blockquote>arch-chroot /mnt /bin/bash</blockquote>


<ref>nano /etc/locale.gen</ref>
=== Настройка файла локализации ===


Находим там #en_US.UTF-8 и стираем #, с русским языком так же. PS: можно использовать Ctrl + W для поиска языка в файле.
Для начала идём в файл локализации, чтобы настроить язык.


Чтобы всё сохранить Ctrl + O, затем Enter и Ctrl + X, затем Enter.
<blockquote>nano /etc/locale.gen</blockquote>


Далее пишем команды, которые сгенерируют локаль и создаём locale.conf с нужными настройками языка.
Находим там #ru_RU.UTF-8 и стираем решётку '''#''', с английским языком так же: #en_US.UTF-8.
<br>Можно использовать Ctrl + W для поиска языка в файле.


<ref>locale-gen
Чтобы всё сохранить '''Ctrl + O''', затем '''Enter''' и '''Ctrl + X'''.
echo "LANG=en_US.UTF-8" > /etc/locale.conf</ref>


Настраиваем временную зону
Далее пишем команды, которые сгенерируют локализацию и создаём locale.conf с нужными настройками языка.


<ref>ln -sf /usr/share/zoneinfo/</ref>
<blockquote>locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
echo "LANG=ru_RU.UTF-8" > /etc/locale.conf</blockquote>
 
=== Настройка временной зоны ===
 
<blockquote>ln -sf /usr/share/zoneinfo/</blockquote>


Далее жмём 2 раза на Tab и видим список регионов, после городов.
Далее жмём 2 раза на Tab и видим список регионов, после городов.
Строка 153: Строка 202:
В моём случае было так:
В моём случае было так:


<ref>ln -sf /usr/share/zoneinfo/Europe/Minsk /etc/localtime</ref>
<blockquote>ln -sf /usr/share/zoneinfo/Europe/Minsk /etc/localtime
<br>timedatectl set-ntp true</blockquote>


Задаём время
Ну что, товарищ, идём дальше?


Тут 2 команды. Одна ставит время для системы, а другая его показывает.
=== Задаём время ===


<ref>hwclock --systohc --utc
Здесь 2 команды. Одна ставит время для системы, а другая его показывает.
date</ref>


Имя хоста и адрес
<blockquote>hwclock --systohc --utc
<br>date</blockquote>


Я решил назвать ПК archlinux, поэтому использую следующую команду:
=== Имя хоста и адрес ===


<ref>echo archlinux > /etc/hostname</ref>
Я решил назвать ПК '''archlinux''', поэтому использую следующую команду:
 
<blockquote>echo archlinux > /etc/hostname</blockquote>


Далее идём в файл localhosts и записываем ip. Если у вас ip статический, используйте свой.
Далее идём в файл localhosts и записываем ip. Если у вас ip статический, используйте свой.


nano /etc/hosts
<blockquote>nano /etc/hosts
<ref>127.0.1.1 localhost.localdomain archlinux</ref>
<br>127.0.1.1 localhost.localdomain archlinux</blockquote>
 
Чтобы всё сохранить '''Ctrl + O''', затем '''Enter''' и '''Ctrl + X'''.


Сетевой менеджер
=== Сетевой менеджер ===


Качаем и включаем.
Загружаем и включаем.


<ref>pacman -S networkmanager
<blockquote>pacman -S networkmanager
systemctl enable NetworkManager</ref>  
<br>systemctl enable NetworkManager</blockquote>


Установка GRUB
=== Установка GRUB ===


Для начала сменим пароль root пользователя :
Для начала сменим пароль root пользователя :


<ref>passwd</ref>
<blockquote>passwd</blockquote>
 
Вводим пароль 2 раза.


GRUB — это загрузчик, который нужен, чтоб запускать нашу установленную систему (в режиме EFI). Далее будет куча команд, которые нужно выполнить.
GRUB — загрузчик, который нужен, чтобы запускать нашу установленную систему (в режиме EFI).
 
<blockquote>pacman -S grub efibootmgr
<br>mkdir /boot/efi</blockquote>
 
Вводим lsblk # Для проверки (всё ли нормально смонтировано и нужного названия раздела для загрузчика).
 
<blockquote>mount /dev/sda1 /boot/efi
 
lsblk # Для проверки, всё ли нормально смонтировано.


<ref>pacman -S grub efibootmgr
mkdir /boot/efi
mount /dev/sda1 /boot/efi
lsblk # для проверки всё ли норм смонтировано
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi --removable
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi --removable
grub-mkconfig -o /boot/grub/grub.cfg</ref>


Перезагрузка
grub-mkconfig -o /boot/grub/grub.cfg</blockquote>
 
Альтернатива:
 
<blockquote>pacman -S grub
 
grub-install /dev/sda
 
grub-mkconfig -o /boot/grub/grub.cfg</blockquote>
 
=== Перезагрузка ===


Чтобы без потерь перезагрузить нашу систему используем эти команды:
Чтобы без потерь перезагрузить нашу систему используем эти команды:


<ref>exit
<blockquote>exit
umount -R /mnt
umount -R /mnt
reboot</ref>
reboot</blockquote>
 
После перезагрузки вы увидите следующее. Если это так, то наш GRUB установился правильно


Входим в root аккаунт и создаём swapfile (что-то вроде доп оперативки) и задаём ему размер как у вашей ОЗУ.
После перезагрузки входим в root аккаунт и создаём swapfile (если не создавали его выше, если создавали раздел, то минуем этот пункт).


<ref>fallocate -l 3G /swapfile</ref>
<blockquote>fallocate -l 3G /swapfile</blockquote>


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


<ref>chmod 600 /swapfile
<blockquote>chmod 600 /swapfile
mkswap /swapfile
mkswap /swapfile
swapon /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab</ref>
echo '/swapfile none swap sw 0 0' >> /etc/fstab</blockquote>
 
Проверяем, работает ли swap:


И проверяем, работает ли swap:
<blockquote>free -m</blockquote>


<ref>free -m</ref>
== Добавление пользователя==


Добавим пользователя и окружение
<blockquote>useradd -m -g users -G wheel -s /bin/bash aprelteam


<ref>useradd -m -g users -G wheel -s /bin/bash username
Установим пароль.
passwd username</ref>


username замените на то имя, что хотите вы)
<br>passwd aprelteam</blockquote>
 
aprelteam замените на то имя, что хотите вы)


Также нужно дать ему права суперюзера:
Также нужно дать ему права суперюзера:


<ref>EDITOR=nano visudo</ref>
<blockquote>EDITOR=nano visudo</blockquote>


там ищем и убираем #, а дальше Ctrl + O, затем Enter и Ctrl + X, затем Enter.
Ищем и убираем #:


# %wheel ALL=(ALL) ALL
# %wheel ALL=(ALL) ALL


Дрова
Сохраняем '''Ctrl + O''', затем '''Enter''' и '''Ctrl + X'''.


<ref>pacman -S pulseaudio pulseaudio-alsa xorg xorg-xinit xorg-server</ref>
=== Драйвера ===
 
<blockquote>pacman -S pulseaudio pulseaudio-alsa xorg xorg-xinit xorg-server</blockquote>


Вам будет предложен выбор, выбирайте исходя из своей графики.
Вам будет предложен выбор, выбирайте исходя из своей графики.


Окружение
=== Окружение ===


Вначале покажу как поставить довольно простое — XFCE
'''KDE Plasma'''


<ref>pacman -S xfce4 lightdm lightdm-gtk-greeter
<blockquote>pacman -S xorg plasma plasma-wayland-session kde-applications console</blockquote>
echo "exec startxfce4" > ~/.xinitrc
systemctl enable lightdm</ref>


И моё любимое  i3, там выбираем пакеты 2 4 5. Возможно вы увидите квадраты вместо символов, но это нормально, вам просто нужно будет скачать шрифт dejavu (pacman -S ttf-dejavu). Cписок горячих клавиш можно посмотреть  тут
kde-applications по желанию.


<ref>echo "exec i3"  > ~/.xinitrc
Включим драйверы отображения и перезагрузим нашу систему. Поэтому следуйте приведенной ниже последовательности кода один за другим.
sudo pacman -S i3</ref>
 
<blockquote>systemctl enable sddm
<br>reboot</blockquote>
 
Для запуска вашего окружения используйте
 
<blockquote>startx</blockquote>


Если вы решите поменять своё окружение, то нужно будет менять запись в файле xinitrc.
Если вы решите поменять своё окружение, то нужно будет менять запись в файле xinitrc.
Если у вас уже до этого был дисплейный менеджер, то его нужно отключить. Но этого можно и не делать, если вы не будете использовать GDM. Рассмотрим данную операцию на примере SDDM:


Для запуска вашего окружения используйте
<blockquote>systemctl disable sddm
<br>systemctl enable gdm
<br>sudo systemctl start gdm
<br>reboot</blockquote>


<ref>startx</ref>
[[Категория:Linux]]