Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Переход на Red Hat Enterprise Linux 6

Red Hat Enterprise Linux 6

Планирование миграции

Редакция 6.1

Логотип

Red Hat Inc.

Аннотация

В этом документе рассматриваются особенности переноса систем Red Hat Enterprise Linux 5 на Red Hat Enterprise Linux 6.

Глава 1. Введение

В этом руководстве рассматриваются основные принципы миграции выпусков Red Hat Enterprise Linux 5 на Red Hat Enterprise Linux 6.
Здесь обсуждаются различия Red Hat Enterprise Linux 5 и Red Hat Enterprise Linux 6 с целью облегчения использования Red Hat Enterprise Linux 6. Стоит отметить, что этот документ не содержит полный список изменений; основное внимание будет уделено особенностям программ Red Hat Enterprise Linux 5, поведение которых значительно изменилось в Red Hat Enterprise Linux 6.

1.1. Red Hat Enterprise Linux 6

Red Hat Enterprise Linux является лидером среди вычислительных платформ с открытым кодом, распространяется по коммерческой подписке, гарантирует поддержку качества и сертифицирована ведущими производителями аппаратного и программного обеспечения. Red Hat Enterprise Linux объединяет инновационные технологии с открытым кодом и стабильность платформы корпоративного уровня независимо от окружения, будь то настольный компьютер или масштабный центр данных.
Red Hat Enterprise Linux 6 характеризует собой следующее поколение в развитии операционных систем Red Hat Enterprise Linux. Комплект доступен для следующих архитектур:
  • 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. Программная совместимость

Этот выпуск включает разрешения зависимостей для поддержки работы программ, предназначенных для ранних версий Red Hat Enterprise Linux. Все еще присутствуют ранние версии некоторых библиотек, в основном, для программ C и C++.
Стоит отметить, что в повторном тестировании и сертификации программ для промежуточных выпусков Red Hat Enterprise Linux необходимости нет. Политика совместимости Red Hat Enterprise Linux гарантирует их работоспособность в пределах основного выпуска. Так, например, программы, сертифицированные для Red Hat Enterprise Linux 6.0, будут совместимы с Red Hat Enterprise Linux 6.1 и т.п.
Ниже приведена таблица совместимости.

Таблица 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. Установка

В этой секции рассматриваются различия установки Red Hat Enterprise Linux 6 и Red Hat Enterprise Linux 5. Описываемые характеристики могут отличаться в зависимости от исходной версии Red Hat Enterprise Linux 5.

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. Список отличий

Далее перечислены основные изменения команд Red Hat Enterprise Linux 6.
Удалены команды:
  • key
  • langsupport
  • mouse
Устарели команды:
  • monitor
  • xconfig --resolution
Добавлены команды:
  • fcoe
  • group
  • rescue
  • sshpw
  • updates

2.2.2.7. pykickstart

Пакет 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 Enterprise Linux 6 предоставляет гибкие методы управления подписками.
  • Подписки 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. Текстовый режим установки

Упрощена текстовая установка Red Hat Enterprise Linux 6.
  • Anaconda теперь автоматически выбирает необходимые пакеты из двух основных групп. Другие пакеты можно будет установить после установки.
  • В окне выбора устройств по-прежнему можно определить параметры разделов для установки Red Hat Enterprise Linux: занять весь диск, удалить существующие разделы Linux или занять свободное пространство. Но теперь anaconda автоматически создает основную схему разделов и не запрашивает добавление разделов и файловых систем. Для создания нестандартной структуры разделов рекомендуется выбрать графический режим установки вместо кикстарта или установки с помощью VNC. Более тонкая настройка разделов, создание логических томов, а также возможности шифрования файловых систем и изменения их размера по-прежнему доступны в графическом режиме или могут быть заданы в файле кикстарта.
  • В текстовом режиме установки загрузчик будет настроен автоматически.
  • Процесс текстовой установки с использованием файла кикстарта не отличается от предыдущих выпусков. Но так как выбор пакетов, создание собственных разделов и изменение настроек загрузчика осуществляется автоматически, программа установки не будет запрашивать недостающую информацию. Необходимо заранее предоставить все необходимые данные в файле кикстарта; в противном случае установка будет прервана.

