Если ваша система использует BusyBox init, и у него нет / etc / inittab
, затем он запускает /etc/init.d/rcS
во время загрузки. Если это сценарий оболочки, просто добавьте туда нужные вам определения среды. Если это не сценарий оболочки, вы можете изменить свою сборку, переименовав /etc/init.d/rcS.bin
, и создать сценарий оболочки /etc/init.d/rcS
, который заканчивается на exec /etc/init.d/rcS.bin
. Конечно, если вы изменили путь / etc / init.d / rcS
в конфигурации сборки, адаптируйтесь для этого. Переменные среды, определенные там, будут применяться ко всем демонам, но не к оболочкам, запущенным на консолях.
Если у вас есть / etc / inittab
, проверьте, что он содержит. Документация находится в файле примера . Вы можете заменить записи, которые запускают somecommand
, на / usr / bin / env TZ = GMT-1 somecommand
.
Это быстрый и грязный способ, но в большинстве случаев вы хотите разрешить конечному пользователю настраивать часовой пояс, поэтому его следует сохранить в отдельном файле. В этом случае пройдите через оболочку оболочки (или сценарий rcS
) и используйте некоторый код вроде
export TZ="$(cat /etc/TZ.txt)"
. Обратите внимание, что в зависимости от вашей библиотеки libc может быть или не быть лучшего способа установки часового пояса, например запись правил часовых поясов в / etc / TZ
для uClibc.