doc/ru/y2kbug.sgml
Vitaly Bogdanov 11f533316f MFen:
y2kbug.sgml:	Just correct original revision number
	support.sgml:	1.353 -> 1.354
	tutorials/index.sgml:	1.23 -> 1.24
	support/webresources.sgml:	1.1 -> 1.2

Obtained from: The FreeBSD Russian Documentation Project
2006-06-10 03:38:18 +00:00

289 lines
11 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
The FreeBSD Russian Documentation Project
$FreeBSDru: frdp/www/ru/y2kbug.sgml,v 1.10 2006/06/08 08:14:55 gad Exp $
Original revision: 1.46
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
<!ENTITY date "$FreeBSD$">
<!ENTITY title 'Готовность к 2000 году ("Ошибка тысячелетия")'>
<!ENTITY % navincludes SYSTEM "includes.navabout.sgml"> %navincludes;
<!ENTITY % includes SYSTEM "includes.sgml"> %includes;
]>
<html>
&header;
<p>Так как осознание проблемы 2000 года (известной также под
названием "ошибки тысячелетия") усиливается, все большее количество
компаний требуют официальных заявлений от поставщиков их аппаратного
и программного обеспечения о том, насколько корректно их оборудование
воспримет переход в 2000 год.</p>
<p>Организации, использующие &unix; и Unix-подобные операционные системы
типа FreeBSD, уже сделали один шаг вперёд в решении этой проблемы.
FreeBSD многие годы будет корректно обрабатывать время после наступления
2000 года.></p>
<h2>Вводная информация</h2>
<p><i>(Этот раздел основан на информации, найденной на странице <a
href="http://www.linux.org.uk/mbug.html">Готовности
Linux к Г2000</a>)</i></p>
<p>Как это имеет место со всеми Unix и Unix-подобными операционными
системами, время и даты во FreeBSD имеют внутреннее представление в виде
числа секунд, прошедших с 1 января 1970 года ("век" Unix). В настоящее
время это число хранится в виде 32-разрядного целого и исчерпает себя
только к 2038 году. К тому времени мы уже (надеемся) будем использовать
счетчик на 64 (или больше) разрядов, которого должно хватить до
скончания мира.</p>
<p>Заметьте, что готовность ОС к Г2000 не означает, что приложения,
не готовые к Г2000, будут работать корректно.</p>
<p>Заметьте также, что при работе ОС предполагается чтение текущей даты
и времени из часов CMOS на вашем компьютере. Не все такие устройства
корректно обрабатывают 2000 год. Советуем вам индивидуально
протестировать каждую машину, чтобы убедиться, что ваши аппаратные часы
ведут себя правильно при переходе от 1999 года к 2000. и что они
правильно интерпретируют год 2000 как високосный.</p>
<h2>Что вы можете сделать</h2>
<p>FreeBSD будет продолжать правильно вести отсчет времени в следующем
веке. Приложения третьих фирм, однако, могут этого и не сделать.
Лучшей вашей защитой от проблем, связанных с 2000 годом, является хорошо
продуманная атака. Выслушивание историй о предстоящем крахе мира, как
мы его себе представляем, <strong>не решит</strong> проблему
тысячелетия, как впрочем, и простое ожидание последнего часа. Проект
FreeBSD рекомендует, чтобы ваша организация выработала некоторые
принципиальные подходы к решению задач, касающихся проблемы Г2000.</p>
<h2>Заявление FreeBSD по поводу Г2000</h2>
<blockquote>
<p>"После тщательного исследования и тестирования, мы полагаем, что
FreeBSD является системой, готовой к Г2000 на 100%. В случае, если
что-то было пропущено, мы приложим все усилия, чтобы исправить всё как
можно скорее."</p>
<p align="right">David Greenman<br>Principal Architect, The
FreeBSD project</p>
</blockquote>
<h2>Исправленные проблемы</h2>
<p>Во FreeBSD были найдены и исправлены следующие проблемы Г2000.</p>
<dl>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=1380">misc/1380</a></dt>
<dd>Некоторые программы имеют предопределенный формат 19%d
для выдачи года. К таким программам относятся: yacc, ftpd, и make.
[Исправлено: yacc v1.2 1999/01/18; ftpd v1.7 1996/08/05;
make v1.4 1996/10/06; исправления касаются FreeBSD-2.2 и выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=1382">conf/1382</a></dt>
<dd>sed-скрипт в /etc/rc.local, вставляющий строку идентификации
машины/ядра в сообщении дня, зависит от номера года и не работает
после 1999.[Исправлено v1.21 1996/10/24; исправления касаются
FreeBSD-2.2 и выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=3465">misc/3465</a></dt>
<dd>Команда etc/namedb/make-localhost генерирует серийный номер DNS
в формате YYMMDD. В 2000 году, он будет иметь вид 1YYMMDD.
[Исправлено v1.2 1997/08/11; исправления касаются FreeBSD-2.2.5 и выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=4930">gnu/4930</a> и
<a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=8321">gnu/8321</a></dt>
<dd>Макрос tmac для groff использует предопределенное число 19 для
генерации некоторых дат.
[Исправлено: tmac.e v1.3 1998/12/06; doc-common v1.10 1999/01/19;
исправления касаются FreeBSD-3.1 и выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9323">bin/9323</a></dt>
<dd>В своей устаревшей форме touch неправильно обрабатывает две
цифры указываемого года. Даты в диапазоне 00-68 воспринимаются как
1900-1968, а не 2000-2068. [Исправлено v1.7 1999/01/05; исправления
касаются FreeBSD-3.1 и выше]
</dd>
<dt><a
href="http://cvsweb.FreeBSD.org/src/usr.sbin/xntpd/parse/util/dcfd.c">xntpd/parse/util/dcfd.c</a></dt>
<dd>Вычисление високосного года для выяснения числа дней в году и
преобразование времени DCF77 в число секунд, прошедших с начала Века
выполнялись некорректно. Эти ошибки влияют на все года.
[Исправлено v1.6 1999/01/12; исправления касаются FreeBSD-3.1 и выше]
</dd>
<dt><a
href="http://cvsweb.FreeBSD.org/src/gnu/usr.bin/tar/getdate.y">tar/getdate.y</a></dt>
<dd>В функции Convert() было задано использование номера года, состоящего
из двух цифр, для лет в диапазоне 70-99. Сейчас это исправлено, чтобы
можно было использовать две цифры года для лет из диапазона 1970-2069.
Функция не работает для круглых дат невисокосных лет - ошибка y2k1!
[Исправлено v1.4 1999/01/12; исправления касаются FreeBSD-3.1 и выше]
</dd>
<dt><a
href="http://cvsweb.FreeBSD.org/src/usr.bin/fetch/http.c">fetch/http.c</a></dt>
<dd>Протокол HTTP описывает устаревший формат представления даты, в
котором используются две цифры года. Предыдущие версии утилиты fetch
будут интерпретировать все такие даты как относящиеся к 20 веку;
что описано в последующем документе <a
href="ftp://ftp.cdrom.com/pub/internet/rfc/rfc2068.txt">RFC
2068</a>, что позволяет интерпретировать год из двух цифр как
относящийся к текущем столетию, если до его конца осталось больше
50 лет. Так как серверов HTTP, которые используют старый формат,
осталось не так уж много, вряд ли это вызовет значительные
сложности. [Исправлено v1.24 1999/01/15; исправления касаются
FreeBSD-3.1 и выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9500">misc/9500</a></dt>
<dd>Скрипт `edithook' в каталоге CVSROOT использует значение tm_year
непосредственно и поэтому будет выводить 01/01/100 для 2000-JAN-01.
[Исправлено в v1.2 1999/01/17; не имеет отношения ни к какому релизу]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9501">bin/9501</a></dt>
<dd>Некоторые из заимствованных файлов поставки cvs не совместимы с
Г2000. Скрипты log.pl и sccs2rcs.csh добавляют `19' к номеру года,
что приводит к выводу 19100 для 2000 года. Скрипт log_accum.pl
в одном месте использует две цифры года, а в другом предполагает, что
tm_year - это число лет, прошедших с начала столетия, а не с 1900 года.
[Исправлено: log.pl v1.2 1999/01/15; sccs2rcs.csh v1.3 1999/01/15;
исправления касаются FreeBSD-3.1 и выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9502">bin/9502</a></dt>
<dd>Регистр `yr' утилиты groff, инициализируется из (struct tm).tm_year
и поэтому представляет собой число лет, прошедших с 1900 года, а не
с начала текущего века (смотрите определение в файле
troff/input.cc).
[Исправлено, сейчас устанавливается значение по модулю 100,
troff/input.cc V1.2 1999/06/03; исправлено во FreeBSD-3.3]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9503">bin/9503</a></dt>
<dd>В PicoBSD simple_httpd использует непосредственное значение tm_year
и поэтому будет выводить 01/01/100 для 2000-JAN-01.
[Исправлено в v1.2 1999/01/16; исправления касаются FreeBSD-3.1 и выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9505">bin/9505</a></dt>
<dd>Утилита adduser использует непосредственное значение tm_year и
поэтому будет выводить 100/01/01 для даты 2000-JAN-01.
[Исправлено в v1.42 1999/01/15; исправления касаются FreeBSD-3.1 и выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9506">bin/9506</a></dt>
<dd>Cron использует значение tm_year непосредственно и поэтому будет
выводить значение 100 для 2000 года.
[Fixed v1.7 1999/01/16]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9507">bin/9507</a></dt>
<dd>Утилита tcpslice(8) использует значение tm_year непосредственно и
поэтому будет выводить 100y01m01d... для 2000-JAN-01. Для
достижения совместимости используйте две цифры года до 2000 года.
[Исправлено в v1.8 1999/01/20; исправления касаются FreeBSD-3.1 и
выше]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=14472">bin/14472</a></dt>
<dd>Команда date не воспринимает цифры, указывающие тысячи/сотни.
[Исправлено в v1.31 1999/11/10]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=14511">misc/14511</a>
</dt>
<dd>В команде сhpass имеется проблема при использовании 00 для указания
года истечения срока.
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=15852">bin/15852</a>,
<a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=16045">gnu/16045</a> и
<a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=16207">bin/16207</a>
</dt>
<dd>В программе groff имеется проблема с предопределённой строкой
\*(DT [\*(td]. [Исправлено с включением версии 1.15 2000/01/12]
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=15872">bin/15872</a>
</dt>
<dd>В программе at(1) имеется проблема с проверкой указания времени,
когда при задании tm_year равным 100 выдаётся диагностика `garbled
time'.
</dd>
<dt><a
href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=16238">misc/16238</a>
</dt>
<dd>Установка KerberosIV работает некорректно, так как в исходных текстах
Kerberos жёстко задано время 12/31/99 истечения срока работы генератора
ключей. [Исправлено в v1.24 1999/09/19]
</dd>
</dl>
<h2>Дополнительная информация</h2>
<p>Если у вас есть вопросы по поводу готовности FreeBSD к 2000 году или
вы обнаружили приложение FreeBSD, которое не готово к 2000 году,
пожалуйста, напишите нам по адресу <a
href="mailto:freebsd-bugs@FreeBSD.org">freebsd-bugs@FreeBSD.org</a>.</p>
&footer;
</body>
</html>
<!--
Local Variables:
mode: sgml
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
End:
-->