Akmods - это то, что в основном гарантирует, что у вас есть определенные (часто сторонние) модули / драйверы, доступные для текущего ядра:
RPM Fusion / Livna распространяет kernel-modules как пакеты kmod, которые содержат модули, предварительно скомпилированные для последних ядер, выпущенных Fedora. Это нормально работает для большинства людей, но не работает в системах с использованием другое ядро - например, самокомпилированное ядро, более старое ядро Fedora или быстро меняющиеся ядра из updates-testing / rawhide. kmods-srpms можно легко перестроить для этих ядер с помощью rpmbuild со специфическим для kmod параметром, который определяет, для какого ядра строить kmod.Но для этого требуются некоторые знания о том, как создавать обороты в минуту; это то, что сценарий akmods пытается упростить для конечного пользователя, поскольку он выполняет все шаги, необходимые для создания kmod.rpm для работающего ядра из kmod -об / мин.
Но пользователю все равно нужно что-то делать вручную, когда ему нужен kmod для только что установленного ядра. Это то, что демон akmodsd пытается исправить: это сценарий, обычно запускаемый из init при загрузке, который проверяет наличие всех kmods. Если kmod не найден, то akmods пытается перестроить kmod.srpms, найденное в определенном месте файловой системы ; если это сработает, он автоматически установит перестроенный kmod в работающее ядро .
Это похоже на dkms, но имеет одно важное преимущество: нужно только поддерживать один файл спецификации kmod, который можно использовать как в системе сборки репозиториев , так и в клиентских системах, если нужный.
Источник: RPMfusion: Packaging / KernelModules / Akmods
Таким образом, это занимает много времени либо потому, что может потребоваться построить новый модуль, либо просто проверять, доступны ли нужные модули, что также может занять некоторое время.
Метод 1: Его можно отключить с помощью:
sudo systemctl disable akmods
Однако, когда вы обновите ядро, у него, скорее всего, не будут доступны нужные драйверы, если вы не запустите akmods вручную:
sudo akmods
Обратите внимание, что соответствующий пакет kernel-devel
должен быть установлен и обновлен, и это, вероятно, не будет работать с ядрами + debug.
Я сделал это, и, похоже, до сих пор это работает (загружается менее чем за минуту с уменьшенным размером журнала (в старой системе с жестким диском)) .Вы также можете отключить различные другие службы (см. N ote B elow), но все зависит от того, хотите ли вы более компактную, немного более быструю систему или такую, которая работает с большинством вещей. (например, я не использовал LVM в старых системах). Эти службы существуют по общим причинам ...
Метод 2:
Или вы удалите его с помощью sudo dnf erase akmods
, но это, скорее всего, удалит модули, которые зависят от него (часто сторонние от RPMfusion или аналогичных). Вы можете увидеть, для каких пакетов нужен akmod, с помощью sudo rpm -q --whatrequires akmods
:
~$ sudo rpm -q --whatrequires akmods
akmod-wl-6.30.223.248-9.fc22.x86_64
akmod-VirtualBox-4.3.32-1.fc22.x86_64
Так что в моем случае akmods предназначены для VirtualBox и драйверов беспроводной сети, которые мне вроде как нужны.
Примечание. другой метод проверки служб загрузки и т. д. - запустить:
systemd-analyze plot > systemd-analyze.svg
Это создает образ, который вы можете использовать, чтобы определить, какие службы занимают больше всего времени. Также рассматривается здесь .
Либо используйте модуль для ssmtp для настройки демона -меньше mta (требует, чтобы ваш mua поддерживал sendmail )и nullmailer, который также прослушивает локальный порт 25.
Хотя он вообще не интегрируется с конфигурацией NixOS хорошо , вы можете установить msmtp
в свой пользовательский или системный профиль и настроить его через ~/.msmtprc
, как в традиционном дистрибутиве Linux.