- [⬆ вверх]
- Cписок проверки знаний Linux для детей.md
- DEBTAP КАК ЗАСТАВИТЬ .DEB СЛУЖИТЬ ARCH'У.md
- Gpg генерация ключей.md
- Nmtui - настройка сети.md
- Punycode - как русский домен превратить в ASCII.md
- Systemd и что это такое..md
- Taskwarrior - Примеры с комментариями.md
- Wi-Fi в Linux откуда боль и как её лечить.md
- ZSH - что за shell?.md
- iptables
- megacli - утилита управления LSI MegaRAID контроллерами..md
- ssh вход по ключу для root'a.md
- zfs шпаргалка.md
- zpool шпаргалка.md
- Взять цвет пипеткой.md
- Встроенные переменные Bash (POSIX-compatible).md
- Выкачать всё из папки по ftp.md
- Генерим себе пароли.md
- Группа wheel.md
- Добавление принтера на archLinux.md
- Зашифровать папку.md
- Звук
- Игры
- Как дверь по паролю на SSH запереть!.md
- Как определять какие кнопки жмакаются.md
- Как подключить джостик от PS3 к Linux.md
- Как раскрасить вывод echo?.md
- Как узнать какая материнка стоит?.md
- Качаем с youtub'a.md
- Конвертирование в .iso различных образов..md
- Копирование без кеширования.md
- Куда пишутся "логи неудачных попыток входа в систему"?.md
- Настройка ntp.md
- Настройка сети в ручную на arch'e.md
- Не работает звук. Что делать?.md
- Нет wifi карты на ноуте, что делать?.md
- Обновление ключей в Arch Linux.md
- Обработка видео под Linux.md
- Обучение
- Основные пакеты при установке arch linux.md
- Очистка кеша pacman и yay.md
- Перевод выделенного текста и показ перевода в графическом диалоговом окне KDE.md
- Перегенерить mirrors.md
- Переменные окружения (ENV).md
- Переходим с remmina на терминал.md
- Работа с .qcow2.md
- Сменить имя hostname.md
- Создание пользователя.md
- Создание собственной сети внутри Docker'a.md
- Специфично для Linux переменные окружения.md
- Список пакетов для установки Arch'a.md
- Ставим Arch Linux на RAID1.md
- Ставим i3 на Arch Linux.md
- Удаление защищённых файлов.md
- Установка tinyproxy.md
- Установка vim на стероидах.md
- Установка видео драйверов.md
- Установка документации.md
- Установка пакетов из исходников в Arch Linux.md
- Чиним не рабочие F1-F12.md
- Что за "коровья СУПЕРСИЛА"?.md
- Что такое Linger в системе systemd.md
- Шпаргалка по всему systemd.md
- список команд для mdadm - утилиты для управления RAID-массивами.md
Исходные:
- /dev/nvme0n1 - диск 1Tb
- /dev/nvme1n1 - диск 1Tb
- Arch Linux
Подготовка
- Грузимся с арча.
- pacman -Sy mdadm vim parted
- lsblk -o NAME,SIZE,MODEL
- fdisk -l
Проверка скорости (опционально)
- dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=4096 oflag=direct status=progress
- dd if=/dev/zero of=/dev/nvme1n1 bs=1M count=4096 oflag=direct status=progress
Очистка дисков (Сотрёт всё нафиг)
- sgdisk --zap-all /dev/nvme0n1
- sgdisk --zap-all /dev/nvme1n1
- parted -s /dev/nvme0n1 mklabel gpt
- parted -s /dev/nvme1n1 mklabel gpt
Разметка
// EFI 512M, SWAP 16G, остальное под систему
-
parted -a optimal /dev/nvme0n1 mkpart ESP fat32 1MiB 513MiB
-
parted -a optimal /dev/nvme0n1 set 1 esp on
-
parted -a optimal /dev/nvme0n1 mkpart primary linux-swap 513MiB 16897MiB
-
parted -a optimal /dev/nvme0n1 mkpart primary ext4 16897MiB 100%
-
parted -a optimal /dev/nvme1n1 mkpart ESP fat32 1MiB 513MiB
-
parted -a optimal /dev/nvme1n1 set 1 esp on
-
parted -a optimal /dev/nvme1n1 mkpart primary linux-swap 513MiB 16897MiB
-
parted -a optimal /dev/nvme1n1 mkpart primary ext4 16897MiB 100%
RAID1 для системы
- mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/nvme0n1p3 /dev/nvme1n1p3 //отвечай "y" на "bitmap question"
- watch cat /proc/mdstat //глянь UU, есть ли синхронизация, можешь не дожидаться окончания, ставь дальше если UU
- mdadm --detail --scan >> /etc/mdadm.conf
Файловые системы
- mkfs.ext4 /dev/md0
- mkfs.fat -F32 /dev/nvme0n1p1 //для EFI
- mkfs.fat -F32 /dev/nvme1n1p1 //для EFI
- mkswap /dev/nvme0n1p2 //swap
- mkswap /dev/nvme1n1p2 //swap
Монтирование
- mount /dev/md0 /mnt
- mkdir -p /mnt/boot
- mount /dev/nvme0n1p1 /mnt/boot
Установка системы
- pacstrap -K /mnt base linux linux-firmware mdadm networkmanager grub efibootmgr vim sudo openssh //-K чтобы ключи тоже перенеслись
Настройка fstab
- genfstab -U /mnt >> /mnt/etc/fstab
- cat /mnt/etc/fstab
должно быть примерно:
/dev/md0 / ext4 rw,relatime 0 1
/dev/nvme0n1p1 /boot vfat rw,relatime,fmask=0022,dmask=0022,utf8,errors=remount-ro 0 2
/dev/nvme0n1p2 none swap defaults 0 0
/dev/nvme1n1p2 none swap defaults 0 0
chroot
arch-chroot /mntmdadm --detail --scan >> /etc/mdadm.conf
//добавить mdadm_udev в HOOKS перед filesystems
vim /etc/mkinitcpio.conf
//и добавляем mdadm_udev именно после block и перед filesystems:
HOOKS=(base udev autodetect modconf block mdadm_udev filesystems keyboard fsck)
//Дальше выполни:
mkinitcpio -P
Загрузчик
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch --recheckmkdir -p /boot2mount /dev/nvme1n1p1 /boot2grub-install --target=x86_64-efi --efi-directory=/boot2 --bootloader-id=Arch --recheckgrub-mkconfig -o /boot/grub/grub.cfg
Сеть и SSH
systemctl enable NetworkManagersystemctl enable sshd
Пользователи
passwduseradd -m -G wheel -s /bin/bash userpasswd user
Группа
Изменить default(основную) группу для пользователя
sudo usermod -g developers userName
Просто добавить пользователя в группу:
sudo usermod -aG developers userName
Выход и перезагрузка
exitumount -R /mntreboot
После загрузки
- cat /proc/mdstat
- lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
- swapon --show
Если один диск отвалится:
- mdadm --detail /dev/md0
- mdadm --add /dev/md0 /dev/nvme1n1p3
Примечания
- RAID1 зеркалит root. /boot - на первом EFI, дублируется вручную.
- swap на обоих дисках, ядро балансирует автоматически.
- bitmap=y при создании ускоряет ресинк.
- UUID в fstab обязателен при финальной настройке.
- mdadm.conf должен быть в initramfs.
- Убедись, что UEFI загружается с nvme0n1, а второй EFI держи синхронным.
- Можно скопировать загрузчик вручную: mount /dev/nvme1n1p1 /mnt2 cp -r /boot/* /mnt2/ umount /mnt2