AllInfo
Main: Info Blog Temp Mail


unix 2013-07-14 15-46-27

Базовая установка ОС Arch Linux

Загрузиться с установочного диска и выбрать “Boot Arch Linux (x86_64)”. Подготовить жёсткий диск:

root@archiso ~ # fdisk -l <1>
root@archiso ~ # fdisk /dev/sda <2>
root@archiso ~ # fdisk -l /dev/sda <3>
root@archiso ~ # mkfs -t ext4 /dev/sda1 <4>
root@archiso ~ # mkfs -t ext4 /dev/sda3 <4>
root@archiso ~ # mkswap /dev/sda2 <5>
root@archiso ~ # swapon /dev/sda2 <6>
root@archiso ~ # mount /dev/sda3 /mnt <7>
root@archiso ~ # mkdir /mnt/boot <8>
root@archiso ~ # mount /dev/sda1 /mnt/boot <9>
Вывод списка определившихся жёстких дисков
Разметка жёсткого диска (см. ниже)
Проверка разметки жёсткого диска
Форматирование разделов
“Форматирование” раздела под swap
Подключение swap
Подключение раздела root
Создание точки подключения для раздела boot
Подключение раздела boot
Таблица 1. Разметка жёсткого диска
№ РАЗДЕЛ ОБЪЁМ ОБЪЁМ ДЛЯ РЕАЛЬНОЙ СИСТЕМЫ
1
/boot
100М
100М
2
swap
1ГБ
от 1ГБ до 2ГБ
3
/
всё остальное
15-30ГБ
4
/var
8-16ГБ
5
/home
всё остальное
Далее, настроить сетевое подключение:

root@archiso ~ # lspci -v | more <1>
root@archiso ~ # dmesg |grep e1000 <2>
root@archiso ~ # ls /sys/class/net <3>
root@archiso ~ # ip addr show enp2s0 <4>
Вывод списка устройств PCI
Проверка состояния драйвера
Вывод имён сетевых устройств
Вывод текущего IP-адреса интерфейса enp2s0
Если в сети присутствует сервер динамических имён (DHCP server), то:

root@archiso ~ # systemctl start dhcpcd.service
Если сервера DHCP нет, то настроить сетевое подключение вручную. Остановить сервер динамических имён, настроить IP-адрес и шлюз по умолчанию:

root@archiso ~ # systemctl stop dhcpcd.service <1>
root@archiso ~ # ip addr add 10.0.0.136/24 dev enp2s0 <2>
root@archiso ~ # ip route add default via 10.0.0.2 <3>
root@archiso ~ # vi /etc/resolv.conf <4>
nameserver 10.0.0.2
search asia-systems.com
root@archiso ~ # ping st.uz <5>
Остановка DHCP
Добавление IP-адреса
Добавление шлюза по умолчанию
Указание сервера имён (DNS)
Проверка доступа в Интернет
Настроить репозитарий ПО, изменив файл /etc/pacman.d/mirrorlist так, чтобы первая строка файла указывала на ближайший репозитарий, например http://mirrors.st.uz/archlinux/$repo/os/$arch. Во избежание переключения на другие репозитарии в случае ошибки подключения к основному, пересоздать файл /etc/pacman.d/mirrorlist с указанием только тех репозитариев, которые должны использоваться:

root@archiso ~ # cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.sav
root@archiso ~ # grep st.uz /etc/pacman.d/mirrorlist.sav > /etc/pacman.d/mirrorlist
Подсказка Если в распоряжении имеется другая система с Arch Linux в актуальном состоянии, то для ускорения процесса скачивания необходимого ПО можно переписать содержимое кэша менеджера пакетов pacman из действующей актуальной системы в новую, устанавливаемую. Например:
root@archiso ~ # scp root@other_system:/var/cache/pacman/pkg/* /mnt/var/cache/pacman/pkg/

Возможно, на действующей системе кэш менеджера пакетов будет содержать множество устаревших версий ПО, поэтому, перед копированием, следует очистить его от старых файлов командой “pacman -Sc”

Запустить базовую установку системы:

root@archiso ~ # pacstrap /mnt base base-devel
По окончанию установки, сконфигурировать систему

