Initial import, synchronized with English 1.32
This commit is contained in:
parent
aa38ae701d
commit
156c984046
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=5922
1 changed files with 324 additions and 0 deletions
324
ru/y2kbug.sgml
Normal file
324
ru/y2kbug.sgml
Normal file
|
@ -0,0 +1,324 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" [
|
||||
<!ENTITY date "$FreeBSD$">
|
||||
<!ENTITY title 'Готовность к 2000 году ("Ошибка тысячелетия")'>
|
||||
<!ENTITY % includes SYSTEM "includes.sgml"> %includes;
|
||||
]>
|
||||
<!-- $FreeBSD$ -->
|
||||
|
||||
<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>
|
||||
|
||||
<p>Есть некоторые тесты, которые вы можете произвести, чтобы
|
||||
посмотреть, реакцию вашей системы. Установите ваши часы на несколько
|
||||
минут до полуночи Нового Года и посмотрите системное время. Ваша система
|
||||
должна выдать год как 2000, а не 1900. Если год выводится неправильно,
|
||||
то у вас есть время для обновления аппаратного обеспечения. Работа
|
||||
информационных систем вашей организации в нормальном рабочем ритме, но
|
||||
с часами, установленными вперед, даст достаточную оценку вашей
|
||||
готовности к 2000 году.</p>
|
||||
|
||||
<blockquote>
|
||||
<strong>Внимание:</strong> <strong>Не делайте</strong> этого на живой
|
||||
работающей системе. Это может отразиться на функционировании некоторых
|
||||
приложений, которые работают с датами (биллинговые системы, режимы
|
||||
регулярной архивации данных и т.д.). Тесты, подобные этим, всегда
|
||||
проводите на отладочных системах, что не будет отражаться ни на каких
|
||||
имеющихся реальных данных.
|
||||
</blockquote>
|
||||
|
||||
<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://www.freebsd.org/cgi/cvsweb.cgi/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://www.freebsd.org/cgi/cvsweb.cgi/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://www.freebsd.org/cgi/cvsweb.cgi/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]
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h2>Проблемные приложения</h2>
|
||||
|
||||
<dl>
|
||||
<dt><a
|
||||
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=7681">ports/7681</a></dt>
|
||||
|
||||
<dd>TkDesk 1.0 использует предопределенное число 19 в окне вывода
|
||||
списка файлов. Файл с датой > 2000, выводится с датой, выглядящей
|
||||
как "191xx", где xx - последние две цифры настоящей даты. Эта ошибка
|
||||
была исправлена в версии 1.1.[Порт обновлен 1998/10/10; исправления
|
||||
касаются FreeBSD-3.0 и выше]
|
||||
</dd>
|
||||
|
||||
<dt><a
|
||||
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=9295">ports/9295</a></dt>
|
||||
|
||||
<dd>INN 1.7.2 подвержен влиянию ошибок, связанных с проблемой Г2000.
|
||||
Одна проявляется при скачивании телеконференций (опция -f в nntpget),
|
||||
а другая связана с заголовком Expire с относительными датами после
|
||||
2000 года.
|
||||
[Оба порта INN обновлены до INN 2.2 1999/05/02; исправления касаются
|
||||
FreeBSD-3.2 и выше]
|
||||
</dd>
|
||||
|
||||
<dt><a
|
||||
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=9298">ports/9298</a></dt>
|
||||
|
||||
<dd>Knews имеет две ошибки, связанных с проблемой Г2000. Одна
|
||||
проявляется при генерации команды NNTP NEWGROUPS. Другая связана с
|
||||
тем, что knews не знает, что 2000 год является високосным. Обе
|
||||
ошибки исправлены в knews-1.0b.1. [Порт исправлен 1999/01/07;
|
||||
исправления касаются FreeBSD-3.1 и выше]
|
||||
</dd>
|
||||
|
||||
<dt><a
|
||||
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=9300">ports/9300</a></dt>
|
||||
|
||||
<dd>Nntp-t5 подвержен влиянию проблемы Г2000 во время генерации
|
||||
команды NEWNEWS. [Порт обновлен 1999/01/05; исправления касаются
|
||||
FreeBSD-3.1 и выше]
|
||||
</dd>
|
||||
|
||||
<dt><a
|
||||
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=11144">ports/11144</a></dt>
|
||||
|
||||
<dd>Порт tiff имеет вкомпилированную строку 19xx. Хотя это находится в
|
||||
разделе заимствований (для преобразования растрового формата Sun
|
||||
в TIFF) и не устанавливается по умолчанию, это приложение должно быть
|
||||
исправлено. [Порт обновлен 1999/04/18; а затем 1999/05/11; исправления
|
||||
касаются FreeBSD-3.2 и выше]
|
||||
</dd>
|
||||
|
||||
<dt><a
|
||||
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=11145">ports/11145</a></dt>
|
||||
|
||||
<dd>Порт dgs страдает от той же проблемы, связанной с TIFF, что и
|
||||
порт tiff [заимствованная процедура преобразования растровых файлов
|
||||
Sun в TIFF]. [Порт обновлен 1999/04/18; исправления касаются
|
||||
FreeBSD-3.2 и выше]
|
||||
</dd>
|
||||
|
||||
<dt><a
|
||||
href="http://www.freebsd.org/cgi/query-pr.cgi?pr=13694">ports/13694</a></dt>
|
||||
|
||||
<dd>В работе порта slurp имеется проблема генерации корректно
|
||||
сформированного имени файла хоста, когда tm_year превышает 100.</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:
|
||||
-->
|
Loading…
Reference in a new issue