Geek Notes - Roman Bogachev
На главную Архив Теги Музыка Галерея Услуги хостинга
Поиск
Установка и первоначальная настройка ArchLinux
2016-01-25 ARCHLINUX ARCHLINUX
Установка, сборка и первоначальная настройка Arch Linux в качестве десктопа
Вот и добрался я наконец-то до Arch Linux. Система для меня нова, но не думаю, что будет чем-то сильно отличаться от себе подобных. Поскольку нельзя просто так взять и поставить Arch с первого раза, то я подготовил рабочий мануал непосредственно под себя. Сразу хочу предупредить, что любителям EFI придется несладко. Манипуляции с GRUB на EFI вызывали во мне приступы истерического смеха. На сервер с обычным BIOS все установилось с первого раза.
Подготовка образа
Загрузим образ дистрибутива c официального сайта разработчика и запишем его на флешку:
sudo dd if=archlinux-2016.01.01-dual.iso of=/dev/disk1
После записи образа необходимо загрузиться с USB-накопителя (настройки в BIOS или EFI).
Установка Arch
В меню загрузки выбираем архитектуру и ждём пока система загрузится.
image
Локализация
После загрузки настроим русский язык для удобства работы.
Выполняется это следующей командой:
loadkeys ru
А также изменим консольный шрифт на тот, который поддерживает кириллицу:
setfont cyr-sun16
Добавим русскую локаль в систему установки:
В файле /etc/locale.gen раскоментируем строку #ru_RU.UTF-8 UTF-8
nano /etc/locale.gen
Обновим текущую локаль системы:
locale-gen
export LANG=ru_RU.UTF-8
Настройка сети
При установке системы наличие подключения к интернету обязательно.
Служба DHCP уже запущена при загрузке для найденных Ethernet-адаптеров. Для беспроводных сетевых адаптеров запустите wifi-menu. Если необходимо настроить статический IP или использовать другие средства настройки сети, остановите службу DHCP командой systemctl stop dhcpcd.service и используйте netctl.
Создание разделов на жестком диске
Для управления разделами на жестком диске в процессе установки рекомендую использовать программу fdisk. Также настоятельно рекомендую удалить MBR или GPT таблицы командой sgdisk --zap-all /dev/sdX
Создаем разделы на диске:
(1) 512Mb под /boot; (dev/sdX1)
(2) SWAP под файл подкачки; (dev/sdX2)
(3) FREE_SPACE под корень; (dev/sdX3)
Создаем пустую таблицу разделов
Command (m for help): o ↵
Создаем 1 раздел (boot)
Command (m for help): n ↵
Partition type (default p): ↵
Partition number (1-3, default 1): ↵
First sector: ↵
Last sector: +512M ↵
Создаем 2 раздел (swap)
Command (m for help): n ↵
Partition type (default p): ↵
Partition number (2-3, default 2): ↵
First sector: ↵
Last sector: +16G ↵
Command (m for help): t ↵
Partition number (1,2, default 2): ↵
Hex code (type L to list all codes): 82 ↵
Создаем основной раздел
Command (m for help): n ↵
Partition type (default p): ↵
Partition number (2,3, default 3): ↵
First sector: ↵
Last sector: ↵
Добавляем флаг загрузки для первого раздела:
Command (m for help): a ↵
Partition number (3,4, default 1): 1 ↵
Проверяем таблицу разделов ключиком p, и записываем w.
Форматирование разделов
Форматируем /boot раздел в FAT32:
Также мы будем использовать метки для удобства.
mkfs.vfat -F32 /dev/sdX1
Для раздела подкачки (swap):
mkswap /dev/sdX2 -L swap
Форматируем корень в ext4:
mkfs.ext4 /dev/sdX3 -L root
Если решили использовать LVM - этот подраздел для вас, для прочих читаем дальше
(1) 512Mb под /boot; (dev/sdX1)
(2) FREE_SPACE под корень; (dev/sdX2)
Форматируем /boot раздел в FAT32:
mkfs.vfat -F32 /dev/sdX1
Для корневого раздела используем зашифрованный LVM:
cryptsetup -c aes-xts-plain64 -y --use-random luksFormat /dev/sdX2
cryptsetup luksOpen /dev/sdX2 luks
Создаем разделы:
pvcreate /dev/mapper/luks
vgcreate vg0 /dev/mapper/luks
lvcreate --size 16G vg0 --name swap
lvcreate -l +100%FREE vg0 --name root
Задаем формат для созданных разделов:
mkfs.ext4 /dev/mapper/vg0-root
mkswap /dev/mapper/vg0-swap
Монтируем разделы:
mount /dev/mapper/vg0-root /mnt
swapon /dev/mapper/vg0-swap
mkdir /mnt/boot
mount /dev/sdX1 /mnt/boot
Монтирование разделов (продолжение)
Смонтируем корневой раздел:
mount /dev/sda3 /mnt
Создадим каталог для монтирования boot раздела:
mkdir /mnt/boot
Смонтируем загрузочный раздел:
mount /dev/sda1 /mnt/boot
Подключим swap
swapon /dev/sda2
Выбираем зеркало для pacman
Для более быстрой загрузки пакетов настроим зеркала. Поставим российское зеркало Яндекса выше всех остальных:
nano /etc/pacman.d/mirrorlist
И впишем эту строку вверх:
Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch
Установка пакетов
Установим базовые пакеты системы.
Дополнительно сюда можем включить необходимые пакеты для установки.
pacstrap -i /mnt base base-devel grub zsh vim git
После выполнения команды и выбора всех пакетов загрузятся последние версии необходимых пакетов.
Важно: если ведется установка по Wi-Fi, то необходимо установить пакеты netctl, dialog и wpa_supplicant:
pacstrap -i /mnt netctl dialog wpa_supplicant
Установка пакета GRUB в систему
arch-chroot /mnt pacman -S grub
Если используется EFI, то установим efibootmgr:
arch-chroot /mnt pacman -S efibootmgr grub-efi-x86_64
Если устанавливаем 32-х битную систему, то используем пакет grub-efi-i386.
Первичная настройка системы
Сгенерируем fstab, для этого используем следующую команду
genfstab -p /mnt >> /mnt/etc/fstab
И добавим в файл запись для временного файлового хранилища tmpfs (Предназначена для монтирования файловой системы, но размещается в ОЗУ вместо физического диска. Подобная конструкция является RAM диском.):
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
Перейдём в установленную систему
arch-chroot /mnt /bin/bash
Добавим русскую локаль в систему
В файле /etc/locale.gen раскомментируем строку #en_US.UTF-8 UTF-8 и строку #ru_RU.UTF-8 UTF-8
nano /etc/locale.gen
Обновим текущую локаль системы
locale-gen
Настроим часы
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
hwclock --systohc --utc
Зададим хостнейм
echo MYHOSTNAME > /etc/hostname
Изменим пароль root
passwd
Добавим нового пользователя
useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video,wheel -s /bin/bash MYUSERNAME
passwd MYUSERNAME
Если планируется использовать zsh, то заменим /bin/bash на /bin/zsh
Если терзают сомнения на этот счет, то почитать подробнее можно на хабре.
Добавим русскую локаль в консоль
В /etc/mkinitcpio.conf, в разделе HOOKS, должен быть прописан хук keymap.
В разделе MODULES нужно прописать свой драйвер видеокарты: i915 для Intel, radeon для AMD, nouveau для Nvidia.
Если производили установку LVM с шифрованием, то также добавим ext4 в MODULES и encrypt и lvm2 в HOOKS до filesystems.
Создадим загрузочный RAM диск
mkinitcpio -p linux
Установим загрузчик (для BIOS)
grub-install /dev/sda
Если действовали по мануаула с LVM и шифрованием, то необходимо отредактировать строчку GRUB_CMDLINE_LINUX в файле /etc/default/grub:
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX2:luks:allow-discards"
grub-mkconfig -o /boot/grub/grub.cfg
Установим загрузчик (для EFI)
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
Обновим grub.cfg
grub-mkconfig -o /boot/grub/grub.cfg
Внимание: если при создании grub.cfg были ошибки, то попробуйте добавить GRUB_DISABLE_SUBMENU=y в /etc/default/grub.
В случае если посыпятся ошибки вида “failed to connect to lvmetad arch”, можно сильно не пугаться, работать все будет, но для достижения полного дзена я попробую найти решение позже.
Выйдем из установленной системы:
exit
Отмонтируем ранее монтируемые разделы:
umount -R /mnt
И перезагрузим систему.
reboot
Настройка системы
Входим в систему под root-пользователем и выполняем необходимые действия по настройке, если они не были выполнены ранее.
Изменим хостнейм
hostnamectl set-hostname myhostname
Установим время
timedatectl set-timezone Europe/Moscow
Выполняем локализацию системы
localectl set-keymap ru
setfont cyr-sun16
localectl set-locale LANG="ru_RU.UTF-8"
export LANG=ru_RU.UTF-8
Добавим строку FONT=cyr-sun16 в /etc/vconsole.conf.
Обновим загрузочный RAM диск
mkinitcpio -p linux
Обновим grub.cfg (для локализации):
grub-mkconfig -o /boot/grub/grub.cfg
Настроим pacman (только для x86_64):
nano /etc/pacman.conf
Для работы 32-битных приложений в 64-битной системе необходимо раскомментировать репозиторий multilib:
[multilib]
Include = /etc/pacman.d/mirrorlist
Отключаем IPv6
Для этого создадим новый файл /etc/sysctl.d/10-ipv6.conf с содержимым:
net.ipv6.conf.all.disable_ipv6 = 1
Добавим пользователя (если это не было выполнено ранее) и сразу поместим его в необходимые нам группы:
useradd -m -g users -G audio,games,lp,optical,power,scanner,storage,video,wheel -s /bin/bash myusername
Установим ему пароль
passwd myusername
Изменим ему информацию GECOS
chfn myusername
Настройка сети
Для проводной сети
Добавим службу в автозапуск:
systemctl enable dhcpcd
Запустим службу:
systemctl start dhcpcd
Для беспроводной сети
wifi-menu
Обновим базы данных пакетов:
pacman -Syy
Обновим все пакеты:
pacman -Su
Поставим и настроим sudo
pacman -S sudo
В файле /etc/sudoers раскомментируем строку # %wheel ALL=(ALL) ALL
Теперь мы можем использовать sudo для выполнения команд администратора.
Теперь выйдем из root пользователя с помощью команды exit и авторизуемся под пользователем, которого создали.
Установка графического окружение
Установим Х (иксы)
sudo pacman -S xorg-server xorg-xinit xorg-server-utils mesa xterm
(если используется тачпад или тачскрин, то установим xf86-input-synaptics)
Установим драйвер для видеокарты:
Пакеты lib32-* нужно устанавливать только на x86_64 системы.
Intel:
sudo pacman -S xf86-video-intel lib32-intel-dri
Nvidia:
sudo pacman -S xf86-video-nouveau lib32-nouveau-dri
AMD:
sudo pacman -S xf86-video-ati lib32-ati-dri
Если вы устанавливаете систему на виртуальную машину:
sudo pacman -S xf86-video-vesa
Xfce + SDDM
Приступим к установке и настройке графического окружения Xfce с менеджером входа SDDM:
sudo pacman -S xfce4 xfce4-goodies sddm
Добавим SDDM в демоны
sudo systemctl enable sddm.service
Шрифты
Рекомендую установить следующие шрифты:
sudo pacman -S ttf-liberation ttf-dejavu opendesktop-fonts ttf-bitstream-vera ttf-arphic-ukai ttf-arphic-uming ttf-hanazono
Теперь можно перезагрузить систему командой
sudo systemctl reboot
Если все было выполнено правильно и без ошибок, то получаем готовую рабочую систему Arch Linux с Xfce на борту.
Важно: если у вас не вводятся символы в поле ввода, то попробуйте изменить раскладку с помощью комбинации клавиш: левый shift + правый shift. Чтобы установить английскую раскладку по умолчанию откройте файл /etc/X11/xorg.conf.d/00-keyboard.conf и в строке Option «XkbLayout» «ru,us» поменяйте ru и us местами.
После перезагрузки и первом входе в систему, выберите пункт настроек по умолчанию, затем я советую зайти в Меню приложений -> Настройки -> Внешний вид -> Шрифты и выбрать любимый шрифт, я предпочитаю Helvetica. После этого добавьте на панель элемент раскладки клавиатуры и настройте его.
Установим необходимые пакеты для работы
Pacman — это отличный пакетный менеджер, который намного удобнее apt-get из семейства Debian систем. Начнем с того что он безо всяких aptitude может самостоятельно заниматься поиском, установкой, удалением пакетов, удовлетворением зависимостей, синхронизацией репозиториев и обновлением системы, имея при этом довольно простой и логичны консольный интерфейс. Пример нескольких команд:
pacman -S foo # установить пакет foo
pacman -S --asdeps foo # установить пакет foo как зависимость
pacman -Sy # синхронизировать репозитории
pacman -Su # обновить систему
pacman -Syu # синхронизировать репозитории и обновить систему.
pacman -Syu foo # синхронизировать репозитории, обновить систему и установить пакет foo
Для Archlinux вы можете найти любой софт, который вы можете найти вообще для linux. Если вы не найдете какой-то пакет в официальном репозитории, вы наверняка это сделаете в Arch User Repository. Там находятся пакеты опубликованные и сопровождаемые пользователями Archlinux. Там находятся 53 тысячи пакетов против 37,5 тысяч у Debian.
Пакет, с помощью которого GRUB сможет определять все установленные ОС при генерации конфига:
sudo pacman -S os-prober
Браузеры:
sudo pacman -S firefox firefox-i18n-ru chromium opera
Мессенджеры:
sudo pacman -S pidgin skype
Торрент-клиент:
sudo pacman -S transmission-gtk transmission-cli
Графика:
sudo pacman -S gimp pinta gpicview djview4
Офис:
sudo pacman -S libreoffice libreoffice-ru
Мультимедиа:
sudo pacman -S audacity deadbeef smplayer
FTP-клиент:
sudo pacman -S filezilla
Разработка:
sudo pacman -S geany apache mariadb phpmyadmin php php-apache php-pgsql php-sqlite php-mcrypt php-gd
Система:
sudo pacman -S gparted unetbootin
Инструменты:
sudo pacman -S p7zip unrar
Игры:
sudo pacman -S steam mari0
Мышь в терминале
Иногда приходится работать в терминале, а не его эмуляторе. И с некоторыми программами, например Midnight Commander, там будет удобнее работать с мышью. Чтобы использовать мышь в терминале достаточно установить пакет gpm.
sudo pacman -S gpm
Автодополнение
Автодополнение — это очень удобная фича терминала bash. Кнопкой Tab можно существенно облегчить и ускорить ввод команд. Однако такая возможность не предоставляется для таких программ как sudo, pacman и некоторых других. Чтобы исправить эту несправедливость достаточно установить пакет bash-completion.
sudo pacman -S bash-completion
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://bogachev.biz/2016/01/25/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BF%D0%B5%D1%80%D0%B2%D0%BE%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%CC%86%D0%BA%D0%B0-ArchLinux/
Congratulations @genius1oci! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!