данная команда позволит отслеживать в логе только то чно нужно, заданное по паттерну

tail -f file | grep --line-buffered my_pattern

Разработчики проекта Debian планируют прекратить формирование наборов образов на CD, начиная с Debian Testing и Debian 9 "Stretch". С учетом того, что в настоящее время Debian 8 умещается на 80 компакт-дисках, а для Testing/Debian 9 на 86, формирование CD-образов требует значительных ресурсов, при сомнительной целесообразности (например, некоторые CD-образы не были загружены ни разу) и потерей актуальности (CD-приводы уже почти не используются, а с учётом роста размеров десктоп-окружений, на CD достаточно трудно вместить полноценную Live-систему или установочный образ).

При этом поставка минималистичных CD-образов netinst будет продолжена. Разработчики полагают, что netinst сборок будет достаточно для обладателей CD-приводов. Дополнительно предлагается подготовить live-вариант образа netboot. Полноценные CD-сборки также продолжат формироваться для старых релизов (Wheezy и Jessie). Так как после прекращения поставки CD название хоста для распространения сборок cdimage.debian.org выглядит нелепо, решено задействовать для загрузки образов новое имя get.debian.org.

Высвободившиеся ресурсы планируется потратить на создание дополнительных сборок для облачных систем, расширение числа Live-сборок и начало формирования Live-образов для архитектур, отличных от x86. Кроме того, планируется начать продвигать неофициальные Non-free-сборки с проприетарными прошивками, которые, как и раньше, сохранят статус неофициальных и не будут предлагаться по умолчанию, но станут явно упоминаться на страницах с информацией о загрузке. Данный шаг сделан из-за того, что о таких сборках с бинарными блобами для драйверов мало кто знает, в то время, как они отвечают потребностям пользователей, которым необходимо обеспечить корректную работу имеющегося оборудования.

Из планов также отмечается намерение выпустить неофициальные CD-сборки Debian GNU/kFreeBSD на пакетной базе Jessie, комбинирующие ядро FreeBSD с пользовательским окружением на базе glibc и GNU-утилит. Активно ведётся работа по улучшению поддержки загрузки на системах с UEFI. Например, до конца года планируется обеспечить поддержку загрузки в режиме UEFI Secure Boot, с верификацией загрузчика, ядра и модулей. 

Представлен выпуск платформы KDE Frameworks 5.14.0, в рамках которой развивается реструктуризованный и портированный на Qt 5 базовый набор библиотек и runtime-компонентов, лежащих в основе KDE. Фреймворк включает в себя 63 библиотеки, часть которых может работать в качестве самодостаточных надстроек над Qt, а часть формируют программный стек KDE. Подробнее с особенностями KDE Frameworks 5 можно познакомиться ванонсе первого выпуска. Статус подготовки бинарных сборок KDE Frameworks 5.14 можно оценить на данной странице. Протестировать без установки можно через Live-сборку от проекта Kubuntu.

Из изменений можно отметить:

  • Проведена работа по переименованию приватных классов для предотвращения их случайного экспортирования;
  • В Baloo реорганизованы интерфейсы D-Bus, задействованы метаданные JSON в плагине kded и организовано создание по одному экземпляру БД на процесс;
  • В KActivities решены проблемы со сборкой в OS X, переработан интерфейс настройки и представлен новый GUI для создания/удаления/конфигурирования комнат;
  • В KConfig завершено портирование на QCommandLineParser и проведена оптимизация вызова readEntryGui;
  • В прослойке для совместимости с KDELibs 4 выполнен перевод kded-плагина solid-networkstatus на метаданные JSON;
  • В KEmoticons реализовано кэширование экземпляров KEmoticons;
  • В KFileMetaData для PlainTextExtractor обеспечена работа с флагом O_NOATIME;
  • В KIO задействован Q_OS_WIN вместо Q_OS_WINDOWS, kpasswdserver переведён с kded на kiod, удалён устаревший код поддержки очень старых версий kpasswdserver;
  • В kpackagetool из состава Package Framework добавлена возможность удаления пакета и улучшен поиск правильных типов сервисов;
  • В KTextEditor улучшена подсветка синтаксиса для Haskell и ускорена работа интерфейса автодополнения кода;
  • В Plasma Framework реализован подходящий для сенсорных экранов текстовый курсор, добавлена возможность создания секций меню из PlasmaComponents.ModelContextMenu, объявлен вызов __editMenu, переработана реализация EditMenu.

