Установка arch linux с диска

Методы проб и установки Arch Linux

Сейчас речь пойдет об установке в различных вариантах такого небезызвестного дистрибутива линукса — Arch Linux. На момент написания статьи он занимает на distrowatch почётное 12-е место по количеству поисковых запросов за 6 месяцев с почётной средней оценкой самого дистрибутива 9.3/10. Многие считают его настоящим линуксом, для настоящих программистов, но знаменит он в первую очередь не этим, а своим нетривиальным процессом установки. Запуская загрузочный носитель пользователь в первую очередь видит отнюдь не привычный интерфейс в стиле «нажмите сюда, чтобы установить X», а большое черное окно в мир линукса.

Надежда на графический интерфейс для настройки/использования Вашей системы в конце концов принесет пользователю только проблемы. В какой-то момент времени пользователь почувствует, что ему нужно знать, что скрывает графический интерфейс…

Акт первый: установка на виртуальную машину

Наверное, это самый безопасный способ попробовать свои силы в установке этой системы или, по крайней мере, хороший способ «отрепетировать» установку рядом вместо Windows, другого Linux или MacOS. Пользоваться лично я буду лицензионным VMware Workstation Pro 14…

Но подойдет в целом и любая другая программа для работы с виртуалками.

Для начала нам потребуется свежий iso-образ, скачанный с archlinux.org
Скачали? Круто!

Создаём с ним новую виртуальную машину. Отдаём памяти, сколько не жалко, запускаем и открываем гайд в интернете читаем дальше.

Для установки системы нам потребуется соединение с интернетом, которое при стандартных настройках новой виртуалки должно быть. Проверяем с помощью
ping google.com

Потом нам необходимо разметить диск. Для этого в образе, что мы запустили, присутствуют несколько утилит, например cfdisk, fdisk, gdisk, cgdisk, partitionmanager, parted, gparted… Список можно продолжать. Я люблю пользоваться утилитой cfdisk, т.к. она позволяет разметить и в MBR, и в GPT.

Какую таблицу разделов выбрать — дело каждого, от себя лишь скажу, что GPT будет поновее MBR. Подробнее о выборе между GPT и MBR можно почитать тут.

Запускаем cfdisk, который должен спросить нас про таблицу разделов. Выбираем GPT (или dos). Делаем раздел на 100 МБ. Дальше можно заморочиться и сделать отдельные разделы для разных точек монтирования: под /home, /boot, /var… Но на виртуалке, я считаю, это ни к чему — пилим единый раздел на всё оставшееся место под root.

Не забываем записать изменения на диск, выбрав пункт write.

Далее нужно создать файловые системы утилитой mkfs. EFI раздел я предлагаю отформатировать в FAT32:

mkfs.vfat -F 32 /dev/sdaX

Где X — номер раздела (у меня, например, это sda1)

Остальные разделы все обычно форматируют либо в ext4, либо в ext3:

Затем монтируем сначала корневой раздел в /mnt, затем всё остальное в соответствующие созданные директории в /mnt

Перед непосредственно установкой, я люблю настраивать зеркала с помощью утилиты reflector:

Reflector отсортирует все зеркала по пингу и запишет первые 200 из них в mirrorlist.
Теперь ставим саму систему:
pacstrap -i /mnt base base-devel

После того, как команда выполнилась, нам необходимо дать понять системе, какие разделы должны быть примонтированны при загрузке — для этого пишем:
genfstab -U /mnt >> /mnt/etc/fstab

А теперь разминаем пальчики, сейчас придется ещё немного постучать по клавиатуре…

Произведем небольшую начальную настройку системы. Для этого переходим к её корневому каталогу:
arch-chroot /mnt

Затем в файле /etc/locale.gen находим наш родной язык и раскомментируем его, потом пишем, собственно locale-gen .

Далее следует указать имя компьютера в файлике /etc/hosts. Пример конечного файла:

Добавляем один грамм пользователя

И напоследок, чтобы система загружалась, ставим загрузчик. Подробнее о тех, что можно установить можно прочитать здесь. Какой именно ставить — решать, конечно, вам, а здесь и сейчас мы установим самый обычный grub:

