Как проходит установка
Установка ArchLinux выполняется из командной строки Live-системы ArchLinux. Вы скачиваете ISO-образ с Live-системой ArchLinux и загружаете его. И из этой Live-системы происходит установка уже на ваш компьютер.
Установка выполняется путем ввода команд в командой строке. На некоторых этапах необходимо редактировать конфигурационные файлы. Вам также потребуется подключение к интернет.
В данном руководстве приведено описание процесса установки ArchLinux. Затрагиваются вопросы разметки диска, установки загрузчика Grub, установки среды рабочего стола.
Куда обратиться за помощью
На сайте ArchLinux есть подробное Wiki на русском языке, в котором описаны почти все аспекты установки и настройки ArchLinux. В случае каких-либо проблем в первую очередь можно обратиться к данному Wiki. Новичкам читать подобное руководство может оказаться довольно сложным делом, так как информации там очень и очень много.
Свои вопросы вы также можете оставлять в комментариях к данной статье.
Подготовка
Если у вас на диске уже установлена какая-то операционная система, и вы собираетесь устанавливать ArchLinux на тот же диск, то создайте свободный раздел, на который будет выполняться установка.
Свободный раздел на диске можно создать средствами текущей операционной системы:
- В Windows это можно сделать, используя программу Управление компьютером. Обычно ее можно найти через Панель управления: Панель управления→Администрирование→Управление компьютером→Управление дисками.
- В MacOS можно воспользоваться штатным приложением Дисковая утилита.
- В Linux можно воспользоваться программой GParted.
Минимальный размер дискового пространства, которое требуется чтобы установить систему, около 1Gb. Конечно, этого будет недостаточно для полноценной установки. Для комфортного пользования рекомендуется, чтобы у вас было около 20Gb свободного места.
Обязательно создайте резервную копию ваших данных.
Скачиваем ArchLinux
Перейдите на страницу Downloads на сайте дистрибутива. Скачайте ISO образ с дистрибутивом (размер файла около 400-500Мб).
Создание LiveUSB/CD
Запишите ISO образ на флешку или CD/DVD-диск. Как это сделать, читайте в статье — Как создать загрузочную флешку или воспользуйтесь программой для записи CD/DVD-дисков.
Загрузка Live-системы
Загрузитесь с созданного на прошлом шаге Live-носителя. Откроется загрузочное меню диска. Выберите пункт «Boot Arch Linux».
Начало установки
Вы попадете в Live-систему ArchLinux. Загрузится виртуальная консоль (терминал), в котором вы будете вводить команды. Во время установки, вы работаете от имени суперпользователя (root).
Раскладка клавиатуры
Добавим русскую раскладку клавиатуры:
loadkeys ru
И загрузим шрифт с поддержкой русского языка:
setfont cyr-sun16
Для переключения между русским и английским языком используется сочетание клавиш Ctrl+Shift.
Подключение к интернет
При установке я использовал проводное подключение по Ethernet. В моем случае установщик автоматически запустил службу dhcpcd и интернет заработал.
Чтобы проверить соединение, попробуйте, работает ли ping:
ping -c 5 archlinux.org
Если вы подключаетесь к интернет по WiFi, то нужно подключиться к вашей WiFi-сети. Я не пробовал устанавливать ArchLinux на компьютере с WiFi, но приведу выдержки из руководства (отпишитесь, пожалуйста, в комментариях, работает ли этот способ). Сначала необходимо определить название WiFi интерфейса, для этого выполняем команду:
iwconfig
Затем воспользуемся утилитой wifi-menu:
wifi-menu имя_интерфейса
Настройка часов
Включите синхронизацию времени через интернет:
timedatectl set-ntp true
Теперь необходимо установить часовой пояс. Для просмотра доступных часовых поясов воспользуйтесь командой:
timedatectl list-timezones
Можно, например, вывести доступные часовые зоны для Европы:
timedatectl list-timezones | grep Europe
Установите ваш часовой пояс:
timedatectl set-timezone Europe/Moscow
Для проверки времени используется команда:
timedatectl status
Убедитесь, что в поле «Local time» указано верное время.
Разметка диска
Это самый сложный этап для начинающих пользователей. Поэтому, будьте предельно внимательны, чтобы не уничтожить свои данные, если вы устанавливаете ArchLinux, например, рядом с Windows.
Ниже будет много текста, но не пугайтесь, на самом деле все не так сложно, главное внимательно читать и понимать, что вы делаете.
Для разметки диска можно использовать разные утилиты (fdisk, cfdisk, parted и др.). Я воспользуюсь утилитой fdisk.
Я рассмотрю 2 случая:
- Установка ArchLinux на чистый диск.
Соответствующий параграф помечен зеленым цветом:
Разметка диска при установке ArchLinux на чистый диск - Установка ArchLinux рядом с другой ОС (например, рядом с Windows или рядом с другим дистрибутивом Linux).
Соответствующий параграф помечен синим цветом:
Разметка дисков при установке ArchLinux рядом с другой ОС
Разметка диска при установке ArchLinux на чистый диск
Выведем список дисков и разделов:
fdisk -l
У меня диск пустой. Вывод команды будет примерно следующим:
Disk /dev/sda: 8 GiB, ...
Units: sectors of 1 * 512 = 512 bytes
Sector size...
Отсюда мы можем видеть наш диск /dev/sda размером 8GiB. Этот диск мы и будем размечать. Я создам всего два раздела — корневой раздел и раздел подкачки (swap раздел).
Если у вас достаточный объем оперативной памяти (4-8Gb и более), то можно swap не создавать. К тому же позднее можно настроить, чтобы для swap использовался файл на диске. Но я все равно создам раздел swap для примера.
Итак, мы определили название нашего диска — /dev/sda. Запускаем утилиту fdisk и указываем, что мы хотим работать над диском /dev/sda:
fdisk /dev/sda
Вы попадете в интерактивный режим работы с диском — появится приглашение ко вводу команд «Command (m for help):».
Чтобы вывести список доступных команд введите m и нажмите Enter.
Прежде всего создадим новый раздел, который будет использоваться как корневой раздел системы. Вводим n и нажимаем Enter.
Вам будет предложено выбрать тип раздела (Partition type) — первичный (primary) или расширенный (extended). Мы создаем первичный раздел (опция по умолчанию), поэтому просто нажимаем Enter.
Далее нужно ввести номер раздела (Partition number). По умолчанию установлен номер 1, просто нажимаем Enter.
Далее номер первого сектора (First sector). Оставляем значение по умолчанию, просто нажимаем Enter.
На следующем шаге нужно указать номер последнего сектора (Last sector) или размер раздела. У меня диск объемом 8Gb. Из них 1Gb я хочу оставить для раздела swap. Поэтому указываю размер 7Gb. Для этого пишем +7G и нажимаем Enter.
Если вы не планируете создавать раздел swap, то просто нажимаете Enter без ввода размера.
Появится сообщение о том, что создан новый раздел — «Created a new partition 1 of type ’Linux’ and of size 7 GiB» и снова приглашение к вводу новой команды.
Можно ввести команду p и нажать Enter, чтобы посмотреть в каком состоянии находятся разделы на текущий момент. В нашем случае был создан раздел /dev/sda1:
Создадим второй раздел — раздел swap. Вводим команду n и нажимаем Enter. Для всех параметров будем использовать значения по умолчанию, поэтому на всех шагах просто нажимаем Enter. В итоге мы должны получить сообщение: «Created a new partition 2 of type ’Linux’ and of size 1023 MiB».
Если теперь снова ввести команду p и нажать Enter, то можно увидеть, что у нас создано два раздела /dev/sda1 и /dev/sda2:
Раздел /dev/sda2 будет использован под swap, поэтому необходимо изменить тип раздела. Для этого вводим команду t и нажимаем Enter. Вводим номер раздела, тип которого мы хотим изменить. В нашем случае вводим 2 и нажимаем Enter. Далее нужно ввести числовой номер, определяющий тип раздела, используем код 82 (это код Linux swap радела). Вводим 82 и нажимаем Enter.
Для просмотра разделов можно снова ввести команду p и нажать Enter (обратите внимание, что раздел /dev/sda2 теперь имеет тип Linux swap):
Теперь важный шаг. На самом деле до этого мы только подготавливали таблицу разделов. Сами разделы на диске еще не созданы. Теперь применим все наши изменения и создадим разделы. Вводим команду w и нажимаем Enter. Утилита fdisk будет закрыта.
Итак, мы создали на диске /dev/sda два раздела /dev/sda1 и /dev/sda2. Раздел /dev/sda1 будет использоваться как корневой раздел, на него и будет устанавливаться система. Раздел /dev/sda2 будет использоваться как раздел подкачки (swap). Чтобы посмотреть какие разделы сейчас созданы, можно ввести команду:
fdisk -l
Выполним форматирование нашего корневого раздела /dev/sda1, для этого выполняем команду:
mkfs.ext4 /dev/sda1
Разметка дисков при установке ArchLinux рядом с другой ОС
Рассмотрим случай, когда вы устанавливаете ArchLinux на компьютер, на котором уже установлена другая операционная система. Это может быть Windows или, например, другой дистрибутив Linux. В моем случае это как раз другой дистрибутив Linux. Если вы устанавливаете ArchLinux рядом с Windows, то создание разделов будет происходить аналогично. Если вы устанавливаете ArchLinux на чистый диск, то этот параграф вы можете пропустить.
Если вы новичок, я рекомендую вам прочитать предыдущий параграф, где описано создание разделов на пустом диске, так как в данном параграфе я буду предельно краток. Также обращаю внимание на то, что я описываю именно мой случай, в вашем случае названия разделов могут отличаться.
Сначала посмотрим, какие разделы на данный момент у нас на диске. Выполняем команду:
fdisk -l
У меня на диске пять разделов — /dev/sda1,2,5,6,7. Раздел /dev/sda1 это расширенный раздел (extended). Внутри этого раздела размещены разделы /dev/sda5,6,7. На этих разделах уже установлен другой дистрибутив Linux (они используются дистрибутивом).
Меня интересует раздел /dev/sda2. Это первичный раздел (primary). На него я и буду устанавливать ArchLinux. На самом деле у вас такого раздела может и не существовать. У вас может быть просто неразмеченное свободное пространство на диске, которое мы будем использовать для создания нового раздела. Так как у меня раздел уже создан, то я его сначала удалю (хотя это и не обязательно). После удаления данного раздела, мы как раз получим ситуацию, когда на диске появится свободное незадействованное пространство.
Запускаем утилиту fdisk:
fdisk /dev/sda
Сначала я удалю раздел /dev/sda2. Вводим команду d. Вводим номер раздела: 2. Получаем сообщение «Partition 2 has been deleted». Раздел удален, значит у нас появилось свободное неразмеченное пространство на диске, которое мы будем использовать для создания нового раздела.
Вводим команду n, чтобы создать новый раздел. Все предлагаемые настройки оставляем по умолчанию (первичный раздел, номер раздела 2), то есть просто нажимаем Enter. Мне еще был задан вопрос «Do you want to remove the signature?», я ввел y.
Мы создали раздел /dev/sda2, который будет использоваться для установки ArchLinux. Запишем изменения, для этого вводим команду w.
Отформатируем только что созданный раздел. Выполняем команду:
mkfs.ext4 /dev/sda2
Обращаю внимание на то, что я не создал раздел swap, так как данный раздел у меня уже создан, он имеет название /dev/sda7. Процесс создания swap раздела был описан выше в параграфе «Разметка диска при установке ArchLinux на чистый диск».
Очень важно. Далее по тексту производится установка ArchLinux на раздел /dev/sda1 (это случай, который был рассмотрен выше в параграфе «Разметка диска при установке ArchLinux на чистый диск»). Вместо /dev/sda1 вы должны использовать свой раздел, то есть, если это /dev/sda2, который мы только что создали, то вместо /dev/sda1 вы должны писать /dev/sda2. Аналогично и с инициализацией swap раздела (см. следующий параграф). При инициализации swap раздела вместо /dev/sda2 я в данном случае должен подставить /dev/sda7 (так как именно этот swap раздел у меня уже был создан). Будьте предельно внимательны, не запутайтесь.
Инициализация swap
Если во время разметки диска вы создали раздел подкачки, или же он уже был на вашем диске, то его необходимо инициализировать. Выполняем команды (/dev/sda2 — это раздел подкачки):
mkswap /dev/sda2
swapon /dev/sda2
Монтирование разделов
Примонтируем наш корневой раздел /dev/sda1 в директорию /mnt:
mount /dev/sda1 /mnt
Выбор серверов-зеркал
Во время установки из интернета скачиваются пакеты. Пакеты размещаются на серверах-зеркалах.
Можно выбрать географически ближайший к вам сервер, чтобы загрузка пакетов происходила быстрее. Для этого нужно отредактировать файл /etc/pacman.d/mirrorlist. В этом файле представлен список серверов. Чем выше в списке расположен сервер, тем выше его приоритет, поэтому ближайший к вам сервер желательно переместить наверх списка.
Во время установки этот файл будет скопирован в вашу систему, и список серверов из файла будет использоваться при установке новых пакетов или при обновлении системы.
Откройте файл /etc/pacman.d/mirrorlist для редактирования:
nano /etc/pacman.d/mirrorlist
Мы открыли файл в консольном редакторе nano. Я перенес сервер от Яндекс (это строка «Server = http://mirror.yandex.ru/archlinux/$repo/os/$arch») наверх списка.
Чтобы это сделать, найдите в списке сервер от Яндекса и поставьте на эту строку курсор. Нажмите сочетание клавиш Ctrl+K чтобы вырезать строчку. Теперь переместите курсор в самый верх файла и нажмите сочетание Ctrl+U, чтобы вставить строчку.
Сохраните изменения в файле и закройте редактор. Для этого нажмите Ctrl+X, нажмите y, а затем Enter.
Установка основных пакетов системы
Подготовительная часть окончена. Теперь можно выполнить установку основных пакетов base, для этого выполните команду:
pacstrap /mnt base
Процесс установки пакетов займет некоторое время.
У меня во время установки пакетов промелькнула вот такая ошибка: [ 1859.596408] systemd-tmpfiles[4216]: Failed to create file /sys/devices/system/cpu/microcode/reload: Read-only filesystem, но она никак не повлияла на дальнейшую установку. Поэтому я ее просто проигнорировал.
Генерация файла fstab
Сгенерируем файл fstab:
genfstab -L /mnt >> /mnt/etc/fstab
Просмотреть содержимое файла можно командой:
cat /mnt/etc/fstab
Изменение корневого каталога
Воспользуемся скриптом arch-chroot, чтобы сменить корневой каталог. Мы переключимся на каталог /mnt, в который у нас примонтирован корневой раздел диска.
arch-chroot /mnt
Часовой пояс
Настроим часовой пояс:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Выполним hwclock, чтобы сгенерировать файл /etc/adjtime, в котором хранятся соответсвующие настройки.
hwclock --systohc
Локализация
Язык, который использует система, определяется локалью. Помимо языка интерфейса локаль определяет и форматы чисел, времени, даты и некоторые другие региональные особенности.
Для поддержки русского и/или других языков необходимо раскомментировать соответствующие строки (локали) в файле /etc/locale.gen. Откройте файл для редактирования:
nano /etc/locale.gen
Я раскомментировал строки:
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
Сохраните изменения и закройте файл.
Теперь генерируем локали. Для этого выполняем команду:
locale-gen
Установим переменную LANG в файле /etc/locale.conf. Создадим файл /etc/locale.conf (используем редактор nano):
nano /etc/locale.conf
Введите текст:
LANG=ru_RU.UTF-8
Сохраните и закройте файл.
Также добавим русскую раскладку клавиатуры для консоли и шрифт с поддержкой кириллицы:
nano /etc/vconsole.conf
Введите строки:
KEYMAP=ru
FONT=cyr-sun16
Сохраните и закройте файл.
Настройка hostname и hosts
Создадим файл hostname, в котором введем имя компьютера.
nano /etc/hostname
Вводим имя компьютера, например:
pingvinus
Сохраните и закройте файл.
Отредактируем файл /etc/hosts.
nano /etc/hosts
Содержимое файла должно иметь вид (вместо pingvinus укажите ваш hostname):
127.0.0.1 localhost
::1 localhost
127.0.1.1 pingvinus.localdomain pingvinus
Если у системы постоянный IP-адрес, то вместо 127.0.1.1 укажите этот адрес.
Пароль суперпользователя
Установим пароль суперпользователя (пароль пользователя root). Выполняем команду:
passwd
Вводим пароль и подтверждение пароля.
Установка загрузчика GRUB
Приведу последовательность команд, которую я использовал:
mkdir /mnt2 - создаем директорию, в которую будем монтировать раздел, на котором уже установлен GRUB.
mount /dev/sda5 /mnt2 - монтируем раздел.
cd /mnt2 - Входим в директорию.
ls - Проверяем, то ли мы примонтировали.
arch-chroot /mnt2 - Делаем chroot на /mnt2
sudo update-grub
exit
cd ..
Если же вам нужно установить и настроить GRUB, то следуйте указаниям ниже.
Установим загрузчик GRUB.
Сначала установим пакет grub, для этого выполняем команду:
pacman -S grub
Если вы используете или планируете использовать на этом компьютере не только ОС Linux, но и другие операционные системы, например, Windows, то установите пакет os-prober:
pacman -S os-prober
Теперь инсталлируем grub:
grub-install /dev/sda
Обратите внимание на то, что в команде мы указываем устройство (/dev/sda), а не раздел. Загрузчик устанавливается в каталог /boot.
Если команда выполнится без ошибок, то вы получите сообщение вида: Installation finished. No error reported.
Запускаем автоматическую настройку grub:
grub-mkconfig -o /boot/grub/grub.cfg
У меня в процессе выполнения данной команды выскочило предупреждение: WARNING: failed to connect to lvmetad: No such file or directory. Falling back to internal scanning. В руководстве по ArchLinux сказано, что это нормально и данное сообщение можно проигнорировать.
Перезагрузка компьютера
Выйдите из окружения chroot, выполнив команду:
exit
Перезагрузите компьютер, выполнив:
reboot
Не забудьте извлечь Live-носитель, чтобы опять случайно не загрузиться в Live-систему.
Второй этап: настройка ArchLinux
После перезагрузки компьютера, вы попадете в свою новую свежеустановленную систему. Перед вами появится консоль и запрос на ввод login’а. Введите root и затем пароль, который вы задали для суперпользователя на этапе установки.
Поздравляю! Первый этап установки завершен. Теперь переходим ко второму этапу — первичная настройка системы и установка графического окружения.
Создание пользователя
Сейчас вы работаете от имени пользователя root. Создадим обычного пользователя, от имени которого вы и будете пользоваться системой. Я создал пользователя pingvinus (вместо pingvinus укажите имя вашего пользователя).
useradd -m -g users -G wheel -s /bin/bash pingvinus
Теперь в директории /home появится домашняя директория пользователя. Ее можно посмотреть командой ls:
$ ls /home
pingvinus
Зададим пароль для только что созданного пользователя:
passwd pingvinus
Настройка интернет
У меня используется проводное Ethernet соединение. IP адрес система получает автоматически. Поэтому необходимо включить сервис DHCP. Выполняем команды:
systemctl enable dhcpcd.service
systemctl start dhcpcd.service
Ждем несколько секунд пока система получит IP-адрес. Можно проверить соединение, выполнив ping:
ping -c 5 archlinux.org
Установка sudo
Установим sudo и позволим нашему пользователю использовать sudo.
Для установки sudo выполните команду:
pacman -S sudo
Теперь разрешим пользователям группы wheel использование sudo. Когда мы создавали пользователя, то мы добавили его в группу wheel, поэтому он сможет пользоваться sudo. Выполняем команду:
visudo
Откроется редактор Vi с файлом настроек sudo.
Найдите строку «# %wheel ALL=(ALL) ALL» (перемещайте курсор вниз клавишей Стрелка Вниз. Строка закомментирована (перед ней стоит символ решетки #).
Нам нужно раскомментировать ее (то есть удалить символ решетки). Поместите курсор на символ решетки и нажмите клавишу x. Также можно удалить пробел, который стоял после решетки.
Теперь нужно сохранить изменения и закрыть редактор. Для этого нажмите двоеточие «:», в нижней части экрана появится строка для ввода символов. Введите wq и нажмите Enter. Если вдруг вы не хотите сохранять изменения, а хотите просто закрыть редактор, то вместо wq введите q!.
Установка Иксов
Прежде всего установим «иксы» — Xorg. Выполняем команду:
pacman -S xorg
Вас спросят, устанавливать ли все пакеты, я устанавливал все, просто нажмите Enter.
Установка экранного менеджера
Экранный менеджер запускается сразу после загрузки системы. В нем вы выбираете пользователя для входа в систему и вводите пароль. Существует несколько разных экранных менеджеров, я устанавливал LightDM:
pacman -S lightdm lightdm-gtk-greeter
Разрешим автоматический запуск lightdm при загрузке системы:
systemctl enable lightdm.service
Установка графического окружения
В качестве графического окружения для ArchLinux доступно множество сред рабочего стола и оконных менеджеров. Выбор зависит только от вас. Ниже я для примера покажу, как установить Gnome, XFCE, KDE, Mate и Cinnamon. За подробностями обращайтесь к официальному Wiki или пишите комментарии с вопросами под этим материалом.
На этом этапе пользователи могут столкнуться с некоторыми проблемами. Например, с черным экраном с мигающим символом тире, черным экраном, на котором виден только курсор мыши, и другими интересными проблемами. Решения для каждого случая могут быть разными. Например, часто помогает установка других драйверов для видео-карты, установка другого экранного менеджера.
Теперь установим среду рабочего стола. Вы можете установить одну или несколько сред рабочего стола. Если вы новичок, то рекомендую начать, например, с XFCE.
Установка Gnome
Установим Gnome. Я устанавливал два пакета — gnome и gnome-extra. Второй пакет содержит несколько дополнительных программ для Gnome (архиватор, текстовый редактор, несколько вспомогательных утилит, игры и так далее.
pacman -S gnome gnome-extra
Установка займет некоторое время, так как пакетов в Gnome очень много.
Установка XFCE
Для установки XFCE выполните команду:
sudo pacman -S xfce4 xfce4-goodies
Установка KDE
Для установки KDE выполните команду:
sudo pacman -S plasma
Установка Mate
Для установки Mate выполните команду:
sudo pacman -S mate mate-extra
Установка Cinnamon
Для установки Cinnamon выполните команду:
sudo pacman -S cinnamon
Перезагружаем компьютер
Итак, вы установили среду рабочего стола. Второй этап установки ArchLinux завершен. Можно перезагрузить компьютер и проверить работу. Перезагружаем компьютер, выполнив команду:
reboot
Если все пройдет успешно, то загрузится экранный менеджер LightDM. В правом верхнем углу есть кнопка для выбора графического окружения.
Если, например, вы установили несколько сред рабочего стола, то можно выбрать, какую из них запускать.
Выберите пользователя и введите пароль. Загрузится рабочий. Например, KDE будет выглядеть примерно так:
Что дальше?
Вы установили ArchLinux и установили среду рабочего стола! Теперь можно пользоваться системой.
Шрифт в терминале
Если вдруг у вас в терминале ужасный шрифт, то установите пакет ttf-dejavu и перезапустите терминал:
sudo pacman -S ttf-dejavu
Обновление системы:
sudo pacman -Syu
Установка пакетов.
Для установки пакетов используется команда pacman -S имя_пакета. Например, для установки браузера Firefox выполните:
sudo pacman -S firefox
Установка AUR, установка Yaourt
Репозиторий AUR (Arch User Repository) это репозиторий для ArchLinux, поддерживаемый сообществом. Он содержит огромное количество пакетов, которые устанавливаются путем компиляции из исходных кодов. Многие пакеты, которые есть в официальном репозитории ArchLinux, изначально были в репозитории AUR. AUR содержит очень много полезных приложений, которых нет в официальном репозитории.
Для установки пакетов из AUR используется утилита Yaourt. Раньше Yaourt можно было установить из стороннего репозитория archlinuxfr, но потом владелец репозитория удалил оттуда пакет yaourt. Поэтому мы установим Yaourt прямо из AUR.
Установим Yaourt. Выполните в терминале последовательно следующие команды:
sudo pacman -S git base-devel
git clone https://aur.archlinux.org/package-query.git
cd package-query/
makepkg -si
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt
makepkg -si
cd ..
sudo rm -dR yaourt/ package-query/
Теперь можно устанавливать пакеты из AUR с использованием команды yaourt.
Для установки пакета используется команда:
yaourt -S имя_пакета
Для удаления пакета:
yaourt -Rs имя_пакета
Для обновления пакетов:
yaourt -Syu
Заключение
ArchLinux это дистрибутив не для новичков. Если вы прошли все этапы и смогли запустить рабочий стол, то это уже большой шаг. Впереди еще много интересного, настройкой ArchLinux можно заниматься бесконечно.
Надеюсь, что данное руководство будет вам полезным. Свои отзывы и вопросы оставляйте в комментариях.
Комментарии
16:21
18:28
18:37
19:05
20:24
base-devel же
20:27
19:37
19:35
17:19
20:07
13:43
10:27
23:09
22:45
19:22
10:51
15:12
17:55
Создать раздел с типом EFI System с помощью cfdisk объемом 100Мб.
Отформатировать его как FAT32
root@archiso ~ # mkfs.fat -F32 /dev/sda1
Порядок монтирования важен.
root@archiso ~ # mount /dev/sda2 /mnt
root@archiso ~ # mkdir /mnt/boot
root@archiso ~ # mount /dev/sda1 /mnt/boot
Ставим систему
root@archiso ~ # pacstrap /mnt base
Генерируем таблицу разделов
root@archiso ~ # genfstab -p /mnt >> /mnt/etc/fstab
Заходим в неё
root@archiso ~ # arch-chroot /mnt /bin/bash
[root@archiso /]# pacman -S grub efibootmgr
[root@archiso /]# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
[root@archiso /]# exit
root@archiso ~ # umount /dev/sda1
root@archiso ~ # umount /dev/sda2
root@archiso ~ # reboot
07:00
07:58
11:28
13:00
GRUB>
08:20
mkdir /boot/EFI
mount /dev/sda1 /boot/EFI
и потом нужно убедится чтобы в папке /boot осталось ядро.
ls /boot
там должен быть файл с названием vmlinuz-linux и версия.
Если его нет то
pacman -S linux
и только потом уже ставьте grub
grub-install /dev/sda
и не забудте сконфигурировать grub
21:31
на команду mkdir /mnt/EFI линукс пишет, что баш не mkdir command not found in bash script
что делать, коллеги?
12:14
10:16
12:21
21:44
Сейчас пробую
20:59
думаю многим в будущем поможет этот совет
11:05
12:33
По поводу samba врать не буду, так как ее непользую.
Проще всего в vbox поставить Manjaro (там меньше замарочек с установкой), попользовать, если все устроит, то так же в vbox отработать установку archlinux, и потом только уже переходить на реальное железо.
19:35
Minimal BASH-like line editing is supported. For the first word,
TAB lists possible command completions. Anywhere else TAB lists
possible device or file completions.
grub>
Что не так сделал?
21:20
12:37
06:25
Даже можно ввести какие то команды, но что?
20:11
00:50
14:32
12:12
Debian и Ubuntu тоже можно устанавливать из командной строки LiveCD, ничего особенного, было бы желание и соответствующая квалификация. Не всем по силам, но такая возможность у них есть. Arch тем и отличается, что другого режима установки в Arch не предусмотрено.
14:53
bash: nano: command not found. Что делать ?
14:56
Затем продолжать.
14:59
16:25
mkfs.fat -F32 /dev/nvme0n1p4 мне выдает довольно странный результат:
mkfs.fat 4.1 (2017-01-24)
09:16
04:00
13:08
12:04
01:32
05:12
12:22
21:13
06:35
1. Как уже отмечали, при установке базовых пакетов нужно, помимо base, еще добавить для установки base-devel, linux и linux-firmware. Кроме этого, абсолютно обязательно поставить dhcpcd. В противном случае, получится трагикомическая ситуация - после перезагрузки включить Интернет не получится т.к. нет dhcpcd, а установить dhcpcd нельзя поскольку еще нет Интернета. Возможно, есть какой-то замысловатый выход, но зачем, если можно добавить всего одно коротенькое слово и спокойно следовать инструкции?
2. После входа в chroot редактор nano исчезает, его тоже надо поставить, хотя можно это сделать и позднее, при возникновении необходимости, но почему бы не сразу? Кроме этого, в дальнейшем для редактирования sudo нам понадобится редактор vi. Почему бы не поставить его заранее дабы в дальнейшем не отвлекаться от инструкции?
Таким образом, команда установки базового пакета у нас несколько расширяется.
Было:
pacstrap /mnt base
Стало:
pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano vi
Кстати, после такой расширенной установки пропадает необходимость на втором этапе отдельно устанавливать sudo т.к. уже имеется в одном из пакетов. Т.е., сразу, как придет время набираем visudo (vi предусмотрительно установлен) и редактируем.
Выражаю благодарность уважаемому собеседнику vladv за столь ценные советы и подсказки. А также за нижеследующие, уже не обязательные добавки, которые, однако, могут кому-то пригодиться.
09:38
12:00
21:12
06:36
3. Необязательно. Решаем проблему мелкого шрифта в терминале, если это создает проблему. Для меня это оказалось настолько актуальным, что дефолтный размер шрифта делал физически невозможным установку Арча.
Итак, в самом начале установки, после русской раскладки loadkeys ru и включения шрифта setfont cyr-sun16 и подключения Интернета, устанавливаем набор терминальных шрифтов командой
pacman -Sy terminus-font
Добавится около 11 Мб.
После этого ставим комфортный для нашего зрения, размера и разрешения монитора номер шрифта:
setfont ter-v№b
Где № - требуемый размер шрифта: 22, 24, 28. Лично мне наиболее комфортным показался 32. Т.е., моя команда выглядела так:
setfont ter-v32b
Вуаля, теперь можно ставить. Кириллица сохраняется, но становится тоже 32, если сделать именно в этой последовательности - сначала setfont cyr-sun16, затем setfont ter-v32b.
Чтобы комфортный шрифт не исчез и появлялся в терминала всегда, уже после установки Арча, добавляем terminus-font в и без того расширившийся список базовой установки (ну, или установим в другой момент, хотя как по мне лучше уж сразу). А позднее, когда уже будем создавать файл vconsole.conf добавим шрифт третьей строкой. Таким образом, к двум строкам:
KEYMAP=ru
FONT=cyr-sun16
Добавим третью:
FONT=ter-v32b
Теперь при загрузке еще консольного, свежего Арча шрифты будут крупными.
4. При разметке дисков в точности следовал совету уважаемого VadimAndy и разбил SSD 120 (по факту 112) на три раздела:
/ с меткой boot 10 Гб
/var 10 Гб
/home оставшиеся 92 Гб.
Оно, конечно, добавило несколько команд, но как-то придало уверенности что ли... Пользуясь случаем, еще раз выражаю благодарность VadimAndy.
А именно, следующие команды:
mount /dev/sda1 /mnt
mkfs.ext4 /dev/sda2 (соглашаемся - y)
mkfs.ext4 /dev/sda3 (соглашаемся - y)
mount /dev/sda3 /mnt/var
mount /dev/sda3 /mnt/home
Далее по инструкции
5. Если кого посетит блажь поставить, вслед за мной, lxde, то тут тоже была засада - оказалось, что система сделалась настолько сверхскоростной, что dm загружался быстрее видеодрайвера, что в реале отражалось в форме черного экрана, а годная загрузка могла осуществиться чисто случайно на 3-4 раз. На кедах (sddm) и крыске (тот же lightdm) этого беспредела не наблюдалось. Дабы lxde загружалась без проблем заранее (подстелим соломки) подредактируем файл lightdm.conf, для чего откроем его в nano:
sudo (если вошли уже под своим логином) nano /etc/lightdm/lightdm.conf
вводим свой пароль
Далее находим [LightDM], в нем строку
# logind-check-graphical=false
Раскомментируем строку, убрав "решетку", а команду false заменяем на true. Вот что получаем:
logind-check-graphical=true
Тем самым графическое приглашение lightdm будет загружаться строго после загрузки видеодрайвера, и загрузка пойдет как часы.
Полная инструкция по настройкам lightdm здесь:
https://wiki.archlinux.org/index.php/LightDM_(Русский)
Стоковый же lxdm оказался менее гибким и у меня годно загружался еще реже, чем lightdm без вышеприведенной настройки.
21:17
04:52
12:21
15:12
15:58
16:24
/home - на случай если (вернее КОГДА) в очередной раз создам несовместимую с работой системы ситуацию и потребуется переставлять арчик. Просто проигнорирую команду форматирования этого раздела и все останется как было.
/var - дабы не допустить переполнения корня.
16:52
Делать /boot efi-разделом в перспективе не очень хорошая идея, если вы вдруг захотите поставить рядом еще один дистрибутив. Если нет, то без проблем
/var
Вы же понимаете насколько это легкоразрушаемый аргумент? С таким же успехом можно основной раздел системы сделать на 10 ГБ больше и при этом профита будет больше. У вас может закончится место на системном разделе, а в var оно будет проставивать и наоборот, еще 10 гб - это слишком много, у меня этот каталог только до 1 гб доходит, на 10 гб можно целую мини-систему поставить. На арче для домашнего использования var в основном забивает systemd своими логами и дампами. При этом используемое место для хранения логов можно сократить, что я и сделал, теперь он совсем небольшой.
Вот для сервера это имеет больше смысла, т.к. там будут храниться и пользовательские данные типа баз данных, почты и что-либо еще
17:00
/var - к сожалению не могу найти аргументы собеседника, который подсказал сделать именно так.
18:00
https://wiki.archlinux.org/index.php/EFI_system_partition
efi-раздел не обязательно монтировать в /boot, можно в /boot/efi (у меня так), можно /efi.
/var
скорее всего ваш собеседник админ, в этом случае важно, чтобы базы данных хранились отдельно от системы
18:09
/var Возможно, но об этом речи точно не было. Мне хорошо запомнились две фразы - теперь твой ССД можно привести в нерабочее состояние только молотком. И что лучше бы переделать на gpt. Второе теперь тоже выполнено.
18:49
Для gpt обязателен efi-раздел, тот который отформатирован в vfat. Но он не обязательно должен быть примонтирован в /boot.
/boot может быть каталогом на системном разделе. Его основная задача - это хранить ядра. Но если же efi-раздел примонтирован не в /boot, то нужен либо скрипт, который будет при обновлении ядра копировать его на efi-раздел (в арчвики куча простых способов), либо использовать bind mount, ведь менеджер загрузок может загружать ядро только с efi-раздела. Все это есть в статье, которую я дал выше.
И делается это все для того, чтобы не было конфликтов на разных ОС на одном девайсе
18:58
mkfs.vfat /dev/sda1
...
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
19:18
Как я понял, вам это неактуально, но если все время будете зависеть от таких четких инструкций и не осознавать что делаете, то в итоге познание линукса не будет улучшаться, ведь инструкции могут устареть
19:25
10:54
19:13
12:29
Сегодня 18.05.21 :)
02:45
12:22
07:59
pacstrap /mnt base
Лучше добавьте еще linux и linux-firmware, по рекомендациям арч вики:
pacstrap /mnt base linux linux-firmware
16:50
16:33
10:03
17:59
1. SSD NVMe обозначаются совсем не sda1, sda2, ... А несколько более заковыристо, что может вызвать кратковременный ступор, когда сталкиваешься с этим впервые. У меня (SSD Kingston M.2 NVMe) разделы обозначились вот так: nvme0n1p1, nvme0n1p2, ... Соответственно, для запуска разметки дисков потребовалась команда (использовал cfdisk):
cfdisk /dev/nvme0n1
А иначе покажет только загрузочную флешку.
Букв, конечно, прибавилось, что не порадовало. Но только при разметке, форматировании и монтировки. Разумеется, поскольку использовалась схема uefi/gpt потребовался дополнительный раздел boot, vfat, размер я выбрал 256 Мб. Команды есть выше в комментарии по установке в uefi.
2. Установка без загрузчика, система загружается силами uefi. Собственно, устанавливаем по инструкции с учетом особенностей добавления и монтировки обязательного загрузочного раздела (у меня всего четыре раздела -boot, root (/), var и home; размеры соответственно 256 Мб, 12 Гб, 10 Гб и сколько осталось, т.е. где-то 454 Гб). Доходим до установки grub. Далее по пунктам:
2.1. Устанавливаем две крошечные утилитки - efibootmgr и в зависимости от процессора либо intel-ucode, либо (как у меня) amd-ucode. Касательно обязательности второй утилиты для Интел ни у кого сомнений замечено не было, касательно АМД - кто говорит надо, кто игнорирует. Решил поставить - ведь не просто так же утилиту добавили в репозиторий Арча? Тем более весят они обе несколько сот килобайт, фи. Интеловская побольше - 3 Мб.
pacman -S efibootmgr amd-ucode (или intel-ucode)
2.2. Запускаем менеджер загрузки:
bootctl install
Выскакивает информация о создании директорий, точек входа и др.
2.3. Настраиваем менеджер загрузки, для чего редактируем сначала первый конфигурационный файл:
nano /boot/loader/loader.conf
У меня вылезли 4 строчки, три из которых закомментированы. Четвертую тоже закомментируем решеткой # перед строкой, а ниже добавим свои три строки:
default arch
timeout (здесь пишем продолжительность паузы в сек, просто цифрой. У меня 1)
editor 1
Сохраняем и выходим.
21:33
04:53
23:06
23:24
05:06
17:59
2.4. Создаем второй конфигурационный файл:
nano /boot/loader/entries/arch.conf
Туда заносим следующие строки:
title Arch Linux
linux /vmlinuz-linux
initrd /amd-ucode.img либо /intel-ucode.img для пользователей Intel
initrd /initramfs-linux.img
options root=/dev/Y rw
Где Y - имя раздела root (/). Обычно sda2, у меня nvm0n1p2.
Сохраняем и выходим.
2.5. Выведем последовательность загрузки:
efibootmgr
2.6. Установим нужную последовательность загрузки. Не очень уверен, что это надо, ну, да ладно - говорят так, пусть и будет так:
efibootmgr -o (буква "о" малая, не ноль) 0,2,1
- у меня вот так получилось. Последовательность цифр - последние цифры в номерах вариантов загрузки, которые начинаются с 000 - 0000, 0001, 0002 - у меня только три эти были. Соответственно, Linux Boot Manager, USB и сам диск (HDD и дальше там еще что-то).И еще 3 или 4 на 200 - 2000, 2001, ...
Потом, когда флешку извлек и загрузился уже окончательно, то обнаружил, что утилита сама переделала последовательность. И ладно, главное - работает.
Все, вуаля.
exit
reboot.
Что из этого получилось? Загрузка бука (не самой системы!) с Арчем с окружением lxde и экранным менеджером lightdm в режиме автологина с односекундным таймаутом составила около 12 с против 30 с на старичке asus x102ba при mbr разметке и использования grub. Загрузка системы по данным sysetnd-analyze:
Startup finished in 3.993s (firmware) + 1.498s (loader) + 998ms (kernel) + 1.668s (userspace) = 8.149s
graphical.target reached after 1.688s in userspace
Что сие означает и много это или мало - ХЗ. Но, наверное, все-таки мало. Хотя у меня тихие подозрения, что виновато здесь не столько отсутствие загрузчика, сколько более современное железо - Райзен 5, 4 ядра, 2,1 Ггц, 8 Гб ОЗУ 2666 МГц и SSD 512 Гб (хотя по факту только 477) M.2 NVMe. Впрочем. пусть более опытные меня (похвалят) поправят.
21:38
22:56
У вас тоже оказались проблемы в реализации uefi прошивки?
У меня действительно возникли проблемы, мой uefi может нормально грузить только дефолтную запись, поэтому я туда тоже поставил systemd-boot
05:08
13:39
efibootmgr - это программа, которая напрямую правит записи uefi в NAND память на плате. Когда говорят "без загрузчика", то подразумевают именно создание записи efi через efibootmgr (или ей пожобные на других системах), которая напрямую грузит ядро (арчвики: EFISTUB->efibootmgr). Но это может плохо закончиться (вплоть до кирпича), если производитель вашей платы фигово реализовал uefi, но я не думаю, что в современных девайсах уже будут серьезные проблемы, технология уже освоенная. Лично у меня проблема не критичная, но все-таки неприятная: адекватно грузится только дефолтная запись, поэтому я туда поставил мнималистичный менеджер загрузок systemd-boot, т.к. у меня несколько систем стоит.
Да, grub в основном заточен под mbr и довольно тяжеловесен, но и менеджеры загрузок есть тяжелее того же systemd-boot - это rEFInd и Clover.
Грубо говоря, менеджеры загрузок несут в себе тот же функционал посредника, что и загрузчики, только используют уже средства uefi
15:21
16:12
16:37
17:44
>если я ставлю предназначенный для другой таблицы разделов загрузчик в 32 Мб который в uefi то ли будет работать, то ли не будет...<
То, что grub изначально для mbr, действительно делает его костыльным на efi системах, но работает он исправно. Когда вы ставите систему, то выбираете какой grub ставите: на mbr или на gpt. Если выбрали gpt, то ставится вполне себе оформленное efi-приложение, которое сможет вам как минимум загрузить систему. Ставить под сомнение самый популярный загрузчик под сомнение весьма странно.
По поводу прямой загрузки через uefi. Смотрите логику:
1) Использовать монолитное ядро линукса для загрузки непосредственно загрузочной записью uefi без сторонних загрузчиков и менеджеров загрузки → фича. Ведь никакая современная система так же не может.
2) Реализация uefi производителем не гарантирует безболезненное изменение записей вручную через efibootmgr → костыль. У вас есть какой-никакой шанс сделать кирпич
17:57
2) Что-то не могу понять - каким образом операционная система с костылем efibootmgr сможет превратить железо в кирпич? Максимум - придется переставить систему, что не особо и сложно даже для арча. Я так чисто по рабоче-крестьянски понимаю - если производитель реализовал uefi криво - настолько, что возможен кирпич, то этот кирпич неизбежен в любом случае.
19:08
>злые языки говорят
Пока сами не попробуете, не узнаете. Что-то мне подсказывает, что разница будет максимум в каких-нибудь 2 секунды. (я не призываю пробовать, ведь в этом действительно нет смысла)
Вы как-то слишком категорично относитесь к слову "костыль". Не стоит так сильно наседать на это. Как программист я вам скажу: оптимизированный код почти никогда не бывает красивым.
Вот тут рассказано о возможных кирпичах:
https://habr.com/ru/post/314412/
Я ведь и сам столкнулся с неидельной прошивкой uefi
19:17
К костылям не могу относиться положительно - сам одноногий, натерпелся от всамделешних костылей - сначала двух, потом одного. Таки с легкой тросточкой (если вернуться к нашим баранам - efibootmgr) оно как-то лучше.
19:26
Я просто смотрю на все эти вещи под разными углами, у каждого свои минусы, но и плюсы тоже ведь есть. К примеру, у grub самый лучший автоматический поиск систем для загрузки
19:30
19:53
У rEFInd тоже есть автоматический поиск, но при его установке нужно еще отдельно драйвер для нужной файловой системы загрузить, если потребуется, а так же надо будет поправить параметры ядра, т.к. в live-usb он их некорректно ставит. Если это не сделать, то у вас даже единственная система не загрузится.
А в grub сделать только один апдейт и все готово
05:06
18:53
У других эти проблемы с загрузкой в большинстве потому, что статья устаревшая и надо отдельно ставить ядро линукса, оно теперь не идет в пакете base.
Я уверен, что вашу проблему с грабом можно было решить
18:59
05:43
15:45
16:33
14:20
12:12
20:54
13:52
Я в пример: когда только пришел в линукс, немного попользовавшись минтом до этого, я решил поставить арч по советам из форумов в духе "если хочешь глубже узнать линукс, то ставь арч, эти убунты тебя научат только как мышкой кликать надо". Но я сразу же утонул в вики и запутался в новых знаниях. Пришлось попользоваться дебианом и ему подобными, чтобы набраться опыта, систематизировать понемногу приходящие новые знания и осилить
15:22
11:56
1. amd-ucode ставить не нужно. Касательно Intel ничего сказать не могу, не пробовал. Возможно, тоже не нужен.
2. Соответственно, строка 3 в файле /boot/loader/entries/arch.conf
Не нужна. См. п. 2.4.
3. П. 2.6. можно упразднить - и так грузится за милую душу.
4. П 2.5. - опционально, если любопытно - можно посмотреть, если лениво - можно не смотреть. Я посмотрел, но ничего менять не стал.
Речь идет вот об этих двух комментах:
Начало:
https://pingvinus.ru/note/archlinux-install#c26272
Продолжение:
https://pingvinus.ru/note/archlinux-install#c26273
12:10
12:21
12:28
12:37
12:39
18:47
23:22
05:09
22:26
Zsh:command not found:wifi-menu
19:00
Можно попробовать установить отдельно:
sudo pacman -S wifi-menu.
P.S. там в окне предложения вроде как предупреждает, что нужно использовать команду iwifi. Вроде так написал. Пишу по памяти. Прочитайте какие команды написаны после того как загрузились с установочного диска.
19:44
19:58
20:03
20:08
20:13
20:19
20:27
20:07
13:16
18:57
Пришлось ставить nano, а потом по инструкции.
pacman -S nano.
19:11
Ну, и, помимо base еще linux, linux-firmware и до кучи base-devel, поскольку собирался использовать минимум яндекс-диск, а он в AUR. При этом sudo ставить не понадобилась - прилетела в одном из пакетов. Ну, и еще терминальные шрифты для комфорта в дографическом режиме terminus-font. Ну, и сразу же powertop и mc - это уже чисто для себя.
23:02
P.S. Хотя сейчас полно скриптов для автоматической загрузки - для первого знакомства самое то.
00:23
07:55
1) чтобы установить рабочий стол lxde(без других рабочих столов).
нужно установить сам lxde и gamin, а gamin устанавливается из AUR.
1.1) чтобы установить AUR нужен YAY или PAMAC
Как это сделать без графики? если можно то поподробней. пока пробую все в виртуалке.
09:45
1.1) По веб-интерфейсу.
Вот здесь годная инструкция: https://wiki.archlinux.org/index.php/Arch_User_Repository_(Русский)
Если нужно, могу кратко перечислить по пунктам. Нормально работает и не требует дополнительных пакетов за исключением, конечно, base-devel и проги для работы с архивами (для lxde ставил xarchiver).
Что можно еще добавить? Пакеты ищутся и берутся вот отсюда: https://aur.archlinux.org/
Чтобы скачать архив с пакетом, нужно справа в блоке "Действия над пакетом" кликнуть "Загрузить снимок". Теперь, кажись, все рассказал...
18:57
15:19
16:13
17:51
nano /etc/sudoers
Как я понимаю, открываем тот же конфигурационный файл.
Далее раскомментировать строку (удалить #)
%wheel ALL=(ALL) ALL
Сохранить и выйти обычным образом, как описано в инструкции: Ctrl+X, y и Enter. Мелочь,конечно, но приятно, что не требуется ставить аж целый vi ради единственной операции.
18:05
18:20
18:25
09:23
02:39
07:10
12:30
13:08
15:45
16:12
16:15
00:22
Installing for i386-pc platform.
grub-install: error: warning: your core.img is unusually large. If won't fit in the embedding area.
grub-install: error: filesystem btrfs doesn't support block lists.
root@archiso #
21:50
20:05
18:34
02:42
07:32
16:31
05:03
inode_size (256) * inodes_count (0) too big for a filesystem with 0 blocks