Estableciendo alternativas

Debido a un problema en curso sobre como se almacenan las configuraciones alternativas en el sistema, los sistemas Fedora CoreOS no pueden usar los comandos alternatives usuales para configurarlos.

En su lugar, hasta que el problema se resuelva, usted puede establecer enlaces simbólicos directamente en /etc/alternatives. Por ejemplo, para usar las variantes basadas en la herencia de los comandos iptables:

variant: fcos
version: 1.6.0
storage:
  links:
    - path: /etc/alternatives/iptables
      target: /usr/sbin/iptables-legacy
      overwrite: true
      hard: false
    - path: /etc/alternatives/iptables-restore
      target: /usr/sbin/iptables-legacy-restore
      overwrite: true
      hard: false
    - path: /etc/alternatives/iptables-save
      target: /usr/sbin/iptables-legacy-save
      overwrite: true
      hard: false
    - path: /etc/alternatives/ip6tables
      target: /usr/sbin/ip6tables-legacy
      overwrite: true
      hard: false
    - path: /etc/alternatives/ip6tables-restore
      target: /usr/sbin/ip6tables-legacy-restore
      overwrite: true
      hard: false
    - path: /etc/alternatives/ip6tables-save
      target: /usr/sbin/ip6tables-legacy-save
      overwrite: true
      hard: false

Utilizando comandos alternativos

Iniciando con Fedora CoreOS basada en Fedora 41, puede utilizar comandos alternatives para configurar el comando por defecto.

Ejemplo de configuración Butane utilizando unidad systemd para configurar el backed iptables por defecto
variant: fcos
version: 1.6.0
systemd:
  units:
    - name: custom-iptables-default.service
      enabled: true
      contents: |
        [Unit]
        Description=Poner el backend para iptables por defecto
        [Service]
        ExecStart=/usr/sbin/alternatives --set iptables /usr/sbin/iptables-legacy
        RemainAfterExit=yes
        [Install]
        WantedBy=multi-user.target
No recomendamos configurar el backend de iptables por defecto a iptables-legacy. Esto es solo un ejemplo.

Además puede ejecutar manualmente los comandos alternatives para configurar el comando en tiempo de ejecución por defecto.

Ejemplo para configurar manualmente el backend de iptables por defecto
# Compruebe el enlace de info
alternatives --display iptables
iptables --version

# Configure iptables para punto para iptables-nft
sudo alternatives --set iptables /usr/sbin/iptables-nft

# Verifica versión de iptables es iptables-nft
alternatives --display iptables
iptables --version