Последнее обновление заметки 11.07.2016.
Казалось
бы, что сложного в установке операционной
системы?
Засунул флешку в usb-порт «потыкал»
в кнопочки выбора языка, времени рабочего
стола и т.д. Но, дело в том, что установка
дистрибутива Arch Linux осуществляется без
помощи какого-либо графического
интерфейса, перед вами лишь консоль, с
помощью которой вы сможете установить
эту, на мой взгляд, перспективную ОС.
Рекомендую также, совместно с моим мануалом воспользоваться Arch Wiki.
Скачиваем последнюю версию дистрибутива на сайте archlinux.org в разделе download.
Для этого
существуют специальные утилиты, для
Windows рекомендую программу PendriveLinux,
для Linux можно воспользоваться стандартной
утилитой dd.
Загружаемся с носителя.
Выбираем пункт 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
[root@archiso /]#
Установка загрузчика:
# 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
Можно сделать контрольный ребут. Все должно работать.
Проверим соединение интернета:
# 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
[root@archiso /]#
Установка загрузчика:
# 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 - консоль пишет, что нет такого!
3 года прошло, с тех пор я арч не использовал, воспользуйтесь гайдом по установке с оф. сайта.
sysvinit - теперь это запускает Демонов (https://wiki.archlinux.org/index.php/SysVinit)
Обновил заметку.
Дякую, друже!
Дякую, друже!
Отправить комментарий