Загальнодистрибутивні зміни

Удосконалено збирання даних щодо користування за допомогою DNF

До Fedora 32 Проєкт Fedora оцінював кількість встановлених систем Fedora за унікальними адресами IP, з яких користувачі отримували доступ до оновлень з офіційних дзеркал сховища пакунків дистрибутива. Цей підхід є дуже неточним з декількох причин, зокрема недооцінки через NAT та переоцінки через короткотермінове надання DHCP та ноутбуки, які працюють із різними з’єднаннями мережі. Старий підхід не давав змоги визначити встановлений варіант Fedora. У той самий час, точне вимірювання параметрів користування є дуже важливим для будь-якого проєкту із розробки програмного забезпечення, який спрямовано на обслуговування потреб спільноти і підтримання актуальності. Тому Проєкт Fedora шукав шляхи отримання якіснішої інформації без порушення конфіденційності користувачів.

У Fedora 32, коли встановлена система зв’язується із одним із офіційних дзеркал сховища пакунків Fedora, вона надає такі дані («агент користувача»):

  • Версію Fedora (наприклад «Fedora 32»).

  • Варіант Fedora (наприклад «Server»).

  • Операційну систему і архітектуру (наприклад «Linux.x86_64»).

  • Нововпроваджену змінну countme.

Змінна countme використовується Проєктом Fedora для визначення віку системи. У змінної чотири можливих значення:

  • 1 протягом першого тижня зі встановлення — 0–7 днів.

  • 2 між першим тижнем і першим місяцем зі встановлення — 8–30 днів.

  • 3 між першим місяцем і першими 6 місяцями зі встановлення — 31–180 днів.

  • 4 після перших 6 місяців зі встановлення – 180 днів і більше.

За допомогою цієї системи Проєкт Fedora може вимірювати рівні використання різних комбінацій архітектур і варіантів дистрибутива та збирати дані для коротко- і довготермінового використання кожного з варіантів. У той самий час, ця система дозволяє уникнути збирання будь-яких ідентифікаційних даних щодо клієнтських систем.

Якщо ви хочете вимкнути надання відповідних даних, змініть значення перемикача countme у налаштуваннях DNF. Докладніше про це на сторінці підручника (man) dnf.conf(5).

Цю систем не буде активовано на боці Проєкту Fedora на момент випуску Fedora 32, оскільки серверна частина ще не готова. Клієнти надсилатимуть дані агента користувача, разом із countme, але поки ці дані не оброблятимуться.

Фізичні оптичні носії даних не потребують тестування до загальної доступності

Починаючи з Fedora 32, операційна система, яку може бути встановлено з фізичного носія, не потребує тестування до того, як вона стане загальнодоступною. Втім, вади, пов’язані із завантаженням фізичного носія, все ще вважатимуться критичними для випуску.

Зміна стосуватиметься таких образів:

  • Fedora-Everything-netinst-x86\_64-<RELEASE_MILESTONE>.iso

  • Fedora-Workstation-Live-x86\_64-<RELEASE_MILESTONE>.iso

Цю зміну пов’язано із тенденцією до зменшення кількості нових комп’ютерів і ноутбуків із пристроями для читання CD/DVD та зменшення кількості помилок, які пов’язано зі встановлення з цих носіїв даних.

У результаті команда із забезпечення якості Fedora та тестувальники зі спільноти матимуть більше часу на тестування частин Fedora, які є набагато помітнішими та очевиднішими для кінцевих користувачів.

Через певні вади користувачі, можливо, не зможуть у певних випадках завершити встановлення системи з оптичних носіїв даних.

Зміни у пакуванні clang-libs

До нової версії пакунка clang-libs не включено окремі компоненти бібліотек, зокрема libclangBasic.so, libclangAST.so тощо. Пакунки, які залежать від бібліотек clang тепер скомпоновано з libclang-cpp.so.

Результат цієї зміни:

  • Поліпшено стабільність у Fedora та зменшено час запуску програм.

  • Кінцеві користувачі, які розробляють програми із використанням бібліотек clang мають оновити свої програми так, щоб у них використовувалася libclang-cpp.so, а не окремі бібліотеки компонентів.

  • Кінцеві користувачі, які використовують пакунки Fedora, які залежать від бібліотек clang не відчують ніяких наслідків від цієї зміни.

Додано підтримку пакунків AArch64 і ppc64le з розширеною доступністю пакунків, які залежать від FPC

У Fedora 32 ви можете скористатися оновленою версією (3.2.0) компілятора Free Pascal. За допомогою оновленого компілятора Free Pascal ви зможете збирати пакунки для Arch64 і ppc64le. Крім того, у новій версії компілятора Free Pascal передбачено підтримку нових архітектур. У результаті програми, які зібрано з використанням FPC, доступні до запуску на ширшому спектрі архітектур, підтримку яких передбачено у Fedora.

Адаптовано формат sysusers.d

Раніше записи користувачів створювалися у розділі %pre викликом команд getent, useradd і groupadd.

Із цим оновленням, записи користувачів визначаються у форматі sysusers.d. Він додає пакунок rpm Provides generator для створення віртуальних Provides user(<ім’я>) та group(<назва>) для пакунків із файлами sysusers.d.

Додано засіб створення Provides у пакунках rpm для створення віртуальних user(<ім’я>) та group(<назва>) для пакунків із файлами sysusers.d.

Переваги:

  • Пакунки оголошують загальносистемних користувачів з використанням однорідного синтаксису.

  • Вбудовані скрипти стали стандартизованішими.

  • Адміністраторам стало простіше ревізувати список загальносистемних користувачів і знаходити пакунки, робота яких потребує певних записів користувачів.

  • Адміністраторам може стати простіше перевизначати загальносистемних користувачів, надаючи відповідним файлам sysusers.d вищий рівень пріоритетності.

    Записи користувачів все ще створюються викликами useradd у старому стилі.

Обмежене використання вбудованих скриптів у основних пакунках

У Fedora 32 з основних пакунків (пакунків, які використовують для збирання мінімального образу контейнера) вилучено усі виклики вбудованих скриптів (%pre, %post, %preun, %postun). Це означає, що уся процедура встановлення образу контейнера є декларативною і прозорою для засобів пакування, зокрема rpm, ostree або composer, встановлення є швидшим, а дотримання цього підходу у майбутньому дасть змогу виконати додаткові оптимізації та забезпечити роботу додаткових можливостей.

Пакунки все ще можуть вносити зміни до системи під час встановлення, зберігаючи у вказаних місцях файли, які вмикають певні дії.

Швидше відновлення зі стану нестачі пам’яті у Fedora Workstation

У новій версії типово увімкнено службу earlyoom у Fedora Workstation.

Служба earlyoom стежити за використанням загальносистемної пам’яті. Якщо рівень вільної пам’яті падає за визначене обмеження, earlyoom перериває роботу відповідного процесу для вивільнення пам’яті. У результаті система лишається працездатною, не потрапляючи у довгі періоди виходу зі стану із нестачею вільної пам’яті.

Нижче наведено типові налаштування earlyoom:

  • Якщо вільними лишаються менше 10% оперативної пам’яті та резервної пам’яті на диску, earlyoom надсилає сигнал SIGTERM до процесу із найбільшим значенням oom_score.

  • Якщо вільними лишаються менше 5% оперативної пам’яті та резервної пам’яті на диску, earlyoom надсилає сигнал SIGKILL до процесу із найбільшим значенням oom_score.

Щоб дізнатися більше, ознайомтеся зі сторінкою підручника (man) earlyoom.