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

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

Материал из Aprel Wiki
Дополнительные действия
Нет описания правки
Метки: с мобильного устройства из мобильной версии через расширенный мобильный режим
 
(не показаны 52 промежуточные версии этого же участника)
Строка 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 остановит задачу.
Этап завершён.


== Разделы диска ==
== Разделы диска ==
Строка 71: Строка 80:


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


Время размечать наш диск. Используем команду cfdisk для этого и выбираем gpt формат :
Время размечать наш диск. Используем команду cfdisk для этого и выбираем gpt формат :
Строка 76: Строка 87:
<blockquote>cfdisk /dev/sda</blockquote>
<blockquote>cfdisk /dev/sda</blockquote>


Bажно! если во время использования команды lsblk и fdisk вы увидели что sda является не тем диском, что нужен вам, то вы дописываете в конец название другого диска, например sdb.
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).


Используя стрелочки создаём 3 раздела на диске:
<blockquote>/dev/sda2 # примерно 15-20 GB. Здесь будет корень (root).</blockquote>


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


<blockquote>mkfs.fat -F32 /dev/sda1</blockquote>
<blockquote>mkfs.fat -F32 /dev/sda1</blockquote>


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


<blockquote>mkfs.ext4 /dev/sda2</blockquote>
<blockquote>mkfs.ext4 /dev/sda2</blockquote>


Раздел home
Раздел home (если файловая система ext4 вас устраивает, раздел можно не форматировать в ext4, если он уже отформатирован ранее в btrfs - пропускаем команду).


<blockquote>mkfs.ext4 /dev/sda3</blockquote>
<blockquote>mkfs.ext4 /dev/sda3</blockquote>


Раздел swap
Раздел swap.


<blockquote>mkswap /dev/sda4</blockquote>
<blockquote>mkswap /dev/sda4</blockquote>
Строка 116: Строка 146:
Итак, давайте включим наш раздел подкачки с приведенным ниже кодом.
Итак, давайте включим наш раздел подкачки с приведенным ниже кодом.


<blockquote>swapon /dev/sda2</blockquote>
<blockquote>swapon /dev/sda4</blockquote>


И снова lsblk для проверки.
И снова lsblk для проверки.
Очередной успех, товарищ!


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


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


<blockquote>pacstrap -i /mnt base linux linux-firmware sudo nano</blockquote>
<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 в режиме модема и загрузка пошла моментально (да, статья пишется в режиме настоящей ручной установки на настоящем оборудовании).
 
Вам предоставят выбор того, что установить, выбирайте all и далее yes. Если будут трудности, то можно просто выполнить команду дважды выбирая вначале один пакет, а затем второй.
 
Ждём окончания загрузки, наверное это самый долгий этап установки, так как здесь мы ждём окончания загрузки.
 
=== Создадим  fstab файл ===


<blockquote>genfstab -U -p /mnt >> /mnt/etc/fstab</blockquote>
<blockquote>genfstab -U -p /mnt >> /mnt/etc/fstab</blockquote>


Настраиваем установленную систему
Настраиваем установленную систему. Chroot.


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


<blockquote>arch-chroot /mnt /bin/bash</blockquote>
<blockquote>arch-chroot /mnt /bin/bash</blockquote>


Настройка файла локали
=== Настройка файла локализации ===


Для начала идём в файл локали, чтоб настроить язык
Для начала идём в файл локализации, чтобы настроить язык.


<blockquote>nano /etc/locale.gen</blockquote>
<blockquote>nano /etc/locale.gen</blockquote>


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


Чтобы всё сохранить Ctrl + O, затем Enter и Ctrl + X, затем Enter.
Чтобы всё сохранить '''Ctrl + O''', затем '''Enter''' и '''Ctrl + X'''.


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


<blockquote>locale-gen
<blockquote>locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf</blockquote>
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>
<blockquote>ln -sf /usr/share/zoneinfo/</blockquote>
Строка 163: Строка 202:
В моём случае было так:
В моём случае было так:


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


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


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


<blockquote>hwclock --systohc --utc
<blockquote>hwclock --systohc --utc
date</blockquote>
<br>date</blockquote>


Имя хоста и адрес
=== Имя хоста и адрес ===


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


