Учебники (How-To & F.A.Q)

Обходим проблему GRUB - boot diskfilter writes are not supported на LVM или RAID

Описание ошибки

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

Учебники (How-To & F.A.Q): Исправляем ошибку GRUB - boot diskfilter writes are not supported на LVM или RAID

boot diskfilter writes are not supported

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

Краткое описание работы GRUB влияющая на проблему

Когда GRUB загружается, он зачитывает переменные окружения (environment variables) из ранее сохраненного файла /boot/grub/grubenv. Этот файл называется GRUB Environment Block. Из документации GRUB:

Часто полезно иметь возможность запоминать небольшое количество информации от одной загрузки к другой. Например, вы можете захотеть установить пункт меню по умолчанию на основе того, что было выбрано в последний раз. GRUB намеренно не реализует поддержку записи файлов, чтобы минимизировать вероятность того, чтобы загрузчик в случае чего, не отвечал за повреждение файловой системы. Поэтому, файл конфигурации GRUB не может просто создать файл обычным способом. Тем не менее, GRUB предоставляет «environment block», который можно использовать для сохранения небольшого количества состояния.

environment block представляет собой предварительно выделенный 1024-байтовый файл, который обычно находится в /boot/grub/grubenv. Во время загрузки, команда load_env загружает из нее переменные среды, а команда save_env сохраняет в ней переменные среды. Из работающей системы утилиту grub-editenv можно использовать для редактирования environment block.

По соображениям безопасности это хранилище доступно только при установке на обычном диске (без LVM или RAID), с использованием файловой системы без контрольной суммы (не ZFS) и с использованием функций BIOS или EFI (не ATA, USB или IEEE1275).

grub-mkconfig использует эту возможность для реализации GRUB_SAVEDEFAULT

Поведение чтения environment block можно найти в /etc/grub.d/00_header (update-grub использует этот файл для генерации файла /boot/grub/grub.cfg):

if [ -s $prefix/grubenv ]; then
  load_env
fi

Проблема с командой чтения load_env не проявляется, но проявляется с командой сохранения save_env которая сохраняет переменные окружения только на простых разделах диска (она не может запуститься внутри диска RAID или LVM как следует из документации).

Простое решение

Простое решение заключается в том, чтобы отключить в конфиге использование команды записи save_env выставив запрет на её использование в конфигурационном файле /etc/default/grub:

GRUB_SAVEDEFAULT="false"

Затем, следует сгенерировать конечный конфиг-файл GRUB'а /boot/grub/grub.cfg с обновленными параметрами командой:

sudo update-grub

Минусы этого решения не значительны:
  • Не будет возможности сохранять/запоминать состояние между перезагрузками системы. Например, не будет возможности при выборе другого пункта меню загрузки GRUB запомнить его как дефолтный.
  • Если содержимое GRUB в /boot/grub перенесётся вами на другой раздел, на котором файловые системы будут поддреживаться GRUB'ом, то потребуется установить опцию равную значению true, а затем обновить конфиг GRUB'а запустив sudo update-grub
Учебники (How-To & F.A.Q)

Обновление Manjaro Linux через терминал.

Обновление операционной системы Manjaro через эмулятор терминала.

1. Поиск зеркал: (Серверов)

sudo pacman-mirrors -g

2. Обновление системы: (Полное обновление)

sudo pacman -Syyuu

3. Установка ключей: (////////)

sudo pacman-key --init
sudo pacman-key --populate archlinux manjaro
Учебники (How-To & F.A.Q)

Идентификация по отпечатку пальца

Здравствуйте, юзеры!

Уже пол-года сижу на манжаре, горя не знаю, но периодически возникает желание что-то эдакое запилить (создать рамдиск, подключить видюху и накатить стим, поиграться с настройками шрифтов чтобы в tty кириллица нормально отображалась, разобраться с ошибками в dmesg и т.д.).

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

Собственно что для этого нужно:
Библиотека fprint (sudo pacman -S fprint)

Ну и проверка, видит ли ваша система датчик:
lsusb

$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 005: ID 04f2:b3a6 Chicony Electronics Co., Ltd 
Bus 003 Device 004: ID 8087:07da Intel Corp. 
Bus 003 Device 003: ID 03f0:a407 HP, Inc Wireless Optical Comfort Mouse
Bus 003 Device 002: ID 1d57:fa60 Xenta 
Bus 003 Device 006: ID 138a:0050 Validity Sensors, Inc. Swipe Fingerprint Sensor
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

У меня он в списке предпоследний


Когда вы скачаете пакеты нужно будет обкатать пальчики с помощью команды fprintd-enroll. Так же с помощью опции -f можно указать другой палец (по дефолту правый указательный)
Пример

$ fprintd-enroll -f left-index-finger                                                                                         
Using device /net/reactivated/Fprint/Device/0
Enrolling left-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed


Проверить корректность того что получилось можно с помощью команды fprintd-verfiry.

А теперь самое интересное)))

Нужно научить наш оконный менеджер смотреть на пальчики. У меня графика KDE и оконный менеджер sddm, поэтому я правлю файл
/etc/pam.d/sddm
Для гнома он по идее будет называться /etc/pam.d/gdm, но не проверял и могу ошибаться.

Файл до моего вмешательства:

#%PAM-1.0

auth		include		system-login
auth		optional	pam_kwallet5.so
account		include		system-login
password	include		system-login
session		include		system-login
session		optional	pam_kwallet5.so auto_start

И после

#%PAM-1.0

auth        sufficient    pam_unix.so nullok try_first_pass
auth        sufficient    pam_fprintd.so
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        include       system-login

account     required	  pam_unix.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account	    include	  system-login

password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    include	  system-login