В общем-то готово, можно выйти из chroot, отмонтировать диски и перезагрузить машину. Потом можно уже ставить на неё графическое окружение. Подробнее об этом написано тут.

Ну вот, можно в принципе и наслаждаться…

Акт второй: установка на внешний носитель

Давайте решим задачу: у нас имеется забитый жесткий диск с Windows 10/Mac Os Mojave, на котором есть скачанный образ Arch Linux а также совершенно пустой внешний ssd или hdd.

Задача: Установить систему на внешний диск, не выходя из Windows/MacOS

Подумайте пару минут, а затем посмотрим элегантный «лайфхак».

Чем же это может впоследствии пригодиться? А я скажу — ситуации бывают разные. Однажды у вас сломалась рабочая машина, вы живёте неделю-две без неё, т.к. она находится в ремонте, а работать на чем либо вам надо. Или вы купили/собрали новый компьютер, на котором пока даже ms-dos’а нет — у вас будет возможность хотя бы сделать загрузочную флешку/диск ну или продолжать работать с внешнего носителя. Портативность, так сказать. В то же время устанавливать на внешний диск, я считаю, лучше уж как минимум manjaro.

Акт третий: установка рядом с другой операционной системой

Хорошенько потренировавшись в установке арча на виртуалки, можно и на реальный диск попробовать поставить. Единственная разница состоит в том, что если были на диске раньше другие операционные системы — то надо бы по ним не попасть удалением разделов… Также можно сделать некоторые «улучшения» установки: например выделить место под раздел подкачки

Остаётся лишь пользовательская настройка, которую я описывать здесь не буду, ибо это процесс творческий и индивидуальный.

Читайте также:  Слабый компьютер какая windows лучше

Эпилог: зачем это всё надо

Лично я склоняюсь к версии, что Arch Linux это лучший дистрибутив. Да, он может иногда ломаться при обновлении (этим грешны многие rolling release), но в 2018 году это происходит уже максимально редко. Арч — самый легковесный дистрибутив «на рынке», это звание может оспорить разве что Gentoo. В отличии от последней, кстати, нам не приходится насиловать свою машину компиляцией пакетов. Репозитории Арча огромны, в них есть почти всё. А если этого нет, то почти любой deb-пакет можно сконфигурировать специально для PKGBUILD’а. Если что-то всё-таки как-то ломается, то скорее всего на этот счёт уже есть статья на archwiki, что позволяет при наличии умения читать её достаточно легко исправить. Арч можно настроить под себя. Как угодно.
А ещё у него логотип красивый.

На этом считаю тему исчерпанной, на чем и завершаю данное увлекательное повествование. Счастья тем, кто дочитал до этого момента.

UPD:
Видимо я несколько намудрил с флагами при установке grub, а также забыл упомянуть про os-prober — утилиту, необходимую для обнаружения других операционных систем.
Исправляюсь:

Источник

Установка Arch Linux

Статья для тех, кто устанавливает Arch на виртуалку, стационарный ПК или, ноутбук. Кто точно знает что делает, и кому хотя бы частично статья может помочь. Будет не лишним какое — то знакомство за плечами с linux системами.

На кого рассчитана эта статья?

Статья конечно предназначена больше новичков в linux. Но даже имея некоторый опыт в виде нескольких лет с Ubuntu, в начале знакомства с arch у меня были трудности с установкой, по разным причинам. Затем и с настройкой.

Кто — то скажет, что есть arch wiki, в которой все подробно описано. Но верьте или нет, не получается просто так взять, открыть арч вики, и установить по ней систему. Всякий раз когда ее открываешь — зависаешь на часы, пытаясь восполнить пробелы в знаниях, проходя по бесконечным ссылкам все глубже и глубже. А простой рабочей инструкции в ней нет. Вики хороша как общий справочник. В ней есть много информации “на все случаи жизни”, т.е. под разное оборудование, разную подготовку пользователя, и потребности. Поэтому зачастую статьи из нее избыточны. А на начальных этапах хочется простой рабочей пошаговой инструкции. Особенно тогда, когда просто хочешь пощупать систему, приглядеться к ней, и не хочешь сильно углубляться в детали.

В интернете уже есть куча статей по установке arch. Можно считать эту “еще одной статьей”, отличие которой лишь в том, что она покрывает все проблемы, с которыми столкнулся я, и которые решил при помощи многих статей, arch wiki, где — то и своего багажа знаний. Сконсолидировав эти знания по этой теме, я сам закреплю их понадежнее в своей голове. А если и что — то забуду, то смогу обратиться сюда снова. Поэтому статья еще и для меня 🙂

Если Вам в процессе установки пока не понятно зачем выполнять тот или иной пункт, не отчаивайтесь. В любое время вы сможете наверстать эту информацию, в той же arch wiki, или где угодно. На начальных этапах невозможно все знать. Что — то приходит только с опытом, который никому не дается с рождения. Если у Вас есть интерес к тематике, то постепенно вы обязательно все догоните.

Начало

Процесс установки можно разделить на несколько этапов:

  • скачивание образа .iso с официального сайта, страницы загрузки
  • создание на его основе загрузочной флешки
  • загрузка с флешки в live окружение, установка системы

Этап создания загрузочной флешки пропускается, если Вы устанавливаете систему на виртуальную машину. Далее скриншоты в статье я буду показывать именно с виртуальной машины. Но все шаги проверены неоднократно и на физических устройствах.

Arch linux не имеет графического инсталлятора. Но пугаться не стоит, ничего страшного в установке через командную строку нет. Напротив, это способ даже немного прокачаться.

Создание загрузочной флешки

Для создания загрузочной флешки в последнее время я использую кросплатформенную утилиту balena-etcher, с которой эта процедура сводится к нажатию одной кнопки.

После загрузки с флешки вся установка сводится к поэтапному вводу команд для настройки базовых вещей, разметки диска, установки системы, и установки загрузчика. На этом установка заканчивается, и начинается настройка системы, где скорее всего одним из первых дел будет установка DE (Desktop Environment), т.е. графического окружения.

Установка

Интернет соединение

Когда мы загрузились с загрузочной флешки, мы оказались наедине с командной строкой live окружения, из которого мы и будем осуществлять установку. И первым делом проверим интернет соединение:

т.к. установка arch без интернета если и возможна, то довольна проблематична.

На виртуальной машине соединение скорее всего будет сразу. На железе с ethernet кабелем возможно тоже, но если нет, или если вы будете раздавать интернет по кабелю с телефона, то выполним следующие действия:

выведет доступные сетевые интерфейсы. Наряду со стандартным интерфейсом lo вы обнаружите еще один, с примерно таким именем enp0s25 . И так как у нас в live образе установлена и запущена служба dhcpcd , мы легко можем подключиться к интернету:

После чего пингуем еще раз, и убеждаемся, что подключение появилось.

Если вы хотите подключиться к интернету через wifi на этапе установки, то для этого в установочном live образе есть утилита wifi-menu . При запуске команды wifi-menu появится псевдо-графический интерфейс, где можно будет выбрать wifi сеть и ввести пароль от нее. Но это возможно только если для используемой сетевой карты wifi в линуксе есть драйвер. В случае же с macbook используется broadcom адаптер, на который есть только проприетарные драйвера. Мой мак также отказался видеть сетевой интерфейс подключенного по USB Iphone, поэтому для установки arch мне пришлось купить USB wifi адаптер, драйвер на который есть в ядре linux (конкретно tp-link TL-WN725N).

Читайте также:  Общая память графического процессора windows 10 что это

Разметка диска

Далее нужно разбить жесткий диск на разделы. Для этого есть несколько утилит: fdisk , cfdisk , cgdisk . Последнюю я не пробовал, пользовался первыми двумя. Разницы на выходе нет, но я предпочитаю вторую, интерфейс у нее поприятнее.

Будьте осторожны! Если Вы не понимаете, что Вы делаете, то лучше не делайте ничего. Можно потерять данные, если таковые есть на существующих дисках. Как вариант, заблаговременно сохраните их на другом носителе, на всякий случай.