<blockquote>echo archlinux > /etc/hostname</blockquote>
<blockquote>echo archlinux > /etc/hostname</blockquote>
Строка 180: Строка 222:
Далее идём в файл localhosts и записываем ip. Если у вас ip статический, используйте свой.
Далее идём в файл localhosts и записываем ip. Если у вас ip статический, используйте свой.


nano /etc/hosts
<blockquote>nano /etc/hosts
<blockquote>127.0.1.1 localhost.localdomain archlinux</blockquote>
<br>127.0.1.1 localhost.localdomain archlinux</blockquote>


Сетевой менеджер
Чтобы всё сохранить '''Ctrl + O''', затем '''Enter''' и '''Ctrl + X'''.


Качаем и включаем.
=== Сетевой менеджер ===
 
Загружаем и включаем.


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


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


Для начала сменим пароль root пользователя :
Для начала сменим пароль root пользователя :
Строка 196: Строка 240:
<blockquote>passwd</blockquote>
<blockquote>passwd</blockquote>


GRUB — это загрузчик, который нужен, чтоб запускать нашу установленную систему (в режиме EFI). Далее будет куча команд, которые нужно выполнить.
Вводим пароль 2 раза.
 
GRUB — загрузчик, который нужен, чтобы запускать нашу установленную систему (в режиме EFI).


<blockquote>pacman -S grub efibootmgr
<blockquote>pacman -S grub efibootmgr
mkdir /boot/efi
<br>mkdir /boot/efi</blockquote>
mount /dev/sda1 /boot/efi
 
lsblk # для проверки всё ли норм смонтировано  
Вводим lsblk # Для проверки (всё ли нормально смонтировано и нужного названия раздела для загрузчика).
 
<blockquote>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</blockquote>
Альтернатива:
<blockquote>pacman -S grub
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg</blockquote>
grub-mkconfig -o /boot/grub/grub.cfg</blockquote>


Перезагрузка
=== Перезагрузка ===


Чтобы без потерь перезагрузить нашу систему используем эти команды:
Чтобы без потерь перезагрузить нашу систему используем эти команды:
Строка 213: Строка 273:
reboot</blockquote>
reboot</blockquote>


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


<blockquote>fallocate -l 3G /swapfile</blockquote>
<blockquote>fallocate -l 3G /swapfile</blockquote>
Строка 226: Строка 284:
echo '/swapfile none swap sw 0 0' >> /etc/fstab</blockquote>
echo '/swapfile none swap sw 0 0' >> /etc/fstab</blockquote>


И проверяем, работает ли swap:
Проверяем, работает ли swap:


<blockquote>free -m</blockquote>
<blockquote>free -m</blockquote>


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


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


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


Также нужно дать ему права суперюзера:
Также нужно дать ему права суперюзера:
Строка 241: Строка 302:
<blockquote>EDITOR=nano visudo</blockquote>
<blockquote>EDITOR=nano visudo</blockquote>


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


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


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


<blockquote>pacman -S pulseaudio pulseaudio-alsa xorg xorg-xinit xorg-server</blockquote>
<blockquote>pacman -S pulseaudio pulseaudio-alsa xorg xorg-xinit xorg-server</blockquote>
Строка 251: Строка 314:
Вам будет предложен выбор, выбирайте исходя из своей графики.
Вам будет предложен выбор, выбирайте исходя из своей графики.


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


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


<blockquote>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</blockquote>


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


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


Если вы решите поменять своё окружение, то нужно будет менять запись в файле xinitrc.
<blockquote>systemctl enable sddm
<br>reboot</blockquote>


Для запуска вашего окружения используйте
Для запуска вашего окружения используйте


<blockquote>startx</blockquote>
<blockquote>startx</blockquote>
Если вы решите поменять своё окружение, то нужно будет менять запись в файле xinitrc.
Если у вас уже до этого был дисплейный менеджер, то его нужно отключить. Но этого можно и не делать, если вы не будете использовать GDM. Рассмотрим данную операцию на примере SDDM:
<blockquote>systemctl disable sddm
<br>systemctl enable gdm
<br>sudo systemctl start gdm
<br>reboot</blockquote>
[[Категория:Linux]]