Поскольку cron не поддерживает простой, прямой перевод этого требования, я бы подошел к этому с файлом временных меток и ежедневным заданием cron:
0 0 * * * /path/to/wrapper/script/below.sh
скрипт-оболочка:
#!/bin/bash
timestampfile=/var/run/this-job/timetampfile
# exit now if it hasn't been 45 days
((
$(date +%s) - $(stat -c %Z "$timestampfile")
<
(45 * 24 * 60 * 60)
)) && exit 0
touch "$timestampfile"
: run real script here
Это сопряжено с рядом рисков:
По поводу беспокойства, что прошивка каким-то образом будет раздувать/замедлять ядро, оно загружается один раз с диска и сохраняется в устройстве. После этого больше нет (прямого )участия ядра. Сегодня многие устройства достаточно сложны, чтобы иметь собственный ЦП и программное обеспечение, которое загружается и загружается при запуске (, а сохранение его в ПЗУ делает невозможным исправление ошибок/расширение функциональности без изменения физического устройства ).
Обычно при установке дистрибутива Linux прошивка устанавливается в /lib/firmware
. Когда для устройства требуется прошивка, ядро Linux ищет в этом каталоге нужный файл прошивки и загружает его в устройство.
В зависимости от дистрибутива, какие файлы прошивки устанавливаются (по умолчанию ), но часто они разделены в разных пакетах для разных поставщиков оборудования. Например, в Debian есть различные пакеты, содержащие файлы прошивки, большинство из которых (, например. firmware-iwlwifi
, firmware-realtek
,firmware-amd-graphics
)взяты из прошивок linux -прошивки репозитория (, которые можно установить за один раз, установив метапакеты linux-firmware-free
и linux-firmware-nonfree
).
Часто установщики Linux спрашивают, хотите ли вы установить не -бесплатные прошивки, или они могут даже автоматически определить, какую установить, исходя из вашего оборудования.
Например, если вы используете не -бесплатный установщик Debian, если драйвер устройства запрашивает недоступную прошивку,Программа установки debian -отобразит диалоговое окно с предложением загрузить отсутствующую прошивку. Если выбран этот параметр, установщик debian -просканирует доступные устройства либо на наличие незакрепленных файлов встроенного ПО, либо на наличие пакетов, содержащих встроенное ПО. В случае обнаружения прошивка будет скопирована в правильное место (/lib/firmware )и модуль драйвера будет перезагружен.
Некоторые другие дистрибутивы Linux (, такие как Ubuntu ), также содержат несвободные двоичные объекты в драйверах, упакованных вместе с ядром.