Глава 3. Хранение данных и файловые системы

3.1. RAID

Обновления

Обновление набора dmraid до mdraid не поддерживается, поэтому попытка обновления вызовет предупреждение. В то же время допускается создание новых и обновление существующих наборов mdraid.

Новый формат суперблока может вызвать ошибки при обновлении массивов. Суперблок (используемый всеми устройствами за исключением раздела /boot в RAID) теперь располагается в начале массива, поэтому файловые системы и данные LVM будут смещены относительно начала раздела. Как следствие, если массив не используется, команды подключения LVM и файловых систем (mount) не смогут корректно определить размер устройства и файловой системы. Это сделано с целью запрета подключения дисков напрямую и повреждения массивов в случае отсутствия синхронизации. Таким образом, для подключения единственного диска сначала потребуется создать массив и добавить в него этот диск.
При перезагрузке система RAID может определить диск, не входящий в состав массива, как несовместимый и исключит его. Это ожидаемое поведение. Просто следует повторно добавить диск в массив (с помощью mdadm), после чего будет выполнена повторная синхронизация. После этого диски не будут удаляться из массива.
Новый суперблок поддерживает присвоение имен массивам mdraid, которое отличается от старой схемы /dev/md0, /dev/md1 и т.п. Допускается использование произвольных имен (например, home, data, opt). Присвоить имя можно с помощью параметра --name=opt. В /dev/md/ будет создана одноименная запись. Если же указано целое число (например, 0), mdadm будет использовать старую схему наименования в формате /dev/mdx. В настоящее время установщик не разрешает выбирать имена, поэтому устройствам присваиваются номера как и раньше.
Новые массивы mdraid позволяют сохранять области, в которые производилась запись на момент отключения, что позволяет идентифицировать ошибочные части массива и повторно их синхронизировать в случае некорректного отключения системы. Это значительно уменьшает затраченное на повторную синхронизацию время. Восстановленные области будут автоматически добавлены в массив. Небольшие массивы (такие как /boot) и массивы, используемые для подкачки, от этого не выигрывают, но в остальных случаях их можно добавить к существующему массиву с помощью команды mdadm --grow. Стоит отметить, что поддержка таких областей снизит производительность (примерно 3-5% для блока размером 65536 и до 10% для блока размером 8192), то есть при их добавлении в массив лучше выбрать большой размер. Рекомендуемый размер блока — 65536.

3.2. ext4

Преобразование ext3 в 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

Файловая система fusecompress обеспечивает сжатие данных и может подключаться непривилегированными пользователями. Red Hat Enterprise Linux 6 включает обновленную версию. Пользователям предыдущих версий fusecompress потребуется преобразовать данные в соответствии с новым форматом. Дополнительно надо будет установить пакет fusecompress_offline1 (за исключением случаев выполнения распаковки перед обновлением).

3.4. blockdev

blockdev

Параметр blockdev --rmpart больше не поддерживается. Его функции теперь исполняют команды partx(8) и delpart(8).

Глава 4. Сетевое окружение и службы

4.1. Интерфейсы и их настройка

NetworkManager

Для настройки сетевых интерфейсов в Red Hat Enterprise Linux 6 по умолчанию используется NetworkManager.

Infiniband

В 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

xinetd запускает сетевые службы по запросу. В текущем выпуске изменено максимально допустимое число открытых файловых дескрипторов.

  • Вместо select() теперь используется механизм прослушивания poll(), что позволяет изменять число открытых файловых дескрипторов.
  • Это число можно корректировать отдельно для каждой службы с помощью директивы rlimit_files в файле конфигурации. Значение должно быть положительным целым числом или «UNLIMITED».
Уровни выполнения

В Red Hat Enterprise Linux 6 уровни выполнения 7, 8 и 9 больше не поддерживаются.

Upstart

На смену init из пакета sysvinit пришла новая система инициализации на основе событий под названием Upstart. Она отвечает за запуск заданий и служб при загрузке, наблюдение за ними в процессе работы и остановку при отключении. За подробной информацией относительно Upstart обратитесь к справочной странице init(8).

