Cambios en toda la Distribución

Recopilación de uso de datos mejorada a través de DNF

Hasta Fedora 32, el Proyecto Fedora estaba estimando el número de sistemas Fedora instalados contando las direcciones IP únicas que acceden a las actualizaciones desde los espejos oficiales. Esta aproximación es altamente insegura por múltiples razones, como los conteos a la baja debido a NAT y los conteos al alza debidos cortos arrendamientos DHCP y portátiles moviéndose entre diferentes conexiones a red y está aproximación impide asimismo distinguir entre las diferentes variantes de Fedora. Al mismo tiempo, las métricas precisas son muy útiles para cualquier proyecto de software que quiera servir a su comunidad y seguir siendo relevante, por lo tanto El Proyecto Fedora ha estado explorando formas de obtener información más útil sin comprometer la privacidad de sus usuarios.

En Fedora 32, cuando el sistema instalado contacta con uno de os espejos oficiales de Fedora, suministra la siguiente información ("agente de usuario"):

  • Fedora version (such as "Fedora 32").

  • Fedora variant (such as "Server").

  • Operating system and architecture (such as "Linux.x86_64").

  • A newly introduced countme variable.

The countme variable is used by Fedora Project to determine the age of the system. The variable has four possible values:

  • 1 within the first week of installation - 0-7 days.

  • 2 between the first week and the first month of installation - 8-30 days.

  • 3 between the first month and the the first 6 months of installation - 31-180 days.

  • 4 after the first 6 months of installation - 180 days or more.

Using this system, The Fedora Project can measure the usage levels of various combinations of architectures and variants and collect data short and long term usage of each variant. At the same time, this system avoids collecting any identifying information about any client system.

If you wish to disable this behavior, change the value of the countme boolean in DNF configuration. See the dnf.conf(5) man page for details.

This system will not be active on Fedora Project’s side at the moment of Fedora 32 release because the server side portion is not ready. Clients will send their user agent including countme, but it will not be processed at first.

Physical optical media does not require pre-GA testing

Since Fedora 32, the operating system to be installed from the physical optical media will not need to be tested before the general availability. However, issues regarding physical media boot will still be treated as blocker bugs.

The change will affect the following images:

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

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

The change aims to address the trend of ever decreasing amount of new computers and laptops with CD/DVD drives, and errors that installation using this media entails.

As a result, the Fedora QE Team and community testers will have more capacity to test parts of Fedora that are far more visible and exposed to end users.

Due to some bugs, users might not be able in some cases to complete the installation from optical media.

Packaging changes in clang-libs package

The clang-libs package no longer includes individual component libraries like libclangBasic.so, libclangAST.so and so on. Packages that depend on the clang libraries are now linked to libclang-cpp.so.

As a result of this change:

  • There is an improved stability in Fedora and application start-up time.

  • End-users who develop applications using clang libraries are required to update their applications to use libclang-cpp.so instead of the individual component libraries.

  • End-users who use Fedora packages that depend on clang libraries do not have any impact due to this change.

Added support for AArch64 and ppc64le packages with extended availability of FPC-dependent packages

An updated version (3.2.0) of Free Pascal Compiler is now available with Fedora 32. With the updated Free Pascal Compiler you can now build Arch64 and ppc64le packages. Also, the Free Pascal Compiler now supports new architectures. As a result, the programs that are compiled using FPC are available to run on more architectures that Fedora supports.

Adopting sysusers.d format

Previously, users were created in %pre section by calling the commands getent, useradd, and groupadd.

With this update, users are defined in the sysusers.d format. It adds an rpm package Provides generator to create user(<name>) and group(<name>) virtual Provides for packages with sysusers.d files.

An rpm package Provides generator is added to generate user(<name>) and group(<name>) for packages with sysusers.d files.

As a benefit:

  • Packages declare system users using a uniform syntax.

  • Scriptlets are more standardized.

  • Admins may easily inspect the system user list and find which packages require users.

  • Admins may easily override definitions of system users by providing appropriate sysusers.d files with higher priority.

    Users are still created using old-style useradd calls.

Limited scriptlet usage of core packages

In Fedora 32, core packages (packages that are used to build the minimal container image) have had all of their scriptlet calls (%pre, %post, %preun, %postun) removed. This means the entire install process of the container image is now declarative and transparent to packaging tools such as rpm, ostree, or composer, the installation is faster, and keeping this approach in the future will allow for additional optimizations and features.

Packages can still make changes to the system during installation by placing files in specific locations that trigger actions.

Faster recovery from low-memory situations in Fedora Workstation

The earlyoom service is now enabled by default in Fedora Workstation.

The earlyoom service monitors system memory usage. If free memory falls below a set limit, earlyoom terminates an appropriate process to free up memory. As a result, the system does not become unresponsive for long periods of time in low-memory situations.

The following is the default earlyoom configuration:

  • If both RAM and swap go below 10% free, earlyoom sends the SIGTERM signal to the process with the largest oom_score.

  • If both RAM and swap go below 5% free, earlyoom sends the SIGKILL signal to the process with the largest oom_score.

For more information, see the earlyoom man page.