Дополнительно сообщается об успехах по адаптации компонентов KDE Frameworks и отдельных приложений KDE для работы в окружении мобильной платформы Android. Для Android пока доступны только программы Algebra, GCompris и Marble Maps, но изменить сложившуюся ситуацию должно портирование KDE Frameworks 5, создание простой системы сборки и предоставление готового docker-образа с SDK-подобным окружением для разработки.

Python 3.5.0

После 18 месяцев разработки представлен значительный релиз языка программирования Python 3.5.

Среди добавленных в Python 3.5 новшеств:

  • Добавлен новый модуль zipapp, предоставляющий API и утилиту командной строки для создания упакованных в один файл приложений, которые можно запустить командой "python приложение.pyz". Для создания исполняемого архива достаточно поместить все файлы программы в отдельную директорию, создать выполняемый по умолчанию скрипт __main__.py и выполнить команду "python -m zipapp имя_директории";
  • Расширено применение операторов распаковки "*" и "**", которые теперь можно использовать для произвольного числа распаковок при вызове функции или при манипуляциях с множествами, кортежами, списками и словарями. (ранее допускалась только одна распаковка). Например, для функции "def fn(a, b, c, d)" можно выполнить fn(**{'a': 1, 'c': 3}, **{'b': 2, 'd': 4})"), а для словаря - "{*range(4), 4, *(5, 6, 7)}";
  • Поддержка использования оператора форматирования вывода "%" для объектов bytes и bytearray по аналогии с тем, как выполняется форматирование строк. Например, выполнение "b'x=%i y=%f' % (1, 2.5)" приведёт к выводу "b'x=1 y=2.500000'";
  • В стандартной библиотеке представлена новая функция os.scandir() для очень быстрого обхода содержимого директорий. Выполнение os.walk() на базе новой функции работает в 3-5 раз быстрее на POSIX-системах и в 7-20 раз быстрее в Windows, за счёт сокращения числа вызовов os.stat();
  • Возможность автоматического повторного выполнения прерванных системных вызовов без установки отдельных обработчиков EINTR или InterruptedError;
  • Представлен модуль typing, который позиционируется в качестве нового стандарта для задания аннотаций типов. При подключении модуля можно предоставить данные о типах аргументов и возвращаемого значения функции, например "def greeting(name: str) -> str";
  • Реализована функция math.isclose() для приблизительного сравнения значений с заданным уровнем точности. Например, "math.isclose(5.0, 4.99998, abs_tol=0.00003)" вернёт True;
  • В обвязке для запуска Python на платформе Windows добавлена поддержка работы в виртуальных окружениях;
  • Искоренена концепция PYO-файлов, использовавшихся для хранения оптимизированного байткода. Для размещения как оптимизированного, так и неоптимизированного байткода теперь применяются единые файлы ".pyc";
  • Новый механизм для загрузки модулей-расширений, обеспечивающий возможность инициализации в несколько стадий;
  • Значительно улучшены средства асинхронного программирования, благодаря поддержке нового async- и await-синтаксиса для определения сопрограмм, асинхронно выполняемых объектов и итераций. Например, для создания и вызова сопрограммы можно указать "async def http_get(domain)" и "data = await db.fetch('SELECT ...')";
  • Возможность изменения обработки исключений StopIteration внутри генераторов;
  • Класс collections.OrderedDict переписан на языке Си, что позволило ускорить его выполнение от 4 до 100 раз. На Си также переписана функцияfunctools.lru_cache();
  • Добавлен новый вызов subprocess.run() для быстрого запуска подпроцессов;
  • В стандартной библиотеке по умолчанию отключена поддержка SSLv3;
  • Добавлен новый оператор "@" для умножения матриц. Например, вместо "S = dot((dot(H, beta) - r).T, dot(inv(dot(dot(H, V), H.T)), dot(H, beta) - r))" теперь можно использовать более понятное представление "S = (H @ beta - r).T @ inv(H @ V @ H.T) @ (H @ beta - r)".

Node js

Увидел свет релиз Node 4.0.0, платформы для выполнения высокопроизводительных сетевых приложений на языке JavaScript. Выпуск примечателен слиянием с кодовой базой проекта io.js, ранее ответвившегося от Node.js, но вернувшегося к совместной работе над единым унифицированным продуктом.

По функциональности Node 4.0.0 близок к выпуску io.js 3.0 и включает реализованные в рамках проекта io.js новшества, состояние которых признано стабильным. Лежащий в основе Node.js JavaScript-движок V8 обновлён до актуальной версии 4.5 (в Node.js 0.12 использовался V8 3.26, выпущенный год назад). Обновление движка открыло доступ ко многим новым возможностям JavaScript, определённым в спецификации ECMAScript 6.