root@archiso ~ # arch-chroot /mnt pacman -S grub-bios <1>
root@archiso ~ # genfstab -p /mnt >> /mnt/etc/fstab <2>
root@archiso ~ # vi /mnt/etc/fstab <2>
root@archiso ~ # arch-chroot /mnt <3>
sh-4.2# echo webserver > /etc/hostname <4>
sh-4.2# vi /etc/hosts <5>
sh-4.2# ls /usr/share/zoneinfo <6>
sh-4.2# ln -s /usr/share/zoneinfo/Asia/Tashkent
/etc/localtime <6>
sh-4.2# vi /etc/locale.gen <7>
...
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
...
sh-4.2# locale-gen <7>
sh-4.2# echo LANG=ru_RU.UTF-8 > /etc/locale.conf <7>
sh-4.2# export LANG=ru_RU.UTF-8 <7>
sh-4.2# setfont /usr/share/kbd/consolefonts/UniCyr_8x16.psf.gz
sh-4.2# vi /etc/vconsole.conf <7>
KEYMAP=ru
FONT=/usr/share/kbd/consolefonts/UniCyr_8x16.psf.gz
FONT_MAP=
sh-4.2# loadkeys ru <7>
sh-4.2# mkinitcpio -p linux <8>
sh-4.2# grub-install --target=i386-pc --recheck /dev/sda <9>
sh-4.2# cp /usr/share/locale/ru/LC_MESSAGES/grub.mo
/boot/grub/locale/ru.mo
sh-4.2# cp /usr/share/locale/en@quot/LC_MESSAGES/grub.mo
/boot/grub/locale/en.mo <9>
sh-4.2# grub-mkconfig -o /boot/grub/grub.cfg <9>
sh-4.2# pacman -S openssh <10>
sh-4.2# passwd <11>
sh-4.2# exit <12>
root@archiso ~ # umount /mnt/boot <13>
root@archiso ~ # umount /mnt <13>
root@archiso ~ # shutdown -r now <14>
Установка ПО загрузчика
Cоздание и редактирование файла /etc/fstab
Смена корневого окружения
Создание файла с именем узла (пример: webserver)
Редактирование файла /etc/hosts
Настройка часового пояса
Настройка локализации
Создание initial ramdisk
Установка и настройка загрузчика (grub)
Установка сервера SSH
Установка пароля пользователя root
Выход из корневого окружения
Отключение диска
Перезагрузка системы
После перезагрузки, настроить заново сетевое подключение, запустить демон openssh и дальнейшую работу продолжать уже в более комфортных, чем локальная консоль, условиях:

root@webserver ~ # ls /sys/class/net
root@webserver ~ # systemctl stop dhcpcd.service
root@webserver ~ # ip addr add 10.0.0.136/24 dev ens32
root@webserver ~ # systemctl start dhcpcd.service
root@webserver ~ # systemctl start sshd
Открыть удалённую сессию на установленной системе.

Создать файл /etc/systemd/system/network.service и настроить автозапуск сетевых сервисов:

[root@webserver ~]# vi /etc/systemd/system/network.service

[Unit]
Description=Static IP Connectivity
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-ens32.device
After=sys-subsystem-net-devices-ens32.device

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip link set dev ens32 up
ExecStart=/sbin/ip addr add 10.0.0.136/24 dev ens32
ExecStart=/sbin/ip route add default via 10.0.0.2

ExecStop=/sbin/ip addr flush dev ens32
ExecStop=/sbin/ip link set dev ens32 down

[Install]
WantedBy=multi-user.target

[root@webserver ~]# vi /etc/resolvconf.conf
name_servers=10.0.0.2
[root@webserver ~]# resolvconf -u
[root@webserver ~]# systemctl enable network
[root@webserver ~]# systemctl enable sshd
[root@webserver ~]# systemctl stop dhcpcd
[root@webserver ~]# systemctl disable dhcpcd
Установить vmware-tools:

[root@webserver ~]# pacman -S open-vm-tools open-vm-tools-modules
[root@webserver ~]# systemctl enable vmtoolsd
[root@webserver ~]# systemctl start vmtoolsd
[root@webserver ~]# vmware-toolbox-cmd timesync enable
Поддержка графического режима
Установить необходимые пакеты ПО и драйверы устройств:

[root@webserver ~]# pacman -S xorg-server xorg-xinit
xorg-server-utils <1>
[root@webserver ~]# lspci | grep VGA <2>
[root@webserver ~]# pacman -Ss xf86-video | less <3>
[root@webserver ~]# pacman -S xf86-video-vmware <4>
[root@webserver ~]# pacman -S xorg-twm xorg-xclock xterm <5>
[root@webserver ~]# pacman -S ttf-dejavu <6>
[root@webserver ~]# vi /etc/ssh/sshd_config <7>
X11Forwarding yes
Установка базовых пакетов Xorg
Определение модели видеокарты
Вывод списка доступных видео-драйверов (open-source)
Установка подходящего видео-драйвера
Установка простых X-приложений для проверки графического окружения
Установка шрифтов
Настройка поддержки X-Windows через SSH
Дополнительные замечания
В системах с drm-модулем, например, с видеокартами Intel, загрузка этого модуля приводит к появлению нового устройства фреймбуфера (/dev/fb0 и т.д.) с повторной инициализацией консоли со сбросом шрифта. В результате, консольный шрифт может не отображаться правильно. Всё что нужно сделать – это обеспечить старт drm-модуля заведомо раньше загрузки шрифта. Для этого, в файле “/etc/mkinitcpio.conf” добавить значение “drm” в директиве “MODULES” и пересоздать образ initramfs командой “mkinitcpio -p linux”.

Завершение
Перезагрузить систему, открыть удалённую сессию, проверить работу графического режима.

[orca@blizzard ~]$ ssh -X root@10.0.0.136
root@10.0.0.136's password:
Last login: Wed May 29 16:14:18 2013 from 10.0.0.14
[root@webserver ~]# xterm
Конечным результатом является система, готовая к дальнейшим модификациям под выбранное назначение.

44.222.134.250 / 2024-10-15_11-49-11 UTC.