Fedora Atomiques

Fedora Silverblue : Mémo des commandes rpm-ostree et ostree

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

fedora-silverblue-logo



Introduction



Fedora Silverblue est un système d’exploitation immuable. Visant à fournir un support pour les tâches relatives aux conteneurs, cette variante de Fedora Workstation cible les communautés de développeurs. Voyons ici les commandes pour l'administrer avec rpm-ostree et ostree.

Les commandes n'ont pas besoin d'être lancées en root, le système étant en lecture seule.

Statut



Pour voir le statut de la distribution, et sur quel snapshot on est :

Code BASH :
rpm-ostree status


Voici un retour de console :

Code TEXT :
State: idle
Deployments:
● ostree://fedora:fedora/32/x86_64/silverblue
                   Version: 32.20210130.0 (2021-01-30T00:50:16Z)
                BaseCommit: 2c8716601d126210365f3a79ebd45f82dcdbb1e7f68c9c7f47accb4eecfe7cba
              GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
           LayeredPackages: htop iftop nmon
  ostree://fedora:fedora/32/x86_64/silverblue
                   Version: 32.20210130.0 (2021-01-30T00:50:16Z)
                BaseCommit: 2c8716601d126210365f3a79ebd45f82dcdbb1e7f68c9c7f47accb4eecfe7cba
              GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
           LayeredPackages: htop iftop
 


La pastille ● indique sur quel état on se trouve actuellement. On a le détail de la branche sur laquelle on est, la version du système et le commit.
On a la liste des LayeredPackages, c'est à dire des paquets ajoutés à notre système de base.

Remotes



Les remotes sont les "dépôts" disponibles pour notre système.

Pour lister les remotes installés :

Code BASH :
ostree remote list


Par défaut on a fedora et fedora-compose.

On pourra, pour un remote lister les refs (branches) disponibles, exemple ici avec le remote fedora :

Code BASH :
ostree remote refs fedora


Voici un extrait :

Code TEXT :
fedora:fedora/33/aarch64/silverblue
fedora:fedora/33/aarch64/testing/silverblue
fedora:fedora/33/aarch64/updates/silverblue
fedora:fedora/33/ppc64le/silverblue
fedora:fedora/33/ppc64le/testing/silverblue
fedora:fedora/33/ppc64le/updates/silverblue
fedora:fedora/33/x86_64/silverblue
fedora:fedora/33/x86_64/testing/silverblue
fedora:fedora/33/x86_64/updates/silverblue
fedora:fedora/rawhide/aarch64/atomic-host
fedora:fedora/rawhide/aarch64/silverblue
fedora:fedora/rawhide/ppc64le/atomic-host
fedora:fedora/rawhide/ppc64le/silverblue
fedora:fedora/rawhide/x86_64/atomic-host
fedora:fedora/rawhide/x86_64/silverblue
fedora:fedora/rawhide/x86_64/workstation



Gestion des logiciels



Dans la première section consacrée à l'installation, je vous mets le détail des sorties de la console.
Je ne les préciserai plus par la suite.

Installer un logiciel



Pour installer un logiciel dans la base du système, exemple ici avec le logiciel nmon :

Code BASH :
rpm-ostree install nmon


Voici un retour de la console pendant le processus d'installation :

Code TEXT :
Checking out tree 2c87166... done
Enabled rpm-md repositories: updates fedora fedora-cisco-openh264
rpm-md repo 'updates' (cached); generated: 2021-01-30T01:17:00Z
rpm-md repo 'fedora' (cached); generated: 2020-04-22T22:22:36Z
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2020-08-25T19:05:18Z
Importing rpm-md... done
Resolving dependencies... done
Will download: 1 package (80,4 ko)
Downloading from 'fedora'... done
Importing packages... done
Checking out packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
Writing OSTree commit... done
Staging deployment... done
Added:
  nmon-16m-2.fc32.x86_64
Run "systemctl reboot" to start a reboot
 


Il est nécessaire de redémarrer pour prendre en compte le nouveau paquet dans la base.

Suppression de logiciel



Pour supprimer un logiciel qui a été ajouté à la base, exemple acec iftop :

Code BASH :
rpm-ostree uninstall iftop


Par compatibilité, la commande remove fonctionne :

Code BASH :
rpm-ostree remove iftop


Mise à jour du système



Pour mettre à jour le système de base :

Code BASH :
rpm-ostree upgrade


Gestion des applicatifs flatpak



Les applicatifs peuvent être installés avec flatpak.
La distribution fournit des flatpak dans son dépôt "fedora" mais vous pouvez installer "flathub".

Code BASH :
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo


Pour tous les détails, vous pouvez consulter l'article dédié aux flatpak : https://www.linuxtricks.fr/wiki/flatpak-les-commandes-essentielles


Retour à un état précédent avec les rollback



Pour rappel, on peut consulter la liste du commit précédent (et suivant si on n'a pas encore rebooté) avec

Code BASH :
rpm-ostree status


Pour revenir à l'état précédent, on utilisera :

Code BASH :
rpm-ostree rollback


On est évidemment invité à redémarrer.


Mise à niveau du système



Quand on voudra mettre à niveau notre système, il faut rebaser notre système.

On vérifiera avec ostree remote refs fedora le nom exact de la branche, puis on rebasera notre système avec :

Code BASH :
rpm-ostree rebase fedora:fedora/33/x86_64/silverblue


Si ça ne fonctionne pas comme attendu, l'opération de rollback fonctionne évidemment !

Rawhide : Can't check signature: public key not found



Quand on utilise Rawhide, il peut arriver qu'au moment ou Rawhide se rebranche sur la future version, on ait ce genre de message :

Code TEXT :
error: While pulling fedora/rawhide/x86_64/silverblue: Commit 733af93a08c3d620d5248a063256602b65db0a1f0127b5f579a6ec022c63a9f9: Signature made mer. 17 févr. 2021 07:05:47 using RSA key ID DB4639719867C58F
Can't check signature: public key not found
 


Il suffit simplement d'importer la nouvelle clé GPG https://src.fedoraproject.org/rpms/fedora-repos/tree/rawhide :

Code BASH :
cd /etc/pki/rpm-gpg/
wget https://src.fedoraproject.org/rpms/fedora-repos/raw/rawhide/f/RPM-GPG-KEY-fedora-35-primary


On peut relancer les opérations rpm-ostree :)