Это - проблема в том, как Java определяет часовой пояс под системами Unix.
Спецификация POSIX не указывает, как определить часовой пояс когда TZ
переменная среды не установлена. Я ничего не могу найти в Основе Стандарта Linux об этом. Основная системная библиотека (GNU libc) использование /etc/localtime
определить часовой пояс. Таким образом на невстроенном Linux, /etc/localtime
то, где информация часового пояса хранится, и идеально история закончилась бы здесь.
(Оглядывание: FreeBSD, NetBSD и использование OpenBSD /etc/localtime
. Солярис и немногие другие используют /etc/TIMEZONE
. Розеттский камень для Unix показывает то, что используют другие нельды. Dietlibc (используемый в некоторых встроил системы Linux), использование /etc/localtime
, в то время как uClibc использует /etc/TZ
(если не исправлено).)
К сожалению, Java делает вещи по-другому. Debian и Ubuntu назвали файл /etc/timezone
который содержит название часового пояса. Этот дополнительный файл предназначается для упаковочной системы, так, чтобы это помнило географическое имя как Europe/Amsterdam
вместо просто описания часового пояса (смещает со временем, и отображаемые имена CET
, CEST
и CEDT
). Это является и более дружественным по отношению к людям и устойчивым в случае, если географическая локаль обновляет свои правила часового пояса. Sun (теперь Oracle) Java предпочитает /etc/timezone
(или /etc/sysconfig/clock
на основанных на Red Hat дистрибутивах), посмотрите ошибку № 6456628 к /etc/localtime
, и OpenJDK и gcj следуют примеру.
См. также: Как я нахожу часовой пояс существующей системы?; Часовой пояс Java испорчен.
Решение просто: всегда обновление /etc/timezone
и /etc/localtime
вместе. На Debian или Ubuntu, официальный метод для изменения часового пояса dpkg-reconfigure tzdata
. Для изменения часового пояса только для одного приложения установите TZ
переменная среды (это портативно через все системы Unix).
Корректная используемая команда была:
ln -s orginalPathName linkPathName
Для просмотра содержания каталога используйте что-то как:
ls linkPathName/
Для некаталога используйте команду как это:
cat linkPathName
Следует иметь в виду, что существует два типа ссылок:
символьная (мягкая) ссылка. это - просто ссылка на файл или каталог в масштабе всей системы (больше)
Создать его использование
ln -s /path/to/original/file /path/to/link
жесткая ссылка. это - новая запись в файловой системе, что ссылающиеся домены в тот же файл (с dir это не работает) в одной файловой системе только (больше)
Создать его использование
ln /path/to/original/file /path/to/link
Различие и преимущества каждого типа можно найти в Википедии.