Выведем список дисков:

Увидим список жестких дисков и существующих разделов. У меня диск называется /dev/sda, у Вас наименование может отличаться. Перейдем непосредственно к разбиению:

Нам понадобится создать таблицу разделов, если она не создана. Необходимо выбрать между MBR и GPT. Коротко о выборе: если у Вас UEFI, то выбираем однозначно GPT. Если у Вас старое железо, то возможно следует выбрать MBR, потому что Ваш BIOS может не поддерживать GPT. О разнице между GPT и MBR, и когда что выбирать, можно почитать на arch wiki .

Если Вы не знаете BIOS у Вас или UEFI, то можете посмотреть содержимое раздела

Если такого каталога не существует, то скорее всего, система загружена в режиме BIOS.

Я же при установке на железо выбирал GPT, т.к. на macbook у меня UEFI. При установке на виртуальную машину я выбираю MBR, т.е. пункт dos.

После создания таблицы разделов, разбиваем диск на разделы. Процедура мало чем отличается от подобных шагов в графических установщиках других дистрибутивов. Коротко о том, что вообще может понадобиться:

Загрузочный раздел

Если у вас BIOS, то нужно создать раздел размером 200M, с типом по умолчанию Linux filesystem .

New -> 200M -> primary

Если у Вас UEFI, то нужно создать EFI System диск размером 512M.

New -> 512M -> primary -> Type -> EFI (FAT-12/16/32)

Если вы выбрали таблицу разделов GPT, и у Вас BIOS, то нужно дополнительно создать логический раздел для хранения образа загрузчика размером 1М с типом BIOS boot

Раздел подкачки (swap)

Swap раздел с типом Linux swap . Этот раздел можно вовсе не создавать, а уже на рабочей системе позже настроить swap на хранение в файле. Если же вы привыкли его выносить на отдельный раздел, то необходимо создать раздел необходимого размера (обычно превышающий общий объем оперативной памяти) с типом Linux swap / Solaris . В примере ниже создадим раздел swap размером 1GB (столько оперативной памяти я выделил виртуальной машине)

New -> 1G -> primary -> Type -> Linux swap / Solaris

Корневой раздел

Корневой раздел / . Сюда будет установлен дистрибутив. Если Вы не желаете выносить домашний каталог пользователя на отдельный раздел, то можете выделить все оставшееся место под него. Минимально рекомендуется выделить под него 20 ГБ. Тип Linux filesystem .

Если вы планируете активно использовать docker, то будьте внимательны, по умолчанию docker image и volume хранятся в папке /var/lib/docker. И необходимо сейчас позаботиться о достаточном дисковом пространстве для них.

Домашняя директория и другие разделы

Вынос домашнего каталога /home на отдельный раздел имеет свои преимущества. При переустановке системы домашний каталог останется нетронутым, в нем сохранятся настройки и остальная информация. Устанавливаем тип по умолчанию Linux filesystem .

Конечно же, можно вынести и /var , и другие директории на отдельные разделы, по желанию.

При установке на виртуальную машину я создал загрузочный раздел, swap для примера, и корневой раздел. Домашнюю директорию я опустил.

Перед выходом не забудем записать изменения, выбрав пункт Write . Утилита уточнит, уверены ли вы в том, что хотите записать изменения. Нужно ввести yes , и нажать Enter , тем самым согласиться. На этом этап разметки завершен. Необходимо выйти из утилиты cfdisk , выбрав пункт Quit .

Форматирование разделов

Теперь отформатируем созданные разделы. В этом нам поможет утилита mkfs .

Смотрите на свои номера дисков, они могут не совпадать с теми, что я привожу в примерах.

Чтобы посмотреть наименования размеченных дисков, выполните команду fdisk -l

Если у вас загрузочный диск EFI, то форматируем его в FAT32.

Если BIOS, то вместо FAT32 форматируем в ext2:

Если вы создавали раздел для хранения образа загрузчика размером 1М с типом BIOS boot, то его форматировать не нужно.

Раздел подкачки необходимо инициализировать. Для этого введем следующие команды:

Корневой раздел и домашний раздел форматируются в ext4

Монтирование разделов

После форматирования нам необходимо примонтировать свежесозданные разделы в каталог /mnt , после чего запустить команду установки системы в примонтированный раздел.

Необходимо сначала примонтировать корневой раздел в директорию /mnt . Далее создать директории монтирования для остальных разделов. Затем по очереди примонтировать разделы в созданные каталоги:

Запуск установки

Можно запускать процесс инсталляции, но желательно перед этим отсортировать (вручную или автоматически) зеркала репозиториев, чтобы скачивание пакетов происходило быстрее. Я где — то на хабре вычитал про утилиту reflector, которая отсортирует зеркала по пингу и запишет первые 200 из них в mirrorlist.

Можно обойтись ручным редактированием файла /etc/pacman.d/mirrorlist, или вовсе пропустить этот шаг.

Установка системы в примонтированный раздел:

Дождемся завершения процесса установки

Хочется отметить, что на текущий момент (ноябрь 2019) я не встретил ни одной статьи, где добавляли бы в данной строке помимо base и base-devel еще и linux linux-firmware . И это для меня остается загадкой. Этого нет ни в официальной хваленой wiki, и ни на одном гугленом мною ресурсе. Нашел я это случайно в комментариях к одной из тех сотен статей, что я перечитал, ч тобы установить arch на виртуалку. Без этих пакетов вы в систему не попадете, т.к. как стоит догадаться, они ставят ядро. Если я не прав — поправьте меня. Я лишь догадываюсь, что раньше все работало и без них.

Все пакеты скачались и установились, большая часть мучений позади. Осталось совсем немножко 🙂

Первичная настройка системы

fstab

Сгенерируем файл fstab , в котором будут описываться примонтированные диски новой системы:

Читайте также:  Ком порт linux mint

Командой cat /mnt/etc/fstab проверим, что файл на месте, и что он содержит описание наших дисков.

arch-chroot

Сменим корневой каталог на /mnt с помощью утилиты arch-chroot

Временная зона и системное время

Установим симлинк временной зоны

Настроим способ синхронизации системного времени путем генерации файла /etc/adjtime . Windows я устанавливать не планирую, поэтому выбираю UTC:

Локаль

Сгенерируем локали. Для этого необходимо отредактировать файл /etc/locale.gen, в котором нужно раскомментировать все интересующие Вас локали. К слову редактировать можно редактором nano, но я предпочитаю vim, который нужно сначала предварительно установить командой pacman -Sy vim . Далее открываем файл на редактирование:

Я раскомментирую следующие локали:

На случай, если вы слепо последовали моему совету не зная базовых основ vim, то у вас могут возникнуть проблемы с тем, чтобы сохранить файл, и покинуть редактор. На этот случай скажу, чтобы выйти, нажмите двоеточие для входа в режим ввода команд : , а затем наберите wq , и нажмите Enter . w — write, запись. q — quit, выход.

после чего запустим команду генерации тех локалей, которые мы раскомментировали:

Объявим переменную LANG в /etc/locale.conf файле.

Я ставлю английский язык т.к. мне комфортнее, когда операционка на нем. Легче ошибки гуглить, и меньше проблем с кириллицей. Но поддержка русского в консоли не помешает.

Шрифты

Для поддержки русского языка в консоли необходимо сменить шрифт. Без этого вместо русского языка будут отображаться квадраты. Список доступных шрифтов можно посмотреть тут:

из проверенного мною — cyr-sun16 . Его и установим.

Заодно поставим и смену раскладки клавиатуры (KEYMAP) на Alt + Shift. Откроем на редактирование файл /etc/vconsole.conf

Данный файл нужен для автоматической установки заданного шрифта при загрузки системы. Попробовать тот или иной шрифт не перезагружаясь можно с помощью команды setfont ИМЯ_ШРИФТА .

и запишем туда 2 строки

Если очень хочется шрифт покрасивее, то можно сначала установить любой подходящий шрифт в систему, и применить именно его. Например установим один из шрифтов из пакета terminus-font

После установки в /usr/share/kbd/consolefonts увидим кучу новых шрифтов вида ter-v20n , где 20 — размер кегля, b — обозначает bold, т.е. жирный. n — normal. Мне подошел больше ter-v20n .

hostname и hosts

Запишем имя компьютера в файл /etc/hostname (замените myArchHostName на желаемый)

после чего создадим файл /etc/hosts

Пользователь

Зададим пароль root пользователю:

Создадим себе пользователя, из под которого вы будете пользоваться системой (замените archuser на имя вашего пользователя):

Зададим пароль Вашему пользователю:

Теперь наградим пользователя (если быть точнее, то всех пользователей группы wheel, в которую мы включили выше нашего пользователя) правом использовать sudo . Для этого отредактируем файл /etc/sudoers

а также по желанию, чтобы постоянно не вводить пароль при вызове команд через sudo (внимание, потенциально опасно), можно раскомментировать строку:

Если после редактирования vim вас снова не выпускает, то это потому, что мы отредактировали файл, открытый только для чтения. Сохранение файла необходимо выполнить командой :w! , и затем выйти :q .

Установка загрузчика

Мы будем устанавливать grub. Для этого установим сам пакет grub . Если у вас UEFI, то установим еще efibootmgr и os-prober .

Далее необходимо выполнить установку загрузчика. Для BIOS или UEFI параметры установщика отличаются.

Grub для BIOS:

Grub для UEFI:

Не забываем сгенерировать конфиг GRUB

Интернет

Чтобы у нас в установленной системе была возможность подключиться к интернету, нам необходимо установить ряд утилит, а именно:

  • netctl — пакет, в состав которого входит утилита wifi-menu , если у вас wifi
  • dhcpcd — DHCP клиент
  • networkmanager — утилита для обнаружения и настройки автоматического подключения к интернету
  • network-manager-applet — понадобится в дальнейшем, когда у нас будет установлена графическая оболочка. Представляет собой значек сети в трее, показывая статус подключения к сети, уровень wifi сигнала, и прочее.

Если у Вас wifi, то установите еще и dialog . Зависимость для wifi-menu .

Нужно установить их сейчас, ибо потом у нас не будет интернета. После их установки выходим из arch-chroot, отмонтируем наши диски, и перезагрузимся. Отсоединим загрузочную флешку, и загрузимся с основного дискового накопителя.

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

Чтобы появился интернет, вернемся к началу статьи, и сделаем ровно те же шаги.

На данном этапе у нас установленный Arch linux с созданным пользователем, и настроенным интернет соединением, без какой — либо графической оболочки.

Если что — то пошло не так

Если вы поняли, что на этапе установки пропустили установку какого — то пакета — не беда, можете снова загрузиться в live iso с флешки, настроить соединение с интернетом, заново примонтировать разделы, провалиться в /mnt через arch-chroot , и доустановить все, что требуется. Переустанавливать систему из — за этого не нужно.

Послесловие

Мы получили свежеустановленный Arch Linux без графического окружения. Далее в принципе настройка — дело вкуса. В этом и весь arch, что он для тех, кто точно знает, что хочет. Практически ничего нет из коробки. И это прекрасно! Вы строете свой конструктор, как Вам хочется. Полная свобода действий. И не на кого спихнуть, что система неудобная, или напихали ненужного софта. Единственный, кто тут может что — то запачкать — это Вы сами. Более не на кого свалить вину. Ломать и чинить систему тут нужно тоже самостоятельно.

Arch Linux не для всех, и в первую очередь не для тех, кто привык “требовать” функционал, фичи, и кормление с ложки из коробки. Тут всегда есть выбор: вкладывать время в саморазвитие через обучение и самостоятельное погружение в систему, или возвращаться к Ubuntu, которая делает все за тебя. Но у такого подхода есть большой плюс в том, что при четком понимании того, что хочешь от системы, ты строишь ее по кирпичикам без лишних запчастей, под себя, под свои персональные нужды и прихоти.

Эта публикация лицензируется в соответствии с Attribution-NonCommercial 4.0 International лицензией.

Источник

Оцените статью