sync
This commit is contained in:
parent
48f640b55d
commit
440a2fa01f
28 changed files with 1849 additions and 96 deletions
134
10-linux/90-stories/arch-installing.md
Normal file
134
10-linux/90-stories/arch-installing.md
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
# cfdisk...
|
||||
|
||||
512M, EFI
|
||||
остальное - Linux Filesystem
|
||||
|
||||
```bash
|
||||
mkfs.fat -F 32 /dev/vda1
|
||||
mkfs.ext4 /dev/vda2
|
||||
|
||||
mount /dev/vda2 /mnt
|
||||
mkdir -p /mnt/boot
|
||||
mount /dev/vda1 /mnt/boot
|
||||
|
||||
# проверяем монтирование
|
||||
findmnt /mnt
|
||||
findmnt /mnt/boot
|
||||
|
||||
# устанавливаем
|
||||
pacstrap -K /mnt base linux linux-firmware sudo openssh
|
||||
|
||||
# если упало с ошибкой
|
||||
mkdir -p /mnt/etc echo 'KEYMAP=us' > /mnt/etc/vconsole.conf
|
||||
arch-chroot /mnt
|
||||
mkinitcpio -P
|
||||
exit
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
mount | grep '/mnt'
|
||||
```
|
||||
|
||||
## Установка базовой системы
|
||||
Дальше делаем базовую установку в `/mnt` через `pacstrap`, потом генерируем `fstab` и переходим в установленную систему через `arch-chroot` — это прям “хребет” официального Installation guide.[1]
|
||||
|
||||
Команды:
|
||||
```bash
|
||||
pacstrap -K /mnt base linux linux-firmware sudo openssh
|
||||
genfstab -U /mnt >> /mnt/etc/fstab
|
||||
arch-chroot /mnt
|
||||
```
|
||||
|
||||
## Настройка в chroot (минимум)
|
||||
Внутри `arch-chroot` сделай базовые вещи: timezone/clock, locale, hostname, пароль root и (желательно) обычного пользователя — это следует общему порядку из Installation guide.[1]
|
||||
|
||||
Команды-шаблон:
|
||||
```bash
|
||||
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
|
||||
hwclock --systohc
|
||||
|
||||
# locale
|
||||
sed -i 's/^#\(en_US.UTF-8\)/\1/' /etc/locale.gen
|
||||
locale-gen
|
||||
printf "LANG=en_US.UTF-8\n" > /etc/locale.conf
|
||||
|
||||
# hostname + hosts
|
||||
echo "archvm" > /etc/hostname
|
||||
cat > /etc/hosts <<'EOF'
|
||||
127.0.0.1 localhost
|
||||
::1 localhost
|
||||
127.0.1.1 archvm.localdomain archvm
|
||||
EOF
|
||||
|
||||
passwd
|
||||
useradd -m -G wheel -s /bin/bash rori
|
||||
passwd rori
|
||||
EDITOR=vi visudo # раскомментируй строку про %wheel ALL=(ALL:ALL) ALL
|
||||
```
|
||||
|
||||
## Загрузчик + сеть + SSH + ребут
|
||||
Раз у тебя UEFI и ESP смонтирован в `/boot`, можно ставить systemd-boot через `bootctl install`, а затем добавить загрузочную entry в `/boot/loader/entries/` — это ровно то, что описывает ArchWiki по systemd-boot. Чтобы после первого ребута продолжить работать по SSH, поставленный `openssh` нужно включить как сервис `sshd.service` на автозапуск.[3][4][5]
|
||||
|
||||
Команды (всё ещё внутри chroot):
|
||||
```bash
|
||||
bootctl install
|
||||
|
||||
ROOT_PARTUUID="$(blkid -s PARTUUID -o value /dev/vda2)"
|
||||
cat > /boot/loader/entries/arch.conf <<EOF
|
||||
title Arch Linux
|
||||
linux /vmlinuz-linux
|
||||
initrd /initramfs-linux.img
|
||||
options root=PARTUUID=${ROOT_PARTUUID} rw
|
||||
EOF
|
||||
|
||||
# Чтобы сеть поднялась после перезагрузки (самый простой вариант)
|
||||
pacman -S --noconfirm networkmanager
|
||||
systemctl enable NetworkManager
|
||||
|
||||
# SSH после ребута
|
||||
systemctl enable sshd
|
||||
```
|
||||
|
||||
Выход и перезагрузка:
|
||||
```bash
|
||||
exit
|
||||
umount -R /mnt
|
||||
reboot
|
||||
```
|
||||
|
||||
[1](https://wiki.archlinux.org/title/Installation_guide)
|
||||
[2](https://wiki.archlinux.org/title/EFI_system_partition)
|
||||
[3](https://wiki.archlinux.org/title/OpenSSH)
|
||||
[4](https://wiki.archlinux.org/title/Systemd-boot)
|
||||
[5](https://wiki.archlinux.org/title/Systemd-boot_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
|
||||
[6](https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux)
|
||||
[7](https://wiki.archlinux.org/title/Installation_guide_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
|
||||
[8](https://gist.github.com/mjkstra/96ce7a5689d753e7a6bdd92cdc169bae)
|
||||
[9](https://linuxconfig.org/arch-linux-installation-easy-step-by-step-guide)
|
||||
[10](https://www.tsunderechen.io/2020/05/archlinux-systemd-boot-installation/)
|
||||
[11](https://dropvps.com/blog/arch-linux-enable-ssh-server/)
|
||||
[12](https://habr.com/ru/articles/805671/)
|
||||
[13](https://www.youtube.com/watch?v=FFXRFTrZ2Lk)
|
||||
[14](https://gist.github.com/miguelmota/575af40ddb7f86b858a86a673cec3999)
|
||||
[15](https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
|
||||
[16](https://fhackts.wordpress.com/2016/09/09/installing-archlinux-the-efisystemd-boot-way/)
|
||||
[17](https://bruhtus.github.io/posts/arch-installation-guide/)
|
||||
[18](https://wiki.archlinux.org/title/OpenSSH_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
|
||||
[19](https://www.youtube.com/watch?v=rUEnS1zj1DM)
|
||||
[20](https://www.atlantic.net/dedicated-server-hosting/how-to-secure-ssh-server-on-arch-linux/)
|
||||
[21](https://ru.scribd.com/document/601730020/Installation-guide-ArchWiki-Part-4)
|
||||
|
||||
|
||||
# docker autostart
|
||||
```
|
||||
sudo systemctl enable --now docker.service
|
||||
```
|
||||
|
||||
# base-devel
|
||||
|
||||
```
|
||||
sudo pacman -S --needed base-devel
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue