Установка и настройка Void linux

Обновлено: 01.07.2024

Сначала вам понадобится образ Void Linux (скачать ISO). Затем загрузите систему с USB-накопителя.

Вам нужно начать сеанс в реальном времени, я всегда использую root:

Если вы используете кабель Ethernet, у вас должен быть доступ в Интернет по умолчанию. Просто пропингуйте любой веб-сайт или IP-адрес.

Если вы используете ноутбук и у вас нет Ethernet, вам необходимо настроить Wi-Fi:

Откройте и отредактируйте wpa_supplicant.conf и добавьте свой Wi-Fi:

затем добавьте и измените его в соответствии со своими настройками:

Сохранить и закрыть. Подождите несколько секунд, а затем просто выполните команду ping, чтобы проверить, есть ли у вас доступ в Интернет.

Начните установку с:

Установка Void Linux проста, следуйте инструкциям для:

Выберите раскладку для своей клавиатуры; стандартные клавиатуры «qwerty» обычно используют раскладку «us».

Выберите основной сетевой интерфейс. Если вы используете DHCP в своей сети, выберите этот вариант, иначе программа установки запросит IP-адрес, маску сети и шлюз.

Если вы собираетесь использовать беспроводное соединение во время установки, возможно, вам придется настроить его вручную с помощью wpa_supplicant и dhcpcd перед запуском void-installer. Просто следуйте приведенным здесь инструкциям.

Выберите, хотите ли вы установить из локального источника (пакеты, включенные в ISO) или из сети (в этом случае пакеты загружаются из удаленных репозиториев Void). Установка из сети позволяет установить самые последние пакеты из официальных репозиториев. Обратите внимание, что при локальной установке также будет установлен любой рабочий стол, включенный в ISO (например, xfce)

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

Настройте параметры локали по умолчанию, они будут использоваться для установки локали libc в среде glibc.

Настройка локали в настоящее время не отвечает установщику musl. В настоящее время локали изначально не поддерживаются в musl.

Установите часовой пояс на основе стандартных параметров часового пояса.

Введите и подтвердите пароль, используемый для учетной записи root в вашей новой установке Void. Пароль не будет отображаться на экране.

Выберите логин (по умолчанию void) и описательное имя для этого логина (по умолчанию Void User). Затем введите и подтвердите пароль для этого пользователя по умолчанию. Наконец, вы можете изменить членство в группах для пользователя или использовать значения по умолчанию.

Определите, хотите ли вы использовать программу установки для автоматической установки GRUB2 на диск.

Это важная часть любой установки. Я всегда делаю четыре раздела (UEFI), допустим, диск 252G:

Если ваша система UEFI, убедитесь, что вы выбрали GTP при запуске cfdisk.

Убедитесь, что вы выбрали правильный диск при создании разделов. После настройки разделов выйдите из cfdisk.

Установщик начнет монтировать и форматировать разделы, не забудьте выбрать правильный раздел:

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

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

После успешного завершения установки вы можете перезагрузиться в новую установку Void Linux!

Если вам недостаточно программы установки, вы также можете установить систему вручную. Для этого вам понадобится работающая система Linux на оборудовании, что означает живой образ Void, живой образ любого другого дистрибутива или другую среду.

Подготовка

Вам потребуется следующее:

Не беспокойтесь о том, что архивы помечены как musl , они работают так же и с glibc. Ключевым моментом здесь является то, что двоичные файлы связаны статически, поэтому они будут работать в любом дистрибутиве/среде независимо от того, какие пакеты программного обеспечения у вас есть. Вам просто нужно получить правильный архив для нужного порядка следования байтов.

Загрузка и настройка среды

Загрузите съемный носитель Linux. Если вы не знаете, как это сделать, следуйте инструкциям по загрузке.

Если среда не Void, скачайте статическую копию xbps.

Большинство двоичных файлов вам не нужны, вас интересует xbps-install.static , расположенный в usr/bin .

Кроме того, все, что упоминается в этом руководстве, должно выполняться с правами root.

Время может быть установлено неправильно, особенно на старых компьютерах Mac с разряженными батареями или на виртуальных машинах. Используйте команду даты, чтобы установить по крайней мере правильный день.

Настройка целевого диска

Дополнительные сведения о разбиении диска см. в примечаниях к разделам.

После того как вы разбили диск, отформатируйте / и смонтируйте его:

Теперь у нас есть целевая файловая система /dev/sdXN. Смонтировать:

Установка исходной системы

Предположим, у нас есть целевой раздел rootfs, смонтированный в /media/rootfs , как указано в разделе выше. Измените текущий каталог на папку usr/bin, в которую вы распаковали статический архив xbps, чтобы xbps-install.static присутствовал в текущем каталоге.

Это позволит установить минимальную систему. При необходимости измените XBPS_ARCH, например, для 32-битного musl это будет ppc-musl. Мы еще не устанавливаем полную систему, так как не уверены в выборе программного обеспечения для внешней среды. Чем меньше система, тем меньше вероятность того, что она приведет к сбою.

Теперь нам нужно настроить цель, чтобы мы могли выполнить в нее chroot.

Если каталоги dev , proc и sys по какой-либо причине не существуют в целевом объекте, создайте их. Это признак неудачного шага настройки. Если вывод xbps-install не показывает никаких ошибок, скорее всего, все в порядке.

Пришло время переключиться на целевую систему и установить остальные компоненты.

Если настройка не удалась по какой-либо причине, перенастройте установленные пакеты. Вы, скорее всего, можете сделать это в любом случае, это не принесет никакого вреда, но в этом нет необходимости, если первоначальная установка системы не дала сбой.

Настройка системы

Мы можем приступить к установке всего остального.

Для целей glibc необходимо включить локаль. Список находится в /etc/default/libc-locales. Затем вам нужно перенастроить соответствующий пакет. Например:

Вам также необходимо установить часовой пояс и имя хоста.

Вам необходимо установить пароль root, иначе вы не сможете войти в целевую систему.

Наконец, включите некоторые службы по умолчанию.

Для доступа в Интернет требуется dhcpcd (он изначально настроен для DHCP, его можно настроить для статического IP-адреса), а sshd является необязательным. Таким же образом вы можете заранее включить любые другие службы в /etc/sv.

Настройка загрузчика

Открытая сила

Поскольку в системах OpenPOWER используется Petitboot, встроенный в прошивку, от вас требуется совсем немного. Всего несколько вещей:

Мы устанавливаем только утилиты, так как мы будем использовать их для создания файла конфигурации GRUB, который Petitboot может читать и анализировать. Отредактируйте /etc/default/grub, чтобы обновить командную строку ядра. Также рекомендуется добавить следующую строку:

Это значительно сокращает время, необходимое для создания файла конфигурации, а os-prober в любом случае бесполезен для Petitboot, поскольку он сканирует каждый носитель отдельно.

Макинтоши PowerPC

Нам потребуется установить загрузчик OpenFirmware:

Также утилиты для работы с HFS:

Предположим, что загрузочный раздел называется /dev/sdXM . Создайте точку монтирования для загрузочного раздела, отформатируйте его и смонтируйте:

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

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

Наконец, сгенерируйте файл конфигурации:

Также рекомендуется раскомментировать следующую строку в /etc/default/grub:

а затем снова запустите update-grub. Это необходимо, потому что графический GRUB очень медленный на Mac, а на виртуальных машинах вообще не будет работать. Вы также можете добавить GRUB_DISABLE_OS_PROBER=true, чтобы update-grub не сканировал другие диски, что значительно ускоряет его работу.

Другое OpenFirmware

Нам потребуется установить загрузчик OpenFirmware:

Затем нам нужно будет установить загрузчик в загрузочный раздел PowerPC PReP, при этом некоторые файлы будут помещены в /boot/grub . Это просто:

Перед выполнением update-grub, возможно, подправьте файл /etc/default/grub, см. раздел OpenPOWER.

После того как вы загрузили образ Void для установки и подготовили установочный носитель, вы готовы установить Void Linux.

Загрузка

Загрузите компьютер с созданного вами установочного носителя. Если у вас достаточно оперативной памяти, на экране загрузки есть возможность загрузить весь образ в оперативную память, что займет некоторое время, но ускорит остальную часть процесса установки.

После загрузки живого образа войдите в систему как root с паролем voidlinux . Затем проверьте правильность даты/времени с помощью команды date. Особенно на старых компьютерах Mac с разряженными батареями и на некоторых виртуальных машинах он может быть установлен на 1970. Если это так, исправьте его снова с помощью команды date.

В следующих разделах подробно описаны все экраны программы установки.

Клавиатура

Выберите раскладку для своей клавиатуры; стандартные клавиатуры «qwerty» обычно используют раскладку «us».

Сеть

Выберите основной сетевой интерфейс. Если вы не решите использовать DHCP, вам будет предложено указать IP-адрес, шлюз и DNS-серверы.

Если вы собираетесь использовать беспроводное соединение во время установки, вам может потребоваться настроить его вручную с помощью wpa_supplicant и dhcpcd перед запуском void-installer .

Источник

Чтобы установить пакеты из установочного образа, выберите Локальный . В противном случае вы можете выбрать Сеть, чтобы загрузить последние пакеты из репозитория Void.

Примечание: если вы устанавливаете окружение рабочего стола из образа ''flavor'', вы ДОЛЖНЫ выбрать в качестве источника Local!

Имя хоста

Выберите имя хоста для вашего компьютера (в нижнем регистре, без пробелов).

Язык

Выберите региональные настройки по умолчанию. Этот параметр предназначен только для glibc, так как musl в настоящее время не поддерживает локали.

Часовой пояс

Выберите свой часовой пояс на основе стандартных параметров часового пояса.

Корневой пароль

Введите и подтвердите пароль root для новой установки. Пароль не будет отображаться на экране.

Учетная запись пользователя

Выберите логин (по умолчанию void ) и описательное имя для этого логина. Затем введите и подтвердите пароль для нового пользователя. Затем вам будет предложено проверить группы для этого нового пользователя. Они добавляются в группу wheel по умолчанию и будут иметь доступ к sudo.

Раздел

Далее вам нужно разбить диски на разделы. Void не предоставляет предустановленной схемы разделов, поэтому вам нужно будет создать свои разделы вручную. В зависимости от вашей платформы установщик предоставит вам инструкции о том, как разбить диск на разделы. В зависимости от аппаратного обеспечения вам может понадобиться использовать разные инструменты для создания разделов (cfdisk для большинства, pmac-fdisk для Mac).

Дополнительные сведения о разбиении диска см. в примечаниях к разделам.

Файловые системы

Создайте файловые системы для каждого созданного вами раздела. Для каждого раздела вам будет предложено выбрать тип файловой системы, хотите ли вы создать новую файловую систему на разделе, и точку монтирования, если применимо. Когда вы закончите, выберите Готово, чтобы вернуться в главное меню.

Загрузчик

Системы OpenPOWER

Поскольку системы OpenPOWER используют Petitboot, вы не сможете установить загрузчик. Установщик по-прежнему спросит вас, использовать ли хотя бы GRUB для создания файла конфигурации. Поскольку Petitboot может читать эти конфигурации, он может создать для вас меню. Вероятно, вы захотите сказать «да».

Системы IBM

Они используют загрузочный раздел PReP. Вам нужно будет указать на него установщику, чтобы он мог поместить туда GRUB. Вас также спросят, использовать ли графический терминал. Как правило, это зависит от вас, в любом случае вы получите загрузочное меню.

Макинтоши NewWorld PowerPC

Вам нужно будет выбрать загрузочный раздел. Выбор графического загрузчика снова остается за вами, но имейте в виду, что на этом оборудовании он может работать медленно, поэтому вы, вероятно, захотите сказать «Нет».

Другое оборудование

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

Просмотреть настройки

Перед тем как продолжить, рекомендуется проверить настройки. С помощью клавиши со стрелкой вправо выберите кнопку настроек и нажмите . Все выбранные вами варианты будут показаны для просмотра.

Установить

Выбор «Установить» в меню запустит программу установки. Программа установки создаст все выбранные файловые системы и установит пакеты базовой системы. Затем он сгенерирует initramfs и установит загрузчик GRUB2 в загрузочный раздел.

Все эти шаги будут выполняться автоматически, и после успешного завершения установки вы сможете перезагрузиться в новую установку Void Linux!

После установки

Некоторые советы по настройке новой системы см. в руководстве по установке.

Я перенес этот Gist в справочник. Я больше не буду поддерживать этот Gist, но сохраню его здесь для будущих ссылок. Вы можете получить доступ к соответствующей главе в руководстве здесь.

В этом руководстве вы найдете:

  • btrfs со сжатием Zstandard
  • Корневой каталог и файл подкачки с шифрованием LUKS
  • GRUB с UEFI

Вы не найдете:

  • Инструкции для файловых систем, отличных от btrfs
  • Полное шифрование диска (здесь есть официальное руководство)
  • Объяснение всех сделанных мной выборов (иногда я не знаю истинной причины своего выбора)

Настройка живого ISO

Есть два доступных пользователя: root (суперпользователь) и anon . Пароль обоих — voidlinux. Мне нравится входить в систему с помощью суперпользователя, поэтому мне вообще не нужно набирать sudo. Я настоятельно рекомендую вам запустить exec bash, чтобы вам не приходилось иметь дело с ограничениями dash.

Настройка раскладки клавиатуры

Если вам нужен другой макет, отличный от en-US , вы можете сделать следующее:

