Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Глава 3. Компиляторы и утилиты
Dracut
настраивает VLAN в соответствии с записями iBFT
Раньше
dracut
не создавал интерфейс VLAN, несмотря на наличие параметра VLAN в iBFT. Теперь iSCSI Boot с VLAN работает как ожидается.
Подготовка к возможным изменениям функций System z в GCC
Атрибут GCC
hotpatch
реализует возможность внесения изменений в многопоточный код функций System z за счет резервирования некоторого количества байтов в прологе. Для конкретной функции это поведение можно включить с помощью атрибута hotpatch
, в то время как параметр командной строки -mhotpatch=
выбирает сразу все функции в текущей единице компиляции.
В результате этой операции размер программы неизбежно возрастет, что негативно скажется на быстродействии, поэтому рекомендуется придерживаться избирательного подхода и не включать
-mhotpatch
сразу для всех функций.
Версии TLS в curl
Сurl
поддерживает новые аргументы --tlsv1.0
, --tlsv1.1
и --tlsv1.2
, с помощью которых определяется версия протокола TLS для NSS. Соответствующие константы были добавлены и в libcurl
API: CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1 и CURL_SSLVERSION_TLSv1_2. Семантика существующего аргумента --tlsv1
и константы CURL_SSLVERSION_TLSv изменилась, в результате чего будет выбираться последняя версия протокола TLS 1.x, которую поддерживает и клиент, и сервер.
Python: обработка параметров без значений модулем ConfigParser
Модуль ConfigParser изначально был спроектирован так, чтобы требовать определения значений всех перечисленных параметров в файлах конфигурации. Вследствие этих ограничений параметры без значений (например, в файле my.cnf) не могли быть прочитаны. Теперь эта функция интегрирована в Python 2.6.6, и ConfigParser успешно обрабатывает подобные параметры.
tcpdump: аргументы -J/-j и --time-stamp-precision
Ядро, glibc и libpcap предоставляют API для генерации отметок времени с точностью до наносекунд, и последнее обновление tcdump отражает эти изменения. Аргумент -J позволяет получить список доступных типов отметок , -j, соответственно, изменяет тип, а --time-stamp-precision устанавливает точность определения времени.
sg3_utils: копирование данных между устройствами SCSI
Пакет sg3_utils предоставляет новые инструменты для эффективного копирования данных между устройствами, использующими набор команд SCSI. Для реализации этой функциональности было выполнено портирование программ
sg_xcopy
и sg_copy_results
из последней версии sg3_utils.
Ethtool допускает изменение хэш-значений RSS
Ethtool допускает определение собственных хэш-значений RSS для эффективного контроля очередей пакетов в зависимости от интенсивности их поступления и адаптации к ожидаемым изменениям трафика.
tcpdump: поддержка setdirection
Tcpdump поддерживает функцию setdirection для контроля захвата трафика в зависимости от направления движения пакетов. Для перехвата входящих пакетов надо добавить параметр «-P in», исходящих — «-P out», и тех, и других — «-P inout».
Чтение конфигурации sysctl из нескольких системных каталогов
Новый переключатель
--system
позволяет sysctl
осуществлять чтение файлов конфигурации из каталогов /etc/sysctl.d/*.
Обновление mcelog
Пакеты mcelog обновлены до версии 109 и включают ряд исправлений и дополнений. В частности, добавлена поддержка процессоров Intel Core i7.
Обновление biosdevname
Пакет biosdevname обновлен до версии 0.6.2, в которой, помимо всего прочего, предусмотрен атрибут
dev_port
для нового драйвера Mellanox, который отменяет присвоение имен устройствам FCoE.
Изменения в библиотеке PCRE
С целью предотвращения ошибки «grep -P» о недействительной последовательности UTF-8 при анализе бинарных файлов, были сделаны следующие изменения:
- pcre_exec() проверяет, чтобы смещение не выходило за пределы допустимого диапазона, и возвращает ошибку PCRE_ERROR_BADOFFSET вместо PCRE_ERROR_NOMATCH или перехода в бесконечный цикл;
- Если функции pcre_exec() передана недействительная строка UTF-8, то при условии, что массив ovector содержит по крайней мере два элемента, смещение первого неверного символа UTF-8 будет записано в первый элемент массива, а код ошибки — во второй. Впоследствии эти данные можно будет извлечь с помощью pcrcetest. Следует подчеркнуть, что pcre_compile() теперь возвращает первый недействительный байт UTF-8, а не последний. Кроме того, была изменена подпись функции _pcre_valid_utf8(), которая не предназначена для публичного использования, а утилита pcretest теперь добавляет краткое пояснение к коду ошибки.
glibc: поддержка инструкций Intel AVX-512
Динамический загрузчик glibc теперь может сохранять и восстанавливать регистры AVX-512, что предотвращает сбой приложений, использующих инструкции AVX-612.
Valgrind распознает инструкции Intel MPX
Valgrind распознает новые инструкции Intel MPX и префикс BND. В настоящее время инструкции MPX реализованы как команды NOP, а префикс BND игнорируется. В итоге Valgrind игнорирует и инструкции MPX, и префиксы BND, тем самым предотвращая несвоевременное прерывание программ по сигналу SIGKILL.
Форматирование вывода команды free
Для облегчения восприятия информации об использовании системной памяти в выводе команды
free
, был добавлен новый параметр -h
, который отображает числовые значения в наиболее подходящем формате с указанием единиц (мегабайтов, гигабайтов и т.п.).
w поддерживает параметр -i
Утилита
w
поддерживает параметр -i
, который позволяет идентифицировать узел, с которого пользователь вошел в систему, по адресу, а не по имени.
Обновление текстового редактора Vim
Пакеты vim были обновлены до версии 7.4, в которую вошло множество изменений по сравнению с предыдущими версиями. Среди них надо отметить несколько наиболее примечательных изменений: - Сохранение истории редактирования в отдельный файл при помощи параметра конфигурации
undofile
. По умолчанию Vim очищает буфер изменений после закрытия файла, однако эта функция позволяет сохранять историю даже при выходе из редактора. Изменения автоматически сохраняются и восстанавливаются из файла при открытии файла. - Новый механизм регулярных выражений. В отличие от старого механизма, использовавшего алгоритм последовательного перебора подстановок, в основе нового механизма лежит конечный автомат, который проверяет все возможные альтернативы для заданного символа и сохраняет возможные состояния. Несмотря на то, что такой подход несколько снижает скорость обработки простых регулярных выражений, он позволяет добиться серьезного роста производительности при отработке сложных выражений в больших текстах. Улучшение быстродействия наиболее очевидно при подсвечивании синтаксиса в файлах Javascript и XML с длинными строками.