Содержание
base-passwd
perl
Иногда изменения, внесённые в новый выпуск, приводят к побочным эффектам, которых нельзя избежать без появления ошибок где-то ещё. Этот раздел описывает проблемы, которые уже известны нам. Прочитайте также список известных ошибок, соответствующую документацию на пакеты, отчёты об ошибках и другую информацию, указанную в Раздел 6.1, «Что ещё можно прочитать».
Для некоторых пакетов Debian не может гарантировать какой-либо минимальной поддержки исправлений безопасности. О таких пакетах написано в следующих разделах.
Заметьте, что пакет debian-security-support
, добавленный в
Jessie, помогает отслеживать статус поддержки исправлений
безопасности для установленных пакетов.
В Debian 8 включено несколько браузерных движков (browser engines), в которых постоянно находят большое количество уязвимостей. Из-за этого и частичного отсутствия авторской поддержки предыдущих версий возникают большие сложности с переносом исправлений безопасности в старые версии. Также из-за библиотечных зависимостей невозможно произвести обновление до новых версий. В силу этого, браузеры, созданные на основе механизмов webkit, qtwebkit и khtml, включены в Jessie, но не обладают полной поддержкой безопасности. Данные браузеры лучше не использовать для просмотра ненадёжных сайтов.
Для повседневной работы рекомендуется использовать браузеры Iceweasel или Chromium.
Chromium, хотя он основан на кодовой базе Webkit, является производным пакетом, который будет поддерживаться в актуальном состоянии путём сборки текущих выпусков Chromium для стабильного выпуска. Iceweasel и Icedove также будут поддерживаться в актуальном состоянии путём сборки текущих выпусков версии ESR для стабильного выпуска.
Node.js представляет собой платформу, собранную на основе libv8-3.14
, в этом пакете часто обнаруживаются
проблемы безопасности, но в настоящее время ни добровольцы, ни команда
безопасности не достаточно заинтересованы и не хотят тратить большое
количество времени, требуемого для решения этих проблем.
К сожалению, это означает, что пакеты libv8-3.14
, nodejs
, а также другие пакеты node-* указанной
экосистемы не должны использоваться с недоверенным содержимым, таким как
непроверенные данные из сети Интернет.
Кроме того, эти пакеты не будут получать обновлений безопасности в течении жизненного цикла Jessie.
Поддержка безопасности в основной ветке разработки версии 1.19 пакета
mediawiki
будет прекращена в течении
ожидаемого жизненного цикла Jessie. Пакет mediawiki
входит в Jessie для удовлетворения
зависимостей других пакетов.
Поддержка безопасности пакета mediawiki
будет
прекращена вместе с прекращением поддержки Wheezy в апреле 2016 год.
Для улучшения безопасности настроек по умолчанию файл настроек пакета
openssh-server
содержит параметр
"PermitRootLogin without-password". Если вы используете аутентификацию
пользователя root
по паролю, то это изменение вас
коснётся.
Пакет openssh-server
при обновлении
попытается обнаружить подобные случаи и увеличит приоритет приглашения
debconf.
Если вы хотите оставить аутентификацию по паролю для пользователя
root
, вы можете автоматически ответить на соответствующий
вопрос обновления, используя следующую команду:
$ echo 'openssh-server openssh-server/permit-root-login boolean true' | debconf-set-selections
Если вы используете Puppet, вам следует помнить, что в Puppet 3.7 отсутствует обратная совместимость с Puppet 2.7. Среди прочих вещей были изменены и правила области действия, также были удалены многие устаревшие конструкты. Информацию о некоторых изменения можно получить в информации о выпуске Puppet 3.x, но следует помнить и о том, что в версии 3.7 имеются дополнительные изменения, не указанные в этом документе.
Проверка файлов журнала вашего текущего puppetmaster на предмент наличия в них предупреждений об использовании устаревших возможностей и разрешение всех таких предупреждений до выполнения обновления значительно облегчит процесс обновления. Также вы можете дополнительно протестировать файлы настроек с каким-нибудь инструментом типа Puppet catalog test, что также позволит обнаружить потенциальные проблемы до выполнения обновления.
При обновлении системы управления Puppet с Wheezy до Jessie, вы должны
убедиться, что соответствующий puppetmaster запускает Puppet версии
3.7. Если мастер запускает puppetmaster
из Wheezy, то к управляемой системе
Jessie невозможно будет подключиться.
Дополнительную информацию о несовместимых изменениях можно найти в проблемах обновления, а также в "Гневном руководстве по Puppet 3".
Обновление до Jessie включает в себя обновление PHP с версии 5.4 до версии 5.6. Это может задеть локальные сценарии PHP, рекомендуется проверить эти сценарии до выполнения обновления. Ниже приведён список некоторых изменения.
Для предотвращения атак по принципу человек-в-середине против зашифрованных соединений клиентские потоки данных теперь по умолчанию выполняют проверку сертификатов узлов.
В результате существующий код, использующий обёртки ssl:// или tls:// для потоков (напр., file_get_contents(), fsockopen(), stream_socket_client()) больше не могут успешно подключиться к узлу без отключения проверки узлов вручную с помощью опции контекстов потоков "verify_peer".
Дополнительную информацию об этой конкретной проблеме см. в этом документе.
В PHP произошли изменения в обработке нечувствительности к регистру:
Вся внутренняя нечувствительная к регистру обработка классов, функций и имён констант выполняется в соответствиями с правилами ASCII. Текущие настройки локали игнорируются.
Ключевые слова "self", "parent" и "static" теперь всегда чувствительны к регистру.
Функция json_decode() более не принимает варианты булевых значений в нижнем регистре.
logo-варианты функций GUID (напр., php_logo_guid()) были удалены.
Больше нельзя перезаписывать ключи в статичных скалярных массивах. Пример и дополнительную информацию об этой проблеме см. в PHP, ошибка 66015.
Функции mcrypt_encrypt(), mcrypt_decrypt() и mcrypt_{MODE}() более не принимают ключи или IV некорректного размера. Более того, IV теперь требуется в том случае, если он нужен используемому блочному шифру.
По юридическим причинам реализация JSON, поставляемая в составе PHP, была заменена на версию, предоставляемую PECL-модулем "jsonc". Код, предполагающий от грамматического разбора JSON чего-то особенного, следует проверить по совместимость.
Опция "short_open_tag" сейчас по умолчанию выключена. Короткие теги ("<?" и "?>") планируется удалить в PHP7.
Дополнительную информацию и полный список потенциальных проблем см. в списке изменений без обратной несовместимости для PHP 5.5 и 5.6.
![]() | Примечание |
---|---|
Данный раздел касается только тех систем, в которых установлен сервер Apache HTTPD, который настроен вручную. |
В настройке сервера Apache HTTPD версии 2.4 произошло ряд изменений. Со стороны основной ветки разработки был изменён синтаксис файлов настройки. В особенности, директивы управления доступом были существенно изменены, требуется вручную перейти на использование новых директив.
Модуль mod_access_compat
указан в руководстве по
обновлению из основной ветки разработки как возможная альтернатива такого
перехода. Тем не менее, сообщается, что такой способ не всегда может
работать.
Управление файлами настройки в пакетах Debian также было изменено. В
частности, все файлы настройки и сайты должны оканчиваться на ".conf", в
этом случае по умолчанию будет произведён их грамматический разбор. Данное
изменение заменяет /etc/apache2/conf.d/
.
![]() | Примечание |
---|---|
Во время обновления вы можете увидеть предупреждения о файлах настроек,
размещённых в |
Дополнительную информацию и полный список изменений можно найти в следующих документах:
Документ обновление до 2.4 с 2.2, предоставляемый основной веткой разработки Apache.
Файл /usr/share/doc/apache2/NEWS.Debian.gz
,
предоставляемый пакетом apache2
.
Jessie поставляется с systemd-sysv
в
качестве системы инициализации по умолчанию. Этот пакет
устанавливается автоматически при выполнении обновления.
Если вы предпочитаете другую систему инициализации, такую как sysvinit-core
или upstart
, рекомендуется установить закрепление
(pinning) для APT до выполнения обновления. Также это может потребоваться в
случае обновления LXC-контейнеров до обновления самого узла. В этом случае
обратитесь к Раздел 5.8.1, «Обновление гостевых систем LXC, работающих на узлах Wheezy».
Например, чтобы запретить установку пакета systemd-sysv
во время обновления, вы можете
создать файл /etc/apt/preferences.d/local-pin-init
со
следующим содержимым:
Package: systemd-sysv Pin: release o=Debian Pin-Priority: -1
![]() | Внимание |
---|---|
Следует помнить, что некоторые пакеты могут работать хуже, либо могут не иметь некоторой функциональности при использовании системы инициализации, отличной от системы инициализации по умолчанию. |
Заметьте, что обновление может привести к установке пакетов, содержащих
"systemd" в названии пакета даже несмотря на закрепление APT. Сами по себе
они не изменяют вашу систему инициализации. Чтобы
использовать systemd в качестве системы инициализации, следует сначала
установить пакет systemd-sysv
.
Если APT или aptitude испытывают проблемы с вычислением пути обновления с
использованием закрепления, вам может потребоваться вручную установить и
sysvinit-core
, и systemd-shim
.
Новая система инициализации по умолчанию, systemd-sysv
, строже обрабатывает ошибки
монтирования разделов в режиме "auto" во время загрузки по сравнению с
sysvinit. Если не удаётся смонтировать раздел в режиме "auto" (без опции
"nofail"), systemd перейдёт в консоль восстановления вместо того, чтобы
продолжить загрузку.
Рекомендуется всем извлекаемым точкам монтирования или разделам с режимом
"optional" (напр., некритичные сетевые диски), указанным в
/etc/fstab
добавить либо опцию "noauto", либо "nofail".
Если вы выполняете обновление с предыдущего выпуска, то ваша система может содержать устаревшие сценарии, предоставленные (теперь) устаревшими пакетами. Эти сценарии могут содержать неточности в метаданных зависимостей, либо вообще не содержать таких метаданных, что может приводить к циклам зависимостей при настройке инициализации.
Чтобы избежать этого, рекомендуется проверить список пакетов в состоянии "rc" ("удалён, но файлы настроек остаются в системе") и вычистить по меньшей мере все их сценарии инициализации.
Подробную информацию о поиске и вычистке удалённых пакетов см. в Раздел 4.8.1, «Вычистка удалённых пакетов».
![]() | Примечание |
---|---|
Данный раздел касается только тех систем, в которых предоставленные Debian сценарии инициализации были изменены локально. |
Если у вас имеются предоставленные Debian, но изменённые вами сценарии инициализации, они могут быть заменены юнит-файлами systemd или самой systemd. Если у вас установлен debsums, вы можете проверить, были ли локально изменены какие-либо сценарии инициализации, используя следующую команду:
debsums -c -e | grep ^/etc/init.d
Либо же в случае отсутствия debsums можно использовать следующее.
dpkg-query --show -f'${Conffiles}' | sed 's, /,\n/,g' | \ grep /etc/init.d | awk 'NF,OFS=" " {print $2, $1}' | \ md5sum --quiet -c
Если либо командные флаги любых файлов и соответствующие им пакеты,
либо пакет systemd
предоставляет юнит-файл systemd для
такой службы, юнит-файл systemd получит приоритет перед локально изменённым
сценарием инициализации. В зависимости от природы внесённого изменения,
имеются разные пути выполнения миграции.
Если это необходимо, можно переопределить юнит-файл systemd так, чтобы он запускал сценарий sysvinit. Дополнительную информацию о юнит-файлах systemd можно получить на приведённых ниже ресурсах.
Как преобразовать сценарий инициализации SysV в сервисный файл systemd?
Моя служба не может работать в реальном времени! (также содержит короткое описание вызова сценариев инициализации из юнит-файлов)
Если ваш процесс загрузки интерактивен (напр., требуется ввести пароль для
зашифрованного диска), убедитесь, что у вас установлен и
настроен пакет plymouth
. За дополнительной информацией о том, как настроить plymouth обратитесь к
файлу /usr/share/doc/plymouth/README.Debian
.
Без пакета plymouth
приглашение при
загрузке может не появиться. Согласно сообщениям пользователей, приглашение
cryptsetup всё ещё принимает ввод, но остаётся невидимым. Если у вас
возникла эта проблема, ввод правильного пароля всё ещё может сработать.
Событи ACPI могут обрабатываться logind или acpid. Настройка обеих служб на обработку событий разным способом может приводить к нежелательным результатам.
Рекомендуется перенести любые настройки, отличные от настроек по умолчанию, на logind и удалить acpid. С другой стороны, также можно настроить logind на игнорирование событий ACPI, добавив следующие строки:
HandlePowerKey=ignore HandleSuspendKey=ignore HandleHibernateKey=ignore HandleLidSwitch=ignore
в файл /etc/systemd/logind.conf
. Заметьте, что это
может изменить поведение окружений рабочего стола, которые работают с
logind.
Некоторые возможности cryptsetup, к сожалению, не поддерживаются при использовании systemd в качестве системы инициализации. Не поддерживаются следующие возможности:
precheck
check
checkargs
noearly
loud
keyscript
Если ваша система использует какую-то из этих возможностей для осуществления
загрузки, вам придётся использовать sysvinit (пакет sysvinit-core
) в качестве системы
инициализации. Обратитесь к Раздел 5.6, «Обновление приводит к установке новой системы инициализации по умолчанию для
Jessie», чтобы получить информацию
о том, как изменить систему инициализации.
Вы можете проверить использование этих опций в вашей системе, запустив следующую команду:
grep -e precheck -e check -e checkargs -e noearly -e loud -e keyscript /etc/crypttab
Если вы не увидите какого-либо вывода приведённой выше команды, то в вашей системе не используются опции, которые могут вызывать проблемы.
О регрессе в systemd сообщили после выпуска jessie. Ошибка возникает во время выключения или перезагрузки, systemd не предоставляет достаточную задержку до отправления процессам сигнала SIGKILL. Это может приводить к потере данных тех процессов, которые не сохранили все данные в момент запуска перезагрузки (напр., работающие базы данных).
Эта проблема отслеживается в отчёте об ошибке Debian #784720.
![]() | Примечание |
---|---|
Данный раздел касается только тех, что желает скомпилировать собственное ядро. Если вы используете ядра, скомпилированные Debian, можете пропустить этот раздел. |
Для Jessie требуются, либо рекомендуются следующие опции настройки ядра (в дополнение к тем, что относятся к предыдущим выпускам):
# Требуется для udev CONFIG_DEVTMPFS=y # Требуется для *некоторых* служб systemd CONFIG_DEVPTS_MULTIPLE_INSTANCES=y # Требуется "bluez" (GNOME) CONFIG_BT=y # Требуется для cups + systemd. CONFIG_PPDEV=y
Службы systemd, которым требуется CONFIG_DEVPTS_MULTIPLE_INSTANCES=y, обычно содержат по меньшей мере одну из следующих директив:
PrivateTmp=yes PrivateDevices=yes PrivateNetwork=yes ProtectSystem=yes
Если вы не используете systemd, либо абсолютно уверены в том, что ни одна из служб systemd не будет использовать хотя бы одну из приведённых выше директив, то эта опция настройки ядра не требуется для вашей системы.
Дополнительную информацию о требованиях см. в разделе "REQUIREMENTS" файла
README
из пакета systemd
.
![]() | Примечание |
---|---|
Данный раздел касается только тех систем, в которых имеются LXC-контейнеры, а также LXC узлов. Системы обычных конечных пользователей обычно не содержат подобного. |
Обновление с Wheezy да Jessie по умолчанию изменит вашу систему инициализации на систему инициализации systemd (см. Раздел 5.6, «Обновление приводит к установке новой системы инициализации по умолчанию для Jessie»).
При обновлении LXC-контейнер или виртуальной машины LXC это приведёт к различным последствиям в зависимости от того, обновлена уже хостовая система до Jessie или нет.
Если вы обновляете гостевой контейнер LXC, запущенный на хостовой системе Wheezy, то вам нужно будет запретить автоматический переход гостевой системы на systemd. Запретить переход можно с помощью закрепления (pinning) как это описано в Раздел 5.6, «Обновление приводит к установке новой системы инициализации по умолчанию для Jessie».
Это необходимо сделать потому, что в хостовой системе Wheezy отсутствует требуемая функциональность для загрузки системы под systemd.
Вы сможете переключиться на systemd в гостевой системе LXC после того, как обновите хостовую систему до Jessie. См. в следующем параграфе описание того, что следует сделать на хостовых системах Jessie.
Для того, чтобы загрузить гостевую система LXC с systemd, вам необходимо
изменить настройки вашего LXC-контейнера. Настройки контейнера обычно
находятся в файле
/var/lib/lxc/
.
Вам следует добавить следующие две опции в файл настройки:
ИМЯ_КОНТЕЙНЕРА
/config
lxc.autodev = 1 lxc.kmsg = 0
Дополнительную информацию о LXC в Debian см. на вики-страницах Debian.
![]() | Примечание |
---|---|
Данный раздел предназначен только для тех, кто самостоятельно настроил зашифрованные с помощью LUKS диски, используя хэш whirlpool. Программа установки Debian никогда не поддерживала создание таких дисков. |
Если вы вручную настроили зашифрованный с помощью LUKS whirpool диск, то вам следует вручную выполнить переход на более стойкий хэш. Вы можете проверить, используется ли для шифрования вашего диска функция whirlpool, выполнив следующую команду:
# /sbin/cryptsetup luksDump <устройство>
| grep -i whirlpool
Дополнительную информацию о миграции см. в разделе "8.3 Gcrypt 1.6.x and later break Whirlpool" в ЧаВО по cryptsetup.
Рабочий стол GNOME 3.14 в Jessie более не поддерживает fallback для машин без базовой поддержки трёхмерной графики. Для работы ему требуется либо достаточно новый ПК (любой ПК не старше 10 лет должен иметь требуемую поддержку SSE2), либо графический адаптер с поддержкой ускоренной трехмерной графики с драйверами EGL, если архитектура вашей система отличается от i386 или amd64.
В отличии от остальных драйверов OpenGL, драйвер FGLRX от AMD для адаптеров Radeon не поддерживает интерфейс EGL. Поэтому некоторые приложения GNOME, включая базовую часть рабочего стола GNOME, вообще не запустятся, если в системе используется этот драйвер.
Рекомендуется использовать свободный драйвер radeon
,
которые используется по умолчанию в jessie.
Сочетания горячих клавиш по умолчанию в рабочем столе GNOME были изменены с тем, чтобы больше соответствовать сочетаниям клавиш в других операционных системах.
Сочетания клавиш, которые были изменены пользователем, при обновлении сохраняться. Их можно настроить в центре управления GNOME. Для того, чтобы попасть в него, следует кликнуть на иконке "settings" в верхнем правом меню.
Обновление пакета base-passwd
приведёт к замене командной оболочки некоторых системных пользователей на
командную оболочку "nologin". Изменение коснётся следующих пользователей:
daemon
bin
sys
sync
games
man
lp
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
Если ваши локальные настройки требуют, чтобы какой-то из перечисленных пользователей имел командную оболочку, вам следует ответить отрицательно на вопрос о миграции, либо выполнить миграцию, а затем изменить командную оболочку для соответствующих пользователей. В частности, часто локальные резервные копии выполняются от лица пользователя "backup" с аутентификацией по "ssh-key".
![]() | Внимание |
---|---|
Переход будет выполнен автоматически в случае, если приоритет вопросов debconf у вас выставлен в значение "high" или выше. |
Если вы хотите сохранить текущую командную оболочку данного пользователь, можно выполнить следующую команду:
echo 'base-passwd base-passwd/system/имя_пользователя
/shell/изменённая_текущая_командная_оболочка
/_usr_sbin_nologin boolean false' | debconf-set-selections
Где имя_пользователя
представляет собой имя
пользователя, для которого следует выполнить это действие, а
изменённая_текущая_командная_оболочка
—
название командной оболочки. Изменение выполняется путём замены всех
символов, отличных от букв, цифр, тире и подчёркиваний, на
подчёркивания. Напр., /bin/bash становится _bin_bash.
Система управления личной информацией Kontact получила большое обновление. Новая версия существенно больше использует индексирование метданных, для данных каждого пользователя следует выполнить миграцию на новые указатели.
Электронная почта, события календаря и контакты из адресной книги будут автоматически перенесены, когда соответствующий пользователь выполнит вход в систему, а соответствующий компонент будет запущен. Некоторые продвинутые настройки, такие как фильтры электронной почты и персональные шаблоны требуют вмешательства вручную. Дополнительную информацию и предложения по исправлению проблем см. в вики Debian.
![]() | Примечание |
---|---|
Сообщается, что данная проблема исправлена в Jessie. Если у вас она всё равно возникает, сообщите об этом в отчёт об ошибке Debian #766462. Заметьте, что вам может потребоваться вывести отчёт об ошибке из архива (за информацией о том, как это можно сделать, обратитесь к документации по управляющему серверу системы отслеживания ошибок Debian). |
Если у вас установлено несколько окружений рабочего стола, то может оказаться так, что ни одна "виртуальная консоль" не показывает запрос данных учётной записи.
Эта проблема возникает в случае, когда установлены пакеты plymouth
, systemd
и GNOME. О данной проблеме уже известно,
см. ошибка Debian #766462.
Известно, что удаление аргумента "splash" из командной строки ядра может
временно решить данную проблему. См. файл
/etc/default/grub
, обязательно выполните
update-grub
после изменения этого файла.
Пакет grub-pc
имеет проблемы
совместимости со старыми графическими картами (напр., "ATI Rage 128 Pro
Ultra TR"), что может приводить к отображению пустого экрана во время
загрузки. На экране может появиться сообщение "VGA signal out of range" (или
что-то похожее).
Для решения этой проблемы установите параметр
GRUB_TERMINAL=console
в файле
/etc/default/grub
.
Программа crontab
теперь работает несколько строже и
может отказать в сохранении изменённого файла cron в случае, если он
некорректен. Если у вас возникли проблемы с crontab -e
,
проверьте crontab на наличие ошибок.
Начиная с версии 5.18 (и 5.20, которая включена в Jessie), Perl выполняет
выход с выводом сообщения о фатальной ошибки в случае, если он встречает
нечитаемые пути модулей в @INC
. Раньше подобные строки
пропускались. Рекомендуется проверить содержимое @INC
в
вашем окружении на предмет наличия каталогов, которые закрыты для чтения
всем пользователям, и предпринять соответствующие действия.
Вы можете узнать @INC
по умолчанию для Perl, выполнив
perl -V.
Версия пакета ganeti
(2.12.0-3),
выпущенная в составе Jessie, не поддерживает миграции с систем, на которых
запущена версия 2.5 или более ранняя (включая Wheezy), в такх случаях, когда
в кластере имеются экземпляры с дисками DRBD. Надеемся, что эта проблема
будет решена в следующей редакции, рекомендуется пока не обновлять такие
кластеры Ganeti. Дополнительную информацию об этой проблеме можно получить в
отчёте об ошибке Debian #783186.
Рекомендуемся процедура обновления кластера Ganeti с пакета ganeti
версии из Wheezy (2.5.2-1) до версии из
Jessie (2.12.0-3) предполагает остановку всех экземпляров, выполнение
обновления и одновременную перезагрузку всех нод. Это гарантирует, что все
экземпляры будут запущены с гипервизором из Jessie, и что все ноды будут
работать под управлением одно и той же версии Ganeti и DRBD.
Заметьте, что работа смешанного кластера, содержащего ноды версий 2.5 и 2.12, не поддерживается. Кроме того, в зависимости от гипервизора могут не работать живые миграции экземпляров между версиями гипервизора из Wheezy и Jessie.
Если клиент запрашивает, чтобы файл был "открыт для выполнения", Samba4 потребует дополнительно к обычным права на чтение установить бит выполнения для этого файла. Также это вызывает молчаливое игнорирование сценарием "netlogon" в том случае, если у них отсутствует бит выполнения.
![]() | Примечание |
---|---|
Данный раздел касается только тех, кто вручную изменил свой файл
|
Если у вас установлены оба пакета busybox
и cryptsetup
, а initramfs настроена на то, чтобы
не использовать busybox, то ваша система может не
загрузиться.
Проверьте значение опции BUSYBOX в файле
/etc/initramfs-tools/initramfs.conf
вслучае, если у вас
установлены оба этих пакета. Известно, что эту проблему можно временно
решить путём удаления пакета busybox
или установки опции BUSYBOX=y
в файле
/etc/initramfs-tools/initramfs.conf
.
![]() | Предупреждение |
---|---|
Если вы внесли какие-либо изменения, то не забудьте выполнить
|
Дополнительную информацию см. в ошибке Debian #783297.