Подключение к Интернету

Минимальное количество разделов – три:

  • Раздел EFI ( /efi )
  • Загрузочный раздел, в котором хранятся ядра ( /boot )
  • Корневой раздел btrfs, зашифрованный с помощью LUKS

Итак, сначала нам нужно сгенерировать таблицы разделов. Проверьте, на какое устройство вы хотите установить Void. В этом руководстве я просто использую /dev/sda , но это может измениться в зависимости от вашей настройки, так что будьте осторожны! Вернемся к таблицам разделов:

После запуска fdisk появится меню, поэтому выполните следующие действия:

  1. Выберите g, чтобы создать таблицу GTP.
  2. Выберите n, чтобы создать раздел EFI размером +200 МБ.
  3. После создания раздела измените его тип, выбрав t, а затем выбрав параметр, представляющий раздел EFI (обычно 1)
  4. Выберите n, чтобы создать загрузочный раздел размером +500M (больше места означает больше ядер, мне нравится использовать +800M)
  5. Выберите n, чтобы создать раздел btrfs оставшегося размера.

Создание файловых систем

Корневой раздел с шифрованием LUKS

Сначала смонтируем основной раздел btrfs:

Затем смонтируем разделы верхнего уровня:

ПРИМЕЧАНИЕ. Настройте параметры монтирования в соответствии с вашими потребностями.

После этого смонтируем несколько вложенных разделов, для которых не будет делаться снимок, так как снимки не работают ресурсивно:

Вам также необходимо создать вложенный подтом для файла подкачки:

EFI и загрузочные разделы

После того, как корневой раздел смонтирован, пришло время смонтировать остальные:

Установка системы

Установите соответствующие переменные (это может варьироваться в зависимости от ваших потребностей):

При использовании musl значения могут быть такими:

Приведенная выше команда устанавливает базовую систему вместе с утилитами btrfs, GRUB и утилитой dm-crypt, которые являются основными частями этой установки.

Смонтируйте псевдофайловые системы, необходимые для chroot:

Скопируйте конфигурацию DNS в новый корень, чтобы XBPS по-прежнему мог загружать новые пакеты внутри chroot:

Затем подключитесь к новой установке:

Запишите желаемое имя хоста в /etc/hostname .

Информация о конфигурации системы

Обратитесь к этой документации, чтобы настроить файл rc.conf.

Для установки glibc отредактируйте /etc/default/libc-locales, затем запустите:

Настройка Drcut

Я советую выполнить установку "только для хоста", то есть Dracut сгенерирует простой файл initramfs со всем, что вам может понадобиться, включая драйверы i915, если у вас процессор Intel со встроенной графикой:

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

После этого следуйте инструкциям Arch по вычислению параметра ядра restore_offset для btrfs.

СОВЕТ. Вы можете использовать XBPS для компиляции btrfs_map_physical, используя мой собственный шаблон. Просто клонируйте ветку и, как обычно, используйте xbps-src для pkg пакета btrfs_map_physical.

После расчета добавьте следующую строку в конфигурацию GRUB:

ПРИМЕЧАНИЕ. Для использования файла подкачки с btrfs требуется Linux 5.0+.

Создание основного пользователя

Войдите как root и выполните:

После запуска visudo раскомментируйте строку, содержащую %wheel . Выйдите из системы, а затем войдите под новым созданным пользователем.

ПРИМЕЧАНИЕ. Если вы хотите заблокировать учетную запись root, вы можете запустить sudo passwd -dl root . Однако будьте осторожны, так как вы больше не сможете войти в систему, используя учетную запись root.

Пожалуйста, обратитесь к этому официальному руководству из справочника.

zelleb прокомментировал 8 марта 2020 г.

Отличное руководство! Но для чего нужны эти вложенные разделы? Они монтируются автоматически? Вы не добавили их в /etc/fstab.

gbrlsnchs прокомментировал 8 марта 2020 г.

Спасибо! Он все еще нуждается в некоторой доработке, но может стать отправной точкой для людей.

Но для чего нужны эти вложенные разделы?

В btrfs моментальные снимки не работают рекурсивно. Вы должны сделать снимок каждого отдельного существующего подтома. Это позволяет нам исключать эти «вложенные разделы» из моментальных снимков.

Они монтируются автоматически? Вы не добавили их в /etc/fstab.

Да, вот цитата из вики btrfs:

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

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

Развлекайтесь с Void! 🐱

zelleb прокомментировал 8 марта 2020 г.

Хорошо, эти 3 вложенных раздела являются дочерними для /@, монтируются вместе с ним и исключаются из моментальных снимков /@. Круто.

