diff --git a/ru/y2kbug.sgml b/ru/y2kbug.sgml new file mode 100644 index 0000000000..e4fbf5d3eb --- /dev/null +++ b/ru/y2kbug.sgml @@ -0,0 +1,324 @@ + + + %includes; +]> + + + + &header; + +

Так как осоздание проблемы 2000 года (известной также под + названием "ошибки тысячелетия") усиливается, все большее количество + компаний требуют официальных заявлений от поставщиков их аппаратного + и программного обеспечения о том, насколько корректно их оборудование + воспримет переход в 2000 год.

+ +

Организации, использующие unix и unix-подобные операционные системы + типа FreeBSD, уже сделали один шаг вперед в решении этой проблемы. + FreeBSD многие годы будет корректно обрабатывать время после наступления + 2000 года.>

+ +

Вводная информация

+ +

(Этот раздел основан на информации, найденной на странице Готовности + Linux к Г2000)

+ +

Как это имеет место со всеми Unix и Unix-подобными операционными + системами, время и даты во FreeBSD имеют внутреннее представление в виде + числа секунд, прошедших с 1 января 1970 года ("век" Unix). В настоящее + время это число хранится в виде 32-разрядного целого и исчерпает себя + только к 2038 году. К тому времени мы уже (надеемся) будем использовать + счетчик на 64 (или больше) разрядов, которого должно хватить до + скончания мира.

+ +

Заметьте, что готовность ОС к Г2000 не означает, что приложения, + не готовые к Г2000, будут работать корректно.

+ +

Заметьте также, что при работе ОС предполагается чтение текущей даты + и времени из часов CMOS на вашем компьютере. Не все такие устройства + корректно обрабатывают 2000 год. Советуем вам индивидуально + протестировать каждую машину, чтобы убедиться, что ваши аппаратные часы + ведут себя правильно при переходе от 1999 года к 2000. и что они + правильно интерпретируют год 2000 как високосный.

+ +

Что вы можете сделать

+ +

FreeBSD будет продолжать правильно вести отсчет времени в следующем + веке. Приложения третьих фирм, однако, могут этого и не сделать. + Лучшей вашей защитой от проблем, связанных с 2000 годом, является хорошо + продумананя атака. Выслушивание историй о предстоящем крахе мира, как + мы его себе представляем, не решит проблему + тысячелетия, как впрочем, и простое ожидание последнего часа. Проект + FreeBSD рекомендует, чтобы ваша организация выработала некоторые + принципальные подходы к решению задач, касающихся проблемы Г2000.

+ +

Есть некоторые тесты, которые вы можете произвести, чтобы + посмотреть, реакцию вашей системы. Установите ваши часы на несколько + минут до полуночи Нового Года и посмотрите системное время. Ваша система + должна выдать год как 2000, а не 1900. Если год выводится неправильно, + то у вас есть время для обновления аппаратного обеспечения. Работа + информационных систем вашей организации в нормальном рабочем ритме, но + с часами, установленными вперед, даст достаточную оценку вашей + готовности к 2000 году.

+ +
+ Внимание: Не делайте этого на живой + работающей системе. Это может отразиться на функционировании некоторых + приложений, которые работают с датами (биллинговые системы, режимы + регулярной архивации данных и т.д.). Тесты, подобные этим, всегда + проводите на отладочных системах, что не будет отражаться ни на каких + имеющихся реальных данных. +
+ +

Заявление FreeBSD по поводу Г2000

+ +
+

"После тщательного исследования и тестирования, мы полагаем, что + FreeBSD является системой, готовой к Г2000 на 100%. В случае, если + что-то было пропущено, мы приложим все усилия, чтобы исправить всё как + можно скорее."

+ +

David Greenman
Principal Architect, The + FreeBSD project

+
+ +

Исправленные проблемы

+ +

Во FreeBSD были найдены и исправлены следующие проблемы Г2000.

