- Arch Linux: что такое и как установить
- Преимущества использования Arch Linux
- Как установить Arch Linux на VirtualBox
- Этап 1. Подготовка
- Этап 2. Разметка диска
- User : Soloturn/Quick Installation guide UEFI
- Format disk and mount partitions
- Install Arch
- reboot and configure
- store pkglist to later install same packages from existing arch installation
- if windows is installed
- miscellaneous: network, firewall, time, date
- alternative: systemd netctl
- maintain
- regular commands
- add another user
- acl
- wipe data, ssd, disk
- podman
Arch Linux: что такое и как установить
В этой статье мы расскажем, что такое Arch Linux, как проходит её установка и настройка.
Arch Linux ― это операционная система от Linux. Главное отличие от других Linux-систем ― минимальное количество пакетов. Это почти «голый» дистрибутив.
ОС Ubuntu и Fedora славятся своей простотой установки и работы с системой. Лёгкость в использовании достигается за счёт уже сформированных разработчиками пакетов программ, которые встроены в ОС. Так как это универсальные пакеты, некоторые программы не нужны пользователю, но выбора комплектации ОС нет. В ситуации, когда нужна только основа, можно воспользоваться Arch Linux. На эту основу, как бусы, можно нанизывать Nginx, SSH, набор PHP- и Python-пакетов, KDE и многие другие программы. Arch Linux не навязывает графические оболочки, в нём нет встроенных демонов для печати и сканирования — лишь то, что действительно нужно в данный момент.
Из-за больших возможностей комплектации Arch Linux сложен в настройке. Чтобы с ним работать, нужно иметь базовые знания управления дистрибутивами Linux. Поэтому этот продукт больше подходит профессионалам. Это же справедливо и для дистрибутивов на основе Archlinux (например, Manjaro, ArcoLinux, Chakra и др.).
Преимущества использования Arch Linux
- Экономия ресурсов системы. В Arch Linux будут установлены только те программы, которые выбрал пользователь. Благодаря этому система экономит ресурсы сервера и не тратит их на ненужные программы и обновления.
- Система Rolling release (плавающий релиз). Большинство операционных систем Linux обновляются при помощи системы фиксированных версий. Например, Ubuntu или Debian. Перед тем как стать доступной новой версией, ПО проходит тестирование. Это позволяет сделать систему стабильной. Чтобы установить последние версии программ, приходится вручную скачивать пакеты с официальных сайтов и устанавливать их в систему. Благодаря Rolling release у пользователя всегда установлено самое свежее ПО.
- Pacman. Это инструмент для управления пакетами. С его помощью можно устанавливать пакеты из сети и с жесткого диска, искать их по базе, искать нужные файлы внутри пакетов и получать информацию о пакете. В отличие от apt и dnf Pacman имеет короткие команды.
- ПО выходит быстрее, чем для других дистрибутивов. Это связано с тем, что созданные приложения не требуют модификаций для совместимости с дистрибутивом. Так как в пакет многих дистрибутивов входят дополнительные программы, к каждому приложению нужны патчи, которые позволят корректно работать с разными дистрибутивами. Все эти доработки занимают много времени. Так как ядро Arch Linux простое, для него не нужны патчи и новое приложение сразу доступно для установки.
- Большой репозиторий AUR. Наравне с официальным репозиторием Arch есть пользовательский репозиторий AUR (Arch User Repository). В нём хранится ПО от членов сообщества, которого нет в официальном репозитории. С помощью AUR можно найти, скомпилировать и установить практически любой существующий для Linux софт, даже если он был создан для очень частных случаев. С помощью AUR не нужно импортировать ключи, скачивать файлы и устанавливать на сервер. Все делается с помощью нескольких команд.
- Активное сообщество пользователей. У Arch Linux самая подробная документация из всех дистрибутивов Linux. Мельчайшие детали функционирования дистрибутива описаны в ArchWiki. Это огромное цифровое хранилище знаний оперативно пополняется и переводится на разные языки. Даже если проблема узкая и решение не описано в документации, можно написать на форуме, где представители сообщества всегда готовы помочь. Этот ресурс полезен для всех пользователей Linux.
Как установить Arch Linux на VirtualBox
Этап 1. Подготовка
Перейдите на официальный сайт Arch Linux и загрузите установочный образ. Для загрузки доступна как прямая ссылка, так и торрент.
Создайте новую виртуальную машину Arch Linux: Archlinux установка и настройка
Перейдите в «Настройки» — «Система» и поставьте галочку напротив Включить EFI:
В этом же разделе перейдите в «Носители». В контроллер IDE добавьте скачанный файл .iso. Нажмите Ок:
Запустите виртуальную машину. Выберите загруженный файл из списка:
Выберите первый пункт и нажмите Enter:
Этап 2. Разметка диска
Для установки Arch Linux нужен интернет, поэтому сначала проверьте соединение командой ping -c 3 google.com . Если вы используете Wi-Fi, подключитесь к сети при помощи утилиты wifi-menu .
Перед разметкой дисков нужно проверить, есть ли на сервере важные файлы, чтобы не удалить данные. Введите команду для просмотра разделов:
Также можно посмотреть диски по размерам:
- UEFI-раздел — 300 МБ,
- раздел swap — 700 МБ,
- корневой раздел — 7 ГБ (всё оставшееся пространство).
Обратите внимание! Вам могут понадобиться другие разделы. Это зависит от цели установки Arch Linux.
Выберите gpt формат:
Чтобы создать UEFI-раздел, нажмите New в нижней части экрана:
Введите размер раздела:
Нажмите Type и выберите тип раздела «EFI System»:
- 700M (МБ) — Linux swap,
- 7G (ГБ) — корневой раздел, тип которого зависит от архитектуры вашего процессора.
Выберите «Write» и нажмите Enter:
Подтвердите действие. Введите yes и нажмите Enter:
Проверьте созданные разделы командой lsblk :
User : Soloturn/Quick Installation guide UEFI
This installation guide installs Arch Linux on a System with three partitions EFI, root, and home. Dual boot with windows 10 is possible, as well install on a USB disk or memory stick. No legacy technologies are considered, please use Installation Guide in such a case.
Format disk and mount partitions
Best do it with GParted and create the following partitions or make sure they exist:
- the partition table is GPT
- the EFI partition is FAT32, around 250MB
- the root partition is ext4, around 50GB
- the home partition is ext4, rest of the disk
rEFInd is used to find existing kernels resp operating systems to boot. reuse the existing EFI partition created by microsoft windows is possible. mount the root partition and the EFI partition into it.
mount /dev/sda5 /mnt mkdir /mnt/efi mount /dev/sda3 /mnt/efi
Install Arch
a user is created which is «archie»
export myuser=archie export myhostname=hostn pacstrap /mnt base linux genfstab -U /mnt >> /mnt/etc/fstab arch-chroot /mnt/ pacman -S perl LANG=C perl -i -pe 's/#(de_CH.UTF)/$1/' /etc/locale.gen LANG=C perl -i -pe 's/#(en_US.UTF)/$1/' /etc/locale.gen LANG=C perl -i -pe 's/#(fr_CH.UTF)/$1/' /etc/locale.gen locale-gen echo 'LANG=en_US.UTF-8' > /etc/locale.conf echo 'KEYMAP=de_CH-latin1' > /etc/vconsole.conf localectl --no-convert set-x11-keymap ch ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime echo $myhostname > /etc/hostname pacman -S dialog wpa_supplicant refind mkdir -p /efi/EFI/Boot cp /usr/share/refind/refind_x64.efi /efi/EFI/Boot/bootx64.efi cp -r /usr/share/refind/drivers_x64/ /efi/EFI/Boot/ echo 'extra_kernel_version_strings linux,linux-hardened,linux-lts,linux-zen,linux-git;' > /efi/EFI/Boot/refind.conf echo 'fold_linux_kernels false' >> /efi/EFI/Boot/refind.conf echo 'default_selection "linux from"' >> /efi/EFI/Boot/refind.conf
passwd useradd -m -G wheel -s /bin/bash $myuser passwd $myuser pacman -S sudo git binutils perl -i -pe 's/# (%wheel ALL=\(ALL\) ALL)/$1/' /etc/sudoers
# swap dd if=/dev/zero of=/var/swap.img bs=1024k count=4000 mkswap /var/swap.img echo "/var/swap.img none swap sw 0 0" >> /etc/fstab
# clone dotfiles su - $myuser cd git init echo '.*' >> .git/info/exclude git remote add origin https://github.com/soloturn/dotfiles.git git fetch -p --all git checkout master git reset --hard origin/master git remote set-url origin git@github.com:soloturn/dotfiles.git exit
# install same packages as existing arch system pacman -S --needed - < /home/$/.config/pkglist-abs.txt cd /tmp git clone https://aur.archlinux.org/paru-bin.git cd paru-bin makepkg -si paru -S --needed - < /home/$/.config/pkglist-aur.txt
groupadd android-sdk gpasswd -a $myuser android-sdk mkdir /opt/android-sdk setfacl -R -m g:android-sdk:rwX /opt/android-sdk setfacl -m d:g:android-sdk:rwX /opt/android-sdk
# this is for node.js, npm, and does not work # because of https://npm.community/t/linux-setfacl-is-defeated-by-npm/9156 paru -S npm setfacl -d -m g:root:rX /usr/lib/node_modules/
reboot and configure
store pkglist to later install same packages from existing arch installation
become your user, check and update the package lists from repo if necessary
cd pacman -Qqen > ~/.config/pkglist-abs.txt pacman -Qqem > ~/.config/pkglist-aur.txt git diff
if windows is installed
If windows is installed it might take precedence, so add an entry for the UEFI partitions rEFInd boot loader and set it after the USB device boot as second option. in the order just take the last number listed by efibootmgr:
# efibootmgr # efibootmgr -v # efibootmgr --create --disk /dev/sda --part 3 --loader /EFI/Boot/bootx64.efi --label "rEFInd local boot" # efibootmgr -o 0,4,1
in case the bios does not let the order change via efibootmgr, go to the bios and alter the boot order there.
miscellaneous: network, firewall, time, date
set uncomplicated Firewall rules, network config for netctl, show week number, activate network time protocol, show hide button on right side of windows.
sudo systemctl enable gdm sudo ufw default deny sudo ufw allow from 192.168.0.0/24 sudo ufw limit ssh sudo ufw enable sudo systemctl enable NetworkManager gsettings set org.gnome.desktop.interface clock-show-date true gsettings set org.gnome.desktop.calendar show-weekdate true timedatectl set-ntp true gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,close"
alternative: systemd netctl
# wifi-menu $ sudo systemctl enable netctl-auto@wlp4s0.service
maintain
regular commands
upgrade, delete everything not installed from package cache, delete orphans
$ paru -Syu $ paru -Sc $ pacman -Qdtq | xargs paru -Rsn --noconfirm $ sudo pacman -Sy archlinux-keyring $ paru -S archlinux-keyring
> pacman -Qdtq | xargs paru -Rsn --noconfirm
add another user
add an admin user. if not admin, do not put into group wheel. also add group to do android development:
useradd -m -G wheel -s /bin/bash $myuser passwd $myuser gpasswd -a $myuser android-sdk
acl
remove acl and default acl for group android-sdk, recursive:
setfacl -R -x d:g:android-sdk /opt/android-sdk setfacl -R -x g:android-sdk /opt/android-sdk
setfacl -R -b /opt/android-sdk
open up an existing directory for a group, e.g. users, set actual and default acl recursive:
setfacl -R -m g:users:rwX /home/groupdrive setfacl -R -m d:g:users:rwX /home/groupdrive
wipe data, ssd, disk
nonzero lsblk disc-gran shows TRIM support. especially for external ssd, check if TRIM is supported, see Solid_state_drive#External_SSD_with_TRIM_support.
lsblk --discard sg_readcap -l /dev/sdX sg_vpd -a /dev/sdX
podman
sudo usermod --add-subuids 100000-150000 --add-subgids 100000-150000 username podman system migrate
in /etc/containers/storage.conf comment so overlay is not used
podman --storage-driver overlay system reset
- This page was last edited on 20 February 2023, at 18:06.
- Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.
- Privacy policy
- About ArchWiki
- Disclaimers