Я выполнил несколько пробных и ошибочных установок на отдельный диск с помощью efibootmgr. Наконец-то все заработало, и я не был уверен насчет вложенных разделов. Сотрите мой главный диск и прыгайте в пустоту прямо сейчас!

gbrlsnchs прокомментировал 8 марта 2020 г.

Хорошо, значит, эти 3 вложенных раздела являются дочерними для /@, монтируются вместе с ним и исключаются из моментальных снимков /@. Круто.

Я выполнил несколько пробных и ошибочных установок на отдельный диск с помощью efibootmgr. Наконец-то все заработало, и я не был уверен насчет вложенных разделов. Сотрите свой главный диск и прыгайте в пустоту прямо сейчас!

Спасибо.

Круто, добро пожаловать и получайте удовольствие! 😸

прокомментировал tobi-wan-kenobi 22 марта 2020 г.

Большое спасибо за это руководство, оно очень помогло при входе в Пустоту!

Несколько небольших замечаний:

  • Вместо перезапуска dhcpcd мне пришлось вручную запускать wpa_supplicant: wpa_supplicant -B -i -c
  • Установка оболочки, через которую zsh прервал вход для меня (поскольку zsh указывает на /usr/bin/zsh , но для установки оболочки у меня работает только /bin/zsh.
  • Для удобства было бы неплохо скопировать файл wpa_supplicant-.conf в chroot.

gbrlsnchs прокомментировал 24 марта 2020 г.

Большое спасибо за это руководство, оно очень помогло при входе в Пустоту!

Рад, что смог помочь! Когда-нибудь я приведу в порядок и отполирую этот урок.

  • Вместо перезапуска dhcpcd мне пришлось вручную запускать wpa_supplicant: wpa_supplicant -B -i -c

На моем образе Void Live уже работала служба wpa_supplicant, поэтому я не уверен, почему у вас не так. 😿

  • Установка оболочки, через которую zsh прервал вход для меня (поскольку zsh указывает на /usr/bin/zsh , но для установки оболочки у меня работает только /bin/zsh.

Да, вы правы, лучше не использовать which zsh , который иногда указывает на нежелательные места.

  • Для удобства было бы неплохо скопировать файл wpa_supplicant-.conf в chroot.

Лично каждый раз, когда я устанавливал Void, я входил в систему как пользователь root. Это намного проще, так как не требуется ни sudo, ни doas.

Нет проблем, надеюсь, вам понравится. Void великолепен!

jessrud прокомментировала 26 марта 2020 г.

Я не думаю, что раздел grub строго необходим. Grub можно установить в ESP, просто автоматический установщик void (по какой-либо причине) требует, чтобы ESP был смонтирован в /boot/efi/, что обычно помещает grub в ваш зашифрованный корень.

Но поскольку вы устанавливаете grub вручную, это не должно быть проблемой. Я думаю, причина в том, что в какой-то момент это позволило вам обновить ядро ​​без монтирования вашего ESP, но я думаю, что обновление ядра с помощью xbps приводит к запуску grub, монтированию ESP и регенерации образа efi в любом случае.

jelemux прокомментировал 14 апреля 2020 г.

Большое спасибо за это руководство! Это отправило меня в большое путешествие.
Сейчас у меня посттравматический стресс из-за спасательной оболочки dracut, но это того стоило!

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

Сначала он сказал, что не может найти UUID моего зашифрованного диска, поэтому я обнаружил, что он не расшифровал его.
Поэтому я поместил эту строку в свой /etc/default/grub (я нашел это в статье Arch Wiki о dm-crypt):

и изменил запись в /etc/fstab на /dev/mapper/cryptroot вместо UUID.

После этого он расшифровал мой диск, но не смог его смонтировать, потому что он каким-то образом назывался /dev/mapper/luks-9c20edda-4ee6-420c-8c61-5b34af6dc890 .
Итак, я решил, что если я изменю запись в моем fstab, я смогу заставить его работать. Также изменил запись в /etc/default/grub для согласованности, и это сработало!

Запись в /etc/default/grub, как она выглядит сейчас:

И записи для зашифрованного диска в моем файле fstab:

Если я сделал что-то не так, укажите мне на это, иначе я надеюсь, что мой опыт может помочь другим.

Кроме того, мне не совсем ясно (хотя я подозревал об этом), что мне нужно повторно запустить команду dracut и grub-mkconfig для нового ядра. Так что это тоже стоит отметить.
Я также думал о возможности создания какого-то хука для автоматического запуска этих команд. Возможно ли это и как мне это сделать?

Читайте также: