- Archlinux -> Void Linux
- Installation
- Base system requirements
- Downloading installation media
- Verifying images
- Verifying image integrity
- Verifying digital signature
- Void Linux Послеустановочные шаги
- Обновление и подключение дополнительных репо
- Безопасность SSH
- Отключение аккаунта root
- Отключение «смягчения» уязвимостей для старого ноута
- Включение Firewall
- Служба времени
- Локализация и русификация консоли
- Logging
- Добавление часто используемого ПО
- nvidia340
- nvidia390
- Intel GPU
- Wifi adapter Broadcom BCM4313
- NextCloud
- Timeshift
- powertop
- Добавление МФУ HP LaserJet Pro 200 MFP M276nw
- TeamViewer
- Помощь проекту статистикой
- Прочее
Archlinux -> Void Linux
В общем, посоны, поставил я по совету анонимуса этот лисапед.
Из минусов и странностей:
- Якобы заявлена поддержка установки на LVM, но на установочном диске отсутствует пакет lvm2. Пришлось устанавливать при помощи виртуальной машины, qemu-nbd, rsync
и скотча. - Баги в зависимостях. При установке какого-то пакета система втянула новую версию libssl, при том что пакетный менеджер был слинкован со старой. Чтобы реанимировать пакетный менеджер, пришлось вручную выдернуть из старого пакета файл libssl.so.27 и засунуть в /lib. Нелепый факап мейнтейнера, особенно с учетом того, что эти версии имеют разный soname и, следовательно, не конфликтуют.
- Пока еще мало пакетов в репозитории. Из привычных мне программ нет lilyterm и medit (и наверное многих других, еще пока глубоко не копал).
- Заметил глюк: htop отображает дисковый кэш как used. free -m говорит, что реально занято 300 метров, а htop думает, что 2 гига. Под Арчем эта же версия htop-а отображает всё корректно.
- НЕТ AUR! У меню ломка, посоны!
- По сравнению с Арчем, более технологичная система сборки пакетов. Есть поддержка кросплатформенных сборок. Заявлена подержка ARM.
Сборочные рецепты проще и лаконичнее арчевских. Типичный рецепт выглядит так:
Это весь файл, ниже нет никаких build() и package(). Строка build_style=gnu-configure делает всю работу. Внутре у ней неонка. Для простых случаев этого достаточно.
Предусмотрена возможность пересобирать систему с иным набором USE-флагов. Нагрепанный перечень флагов:
- За инициализацию системы отвечает набор скриптов в /etc/runit/core-services/. Демонами рулит runit. Запуск системы до окна lightdm за секунды.
- Прощайте портянки на bash-е из sysv-style init. Прощайте портянки юнит-файлов systemd. Скрипты запуска демонов для runit выглядят как-то так:
Итого, дистрибутив сырой, но очень перспективный, если будет больше разработчиков. Годная система сборки, годные инитскрипты, годный менеджер демонов. Никакого блоатваре. Пока еще много детских багов из-за малого количества разработчиков и пользователей.
Всем, кому нравилась простота и лаконичность Арча и кто не знал, куда с него свалить, рекомендую попробовать. Придётся самостоятельно собирать недостающие пакеты и время от времени натыкаться на странные баги, но это намного прикольнее, чем сидеть в теперешнем арче.
Самый главный недостаток для пользователя на данный момент: нет аналога AUR.
Будет какой-нибудь Void User Repository, будут пакеты, дистрибутив будет жить и развиваться.
Источник
Installation
This section includes general information about the process of installing Void. For specific guides, see the «Advanced Installation» section.
Base system requirements
Void can be installed on very minimalist hardware, though we recommend the following minimums for most installations:
Architecture | CPU | RAM | Storage |
---|---|---|---|
x86_64-glibc | x86_64 | 96MB | 700MB |
x86_64-musl | x86_64 | 96MB | 600MB |
i686-glibc | Pentium 4 (SSE2) | 96MB | 700MB |
Note that flavor installations require more resources; how much more depends on the flavor.
Void is not available for the i386, i486, or i586 architectures.
Before installing musl Void, please read the «musl» section of this Handbook, so that you are aware of software incompatibilities.
It is highly recommended to have a network connection available during install to download updates, but this is not required. ISO images contain installation data on-disk and can be installed without network connectivity.
Downloading installation media
The most recent live images and rootfs tarballs can be downloaded from https://alpha.de.repo.voidlinux.org/live/current/. They can also be downloaded from other mirrors. Previous releases can be found under https://alpha.de.repo.voidlinux.org/live/, organized by date.
Verifying images
Each image release’s directory contains two files used to verify the image(s) you download. First, there is a sha256sum.txt file containing image checksums to verify the integrity of the downloaded images. Second is the sha256sum.sig file, used to verify the authenticity of the checksums.
It is necessary to verify both the image’s integrity and authenticity. It is, therefore, recommended that you download both files.
Verifying image integrity
You can verify the integrity of a downloaded file using sha256sum(1) with the sha256sum.txt file downloaded above. The following command will check the integrity of only the image(s) you have downloaded:
This verifies that the image is not corrupt.
Verifying digital signature
Prior to using any image you’re strongly encouraged to validate the signatures on the image to ensure they haven’t been tampered with.
Current images are signed using a signify key that is specific to the release. If you’re on Void already, you can obtain the keys from the void-release-keys package, which will be downloaded using your existing XBPS trust relationship with your mirror. You will also need a copy of signify(1); on Void this is provided by the outils package.
To obtain signify when using a Linux distribution or operating system other than Void Linux:
- Install the signify package in Arch Linux and Arch-based distros.
- Install the signify-openbsd package in Debian and Debian-based distros.
- Install the package listed here for your distribution.
- Install signify-osx with homebrew in macOS.
If you can’t obtain signify for some reason (e.g. you are on Windows and can’t use WSL or MinGW), you can use minisign(1) to verify the file.
If you are not currently using Void Linux, it will also be necessary to obtain the appropriate signing key from our Git repository here.
Once you’ve obtained the key, you can verify your image with the sha256sum.sig file. The following example demonstrates the verification of the GCP musl filesystem from the 20191109 release:
If the verification process does not produce the expected «OK» status, do not use it! Please alert the Void Linux team of where you got the image and how you verified it, and we will follow up on it.
For verification with minisign , it is necessary to rename the sha256sum.sig file to sha256sum.txt.minisig and remove the first line from the .pub release key. The following example demonstrates the verification of the sha256sum.txt file from the 20191109 release:
The same warning as above applies. If the verification process isn’t successful, do not use the file — warn the Void Linux team about it.
Источник
Void Linux Послеустановочные шаги
Для своего нетбука Asus 1215n я выбрал дистрибутив Void Linux с libc -библиотекой и Mate для графической оболочки, так как для дистрибутива с musl -библиотекой отсутствует возможность установки проприетарных драйверов для видеокарты «Nvidia ION».
Для стационарного компьютера, с «NVidia GeForce GT 630» на борту, мной был выбран Void Linux, также с libc -библиотекой + Cinnamon
Установка с флэшки быстра и незатейлива и здесь приведена не будет. Отмечу только, что для корневой ФС выбираю BtrFS.
Обновление и подключение дополнительных репо
После перезагрузки выполняем два обновления системы:
Удаляем старые ядра Linux, кроме последнего:
Делаем запрос на получение списка доступных репозиториев и подключаем три из них:
Безопасность SSH
В Void Linux по умолчанию устанавливается демон sshd с настройками, позволяющими авторизоваться root по паролю. В современных условиях это потенциальная дыра в безопасности системы. Без промедления исправляем:
— останавливаем демон sshd:
# sv stop sshd
— при необходимости запрещаем запуск демона sshd:
# rm /var/service/sshd
Замечу, что я использую ssh ключи ed25519, поэтому в файле /etc/ssh/sshd_config :
— комментирую все host-ключи, кроме /etc/ssh/ssh_host_ed25519_key
— далее запрещаем вход для root’а:
PermitRootLogin no
— разрешаем вход по открытому ключу:
PubkeyAuthentication yes
— запрещаем вход по паролю:
PasswordAuthentication no
Отключение аккаунта root
Так как моя учётная запись пользователя учавствует в группе wheel , то отключаю root за ненадобностью:
Так как root теперь отключён, то загрузка в recovery mode завершится сообщением о невозможности ввода пароля для root по причиние его отключённого состояния и предложением прочитать sulogin(8). Из чтения данного мана выясняется, что единственный способ выйти из этого положения, это разрешить беспарольный вход, то есть без запроса пароля root’а. Реализуется этот способ добавлением ключа -e или —force к sulogin .
В файле /etc/sv/sulogin/run в строке exec setsid sulogin $
Внимание. Данный беспарольный способ входа, по понятным причинами, является дырой в безопасности. Поэтому я его использовал только для проведения манипуляций с BTRFS из параграфа «Timeshift». После проведения работ, беспарольный sulogin мной был вновь отключен. Что, конечно же, не помешает подготовленному злоумышленнику загрузиться с флэшки.
Если использовать FDE (полнодисковое шифрование), то, вероятно, sulogin -pe можно применять без страха компрометации компьютера.
Отключение «смягчения» уязвимостей для старого ноута
Надо проверить, имеет ли смысл отключать «смягчения», так как в старом ноуте «Asus 1215n» установлен процессор «Intel Atom», который не подвержен некоторым узвимостям, а значит замедление работы, вследствии применения «смягчений», может быть незначительным.
В /etc/default/grub добавляем в параметры загрузки ядра mitigations=off :
Обновляем GRUB и перегружаемся:
Включение Firewall
Firewall Configuration
По умолчанию в Void Linux установлен iptables . Как обычно, правила храняться в /etc/iptables/iptables.rules и /etc/iptables/ip6tables.rules .
Для восстановления правил после перезагрузки включаем демоны:
Служба времени
chronyc makestep – для немедленной синхронизации.
Локализация и русификация консоли
Подправляем локаль для правильной работы программ, в частности mosh , gnome-terminal , клиента NextCloud. Также русифицируем консоль с переключением клавиатурных раскладок по «Alt+Shift».
В /etc/default/libc-locales раскомментируем необходимые нам локали и запускаем их генерацию (для ru_RU.UTF-8 ):
Задаём локаль по умолчанию:
Выбираем консольный шрифт Terminus размером 24 и полужирным начертанием, и добавляем в консоль переключение между языками по «Alt+Shift». Для этого изменяем соответствующие строки в /etc/rc.conf :
Изменения вступят в силу после перезагрузки.
Заметка: консольные шрифты хранятся в /usr/share/kbd/consolefonts . Сверяясь с этим каталогом и переключившись в консоль, подбираем для себя шрифт командой setfont . Изменения происходят мгновенно. Название файла с шрифтом можно задавать любым способом, показанным ниже. Например:
Logging
По умолчанию в Void Linux отсутствует логгирование. При необходимости в нём, на странице Logging in Void Linux, предлагается установить socklog :
Запись логов ведётся в /var/log/socklog/ . Для их чтения добавляем себя в группу socklog :
Добавление часто используемого ПО
Устанавливаем часто используемые пакеты:
nvidia340
Так как мой старенький нетбук имеет дополнительный видеочип на «Nvidia ION», а его поддержка закончилась на 340-ой версии драйверов от Nvidia, то устанавливаем соответствующий драйвер; добавляем свой логин в группу пользователей этого видеочипа, и добавляем демон bumblebeed в автозагрузку:
После ближайшей перезагрузки запускаем различные тесты для проверки работы bumblebee и изменяем пункты меню тех приложений, которым требуется для запуска GLX:
nvidia390
На моём стационарном компе установлен GeForce GT 630, для которого, судя по информации с сайта nvidia, поддержка закончилась на 390-ой версии.
Intel GPU
Второй монитор в «Linux Mint» был обнаружен и подключён автоматически. Здесь счастья не случилось. Пока не знаю способа решения.
Wifi adapter Broadcom BCM4313
Можно оставаться на драйвере, разрабатываемом сообществом. Или, при желании, ищем подходящие проприетарные драйвера в репозиториях и устанавливаем:
Интересно, что после установки проприетарных драйверов, соединение с базовой станцией (Mikrotik) происходит не с первой попытки. Иногда только после закрытия/открытия крышки нетбука, то есть через спящий режим. Позже попробуем разобраться в причинах такого поведения, а пока нащупал костыль: # rmmod wl cfg80211 && sleep 1 && modprobe wl , после применения которого происходит мгновенное подключение.
NextCloud
libgnome-keyring – для подавления запроса авторизации в браузере.
Timeshift
По умолчанию в Void Linux не предусмотрен какой-нибудь планировщик задач, поэтому устанавливаем его для обеспечения запуска задач из timeshift :
Void Linux устанавливается в btrfs-раздел без использования подтомов, тогда как Timeshift нацелен на их использование в стиле Ubuntu, когда система размещена в подтоме @, а /home в подтоме @home. Для соблюдения этих условий необходимо:
- Загрузиться в Recovery Mode, или с live-флэшки, например voidlinux. При прохождении этого квеста из режима восстановления, по понятным причинам, выполнение пункта 4 необходимо отложить до загрузки в нормальном режиме.
- Примонтировать системный раздел (у меня sda3) к, например, /mnt :
mount /dev/sda3 /mnt - Создать снимок корня системного раздела в подтом с названием @ (древний символ, использовавшийся торговцами для учёта амфор с вином или оливковым маслом):
btrfs subvolume snapshot /mnt /mnt/@ - Удалить содержимое корневого тома, кроме подтома @ (только не в Recovery Mode):
cd /mnt
find -maxdepth 1 ! -name @ -exec rm -rf <> \; - в файле /mnt/@/etc/fstab , в строке монтирования системного раздела, после defaults через запятую, добавить опцию [email protected] (здесь приведён результат работы через vi ):
vi /mnt/@/etc/fstab
UUID=b8d4b8a5-0392-41e4-ad14-1255f12321b6 / btrfs defaults,[email protected] 0 1 - Отмонтировать системный раздел:
umount /mnt - Примонтировать к /mnt только что созданный подтом @ :
mount -o [email protected] /dev/sda3 /mnt - Монтируем важные каталоги и делаем chroot в /mnt :
mount -t proc /proc /mnt/proc
mount —bind /dev /mnt/dev
mount —bind /sys /mnt/sys
mount —bind /run /mnt/run
chroot /mnt /bin/bash - Обновляем загрузчик системы и выходим из песочницы:
update-grub
grub-install /dev/sda
exit - Перегружаем компьютер:
sync && reboot - После загрузки в нормальном режиме, при необходимости удаления каталогов, как в пунке 4, монтируем корневой подтом файловой системы BTRFS к каталогу mnt . Так как корень BTRFS всегда имеет то его монтирование, удаление ненужных каталогов, с последующим отмонтированием, делаем так:
mount -o subvolid=5 /dev/sda3 /mnt
cd /mnt
find -maxdepth 1 ! -name @ -exec rm -rf <> \;
umount /mnt
При наличии UEFI, перед выполнением перемещения в песочницу chroot в пункте 8, необходимо дополнительно примонтировать efi-раздел (у меня sda2), например: mount /dev/sda2 /mnt/boot/efi . А после, находясь в песочнице, при установке загрузчика (пункт 9), выполнить: grub-install без указания устройства.
powertop
Добавление МФУ HP LaserJet Pro 200 MFP M276nw
Добавил себя в группы:
Запустил процедуру установки МФУ:
Добавил в /etc/sane.d/dll.conf строку hpaio :
Указание предпочтительного размера печатного листа:
TeamViewer
Для подключения к другим компьютерам через TeamViewer, необходимо установить в систему два пакета:
Скачиваем teamviewer for linux и распаковываем в, например, /opt . Запуск teamviewer производим под обычным пользователем $ /opt/teamviewer/teamviewer . В случае неудачи можем проверить наличие в системе требуемых библиотек $ /opt/teamviewer/tv-setup checklibs .
Помощь проекту статистикой
Usage Statistics
Посмотреть собираемые данные можно здесь. Каждые 24 часа PopCorn посылает информацию об установленных пакетах и их версиях, версии ядра, архитектуре процессора, и ещё пара-тройка параметров. Каждый клиент генерирует уникальный UUID, на основе которого можно отслеживать источники статистики. Поэтому мой стационарный комп посылает статистику, а ноут пока не посылает. Я параноик, но не совсем.
Скачиваем и запускаем PopCorn:
Прочее
Настройку NetworkManager, Tint2 и прочее здесь описывать не буду.
Источник