Upstart рассматривает процессы как задания, которые определены в файлах в каталоге /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
    
Чтобы разрешить авторизацию root в getty, все так же требуется убедиться, что ttyS1 присутствует в /etc/securetty.
Файл /etc/shutdown.allow больше не поддерживается.

4.3. IPTables и межсетевой экран

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

Далее перечислены основные изменения веб-сервера Apache в Red Hat Enterprise Linux 6.
  • Модули 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 в Red Hat Enterprise Linux 6.
  • В этот выпуск входит обновленная версия 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

Ниже перечислены основные изменения 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.
По умолчанию BIND устанавливается с функциями проверки DNSSEC и использует регистр ISC DLV. Все подписанные домены (gov., se., cz. и т.п.), для которых есть ключ в регистре ISC DLV, будут проверены на рекурсивном сервере. Если результат проверки неудовлетворителен вследствие попытки «отравления» кэша, фальшивые данные не будут переданы пользователю. Широко применяемые спецификации DNSSEC характеризуют важный шаг в обеспечении защиты пользователей и активно поддерживаются Red Hat Enterprise Linux 6. Как уже упоминалось, за проверку DNSSEC отвечает параметр dnssec-validation в /etc/named.conf.

4.7. NTP

Протокол NTP (Network Time Protocol) позволяет синхронизировать системные часы с сервером. В файле конфигурации /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

В Red Hat Enterprise Linux 6 клиенты и серверы Kerberos (включая KDC) по умолчанию не используют ключи для des-cbc-crc, des-cbc-md4, des-cbc-md5, des-cbc-raw, des3-cbc-raw, des-hmac-sha1 и arcfour-hmac-exp. Таким образом, клиенты не смогут выполнить аутентификацию и получить доступ к службам, использующим перечисленные ключи.
Многие службы могут добавлять новый набор ключей (в том числе для использования со строгим шифром) в файл ключей и заменять ключи на те, которые используются с более строгим шифром, с помощью команды администратора cpw -keepold.
Если все же необходимо продолжать использовать слабый шифр, в секцию libdefaults файла /etc/krb5.conf измените значение параметра allow_weak_crypto. По умолчанию он установлен в false, а для выполнения аутентификации потребуется изменить значение:
[libdefaults]
allow_weak_crypto = yes
Поддержка Kerberos IV (как совместной библиотеки, так и механизма аутентификации) удалена и добавлены новые правила блокирования, требующие изменения формата дампа базы данных. Основные KDC, создающие дамп в формате, который распознается старыми версиями KDC, должны выполнять команду dump с параметром -r13.

4.9. Почта

4.9.1. Sendmail

В выпусках Red Hat Enterprise Linux 5 агент sendmail по умолчанию принимал сетевые подключения от внешних узлов. В Red Hat Enterprise Linux 6 по умолчанию принимаются только подключения из локальной системы (localhost). Чтобы sendmail мог выполнять функции сервера для удаленных компьютеров, надо выполнить одно из перечисленных ниже действий.
  • В строке DAEMON_OPTIONS файла /etc/mail/sendmail.mc разрешить прослушивание сетевых устройств.
  • Отметить строку DAEMON_OPTIONS в /etc/mail/sendmail.mc как комментарий.
Чтобы изменения вступили в силу, установите пакет sendmail-cf и заново создайте /etc/mail/sendmail.cf:
su -c 'yum install sendmail-cf'
su -c 'make -C /etc/mail'

4.9.2. Exim

Exim удален и вместо него используется Postfix.

4.9.3. Dovecot

Конфигурация 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

Драйвер DBD MySQL теперь обладает двойной лицензией, поэтому пакет apr-util-mysql включен в программный репозиторий Red Hat Enterprise Linux 6.

4.11. PostgreSQL

Обновление баз данных

При обновлении Red Hat Enterprise Linux 5 с PostgreSQL 8.4 (postgresql84-*) новые пакеты PostgreSQL просто их заменят.

