Product SiteDocumentation Site

3. Changes in Fedora for System Administrators

3.1. Installation

3.1.1. zRAM Swap Support

The Anaconda installer now supports swap on zRAM during the installation.
zRAM is a standard block device with compressed contents. Placing swap into such a device during the installation allows the installer to store more data in RAM instead of in the hard drive. This is especially helpful on low-memory systems; on these systems, the installation can be performed much faster with this feature enabled.
This feature is automatically enabled if Anaconda detects 2 GB or less memory, and disabled on systems with more memory. To force zRAM swap on or off, use the inst.zram=on or inst.zram=off boot option within the boot menu.
Specific limits, numbers and way of implementation may be changed in the future.

3.1.2. Built-in Help in the Graphical Interface

The installer's graphical user interface now supports built-in help. Every screen in the installer, as well as the Initial Setup utility which runs the first time you reboot your system after the installation, now contains a Help button. This button opens a section of the Fedora Installation Guide relevant to the current screen in the Yelp help browser.
At the same time, the Installation Guide is being rewritten to better match the installer's structure.
Help for text mode installations is not available.

3.1.3. Changes in Boot Options

A boot option is used to modify the installer's behavior using the boot command line. The following boot options have been added in Fedora 21:
  • inst.zram=: Use this option to force zRAM swap on (inst.zram=on) or off (inst.zram=off).
  • inst.dnf: Use the experimental DNF backend for package installation instead of YUM.
  • inst.memcheck: Perform a check at the beginning of the installation to determine if there is enough available RAM. If there is not enough memory detected, the installation will stop with an error message. This option is enabled by default; use inst.memcheck=0 to disable it.

3.1.4. Changes in Anaconda Command Line Options

Anaconda command line options are used when running the installer from a terminal within an already installed system, as for example, when installing into a disk image.
  • The built-in help available through the anaconda -h command now provides descriptions for all available commands.
  • --memcheck: Check if the system has sufficient RAM to complete the installation and abort the installation if it does not. This check is approximate. Memory usage during installation depends on the package selection, user interface (graphical/text) and other parameters.
  • --nomemcheck: Do not check if the system has enough memory to complete the installation.
  • --leavebootorder: Boot drives in their existing order - used to override the default of booting into the newly installed drive on IBM Power Systems servers and EFI systems. This is useful for systems that, for example, should network boot first before falling back to a local boot.
  • --extlinux: Use extlinux as the boot loader. Note that there is no attempt to check whether this will work for your platform, which means your system may be unable to boot after completing the installation if you use this option.
  • --dnf: Use the experimental DNF package management backend to replace the default YUM package manager. See http://dnf.baseurl.org for more information about the DNF project.

3.1.5. Changes in Kickstart Syntax

This section provides a list of changes to Kickstart commands and options. A list of these changes can also be viewed using the following command on a Fedora system:
$ksverdiff -f F20 -t F21
This command will only work on Fedora 21 with the pykickstart package installed.
3.1.5.1. New Commands and Options
  • fcoe --autovlan: Enable automatic discovery of VLANs.
  • bootloader --disabled: Do not attempt to install a boot loader. This option overrides all other boot loader configuration; all other boot loader options will be ignored and no boot loader packages will be installed.
  • network --interfacename=: Specify a custom interface name for a VLAN device. This option should be used when the default name generated by the --vlanid= option is not desired, and it must always be used together with --vlanid=.
  • ostreesetup: New optional command. Used for OSTree installations. Available options are:
    • --osname= (required): Management root for OS installation.
    • --remote= (optional): Name of the remote repository.
    • --url= (required): Repository URL.
    • --ref= (required): Name of branch inside the repository.
    • --nogpgcheck (optional): Disable GPG key verification.
    See https://wiki.gnome.org/action/show/Projects/OSTree for more information about OSTree.
  • clearpart --disklabel=: Create a custom disk label when relabeling disks.
  • autopart --fstype=: Specify a file system type (such as ext4 or xfs) to replace the default when doing automatic partitioning.
  • repo --install: Writes the repository information into the /etc/yum.repos.d/ directory. This makes the repository configured in Kickstart available on the installed system as well.
  • Changes in the %packages section:
    • You can now specify an environment to be installed in the %packages section by adding an environment name prefixed by @^. For example:
      %packages
      @core
      @^Infrastructure Server
      %end
      
    • The %packages --nocore option can now be used to disable installing of the Core package group.
    • You can now exclude the kernel from installing. This is done the same way as excluding any other package - by prefixing the package name with -:
      %packages
      @core
      -kernel
      %end
      
3.1.5.2. Changes in Existing Commands and Options
  • volgroup --pesize=: This option now does not have a default value in Kickstart. The default size of a new volume group's physical extents is now determined by the installer during both manual and Kickstart installation. This means that the behavior of Kickstart and manual installations is now the same. The previous default value for Kickstart installations was 32768.

3.1.6. Additional Changes

  • Software RAID configuration in the graphical user interface has been tweaked.
  • You can now use the + and - keys as shortcuts in the manual partitioning screen in the graphical user interface.
  • The ksverdiff utility (part of the pykickstart package) has a new option: --listversions. Use this option to list all available operating system versions which can be used as arguments for the --from= and --to= options.

3.2. Security

3.3. File Systems

3.4. Virtualization

3.5. Database Servers

3.6. Mail Servers

3.7. Samba

3.8. Systemd

3.8.1. Journald

  • Journal Logging
    Journal messages can be forwarded to remote systems, without using a syslog daemon. The systemd-journal-remote and systemd-journal-upload packages provide receiver and sender daemons. Communication is done over HTTPS.

3.8.2. Isolating Services

Two new security-related options are now available to limit long-running services that do not require access to physical devices or the network.
The PrivateDevices setting, when set to yes, provides the service with a private, minimal /dev that does not include physical devices. This allows long-running services to have limited access, increasing security.
The PrivateNetwork setting, when set to yes, provides the service with a network isolated to only a loopback interface. This ensures that long-running services that do not require network access are cut off from the network.

3.8.3. Stateless Systems

The usrmove Feature in Fedora 17 began a convention of distribution provided configurations residing in /usr, with overriding administrator provided configurations in /etc. The systemd project's stateless systems effort goes a step further, to ensure that a system can boot without the configuration files in /etc.
This capabiity allows systems to be reset to a factory state, or various installation types to share a predictable base system. Read http://0pointer.de/blog/projects/stateless.html to learn about the potential of stateless systems.
Changes to systemd that enable stateless systems include:
  • systemd-sysusers
    The systemd-sysitems utlity creates system users in /etc/passwd and system groups in /etc/groups based on declared entries in /usr/lib/sysusers.d/. This ensures that crucial accounts are available in early boot.
  • tmpfiles snippet for /etc/filename
    /usr/lib/tmpfiles.d/etc.conf rebuilds essential files in /etc, should they be missing. Notably, a symlink is created linking /etc/os-release to /usr/lib/os-release.
  • ConditionNeedsUpdate directive
    Service units can conditionally run only when related files in /etc or /var are older than the correlating files in /usr
  • systemd presets
    The new command systemctl preset-all applices service preset settings to all unit files. The equivalent operation if the system is booted with an empty /etc. Preset files for crucial services are provided with systemd in /usr/lib/systemd/system-preset/