From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 24 Nov 2002 17:11:33 +0300 From: Sergey Vlasov To: community@altlinux.ru Subject: Re: [Comm] [JT] =?KOI8-R?B?08nOyNLPzsnawcPJ0SDX0sXNxc7J?= Message-Id: <20021124171133.13fa706e.vsu@altlinux.ru> In-Reply-To: <200211241921.39691.lomov@math.nsc.ru> References: <200211232253.00964.lomov@math.nsc.ru> <25159272015.20021124053844@fastmail.fm> <200211241921.39691.lomov@math.nsc.ru> X-Mailer: Sylpheed version 0.8.6 (GTK+ 1.2.10; i586-alt-linux) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: On Sun, 24 Nov 2002 19:21:39 +0600 "Andrei A. Lomov" wrote: > Значит, оно (ntpd) само разберётся, какой у меня пояс и подкрутит пружинки... в BIOS'е? > Что бывает, скажем, когда я кручу настройки у каких-нибудь X-часов, > часы запоминают сдвиг относительно BIOS'а? В файле /etc/sysconfig/clock содержится, среди прочего, настройка, определяющая, как хранится время в микросхеме RTC. Если написано UTC=true - время хранится в GMT (и тогда не надо переводить часы при переходе на летнее/зимнее время, но Window так работать не умеет). Если UTC=false - в RTC хранится локальное время. Там же рядом лежит и настройка часового пояса, но на самом деле пояс берется не оттуда, а из /etc/localtime (это должна быть копия соответствующего файла из /usr/share/zoneinfo). При загрузке системы выполняется /etc/rc.d/init.d/clock start; при этом читается время из RTС и устанавливаются часы ядра; здесь учитывается установка переменной UTC в файле /etc/sysconfig/clock. При выключении выполняется /etc/rc.d/init.c/clock stop; при этом время из часов ядра переписывается в RTC (кстати, это не всегда правильно - пойду вешать багу). Кроме того, если ntpd постоянно работает и часы синхронизированы с внешним источником, ядро приблизительно каждые 11 минут корректирует время в RTC по часам ядра. При этом временная зона не используется - меняются только поля секунд и, возможно, минут; предполагается, что смещение временной зоны относительно UTC кратно 30 минутам. Т.е. этот режим справляется с погрешностями до нескольких минут - грубые несоответствия надо устранять вручную (на самом деле при подобных ошибках даже ntpd не запустится). Команда date --set устанавливает только часы ядра и не влияет на состояние RTC (но с текущей версией initscripts при перезагрузке время все равно перепишется в RTC). Команда hwclock работает с RTC, а также может устанавливать часы ядра по RTC (--hctosys) или наоборот, RTC по часам ядра (--systohc); подробнее см. man hwclock. Еще нужно обратить внимание на файл /etc/adjtime (описан в том же man hwclock). В этот файл записываются коэффициенты коррекции для RTC, причем он обновляется при каждой установке времени в RTC через hwclock. Иногда бывает, что в нем оказываются какие-то странные значения (после кручения времени туда-сюда) - в результате часы либо дико спешат, либо столь же дико отстают. В таком случае проще всего удалить этот файл (он автоматически создастся заново с нулевыми значениями).