Как я могу настроить локальный MTA на NixOS?

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

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

0
16.06.2018, 13:19
2 ответа

Либо используйте модуль для ssmtp для настройки демона -меньше mta (требует, чтобы ваш mua поддерживал sendmail )и nullmailer, который также прослушивает локальный порт 25.

0
28.01.2020, 04:20

Хотя он вообще не интегрируется с конфигурацией NixOS хорошо , вы можете установить msmtpв свой пользовательский или системный профиль и настроить его через ~/.msmtprc, как в традиционном дистрибутиве Linux.

0
28.01.2020, 04:20

Теги

Похожие вопросы