Прежде чем приступить к обновлению Red Hat Enterprise Linux 5 с PostgreSQL 8.1 (postgresql-*), необходимо выполнить действия, перечисленные на http://www.postgresql.org/docs/8.4/interactive/install-upgrading.html. В противном случае не исключены проблемы доступа новой версии PostgreSQL к данным вследствие изменений формата. Создайте дамп до обновления системы Red Hat Enterprise Linux.
Другие изменения

На странице http://wiki.postgresql.org/wiki/WhatsNew84 можно найти информацию о совместимости PostgreSQL 8.1 и 8.4.

4.12. Squid

Новая версия Squid 3.1 обеспечивает поддержку IPv6. Файл конфигурации /etc/squid/squid.conf значительно сокращен, а параметры настройки Squid изменились и не всегда совместимы со старыми версиями. Подробную информацию можно найти в примечаниях к выпуску Squid 3.1 на http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html.
Squid предоставляет возможности аутентификации пользователей с помощью ncsa_auth и pam_auth. В Red Hat Enterprise Linux 6 изменились полномочия этих обработчиков. Так, например, в предыдущих выпусках был установлен флаг setuid для ncsa_auth и pam_auth, поскольку для доступа к системным файлам были нужны дополнительные права доступа. Теперь в этом нет необходимости.

4.13. Bluetooth

Bluetooth по требованию

В предыдущих выпусках Red Hat Enterprise Linux служба Bluetooth запускалась по умолчанию в фоновом режиме. Теперь Bluetooth запускается лишь по требованию и автоматически останавливается спустя 30 секунд после остановки устройства. Это уменьшает потребление ресурсов.

4.14. Cron

Vixie cron и Cronie

На смену 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
Ежедневные задания будут выполняться в период с 3 утра до 10 вечера с произвольной задержкой. Так, например, cron.daily будет запускаться с задержкой, включающей принудительное пятиминутное ожидание и случайную задержку от 0 до 45 минут. Задержку можно отключить:
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
Характеристики cronie:
  • случайная задержка при запуске задания в /etc/anacrontab;
  • определение временных рамок для заданий в /etc/anacrontab;
  • для каждой таблицы cron можно определить отдельную переменную CRON_TZ;
  • cron по умолчанию проверяет наличие изменений в таблицах с помощью inotify.
Подробную информацию о cronie и cronie-anacron можно найти в руководстве по развертыванию Red Hat Enterprise Linux.

4.15. Регистрация событий

Параметр dateext в /etc/logrotate.conf теперь включен по умолчанию. Он отвечает за архивацию старых журналов посредством добавления расширения в виде ГГГГММДД (где Г — год, М — месяц, Д — день) вместо номера, как это делалось раньше.

Глава 5. Инструменты командной строки

В этой секции рассматриваются основные изменения команд в Red Hat Enterprise Linux 6.

5.1. Grep

Изменился порядок определения диапазонов верхнего и нижнего регистра команды grep. Теперь результат поиска [a-z] зависит от значения переменной LC_COLLATE.
LC_COLLATE=C позволяет сохранить старое поведение. Однако в Red Hat Enterprise Linux 6 рекомендуется определять интервал в формате [[:начало:]],[[:конец:]].
Это изменение кардинально изменяет вывод, поэтому следует пересмотреть сценарии и процессы и откорректировать формат.

5.2. Sed

sed с параметром -i позволяет удалить содержимое файлов, доступных только для чтения. Как известно, права доступа к файлу определяют допустимые действия по отношению к самому файлу, в то время как права доступа к каталогу определяют допустимые действия применительно к файлам в его составе. Именно поэтому sed не позволяет использовать параметр -i применительно к файлам в каталогах, доступных только для чтения, так как при этом будут повреждены прямые и символьные ссылки.

5.3. Pcre

Обновленная версия пакета pcre 7.8 включает следующие изменения:
  • Проверка 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

Некоторыми параметрами GDM теперь управляет GConf.

Приветствие GDM теперь настраивается с помощью GConf. Файл gdm-simple-greeter.schemas содержит исходные значения, которые можно изменить с помощью 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.
Дополнительные модули можно отключить с помощью GConf. Так, например, /apps/gdm/simple-greeter/settings-manager-plugins/sound/active позволяет отключить звуковой модуль.

