Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Переход на Red Hat Enterprise Linux 6
Планирование миграции
Редакция 6.1
Red Hat Inc.
Аннотация
Глава 1. Введение
1.1. Red Hat Enterprise Linux 6
- i386;
- AMD64 и Intel64;
- System z;
- IBM Power (64-бит).
Уменьшено число пробуждений процессора благодаря безтактовому ядру и усовершенствованиям программного стека, добавлены возможности оценки энергопотребления с помощью PowerTOP, управления с помощью ASPM и ALPM и адаптивной оптимизации системных настроек с помощью tuned.
Всесторонняя поддержка IPv6 (NFS 4, CIFS, поддержка мобильных устройств [RFC 3775], ISATAP), FCoE, iSCSI, а также улучшенный беспроводной стек MAC 802.11.
Изменения на системном уровне в результате объединения усилий лидеров индустрии с целью максимально эффективного использования аппаратных возможностей RAS и архитектур NUMA.
Улучшенное планирование и управление ресурсами на уровне ядра с помощью планировщика CFS (Completely Fair Scheduler) и контрольных групп.
По умолчанию используется файловая система ext4, в то время как xfs характеризуется высокой производительностью и масштабируемостью.
Добавлены новые возможности и улучшена производительность KVM, в то время как sVirt обеспечивает защиту гостевых систем и хоста от несанкционированного доступа. SR-IOV и NPIV обеспечивают высокую производительность при взаимодействии виртуальных машин с физическими устройствами, а libvirt эффективно использует функциональность контрольных групп ядра.
Облегчено использование SELinux, добавлен режим тестирования приложений, существенно расширен диапазон управляемых системных служб, в то время как SSSD обеспечивает единый уровень доступа к службам идентификации и аутентификации, а также кэширование для дальнейшего использования в автономном режиме.
Улучшен комплект SystemTap, добавлена программа ABRT для сбора статистики, усовершенствованы GCC (версия 4.4.3), glibc (версия 2.11.1) и GDB (версия 7.0.1).
1.2. Программная совместимость
Таблица 1.1. Библиотеки совместимости
Пакет | Описание |
---|---|
compat-db | Библиотека совместимости для Berkeley DB (BDB). Berkeley DB — библиотека поддержки баз данных для приложений сервера и клиента. Этот пакет включает различные версии BDB, в том числе и более ранние. |
compat-expat1 | Expat — поточно-ориентированное средство разбора XML. Обеспечивает совместимость с предыдущими версиями. |
compat-glibc | glibc — стандартная библиотека языка С, предоставляющая исполняемые библиотеки и обеспечивающая совместимость при компиляции двоичных файлов, требующих наличия предыдущих версий glibc. |
compat-libf2c-34 | Включает ранние версии общих библиотек Fortran 77, необходимые для выполнения программ Fortran 77. |
compat-libgcc-296 | Библиотека libgcc 2.96 и объектные файлы для поддержки совместимости с предыдущими версиями GCC. |
compat-libgfortran-41 | Библиотека Fortran 95 для поддержки совместимости с программами Fortran, скомпилированными с помощью GCC 4.1.x. |
compat-libstdc++-295 | Обеспечивает совместимость со стандартной библиотекой C++ 2.95. |
compat-libstdc++-296 | Обеспечивает совместимость со стандартной библиотекой C++ 2.96. |
compat-libstdc++-33 | Обеспечивает совместимость со стандартной библиотекой C++ 3.3. |
compat-libtermcap | Обеспечивает совместимость со старыми программами на основе termcap. |
compat-openldap | OpenLDAP — открытая реализация LDAP (Lightweight Directory Access Protocol). Этот пакет включает предыдущие версии общих библиотек OpenLDAP, которые могут потребоваться для работы некоторых приложений. |
openssl098e | Предоставляет OpenSSL 0.98e, который необходим для некоторых приложений SSL. |
Глава 2. Установка
2.1. Ядро и параметры загрузки
- Прежде чем приступить к установке Red Hat Enterprise Linux, можно выполнить проверку ядра. Для этого в строке приглашения
boot:
надо ввести командуmemtest86
для запуска Memtest86 вместо Anaconda. Цикл проверки памяти будет продолжаться до тех пор, пока не будет нажата кнопкаEsc
. - Для определения порядка загрузки модулей необходим параметр
rdloaddriver
(вместоscsi_hostadapter
).
2.2. Графический режим установки
2.2.1. Устройства и диски
- Компьютеры i386 и x86_64 для обозначения дисков IDE используют формат «/dev/sdX» вместо «/dev/hdX». Это изменение не относится к архитектуре PPC.
- Если программа установки не может обнаружить карту Smart Array, в строке приглашения выполните
linux isa
для выбора карты вручную. - Раньше драйверы IDE поддерживали до 63 разделов на одном диске, а SCSI-устройства ограничивались 15-ю разделами. Теперь Anaconda использует драйвер libata и не может определить больше 15 разделов на диске IDE в процессе установки и обновления. Поэтому при обновлении системы с больше чем 15-ю разделами может потребоваться преобразовать диск в LVM.
- Имена устройств «/dev/hdX» и «/dev/sdX» теперь могут отличаться от аналогичных имен в предыдущих выпусках. Anaconda обрабатывает подобные несоответствия с помощью меток разделов. Если метки отсутствуют, будет предложено их создать. Системы, использующие LVM и Device Mapper, обычно не нуждаются в присвоении меток.
- Добавлена возможность установки на зашифрованные блочные устройства (включая корневую файловую систему).
- Контроллеры IDE RAID поддерживаются лишь выборочно. Если
mdraid
не поддерживает необходимый контроллер, можно объединить диски в массивы, создав программные массивы RAID в Linux. Если контроллер поддерживается, функции RAID можно настроить напрямую в BIOS. - GRUB в Red Hat Enterprise Linux 6 поддерживает ext4, поэтому Anaconda позволяет выбрать ext4 для любого раздела, в том числе для
/boot
и корневого раздела.
2.2.2. Кикстарт
2.2.2.1. Основные изменения
- Раньше предполагалось, что если файл кикстарта не содержит строку
network
, то настройка сетевого окружения должна осуществляться с помощью DHCP. Это не соответствовало поведению кикстарта в аналогичных ситуациях применительно к другим компонентам, когда процесс установки прерывался и запрашивался ввод недостающей информации. Теперь при отсутствии строкиnetwork
будет предложено ввести необходимые данные. Кроме того, параметр--bootproto=query
больше не используется. Чтобы настройка сети осуществлялась автоматически с помощью DHCP, в файл кикстарта добавьте выражениеnetwork --bootproto=dhcp
. - Обычно обращение к дискам на протяжении кикстарт-установки выполнялось по именам (
sda
и т.п.). Теперь ядро Linux не гарантирует постоянство имен между перезагрузками, что затрудняет обращение к устройствам в сценариях кикстарта, поэтому вместо имен устройств рекомендуется использовать обозначения из/dev/disk
. Например, командаpart / --fstype=ext4 --onpart=sda1
теперь будет выглядеть примерно так:part / --fstype=ext4 --onpart=/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0-part1 part / --fstype=ext4 --onpart=/dev/disk/by-id/ata-ST3160815AS_6RA0C882-part1
Такой формат гарантирует более точное обращение к дискам, что особенно важно в окружениях с большим количеством накопителей. - При обращении к дискам можно использовать шаблоны, что облегчает построение команд
clearpart
иignoredisk
в окружениях с большим количеством накопителей. Например, командаignoredisk --drives=sdaa,sdab,sdac
может выглядеть примерно так:ignoredisk --drives=/dev/disk/by-path/pci-0000:00:05.0-scsi-*
- Кикстарт теперь более критичен к ошибкам. Так, например, при обращении к несуществующему диску установка будет прервана. Это помогает обнаружить ошибки, прежде чем они смогут привести к серьезным проблемам. Поэтому файлы с более общими определениями, которые раньше могли использоваться для выполнения установки на компьютерах с разными настройками, теперь могут оказаться ошибочными. Потребуется их откорректировать вручную исходя из индивидуальных требований.
- Файл
/tmp/netinfo
был удален. Настройка сетевых интерфейсов теперь осуществляется с помощью NetworkManager, а файлы ifcfg хранятся в/etc/sysconfig/network-scripts/
. По желанию в этом же каталоге можно хранить настройки сети для сценариев %pre и %post.
2.2.2.2. Изменения команд
network --device
теперь разрешает обращаться к устройствам по адресу MAC. Аналогично дискам, имена сетевых устройств могут изменяться между перезагрузками в зависимости от порядка их обнаружения. Чтобы этого не случилось, устройства можно адресовать так:network --device=00:11:22:33:44:55 --bootproto=dhcp
- Команды
langsupport
,key
иmouse
были удалены. Попытка их вызова завершится ошибкой. Командаmonitor
также считается устаревшей.Функциональностьlangsupport
реализована в секции%packages
файла кикстарта. Так, например, для поддержки русского языка следует добавить строку@russian-support
.В процессе установки больше не запрашивается код установки, поэтому параметрkey
можно удалить из файла кикстарта.В командахmouse
иmonitor
больше нет необходимости, так как X определяет соответствующие настройки автоматически. По той же причине можно удалить выражениеxconfig --resolution=
из файла кикстарта. - Команды
part --start
иpart --end
считаются устаревшими. Anaconda больше не разрешает создавать разделы с заданными границами. Для этого потребуется прибегнуть к помощи внешних программ, указав их в секции%pre
и указавpart --onpart
для использования существующих разделов. Другой способ состоит в создании разделов определенного размера или их увеличении с помощью--grow
. - Вместо создания групп вручнуюэто можно сделать с помощью команды
group
в секции%post
. Подробную информацию можно найти в документации кикстарта. - Изменен стандартный алгоритм autopart: обычно autopart создает раздел
/boot
(или другой раздел загрузчика для заданной архитектуры) и раздел подкачки, а при наличии более 50 гигабайт свободного пространства будет также создан корневой раздел (/
) и/home
. Если доступно меньше 50 гигабайт, будет создан лишь раздел/
.Если в разделе/home
необходимости нет, не стоит использовать autopart. Просто создайте/boot
, раздел подкачки и корневой раздел с возможностью его увеличения. - Anaconda предоставляет новый интерфейс фильтрации устройств хранения, который напрямую соответствует командам
ignoredisk
,clearpart
иzerombr
. Так как командаignoredisk
не является обязательной, ее исключение из файла кикстарта отменит интерактивный выбор устройств. Следующая команда покажет фильтр:ignoredisk --interactive
- Из
/tmp/partition-include
исключен параметр--size=1 --grow
. Теперь надо задать подходящий размер, который будет использоваться по умолчанию, и разрешить наращивание раздела.
2.2.2.3. Изменения пакетов
%packages
.
- Аргументы
--ignoreDeps
и--resolveDeps
были удалены. Anaconda автоматически разрешает зависимости и в случае неудачи пропускает пакет. - Для установки стандартного набора пакетов в файл кикстарта добавьте следующее:
%packages --default %end
- Дополнительно можно указать архитектуру:
%packages glibc.i686 %end
В этом примере добавляется пакет glibc для архитектуры x86, что может использоваться в целях совместимости для компьютеров x86-64. - Все группы и пакеты в секции
%packages
довольно сложно проверить, так как некоторые пакеты и группы были удалены или добавлены, а некоторые переименованы. За дальнейшей информацией обратитесь к примечаниям к выпуску.
2.2.2.4. Изменения сценариев
%pre
, %post
и %traceback
.
- Улучшена регистрация ошибок сценариев. Теперь информация не удаляется по завершению работы сценария, что облегчает анализ динамически генерируемых сценариев. Недостатком является то, что в случае использования сценариями интерактивных программ в заголовок сценария потребуется добавить
--logfile=/dev/tty3
. В противном случае взаимодействие с программой будет невозможно.
2.2.2.5. Изменения синтаксиса
%include
теперь может принимать не только имя, но и URL в качестве аргумента.- Секции
%packages
,%post
,%pre
и%traceback
теперь завершаются директивой%end
. Раньше конец секции не отделялся явно — секция завершалась там, где начиналась следующая секция. В Red Hat Enterprise Linux 6 наличие%end
является желательным, а в последующих выпусках станет обязательным, поэтому рекомендуется начать постепенно добавлять%end
.
2.2.2.6. Список отличий
key
langsupport
mouse
monitor
xconfig --resolution
fcoe
group
rescue
sshpw
updates
2.2.2.7. pykickstart
ksverdiff
поможет определить различия между версиями.
$ ksverdiff --from RHEL5 --to RHEL6 Следующие команды удалены из RHEL6: langsupport mouse key Следующие команды устарели в RHEL6: monitor Следующие команды добавлены в RHEL6: sshpw group rescue updates fcoe ...
ksvalidator
можно проверить синтаксис файла кикстарта. Недостатком является то, что ошибки, которые могут произойти во время установки, не будут обнаружены (например, если определено part --ondisk=sdr
, но соответствующее устройство не существует). Пример:
$ ksvalidator --version RHEL6 my-rhel5-ks.cfg
2.2.3. Сетевое окружение
- Для настройки сетевых интерфейсов теперь используется NetworkManager, а диалог настройки интерфейсов Anaconda удален. Пользователю надо будет ввести только необходимую для установки информацию. Созданные во время установки настройки не сохраняются в установленной системе.
- При загрузке установщика с помощью
boot.iso
диалог выбора метода установки появится по умолчанию. - При выполнении PXE-загрузки и подключении файла *.iso, расположенного на NFS-сервере, в командной строке укажите
repo=nfs:сервер:/путь/
. Дополнительно потребуется скопироватьinstall.img
иproduct.img
в каталогnfs:сервер:/путь/images/
. - Иногда компьютеры с несколькими сетевыми интерфейсами не назначают первому обнаруженному интерфейсу имя eth0. В этом случае установщик попытается использовать другой интерфейс вместо того, который изначально использовался PXE. Чтобы этого избежать, в файл
pxelinux.cfg/*
добавьте следующее:IPAPPEND 2 APPEND ksdevice=bootif
- Этот параметр разрешит установщику использовать тот же интерфейс, который используется BIOS и PXE. Ниже приведен параметр, который позволит использовать первое обнаруженное сетевое устройство.
ksdevice=link
2.2.4. Подписки и обновления
- Подписки Red Hat Network теперь определяются не каналами, а обслуживаемыми продуктами и их числом. Соответственно доработаны инструменты управления подписками.Старая версия RHN теперь известна как RHN Classic.Оба вида RHN доступны параллельно.Окружения, взаимодействующие с Satellite или прокси-сервером, по-прежнему будут использовать RHN Classic.
- Теперь в списке опций помощника Firstboot можно выбрать Red Hat Network Classic. По умолчанию будет выбрана платформа управления RHN на основе сертификатов.
- Оба типа являются взаимозаменяемыми. Если для системы выбран один тип RHN, то другой тип ее сможет распознать. В то же время оба типа не могут работать параллельно.В настоящее время нельзя напрямую выполнить миграцию RHN Classic на модель сертификатов RHN. Есть два способа решения этой проблемы:
- Обновить систему до Red Hat Enterprise Linux 6.1 с помощью загрузочного образа ISO вместо использования
yum
. - Вручную исключить систему из RHN Classic и удалить запись хоста, после чего заново ее зарегистрировать в новой RHN с помощью программы управления подписками.
- В Red Hat Enterprise Linux 6.1 включена новая программа управления подписками Red Hat. Старые утилиты
rhn_*
все еще доступны для управления системами RHN Classic.
2.3. Текстовый режим установки
- Anaconda теперь автоматически выбирает необходимые пакеты из двух основных групп. Другие пакеты можно будет установить после установки.
- В окне выбора устройств по-прежнему можно определить параметры разделов для установки Red Hat Enterprise Linux: занять весь диск, удалить существующие разделы Linux или занять свободное пространство. Но теперь anaconda автоматически создает основную схему разделов и не запрашивает добавление разделов и файловых систем. Для создания нестандартной структуры разделов рекомендуется выбрать графический режим установки вместо кикстарта или установки с помощью VNC. Более тонкая настройка разделов, создание логических томов, а также возможности шифрования файловых систем и изменения их размера по-прежнему доступны в графическом режиме или могут быть заданы в файле кикстарта.
- В текстовом режиме установки загрузчик будет настроен автоматически.
- Процесс текстовой установки с использованием файла кикстарта не отличается от предыдущих выпусков. Но так как выбор пакетов, создание собственных разделов и изменение настроек загрузчика осуществляется автоматически, программа установки не будет запрашивать недостающую информацию. Необходимо заранее предоставить все необходимые данные в файле кикстарта; в противном случае установка будет прервана.
Глава 3. Хранение данных и файловые системы
3.1. RAID
Обновление набора dmraid
до mdraid
не поддерживается, поэтому попытка обновления вызовет предупреждение. В то же время допускается создание новых и обновление существующих наборов mdraid
.
/boot
в RAID) теперь располагается в начале массива, поэтому файловые системы и данные LVM будут смещены относительно начала раздела. Как следствие, если массив не используется, команды подключения LVM и файловых систем (mount
) не смогут корректно определить размер устройства и файловой системы. Это сделано с целью запрета подключения дисков напрямую и повреждения массивов в случае отсутствия синхронизации. Таким образом, для подключения единственного диска сначала потребуется создать массив и добавить в него этот диск.
mdadm
), после чего будет выполнена повторная синхронизация. После этого диски не будут удаляться из массива.
mdraid
, которое отличается от старой схемы /dev/md0
, /dev/md1
и т.п. Допускается использование произвольных имен (например, home
, data
, opt
). Присвоить имя можно с помощью параметра --name=opt
. В /dev/md/
будет создана одноименная запись. Если же указано целое число (например, 0), mdadm
будет использовать старую схему наименования в формате /dev/md
x. В настоящее время установщик не разрешает выбирать имена, поэтому устройствам присваиваются номера как и раньше.
mdraid
позволяют сохранять области, в которые производилась запись на момент отключения, что позволяет идентифицировать ошибочные части массива и повторно их синхронизировать в случае некорректного отключения системы. Это значительно уменьшает затраченное на повторную синхронизацию время. Восстановленные области будут автоматически добавлены в массив. Небольшие массивы (такие как /boot
) и массивы, используемые для подкачки, от этого не выигрывают, но в остальных случаях их можно добавить к существующему массиву с помощью команды mdadm --grow
. Стоит отметить, что поддержка таких областей снизит производительность (примерно 3-5% для блока размером 65536 и до 10% для блока размером 8192), то есть при их добавлении в массив лучше выбрать большой размер. Рекомендуемый размер блока — 65536.
3.2. ext4
Используется для создания ext4 в заново отформатированном разделе. При установке Red Hat Enterprise Linux 6 можно указать параметр загрузки ext4migrate
для преобразования ext3 в ext4. Однако при этом не будут доступны все возможности ext4, так как расположенные в разделе данные были изначально созданы в ext3. В то же время новые данные будут записываться без фрагментации. Прежде чем воспользоваться этим параметром, рекомендуется создать резервную копию содержимого существующих файловых систем.
Red Hat Enterprise Linux 6 обеспечивает полную поддержку ext4, которая для новой установки выбирается по умолчанию. Ниже перечислены основные изменения, связанные с использованием ext4.
- GRUB обеспечивает полную поддержку разделов ext4 и допускает размещение
/boot
в разделе ext4. - Пакет e2fsprogs полностью совместим с ext4.
- Иногда файловые системы ext4, созданные в Red Hat Enterprise Linux 5.3 с помощью e4fsprogs, создавали файловые системы
ext4dev
. Идентифицирующий их флагtest_fs
можно удалить, выполнивtune2fs -E ^test_fs
. После этого файловые системы будут определяться корректно как ext4.
3.3. fusecompress
Файловая система fusecompress обеспечивает сжатие данных и может подключаться непривилегированными пользователями. Red Hat Enterprise Linux 6 включает обновленную версию. Пользователям предыдущих версий fusecompress потребуется преобразовать данные в соответствии с новым форматом. Дополнительно надо будет установить пакет fusecompress_offline1 (за исключением случаев выполнения распаковки перед обновлением).
3.4. blockdev
Параметр blockdev --rmpart
больше не поддерживается. Его функции теперь исполняют команды partx(8)
и delpart(8)
.
Глава 4. Сетевое окружение и службы
4.1. Интерфейсы и их настройка
Для настройки сетевых интерфейсов в Red Hat Enterprise Linux 6 по умолчанию используется NetworkManager.
В Red Hat Enterprise Linux 5 поддержку Infiniband (в частности, сценария openib
и файла openib.conf
) предоставляет пакет openib. В Red Hat Enterprise Linux 6 пакет был переименован, функциональность Infiniband теперь обеспечивает пакет rdma. Соответствующая служба называется rdma
, а файл конфигурации расположен в /etc/rdma/rdma.conf
.
4.2. Инициализация служб
xinetd запускает сетевые службы по запросу. В текущем выпуске изменено максимально допустимое число открытых файловых дескрипторов.
- Вместо
select()
теперь используется механизм прослушиванияpoll()
, что позволяет изменять число открытых файловых дескрипторов. - Это число можно корректировать отдельно для каждой службы с помощью директивы
rlimit_files
в файле конфигурации. Значение должно быть положительным целым числом или «UNLIMITED».
В Red Hat Enterprise Linux 6 уровни выполнения 7, 8 и 9 больше не поддерживаются.
На смену init из пакета sysvinit пришла новая система инициализации на основе событий под названием Upstart. Она отвечает за запуск заданий и служб при загрузке, наблюдение за ними в процессе работы и остановку при отключении. За подробной информацией относительно Upstart обратитесь к справочной странице init(8)
.
/etc/init
. Обзор команд можно найти на справочной странице init(8)
, а описание синтаксиса — на странице init(5)
.
- Файл
/etc/inittab
считается устаревшим и используется только для определения исходного уровня выполнения (в строке initdefault). Другие настройки задаются с помощью заданий upstart в каталоге/etc/init
. - Число активных консолей tty теперь определяется переменной ACTIVE_CONSOLES в файле
/etc/sysconfig/init
, к которому обращается задание/etc/init/start-ttys.conf
. По умолчанию ACTIVE_CONSOLES=/dev/tty[1-6], то есть доступны консоли с 1 по 6. - Настройка getty все так же осуществляется автоматически, если последовательная консоль является основной системной консолью. В предыдущих выпусках за это отвечала утилита
kudzu
, вносившая необходимые изменения в файл/etc/inittab
. В Red Hat Enterprise Linux 6 настройки основной консоли определены в/etc/init/serial.conf
. - Чтобы настроить выполнение getty в другой консоли, потребуется создать новое задание Upstart. Так, например, для запуска getty в ttyS1 можно создать файл задания с именем
/etc/init/serial-ttyS1.conf
:# Выполнение getty в /dev/ttyS1. start on stopped rc RUNLEVEL=[2345] stop on starting runlevel [016] respawn exec /sbin/agetty /dev/ttyS1 115200 vt100-nav
/etc/securetty
.
/etc/shutdown.allow
больше не поддерживается.
4.3. IPTables и межсетевой экран
SECMARK
для присвоения пакетам метки защиты, которая будет использоваться подсистемами безопасности (SELinux). Используется только в таблице mangle. Пример:
iptables -t mangle -A INPUT -p tcp --dport 80 -j SECMARK --selctx \ system_u:object_r:httpd_packet_t:s0
4.4. Apache
- Модули mod_file_cache, mod_mem_cache, mod_imagemap больше не поддерживаются.
- Директива IndexOptions по умолчанию использует новый параметр Charset=UTF-8. Если требуется указать каталоги, не использующие UTF-8 (mod_autoindex может создавать такие каталоги), этот параметр надо будет изменить.
- mod_ssl больше не поддерживает distcache.
- Файл PID по умолчанию теперь располагается в
/var/run/httpd
, а не в/var/run
. - Прекращена поддержка mod_python. В качестве альтернативы теперь выступает mod_wsgi.
4.5. PHP
- В этот выпуск входит обновленная версия PHP 5.3. Как следствие, может понадобиться обновить сценарии. Подробную информацию можно найти на сайте PHP:
- Изменения в
/etc/php.ini
:- error_reporting теперь имеет значение E_ALL & ~E_DEPRECATED (вместо E_ALL);
- short_open_tag теперь имеет значение Off (вместо On);
- variables_order теперь имеет значение GPCS (вместо EGPCS);
- enable_dl теперь имеет значение Off (вместо On).
- Расширения mime_magic, dbase, ncurses больше не распределяются.
4.6. BIND
- Стандартная конфигурация ACL в Red Hat Enterprise Linux 5 разрешала выполнение запросов и рекурсивную обработку узлов. В Red Hat Enterprise Linux 6, все узлы по умолчанию могут запрашивать достоверные данные, но только компьютерам в локальной сети разрешается отправлять рекурсивные запросы.
allow-query-cache
заменяет устаревший параметрallow-recursion
и используется для управления доступом к кэшу сервера, где содержатся недоверенные данные (результаты рекурсивного поиска и информация о корневом сервере имен).- Сценарий
bind-chroot-admin
, который использовался для создания символьных ссылок к окружению chroot, был удален. Теперь настройки можно изменять напрямую из обычного (не chroot) окружения, а сценарии инициализации автоматически подключают необходимые файлы в окружении chroot в процессе запускаnamed
. - Каталог
/var/named
теперь недоступен для записи. Файлы зон, которые необходимо записать (такие как DDNS), должны помещаться в/var/named/dynamic
. - Параметр
dnssec [yes|no]
удален. Его заменили два отдельных параметра —dnssec-enable
(включает поддержку DNSSEC) иdnssec-validation
(включает проверку DNSSEC). Присвоениеdnssec-enable
значения "no" на рекурсивном сервере означает, что он не будет использоваться для перенаправления с другого сервера, отвечающего за проверку DNSSEC. Оба параметра по умолчанию установлены в "yes". - В
/etc/named.conf
больше не требуется добавлять выражениеcontrols
для использования утилитыrndc
. Службаnamed
автоматически разрешает управление подключениями через петлевое устройство, аnamed
иrndc
используют один и тот же секретный ключ, созданный в процессе установки и расположенный в/etc/rndc.key
.
dnssec-validation
в /etc/named.conf
.
4.7. NTP
/etc/ntp.conf
следующие строки теперь отмечены как комментарий:
#server 127.127.1.0 # local clock #fudge 127.127.1.0 stratum 10
ntpd
будет передавать информацию о времени только тем клиентам, которые синхронизированы с сервером NTP или другими часами. Снимите комментарий, чтобы изменить это поведение.
ntpdate
больше не выполняется при запуске ntpd
с параметром -x
(в секции OPTIONS файла /etc/sysconfig/ntpd
) или при наличии определений серверов в /etc/ntp/step-tickers
. За это отвечает отдельная служба ntpdate
(отключена по умолчанию), которую можно включить с помощью ntpd
. Ее активация необходима лишь в случае, если для запуска других служб требуется гарантировать точность времени, или их нормальная функциональность может быть нарушена при корректировании времени позднее с помощью ntpd
.
ntpd
и NetworkManager существует вероятность конфликтов, поэтому в /etc/sysconfig/network
может потребоваться добавить выражение NETWORKWAIT=1
. Подробную информацию можно найти в руководстве по развертыванию Red Hat Enterprise Linux.
4.8. Kerberos
des-cbc-crc
, des-cbc-md4
, des-cbc-md5
, des-cbc-raw
, des3-cbc-raw
, des-hmac-sha1
и arcfour-hmac-exp
. Таким образом, клиенты не смогут выполнить аутентификацию и получить доступ к службам, использующим перечисленные ключи.
cpw -keepold
.
/etc/krb5.conf
измените значение параметра allow_weak_crypto
. По умолчанию он установлен в false, а для выполнения аутентификации потребуется изменить значение:
[libdefaults] allow_weak_crypto = yes
dump
с параметром -r13
.
4.9. Почта
4.9.1. Sendmail
- В строке
DAEMON_OPTIONS
файла/etc/mail/sendmail.mc
разрешить прослушивание сетевых устройств. - Отметить строку
DAEMON_OPTIONS
в/etc/mail/sendmail.mc
как комментарий.
/etc/mail/sendmail.cf
:
su -c 'yum install sendmail-cf' su -c 'make -C /etc/mail'
4.9.2. Exim
4.9.3. Dovecot
Основной файл конфигурации Dovecot 2.x перемещен из /etc/dovecot.conf
в /etc/dovecot/dovecot.conf
, а другие файлы перемещены в /etc/dovecot/conf.d/*.conf
. Сами настройки практически не изменились и совместимы с новой версией. Проверить список измененных и удаленных параметров можно с помощью команды
doveconf [-n] -c /old/dovecot.conf
4.10. MySQL®
Драйвер DBD MySQL теперь обладает двойной лицензией, поэтому пакет apr-util-mysql включен в программный репозиторий Red Hat Enterprise Linux 6.
4.11. PostgreSQL
При обновлении Red Hat Enterprise Linux 5 с PostgreSQL 8.4 (postgresql84-*) новые пакеты PostgreSQL просто их заменят.
На странице http://wiki.postgresql.org/wiki/WhatsNew84 можно найти информацию о совместимости PostgreSQL 8.1 и 8.4.
4.12. Squid
/etc/squid/squid.conf
значительно сокращен, а параметры настройки Squid изменились и не всегда совместимы со старыми версиями. Подробную информацию можно найти в примечаниях к выпуску Squid 3.1 на http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html.
4.13. Bluetooth
В предыдущих выпусках Red Hat Enterprise Linux служба Bluetooth запускалась по умолчанию в фоновом режиме. Теперь Bluetooth запускается лишь по требованию и автоматически останавливается спустя 30 секунд после остановки устройства. Это уменьшает потребление ресурсов.
4.14. Cron
На смену vixie-cron в Red Hat Enterprise Linux 6 пришел пакет cronie. Отличие между ними состоит в том, как обрабатываются регулярные задания (ежедневные, еженедельные, ежемесячные). Cronie использует файл /etc/anacrontab
, который выглядит примерно так:
# the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 # period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
RANDOM_DELAY=0 # or don't use this option at all START_HOURS_RANGE=4-5 # period in days delay in minutes job-identifier command 1 0 cron.daily nice run-parts /etc/cron.daily 7 0 cron.weekly nice run-parts /etc/cron.weekly @monthly 0 cron.monthly nice run-parts /etc/cron.monthly
- случайная задержка при запуске задания в
/etc/anacrontab
; - определение временных рамок для заданий в
/etc/anacrontab
; - для каждой таблицы cron можно определить отдельную переменную CRON_TZ;
- cron по умолчанию проверяет наличие изменений в таблицах с помощью inotify.
4.15. Регистрация событий
dateext
в /etc/logrotate.conf
теперь включен по умолчанию. Он отвечает за архивацию старых журналов посредством добавления расширения в виде ГГГГММДД (где Г — год, М — месяц, Д — день) вместо номера, как это делалось раньше.
Глава 5. Инструменты командной строки
5.1. Grep
grep
. Теперь результат поиска [a-z] зависит от значения переменной LC_COLLATE.
LC_COLLATE=C
позволяет сохранить старое поведение. Однако в Red Hat Enterprise Linux 6 рекомендуется определять интервал в формате [[:начало:]],[[:конец:]].
5.2. Sed
-i
позволяет удалить содержимое файлов, доступных только для чтения. Как известно, права доступа к файлу определяют допустимые действия по отношению к самому файлу, в то время как права доступа к каталогу определяют допустимые действия применительно к файлам в его составе. Именно поэтому sed
не позволяет использовать параметр -i
применительно к файлам в каталогах, доступных только для чтения, так как при этом будут повреждены прямые и символьные ссылки.
5.3. Pcre
- Проверка UTF-8 теперь производится в соответствии с правилами RFC 3629 вместо RFC 2279, которые являются более строгими. Так, например, порядковое значение знаков UTF-8 ограничивается 0x0010FFFF:
$ echo -ne "\x00\x11\xff\xff" | recode UCS-4-BE..UTF8 | pcregrep --utf-8 '.' pcregrep: pcre_exec() error -10 while matching this line:
За подробной информацией обратитесь к http://tools.ietf.org/html/rfc3629#section-12. - Созданные предыдущими версиями PCRE шаблоны надо будет пересоздать. Это может сказаться на производительности программ, которые хранят выражения PCRE во внешней памяти и загружают их при необходимости. Обычно применяется с целью повышения производительности, в частности при создании комплексных спам-фильтров.
5.4. Оболочка
bash
и ksh
теперь располагаются в /bin
, в связи с чем может потребоваться откорректировать сценарии.
5.5. Nautilus
Открыть терминал
в контекстном меню nautilus-open-terminal
откроет новое окно терминала в текущем каталоге. Раньше это действие было доступно из меню Рабочий стол
, но в новом окне открывался домашний каталог пользователя. В Red Hat Enterprise Linux 6 по умолчанию будет открыт ~/Desktop/
. Чтобы восстановить предыдущее поведение, измените значение desktop_opens_home_dir
:
gconftool-2 -s /aps/nautilus-open-terminal/desktop_opens_dir --type=bool true
Глава 6. Рабочий стол
- В Red Hat Enterprise Linux 6 консоль графического интерфейса перенесена с tty7 на tty1.
Некоторыми параметрами GDM теперь управляет GConf.
gconftool2
и gconf-editor
. Основные параметры перечислены ниже.
- /apps/gdm/simple-greeter/banner_message_enable
false (boolean)
Включает и отключает приветствие. - /apps/gdm/simple-greeter/banner_message_text
NULL (string)
Позволяет показать сообщение в окне приветствия. - /apps/gdm/simple-greeter/logo_icon_name
computer (string)
Тема для логотипа приветствия. - /apps/gdm/simple-greeter/disable_restart_buttons
false (boolean)
Отвечает за показ кнопок перезагрузки в окне приветствия. - /apps/gdm/simple-greeter/wm_use_compiz
false (booleans)
Позволяет использовать compiz вместо metacity.
/apps/gdm/simple-greeter/settings-manager-plugins/sound/active
позволяет отключить звуковой модуль.
Глава 7. Безопасность и аутентификация
7.1. SELinux
sshd
теперь является ограничиваемой службой.
7.2. SSSD
7.3. LDAP
В Red Hat Enterprise Linux 6 изменена конфигурация OpenLDAP. Например, раньше настройки slapd
хранились в /etc/openldap/slapd.conf
, теперь они перенесены в специальный каталог /etc/openldap/slapd.d/
. Подробную информацию можно найти на сайте openldap.org. Далее будут рассмотрены способы адаптации старого файла конфигурации.
7.3.1. Преобразование конфигурации slapd
/etc/openldap/slapd.conf
будет преобразован с сохранением новых настроек в /etc/openldap/slapd.d/
.
- Очистите каталог
/etc/openldap/slapd.d/
:# rm -rf /etc/openldap/slapd.d/*
- Выполните
slaptest
для проверки старого файла и определения нового каталога:slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
- Настройте права доступа:
chown -R ldap:ldap /etc/openldap/slapd.d
chmod -R 000 /etc/openldap/slapd.d
chmod -R u+rwX /etc/openldap/slapd.d
- Убедившись, что служба работает с новыми настройками, старый файл можно удалить:
rm -rf /etc/openldap/slapd.conf
7.4. Контрольные суммы
7.5. Подключаемые модули аутентификации
/etc/pam.d/system-auth-ac
.
/etc/pam.d/password-auth-ac
, etc/pam.d/smartcard-auth-ac
, /etc/pam.d/fingerprint-auth-ac
.
sshd
и других удаленных служб (таких как ftpd
) теперь включает файл /etc/pam.d/password-auth
вместо /etc/pam.d/system-auth
.
7.6. Системные пользователи
/usr/share/doc/setup-*/uidgid
) увеличен со 100 (как было в Red Hat Enterprise Linux 3, 4, 5) до 200. Это изменение может привести к сбою установки в системах, где идентификаторы с 100 по 200 уже заняты, и нарушить работу некоторых программ.
Глава 8. Ядро
8.1. Ядро
/etc/modprobe.conf
больше не используется по умолчанию для управления модулями ядра. Пример dracut:
# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-old.img # dracut --force /boot/initramfs-$(uname -r).img $(uname -r)
Глава 9. Изменения пакетов и драйверов
9.1. Изменения программ конфигурации системы
Удален устаревший пакет system-config-bind. Вместо этого рекомендуется редактировать файл named.conf
вручную. Установленную вместе с пакетом bind документацию можно найти в /usr/share/doc/bind-x.y.z
, в то время как настройки расположены в /usr/share/doc/bind-x.y.z/sample
. Существующая версия system-config-bind может генерировать стандартную конфигурацию BIND, поэтому в некоторых окружениях можно будет перенести старые файлы конфигурации в новый каталог. При этом рекомендуется проверить их работоспособность.
Программа system-config-boot, которая предлагала графический интерфейс настройки GRUB, признана устаревшей и была удалена. В большинстве случаев стандартной конфигурации GRUB должно быть достаточно, но при необходимости ее можно изменить прямо в файле grub.conf
, расположенном в /boot/grub
. Документацию GRUB можно найти на сайте http://www.gnu.org/software/grub/.
Программа system-config-cluster признана устаревшей и удалена без замены. Используйте ricci и luci проекта Conga.
Теперь функциональность system-config-display реализуют средства конфигурации XRandr рабочих столов GNOME и KDE. Настройка дисплея производится динамически, так как отдельного файла конфигурации xorg.conf
больше нет.
xrandr
. Дополнительную информацию можно получить на справочной странице man xrandr
или в справке xrandr --help
.
Программа system-config-httpd признана устаревшей и удалена без замены. Теперь веб-серверы следует настраивать вручную в каталоге /etc/httpd
. Основной файл /etc/httpd/conf/httpd.conf
содержит подробные комментарии для большинства конфигураций. Документация Apache включена в пакет httpd-manual.
Программа system-config-lvm устарела. Вместо нее следует использовать gnome-disk-util или lvm.
Программа system-config-netboot устарела и удалена без замены. Теперь следует использовать Red Hat Satellite.
Пакет system-config-network удален, а его функции теперь выполняет NetworkManager. В поддерживаемых окружениях рабочего стола NetworkManager-applet устанавливается по умолчанию. Подробную информацию можно найти на домашней странице проекта: http://projects.gnome.org/NetworkManager/.
Программа system-config-nfs устарела и удалена без замены. Рекомендуется настраивать сервер NFS вручную.
Функции system-config-rootpassword теперь реализованы на уровне system-config-users. Чтобы задать пароль root с помощью system-config-users, надо снять флажок Скрыть системных пользователей и группы
в окне параметров, после чего пользователь root будет показан в списке, а его пароль можно будет изменить.
Программа system-config-samba устарела и удалена без замены. Рекомендуется настраивать сервер SMB вручную.
Вместо system-config-securitylevel теперь следует использовать system-config-firewall.
Программа system-config-soundcard удалена. Определение и настройка аудиокарты производится автоматически.
Программа system-config-switchmail устарела и удалена без замены. В Red Hat Enterprise Linux 6 рекомендуется использовать Postfix. Другие почтовые агенты потребуется настроить вручную.
9.2. Bash
- Начиная с Bash-4.0, в конструкциях подстановки процессов содержимое фигурных скобок не заменяется, поэтому развернутое содержимое и все подстановки процессов требуется указать отдельно.
- Начиная с Bash-4.0, SIGCHLD может прерывать процесс
wait
в соответствии со спецификацией Posix, поэтому ловушка SIGCHLD не будет вызываться для каждого завершающего работу процесса при использованииwait
для ожидания завершения всех дочерних процессов. - Начиная с Bash-4.0, поиск завершающего разделителя подстановки команды
$()
производится в соответствии с правилами Posix, поэтому ошибки разбора будут обнаружены до создания подоболочки с целью проверки подстановки. - При разбиении строки на слова программируемый код завершения использует тот же набор разделителей что и библиотека readline (вместо набора метасимволов оболочки).
- По истечении ожидания встроенной команды
read
будет выполнена попытка присвоения прочитанных значений заданным переменным. Если введенно недостаточно значений, переменным будет присвоена пустая строка. Раньше подобный ввод просто игнорировался. - Начиная с Bash-4.0, при остановке команды с помощью
kill
в процессе выполнения последовательности команд оболочка воспринимает это как прерывание. - Начиная с Bash-4.0, изменился метод обработки команды
set -e
: в случае ошибки при выполнении последовательности команд оболочка будет закрыта. Соответствующий стандарт Posix находится в стадии разработки. - Начиная с Bash-4.0, исправлена ошибка режима Posix, которая заставляла команду
. (source)
выполнять поиск имени файла в текущем каталоге, даже если PATH не содержал"."
. Согласно правилам Posix, в этой ситуации оболочка не должна проверять переменную PWD. - Bash-4.1 использует текущие языковые настройки для сравнения строк в выражениях
[[
. Это поведение можно изменить с помощью параметровcompatNN
shopt.
Заключение в кавычки аргумента шаблона в регулярном выражении, сопоставляемому оператору «=~», может нарушить работу выражения. Это актуально для всех архитектур. В ранних версиях bash (до 3.2) результат заключения аргумента в кавычки для передачи выражению «[[ команда =~» явно не оговаривался, но в действительности это требовало добавления обратной наклонной черты для выделения специальных символов, что препятствовало обработке наклонной черты при разборе слов с двойными кавычками и расходилось с результатами аналогичной обработки оператором ==.
9.3. Изменения других пакетов
Приведенная таблица содержит список обновленных пакетов и их основные изменения.
Таблица 9.1. Обновленные пакеты
Обновлен | Описание |
---|---|
OProfile | OProfile 0.9.5 включает поддержку процессоров Intel Atom и i7, AMD 11h и функции IBS (Instruction Based Sampling) для AMD 10h. |
quota, edquota, setquota | В качестве аргумента принимает имя или идентификатор пользователя. Числовое значение аргумента автоматически обрабатывается как идентификатор, что может привести к ошибкам, если на самом деле это имя пользователя, состоящее из цифр. Пакет quota был обновлен. Удален аргумент -x , который принудительно осуществлял преобразование имени пользователя в идентификатор. Эту функцию теперь реализует параметр --always-resolve . |
module-init-tools | /etc/modprobe.conf отсутствует, но его можно создать вручную. |
Приведенная таблица содержит список удаленных пакетов.
Таблица 9.2. Удаленные пакеты
Удаленные пакеты | Замена |
---|---|
aspell | hunspell. Пакет aspell включен только с целью поддержки зависимости. Проверку орфографии следует осуществлять с помощью hunspell. |
beecrypt | NSS/OpenSSL |
crash-spu-commands | Нет замены. Пакеты полностью исключены. |
dhcpv6/dhcpv6-client | dhcp и dhclient теперь включают поддержку IPv6. |
elfspe2 | Нет замены. Пакеты полностью исключены. |
exim | Postfix |
gnbd | Рекомендуется использовать iSCSI. |
gnome-vfs | gvfs |
ipsec-tools | Openswan |
kmod-gnbd | Рекомендуется использовать iSCSI. |
lam | openmpi |
libspe2 | Нет замены. Пакеты полностью исключены. |
libspe2-devel | Нет замены. Пакеты полностью исключены. |
linuxwacom | xorg-x11-drv-wacom |
mod_python | mod_wsgi, использующий интерфейс WSGI. |
mkinitrd | dracut |
nss_ldap | nss-pam-ldapd, pam_ldap |
openmotif-2.2 | openmotif-2.3 |
spu-tools | Нет замены. Пакеты полностью исключены. |
switchdesk | За управление сеансами отвечают GDM и KDM. |
syslog | rsyslog |
SysVinit | upstart |
vixie-cron | cronie |
- qt3
- GFS1
- gcj входит в Red Hat Enterprise Linux 6, но будет исключен из будущих выпусков.
9.4. Изменения драйверов
- aic7xxx_old
- atp870u
- cpqarray
- DAC960
- dc395x
- gdth
- hfs
- hfsplus
- megaraid
- net/tokenring/
- paride
- qla1280
- sound/core/oss
- sound/drivers/opl3/*
- sound/pci/nm256
- aacraid
- aic7xxx
- i2o
- ips
- megaraid_mbox
- mptlan
- mptfc
- sym53c8xx
- В Red Hat Enterprise Linux 6 на смену NBD (Network Block Device) пришел iSCSI.
- Прекращена поддержка файловой системы HFS.
- Удален акселератор Tux.
- Ядро x86 без PAE. Предыдущие версии Red Hat Enterprise Linux включали два варианта ядра для архитектуры i686 — c PAE и без PAE. Оборудование без PAE уже не так широко распространено, поэтому Red Hat Enterprise Linux 6 включает только версию ядра с PAE.
- Упреждающий планировщик ввода и вывода исключен из Red Hat Enterprise Linux 6 — его заменил CFQ (Completely Fair Queueing), который использовался по умолчанию в ядре Linux с 2006 года. Пользователям, использующим упреждающий планировщик, рекомендуется оценить нагрузку и производительность CFQ. Несмотря на то что CFQ должен функционировать примерно так же для аналогичного уровня нагрузки, Red Hat не может полностью гарантировать отсутствие расхождений.
9.5. Изменения библиотек
/etc/yum.conf
строку multilib_policy=all
.
Приложение A. История изменений
История переиздания | |||
---|---|---|---|
Издание 6.1-39.402 | Fri Oct 25 2013 | Rüdiger Landmann | |
| |||
Издание 6.1-39.2 | 2012-07-18 | Anthony Towns | |
| |||
Издание 6.1-39 | Wed May 18 2011 | Scott Radvan | |
|