session     optional	  pam_keyinit.so revoke
session     required	  pam_limits.so
session     required	  pam_unix.so
session	    include	  system-login


Теперь при входе если пользователь неправильно ввёл пароль, ему будет предложено проверить отпечаток пальца. Что делают остальные добавленные строчки я честно не знаю, ибо конфиг я скопировал и чуть-чуть поправил под себя.

Вот ссылка на ресурс, где я брал инфу. Были и другие сайты, на которых советовали использовать fingerprint-gui, но у меня оно тупо не заработало. Всем добра!
Учебники (How-To & F.A.Q)

Установка и настройка nvidia-xrun

Решил написать свой первый гайд, сильно не пинайте.
Гайд написан для свежеустановленной manjaro с рабочим окружением KDE.
При установке manjaro выбираем проприетарные драйвера. Если система уже стоит, то устанавливаем проприетарные драйвера
sudo mhwd -i pci video-hybrid-intel-nvidia-bumblebee -f
или через mhwd. Читать дальше
Учебники (How-To & F.A.Q)

Как установить bootsplash

В версии 18.0 появилась возможность установить загрузочный анимированный экран, который появится после grub и заменит собой текстовку systemd.

Как обычно — всё на свой страх и риск, но у меня заработало с первого раза.

Итак, в пакетном менеджере надо установить пакеты bootsplash-systemd и саму тему, для примера bootsplash-theme-manjaro (далее %THEME% замените на manjaro, или другое название темы).

В файл /etc/mkinitcpio.conf в раздел HOOKS добавить bootsplash-%THEME%

В /etc/default/grub убрать QUIET и добавить bootsplash.bootfile=bootsplash-themes/%THEME%/bootsplash

sudo mkinitcpio -P
sudo update-grub
reboot

Инфа отсюда
Учебники (How-To & F.A.Q)

Установка Discord на Manjaro Linux.

  1. Необходимо установить сначала зависимость:
    sudo pacman -S --noconfirm yay

  2. Устанавливаем Discord:
    yay -S --sudoloop --noconfirm --mflags --nocheck libc++abi libc++ discord betterdiscord-rauenzi-git

  3. Далее запускаем Discord и проверяем:
  4. Команда:
    betterdiscordctl install --global-asar -b /usr/lib/betterdiscord-rauenzi-git

  5. Эта команда обновляет:
    Libc++ и Libc++abi: yay -S --noconfirm --needed --sudoloop --mflags --nocheck libc++abi libc++

Команды 3/4 для обновления и правки.
Учебники (How-To & F.A.Q)

Запуск telegram свёрнутым в трей.

Команда --startintray
Пример для telegram
telegram-desktop --startintray
Проверил в LXDE и добавил в автозапуск. По аналогии должно получится с любым приложением взаимодействующим с треем. Да и не только в LXDE,XFCE проверить сейчас негде.
Учебники (How-To & F.A.Q)

Обход ограничений провайдера на закачку торрентов ( МТС тариф Для ноутбука, и подобных других операторов)

кто использует 3g или 4g модем для интернета, сталкиваются с тем что операторы режут скорость на торентах.
например у меня тариф
Учебники (How-To & F.A.Q): Обход ограничений провайдера на закачку торрентов  ( МТС тариф Для ноутбука, ни подобных других операторов)

так вот, о чём это я… а, захотел как то скачать фильм через торент и обломался, безбожно низкая скорость
можно конечно использовать vpn ( блага есть халявные ещё), но можно и следующим образом:

показываю на примере программы Ktorrent

1.
нужно установить tor
sudo pacman -S tor


2.
sudo nano /etc/tor/torrc 
и в конце вставляем
SOCKSPort 9050 CacheDNS UseDNSCache
SOCKSPolicy accept private:*,reject *:*

HeartbeatPeriod 1 hours

ExcludeExitNodes {ru},{ua},{by},{kz},{??}
StrictNodes 1

TrackHostExits rutracker.org,rutracker.news,rutracker.wiki,bt.rutracker.cc,bt2.rutracker.cc,bt3.rutracker.cc,bt4.rutracker.cc,bt.t-ru.org,bt2.t-ru.org,bt3.t-ru.org,bt4.t-ru.org


Сохраняем и перезапускаем Tor:
sudo systemctl restart tor


3.

запускает Ktorrent и идём в настройки, приводим к такому виду

Учебники (How-To & F.A.Q): Обход ограничений провайдера на закачку торрентов  ( МТС тариф Для ноутбука, ни подобных других операторов)

Учебники (How-To & F.A.Q): Обход ограничений провайдера на закачку торрентов  ( МТС тариф Для ноутбука, ни подобных других операторов)

Учебники (How-To & F.A.Q): Обход ограничений провайдера на закачку торрентов  ( МТС тариф Для ноутбука, ни подобных других операторов)

вот и всё… В итоге скорость загрузке возрастает до нормальной :)
Учебники (How-To & F.A.Q)

Запуск Linux из каталога и(или) в RO (только чтение) режиме

Из каталога — т.е. на одном разделе винта несколько Linux. Каждый в своем каталоге
В RO режиме — т.е. в установленной системе ничего не изменяется. Изменения в верхнем слое AUFS (который может быть RAM, каталогом или файлом) — т.е. экспериментируем смело

Решение: rootaufs2
Пакет с hook-ами
Установка: sudo pacman -U mkinitcpio-rootaufs2-2017.12-23-any.pkg.tar.xz
Пересборка initrd стандартная: mkinitcpio

Можно так же сжать свой установленный дистрибутив: mksquashfs и использовать с флэшки (свое вскгда с собой) или ставить знакомым на ntfs раздел с windows (популяризация Linux) второй системой