Создание виртуальной машины
| Замечание | Используется VMWare Server | 
- Название: desktop
 - ОС: Linux operating system → Other Linux 64-bit
 - Объём ОЗУ: 1024 М
 - Кол-во процессоров: 1
 - Диск:
- Объём: 8 ГБ
 - Выделить место сразу: да
 
 - Сеть: Bridged
 - USB: нет
 - Floppy: нет
 - CD/DVD: загрузочный образ Arch Linux (archlinux-2013.05.01-dual.iso)
 
Базовая установка ОС 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 
 | 
 /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  | 
Конечным результатом является система, готовая к дальнейшим модификациям под выбранное назначение.