+ +
+
misc/1380
+ +
Некоторые программы имеют предопределенный формат 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 и выше] +
+ +
conf/1382
+ +
sed-скрипт в /etc/rc.local, вставляющий строку идентификации + машины/ядра в сообщении дня, зависит от номера года и не работает + после 1999.[Исправлено v1.21 1996/10/24; исправления касаются + FreeBSD-2.2 и выше] +
+ +
misc/3465
+ +
Команда etc/namedb/make-localhost генерирует серийный номер DNS + в формате YYMMDD. В 2000 году, он будет иметь вид 1YYMMDD. + [Исправлено v1.2 1997/08/11; исправления касаются FreeBSD-2.2.5 и выше] +
+ +
gnu/4930 и + gnu/8321
+ +
Макрос tmac для groff использует предопределенное число 19 для + генерации некоторых дат. + [Исправлено: tmac.e v1.3 1998/12/06; doc-common v1.10 1999/01/19; + исправления касаются FreeBSD-3.1 и выше] +
+ +
bin/9323
+ +
В своей устаревшей форме touch неправильно обрабатывает две + цифры указываемого года. Даты в диапазоне 00-68 воспринимаются как + 1900-1968, а не 2000-2068. [Исправлено v1.7 1999/01/05; исправления + касаются FreeBSD-3.1 и выше] +
+ +
xntpd/parse/util/dcfd.c
+ +
Вычисление високосного года для выяснения числа дней в году и + преобразование времени DCF77 в число секунд, прошедших с начала Века + выполнялись некорректно. Эти ошибки влияют на все года. + [Исправлено v1.6 1999/01/12; исправления касаются FreeBSD-3.1 и выше] +
+ +
tar/getdate.y
+ +
В функции Convert() было задано использование номера года, состоящего + из двух цифр, для лет в диапазоне 70-99. Сейчас это исправлено, чтобы + можно было использовать две цифры года для лет из диапазона 1970-2069. + Функция не работает для круглых дат невисокосных лет - ошибка y2k1! + [Исправлено v1.4 1999/01/12; исправления касаются FreeBSD-3.1 и выше] +
+ +
fetch/http.c
+ +
Протокол HTTP описывает устаревший формат представления даты, в + котором используются две цифры года. Предыдущие версии утилиты fetch + будут интерпретировать все такие даты как относяциеся к 20 веку; + что описано в последующем документе RFC + 2068, что позволяет интерпретировать год из двух цифр как + относящийся к текущем столетию, если до его конца осталось больше + 50 лет. Так как серверов HTTP, которые используют старый формат, + осталось не так уж много, вряд ли это вызовет значительные + сложности. [Исправлено v1.24 1999/01/15; исправления касаются + FreeBSD-3.1 и выше] +
+ +
misc/9500
+ +
Скрипт `edithook' в каталоге CVSROOT использует значеине tm_year + непосредственно и поэтому будет выводить 01/01/100 для 2000-JAN-01. + [Исправлено в v1.2 1999/01/17; не имеет отношения ни к какому релизу] +
+ +
bin/9501
+ +
Некоторые из заимствованных файлов поставки 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 и выше] +
+ +
bin/9502
+ +
Регистр `yr' утилиты groff, инициализируется из (struct tm).tm_year + и поэтому представляет собой число лет, прошедших с 1900 года, а не + с начала текущего века (смотрите определение в файле + troff/input.cc). + [Исправлено, сейчас устанавливается значение по модулю 100, + troff/input.cc V1.2 1999/06/03; исправлено во FreeBSD-3.3] +
+ +
bin/9503
+ +
В PicoBSD simple_httpd использует непосредственное значение tm_year + и поэтому будет выводить 01/01/100 для 2000-JAN-01. + [Исправлено в v1.2 1999/01/16; исправления касаются FreeBSD-3.1 и выше] +
+ +
bin/9505
+ +
Утилита adduser использует непосредственное значение tm_year и + поэтому будет выводить 100/01/01 для даты 2000-JAN-01. + [Исправлено в v1.42 1999/01/15; исправления касаются FreeBSD-3.1 и выше] +
+ +
bin/9506
+ +
Cron использует значение tm_year непосредственно и поэтому будет + выводить значение 100 для 2000 года. + [Fixed v1.7 1999/01/16] +
+ +
bin/9507
+ +
Утилита tcpslice(8) использует значение tm_year непосредственно и + поэтому будет выводить 100y01m01d... для 2000-JAN-01. Для + достижения совместимости используйте две цифры года до 2000 года. + [Исправлено в v1.8 1999/01/20] +
+ +
+ +

Проблемные приложения

+ +
+
ports/7681
+ +
TkDesk 1.0 использует предопределенное число 19 в окне вывода + списка файлов. Файл с датой > 2000, выводится с датой, выглядящей + как "191xx", где xx - последние две цифры настоящей даты. Эта ошибка + была исправлена в версии 1.1.[Порт обновлен 1998/10/10; исправления + касаются FreeBSD-3.0 и выше] +
+ +
ports/9295
+ +
INN 1.7.2 подвержен влиянию ошибок, связанных с проблемой Г2000. + Одна проявляется при скачивании телеконференций (опция -f в nntpget), + а другая связана с заголовком Expire с относительными датами после + 2000 года. + [Оба порта INN обновлены до INN 2.2 1999/05/02; исправления касаются + FreeBSD-3.2 и выше] +
+ +
ports/9298
+ +
Knews имеет две ошибки, связанных с проблемой Г2000. Одна + проявляется при генерации команды NNTP NEWGROUPS. Другая связана с + тем, что knews не знает, что 2000 год является високосным. Обе + ошибки исправлены в knews-1.0b.1. [Порт исправлен 1999/01/07; + исправления касаются FreeBSD-3.1 и выше] +
+ +
ports/9300
+ +
Nntp-t5 подвержен влиянию проблемы Г2000 во время генерации + команды NEWNEWS. [Порт обновлен 1999/01/05; исправления касаются + FreeBSD-3.1 и выше] +
+ +
ports/11144
+ +
Порт tiff имеет вкомпилированную строку 19xx. Хотя это находится в + разделе заимствований (для преобразования растрового формата Sun + в TIFF) и не устанавливается по умолчанию, это приложение должно быть + исправлено. [Порт обновлен 1999/04/18; а затем 1999/05/11; исправления + касаются FreeBSD-3.2 и выше] +
+ +
ports/11145
+ +
Порт dgs страдает от той же проблемы, связанной с TIFF, что и + порт tiff [заимствованная процедура преобразования растровых файлов + Sun в TIFF]. [Порт обновлен 1999/04/18; исправления касаются + FreeBSD-3.2 и выше] +
+ +
ports/13694
+ +
В работе порта slurp имеется проблема генерации корректно + сформированного имени файла хоста, когда tm_year превышает 100.
+
+ +

Дополнительная информация

+ +

Если у вас есть вопросы по поводу готовности FreeBSD к 2000 году или + вы обнаружили приложение FreeBSD, которое не готово к 2000 году, + пожалуйста, напишите нам по адресу freebsd-bugs@FreeBSD.ORG.

+ + &footer; + + + +