суббота, 22 декабря 2012 г.

Установка Arch Linux

Последнее обновление заметки 11.07.2016.

Казалось бы, что сложного в установке операционной системы? 
Засунул флешку в usb-порт «потыкал» в кнопочки выбора языка, времени рабочего стола и т.д. Но, дело в том, что установка дистрибутива Arch Linux осуществляется без помощи какого-либо графического интерфейса, перед вами лишь консоль, с помощью которой вы сможете установить эту, на мой взгляд, перспективную ОС.
Рекомендую также, совместно с моим мануалом воспользоваться Arch Wiki.

Скачиваем последнюю версию дистрибутива на сайте archlinux.org в разделе download

Записываем скачанный образ на носитель. 
Для этого существуют специальные утилиты, для Windows рекомендую программу PendriveLinux, для Linux можно воспользоваться стандартной утилитой dd.

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

Выбираем пункт Boot Arch Linux (x86_64).
Перед нами консоль, с помощью встроенных скриптов мы должны установить нашу систему.

Проверим соединение интернета:
# ping -c 1 ya.ru
PING ya.ru (93.158.134.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=1 ttl=56 time=44.3 ms

--- ya.ru ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 44.310/44.310/44.310/0.000 ms

Установка openssh:
# pacman -Sy openssh
# systemctl start sshd
# passwd root

Адрес в моем случае был назначен по dhcp, узнаем его и подключаемся по ssh:
# ip -4 addr | grep inet
    inet 127.0.0.1/8 scope host lo
    inet 192.168.0.68/24 brd 192.168.0.255 scope global enp0s3

$ ssh [email protected]

Создаем раздел на который будем устанавливать корневую систему:
# lsblk                                                             
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda     8:0    0    8G  0 disk 
sr0    11:0    1  749M  0 rom  /run/archiso/bootmnt
loop0   7:0    0  325M  1 loop /run/archiso/sfs/airootfs

# fdisk /dev/sda   
...
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-16777215, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-16777215, default 16777215): 

Created a new partition 1 of type 'Linux' and of size 8 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

По желанию можете создать отдельные разделы под swap, home, boot и т. д.

Форматируем раздел (например в ext4):
# mkfs.ext4 /dev/sda1
если нужен раздел swap
# mkswap /dev/sdaY
где Y — номер соответствующего раздела

Монтируем разделы в каталог /mnt:
# mount /dev/sda1 /mnt
для монтирования других разделов, например home, нужно создать каталог /mnt/home
если используете swap, то его можно подключить командой:
# swapon /dev/sdaY

Устанавливаем базовую систему, утилиты для сборки пакетов из AUR и os-prober для поиска других операционных систем:
# pacstrap -i /mnt base base-devel os-prober

Создаем файл содержащий данные о монтируемых файловых системах:
# genfstab -U -p /mnt >> /mnt/etc/fstab

Получим root устанавливаемой системы:
# arch-chroot /mnt
[[email protected] /]# 

Установка загрузчика:
# pacman -S grub-bios
# grub-install /dev/sda
# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo \
/boot/grub/locale/en.mo
# grub-mkconfig -o /boot/grub/grub.cfg

Устанавливаем хостнейм:
# echo archlinux > /etc/hostname

Ребут:
# exit
# reboot

После перезагрузки выбираем пункт Boot existing OS.

Снова устанавливаем openssh, создаем юзера:
# pacman -Sy openssh
# systemctl start sshd
# systemctl enable sshd
# useradd -m -G wheel user1
# passwd user1

# visudo
#раскомментим
%wheel ALL=(ALL) ALL

Подключаемся по SSH, создаем пароль root:
$ ssh [email protected]
$ sudo -s
# passwd root

Настройка сети:
# cp /etc/netctl/examples/ethernet-static /etc/netctl/enp0s3

Приводим файл к такому виду:
# cat /etc/netctl/enp0s3 
Interface=enp0s3
Connection=ethernet
IP=static
Address=('192.168.0.68/24')
Gateway='192.168.0.1'
DNS=('192.168.0.1')

# netctl enable enp0s3

Для установки локалей нужно раскомментить нужные строчки, например:
# vi /etc/locale.gen
en_US.UTF-8 UTF-8  
ru_RU.UTF-8 UTF-8  
# locale-gen

Установка часового пояса:
# rm /etc/localtime 
# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
# hwclock --systohc --localtime

# mkinitcpio -p linux

Можно сделать контрольный ребут. Все должно работать.

6 комментариев:

Сергей Иванович комментирует...

# pacman -S initscripts - консоль пишет, что нет такого!

Amet Umerov комментирует...

3 года прошло, с тех пор я арч не использовал, воспользуйтесь гайдом по установке с оф. сайта.

Сергей Иванович комментирует...

sysvinit - теперь это запускает Демонов (https://wiki.archlinux.org/index.php/SysVinit)

Amet Umerov комментирует...

Обновил заметку.

Сергей Иванович комментирует...

Дякую, друже!

Сергей Иванович комментирует...

Дякую, друже!