В частности, добавлена поддержка классов, генераторов, шаблонов строк, новых методов обработки строк, типизированных массивов (в том числе объекта Buffer, реализованного на основе V8 Uint8Array), структур данных Map и Set для работы с коллекциями, механизма Promise, типа Symbols и arrow-функций. Официально реализована полноценная поддержка архитектуры ARM (ARMv6, ARMv7 и ARMv8). Введён в строй кластер для тестирования работы Node.js на различных аппаратных платформах и операционных системах (Linux-дистрибутивы, OS X, Windows, FreeBSD и SmartOS).

Ветке Node.js 4 планируется присвоить статус LTS, обеспечив длительный выпуск обновлений и регулярный цикл подготовки релизов. Ожидается как подготовка корректирующих выпусков со сменой номера в третьей цифре версии (4.0.1, 4.0.2 и т.п.), так и функциональных обновлений, содержащих новые возможности (4.1.x, 4.2.x и т.п.). При этом на протяжении существования ветки 4.x будет гарантировано сохранение обратной совместимости. Новые стабильные ветки планируется формировать раз в 6 месяцев.

В октябре ожидается ответвление ветки 5.x, которая будет развиваться параллельно и содержать новые возможности, обкатываемые для следующей стабильной ветки, в том числе переход на новый выпуск движка V8 и возможно изменения, нарушающие совместимость. Основной цикл LTS-поддержки ветки 4.x продлится 18 месяцев, плюс ещё 12 месяцев будут устраняться критически ошибки и уязвимости (в сумме ветка будет поддерживаться 30 месяцев).

Представлен релиз распределенной системы управления исходными текстами Git 2.5.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Из проектов, разрабатываемых с использованием Git, можно отметить ядро LinuxAndroidLibreOfficeSystemdX.OrgWaylandMesaGstreamerWineDebianDragonFly BSDPerlEclipse,GNOMEKDEQtRuby on RailsPostgreSQLVideoLANPHPXenMinix.

По сравнению с прошлым выпуском в новую версию принято 583 изменения, подготовленные при участии 70 разработчиков, из которых 21 впервые приняли своё участие в разработке. В новом выпуске представлены в основном исправления ошибок и мелкие улучшения, значительные изменения отсутствуют. Основные изменения:

  • Новое сокращение branch@{push}, обозначающее удалённую отслеживаемую ветку, в которую будут помещены push-операции;
  • В команду "git send-email" добавлена поддержка файла /etc/aliases, используемого в sendmail;
  • В низкоуровневые внешние драйверы обеспечения слияния данных от трёх источников, помимо имён трёх временных файлов (%O, %A и %B) теперь передаётся финальный путь (%P);
  • Улучшена эвристика определения ошибок в определении путей в параметрах командной строки, что сняло ограничение на разделение опцией "--" похожих на имена файлов параметров в "git grep" (вместо "git grep строка -- *.c" теперь можно указывать "git grep строка *.c");
  • В скриптах с фильтрами обеспечена возможность завершения работы с выводом ошибки до того, как будут получены все данные от Git (при записи игнорируется EPIPE);
  • В "git diff" добавлена опция "--ws-error-highlight", подсвечивающая завершающие строку символы пробелов при отображении изменений;

  • Команда "git merge FETCH_HEAD" теперь учитывает, что ранее выполненный запрос "git fetch" может привести к множественному слиянию (Octopus merge) и избавляет от необходимости использования синтаксиса "git merge msg HEAD commits" в скриптах git pull;
  • В "git cat-file --batch" добавлена опция "--follow-symlinks", допускающая обход символических ссылок при запросе объекта по хэшу SHA-1. Например, HEAD:RelNotes может быть ссылкой на Documentation/RelNotes/2.5.0.txt и при указании данной опции git будет считать, что на входе Documentation/RelNotes/2.5.0.txt вместо HEAD:RelNotes;
  • Представлена замена для скрипта contrib/workdir/git-new-workdir, не зависящая от символических ссылок и надёжно обеспечивающая совместное использование объектов и ссылок.

Putty

Представлен релиз популярного SSH-клиента для Unix и Windows - PuTTY 0.65, исходные тексты которого доступны под лицензией MIT. Новый выпуск в основном имеет корректирующий характер, кроме устранения ошибок в новой версии обеспечено отображение в логе источника входящих соединений к локально пробрасываемым портам и идентификатора процесса, которому перенаправляются запросы в режиме совместного использования соединений. Проведены оптимизации производительности - 64-разрядные сборки для Unix-систем, собранные при помощи gcc или clang, демонстрируют двукратный прирост производительности криптографических алгоритмов RSA и DSA.