Глава 7. Безопасность и аутентификация

В этой главе рассматриваются основные изменения в отношении защиты и аутентификации — SELinux, SSSD, LDAP, контрольные суммы и PAM.

7.1. SELinux

sshd теперь является ограничиваемой службой.

7.2. SSSD

SSSD (System Security Services Daemon) позволяет обращаться к удаленным механизмам аутентификации. Таким образом стирается граница между локальной и сетевой аутентификацией и допускается использование разных механизмов. Информацию о пользователях предоставляет база данных, называемая доменом, которая может служить источником данных для удаленной аутентификации. Допускается использование нескольких механизмов, что разрешает нескольким серверам реализовать различные пространства имен. Полученная информация будет предоставлена внешним приложениям с помощью стандартных интерфейсов PAM и NSS.
SSSD выполняется как комплект служб, независимых от вызывающих их приложений. Поэтому приложениям необязательно создавать собственные подключения к удаленным доменам и даже не требуется знать о том, какая именно служба используется в данный момент. Локальное кэширование данных идентификации и информации о группах позволяет продолжать работу в автономном режиме независимо от источника данных (LDAP, NIS, IPA, DB, Samba и т.п.) и в целом повышает производительность. SSSD допускает использование нескольких поставщиков одного типа (например, LDAP). За подробной информацией обратитесь к руководству по развертыванию Red Hat Enterprise Linux 6.

7.3. LDAP

OpenLDAP

В 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. Контрольные суммы

В Red Hat Enterprise Linux все больше используется алгоритм SHA-256 для проверки данных и аутентификации, постепенно заменяя SHA-1 и MD5.

7.5. Подключаемые модули аутентификации

Стандартные настройки служб подключаемых модулей аутентификации (PAM, Pluggable Authentication Modules) расположены в /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. Системные пользователи

Порог статических идентификаторов UID и GID (за которые отвечает setup в /usr/share/doc/setup-*/uidgid) увеличен со 100 (как было в Red Hat Enterprise Linux 3, 4, 5) до 200. Это изменение может привести к сбою установки в системах, где идентификаторы с 100 по 200 уже заняты, и нарушить работу некоторых программ.
В Red Hat Enterprise Linux 6 при динамическом присвоении UID и GID нумерация начинается с 499 и продолжается в меньшую сторону. При статическом присвоении рекомендуется начинать с 300 и продолжать нумерацию по возрастанию.

Глава 8. Ядро

8.1. Ядро

На смену mkinitrd пришел dracut, а файл /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. Изменения пакетов и драйверов

Список пакетов и драйверов в комплекте Red Hat Enterprise Linux постоянно обновляется по мере добавления и изменения пакетов. Некоторые пакеты и драйверы могут быть исключены в силу прекращения поддержки производителем.
Далее перечислены новые, обновленные и удаленные из Red Hat Enterprise Linux 6 пакеты.

9.1. Изменения программ конфигурации системы

system-config-bind

Удален устаревший пакет 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

Программа system-config-boot, которая предлагала графический интерфейс настройки GRUB, признана устаревшей и была удалена. В большинстве случаев стандартной конфигурации GRUB должно быть достаточно, но при необходимости ее можно изменить прямо в файле grub.conf, расположенном в /boot/grub. Документацию GRUB можно найти на сайте http://www.gnu.org/software/grub/.

system-config-cluster

Программа system-config-cluster признана устаревшей и удалена без замены. Используйте ricci и luci проекта Conga.

system-config-display

Теперь функциональность system-config-display реализуют средства конфигурации XRandr рабочих столов GNOME и KDE. Настройка дисплея производится динамически, так как отдельного файла конфигурации xorg.conf больше нет.

GNOME: СистемаНастройкиДисплей
KDE: СистемныеАдминистрированиеДисплей
Настройки дисплея можно изменить с помощью утилиты xrandr. Дополнительную информацию можно получить на справочной странице man xrandr или в справке xrandr --help.
system-config-httpd

