Создание виртуальной машины
Замечание | Используется 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 |
Конечным результатом является система, готовая к дальнейшим модификациям под выбранное назначение.