Как изменить настройки часового пояса из командной строки
У меня есть виртуальная машина, настроенная на PST, которую пара коллег имеет в разных часовых поясах.
Если я хочу изменить часовой пояс на EST и GMT, что мне нужно сделать?
10 ответов
Использование timedatectl
sudo timedatectl set-timezone <timeszone>
Примеры:
Часовой пояс как EST
sudo timedatectl set-timezone EST
Часовой пояс как UTC
sudo timedatectl set-timezone UTC
Список всех действительных часовых поясов
timedatectl list-timezones
Эта команда идеально подходит для сценариев автоматизации, поскольку она не требует какого-либо взаимодействия с пользователем по сравнению с другими ответами, основанными на dpkg-reconfigure tzdata
,
В качестве пользователя root вы должны выполнить:
dpkg-reconfigure tzdata
Должен быть запущен инструмент на основе меню, позволяющий изменить часовой пояс.
Следующие также работают. Для GMT:
ln -sf /usr/share/zoneinfo/GMT /etc/localtime
Лес:
ln -sf /usr/share/zoneinfo/EST /etc/localtime
Самый простой способ, особенно для сервера, - перечислить часовые пояса:
timedatectl list-timezones
И выберите свой, например:
timedatectl set-timezone Europe/Athens
Это оно!,:-)
Изменить timezone
файл в /etc
папка как:
Etc/GMT
Вы можете использовать следующий формат:
Region "/" City
Пример /etc/timezone
:
Europe/Athens
или же
Europe/Paris
Europe/London
Вы можете поэкспериментировать с: dpkg-reconfigure tzdata
и проверьте cat файл часового пояса.
Вы должны перезагрузить или снова запустить службу (не службу ntp). Я не знаю, какой. Если кто-то знает, пожалуйста, поделитесь с нами. (Протестировано на Ubuntu 15.10, изменение учитывается мгновенно)
cp -p /usr/share/zoneinfo/US/Pacific /etc/localtime
Я рекомендую ПРОТИВ ссылки, как упомянуто другими. Если какой-то скрипт случайно перепишет ваш /etc/localtime
файл, затем он перезаписывает ваш файл с часовым поясом в Тихом океане... и заменить его немного затруднительно.
Просто скопируйте файл Pacific по файлу localtime с помощью команды выше.
Чтобы запустить одну программу с другой настройкой часового пояса, установите TZ
переменная окружения, например, run TZ=Pacific/Kiritimati date
чтобы увидеть, сколько времени на острове Рождества, или export TZ=Pacific/Kiritimati
чтобы настройки были последними для сеанса оболочки.
Я использую следующий скрипт, чтобы спросить пользователя, какой часовой пояс установить, а затем подтвердить, что он действительно установлен:
#!/bin/sh
sudo timedatectl set-timezone $(tzselect)
echo
echo timedatectl says:
timedatectl
Я называю это tz-set
,
Это сработало для меня на GCP Ubuntu 14 через SSH
sudo su
cp /usr/share/zoneinfo/Asia/Singapore /etc/localtime
- Перезагрузите сервер
- Готово
В качестве пользователя root вы должны выполнить:
ln -fs /usr/share/zoneinfo/Europe/Warsaw /etc/localtime && dpkg-reconfigure --frontend noninteractive tzdata