Программа system-config-httpd признана устаревшей и удалена без замены. Теперь веб-серверы следует настраивать вручную в каталоге /etc/httpd. Основной файл /etc/httpd/conf/httpd.conf содержит подробные комментарии для большинства конфигураций. Документация Apache включена в пакет httpd-manual.

system-config-lvm

Программа system-config-lvm устарела. Вместо нее следует использовать gnome-disk-util или lvm.

system-config-netboot

Программа system-config-netboot устарела и удалена без замены. Теперь следует использовать Red Hat Satellite.

system-config-network

Пакет system-config-network удален, а его функции теперь выполняет NetworkManager. В поддерживаемых окружениях рабочего стола NetworkManager-applet устанавливается по умолчанию. Подробную информацию можно найти на домашней странице проекта: http://projects.gnome.org/NetworkManager/.

system-config-nfs

Программа system-config-nfs устарела и удалена без замены. Рекомендуется настраивать сервер NFS вручную.

system-config-rootpassword

Функции system-config-rootpassword теперь реализованы на уровне system-config-users. Чтобы задать пароль root с помощью system-config-users, надо снять флажок Скрыть системных пользователей и группы в окне параметров, после чего пользователь root будет показан в списке, а его пароль можно будет изменить.

system-config-samba

Программа system-config-samba устарела и удалена без замены. Рекомендуется настраивать сервер SMB вручную.

system-config-securitylevel

Вместо system-config-securitylevel теперь следует использовать system-config-firewall.

system-config-soundcard

Программа system-config-soundcard удалена. Определение и настройка аудиокарты производится автоматически.

system-config-switchmail

Программа system-config-switchmail устарела и удалена без замены. В Red Hat Enterprise Linux 6 рекомендуется использовать Postfix. Другие почтовые агенты потребуется настроить вручную.

9.2. Bash

В Red Hat Enterprise Linux 6 по умолчанию используется Bash 4.1. В этой секции рассмотрены особенности совместимости этой версии.
  • Начиная с 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) результат заключения аргумента в кавычки для передачи выражению «[[ команда =~» явно не оговаривался, но в действительности это требовало добавления обратной наклонной черты для выделения специальных символов, что препятствовало обработке наклонной черты при разборе слов с двойными кавычками и расходилось с результатами аналогичной обработки оператором ==.

Начиная с bash 3.2, заключение символов в кавычки выполняется при внутренней обработке аргументов, передаваемых оператору «=~». Это аннулирует специальное назначение символов, используемых для обработки регулярных выражений («.», «[», «\», «(», «)», «*», «+», «?», «{», «|», «^» и «$») и приводит к их прямой подстановке. Обработка кавычек в выражениях «==» выполняется аналогично.
Эти изменения привели к появлению нескольких проблем, главными из которых являются разные подходы к обработке строк в кавычках у bash 3.1 и bash 3.2, а также наличие пробелов в аргументах шаблонов. Обе проблемы могут быть решены посредством сохранения шаблона в переменную оболочки. При обработке таких переменных строки не разбиваются на слова, поэтому шаблоны могут быть беспрепятственно заключены в кавычки и при замене преобразованы в строку, которая может содержать пробелы. Проблема пробелов может быть решена путем добавления обратной наклонной черты.
Bash 4.0 представляет концепцию уровней совместимости, для управления которыми используется shopt. Так, параметр compat31 позволяет вернуться к правилам обработки аргументов оператора «=~», принятым в bash 3.1.

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. Изменения драйверов

В этой главе перечислены основные изменения драйверов в Red Hat Enterprise Linux 6. Все драйверы теперь загружаются в initramfs по умолчанию.
Удаленные драйверы

  • 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. Изменения библиотек

32-битные библиотеки не устанавливаются по умолчанию. Это можно изменить, добавив в файл /etc/yum.conf строку multilib_policy=all.

Приложение A. История изменений

История переиздания
Издание 6.1-39.402Fri Oct 25 2013Rüdiger Landmann
Rebuild with Publican 4.0.0
Издание 6.1-39.22012-07-18Anthony Towns
Rebuild for Publican 3.0
Издание 6.1-39Wed May 18 2011Scott Radvan
Подготовлен к выпуску 6.1.

Юридическое уведомление

Copyright © 2011 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.