User Tools

Site Tools


virtualisation:ostree-man-page

OSTree: page de manuel ostree

OSTree est un outil pour gérer plusieurs arborescences de système de fichiers versionné amorçable, ou simplement “arborescence” pour faire court. Dans le modèle OSTree, les systèmes d'exploitation ne vivent plus dans le répertoire racine “/” physique. Au lieu de cela, ils installent en parallèle dans le nouveau répertoire toplevel/ostree. Chaque système installé obtient son propre répertoire /ostree/deploy/stateroot. (stateroot est le nouveau terme pour osname).

Contrairement à rpm ou dpkg, OSTree ne connaît que les arborescences complètes du système de fichiers. Il n'a aucune connaissance intégrée des composants utilisés pour créer l'arborescence du système de fichiers.

Il est possible d'utiliser OSTree dans plusieurs modes; la forme la plus élémentaire consiste à répliquer des arbres prédéfinis à partir d'un serveur de génération. Habituellement, ces arbres pré-construits sont dérivés de packages. Vous pouvez également utiliser OSTree sous un outil de niveau supérieur qui calcule les arborescences de systèmes de fichiers localement.

Il faut souligner que OSTree ne prend en charge que les arbres en lecture seule. Pour passer à une autre arborescence (mise à niveau, rétrogradation, installation du logiciel), une nouvelle arborescence est extraite et une fusion à 3 voies de la configuration est effectuée. L'arbre en cours d'exécution n'est jamais modifié; la nouvelle arborescence deviendra active lors d'un redémarrage du système.

Les options suivantes sont comprises:

--repo Pour la plupart des commandes, un référentiel est requis. S'il n'est pas spécifié, le répertoire actuel est utilisé s'il semble être un référentiel OSTree. Si ce n'est pas le cas, la variable d'environnement OSTREE_REPO est utilisée ou le référentiel système situé dans /sysroot/ostree/repo.
-v, --verbose Produire une sortie de niveau de débogage.
--version Affiche les informations de version, y compris les fonctionnalités activées au moment de la compilation, et quitte.

Commandes

ostree-admin

Utilise l'une des commandes d'administration ostree :

  • cleanup
  • config-diff
  • deploy
  • init-fs
  • instutil
  • os-init
  • pin
  • set-origin
  • status
  • switch
  • undeploy
  • unlock
  • upgrade
Options
--help, -h Aide à l'utilisation
--sysroot="PATH" Crée un nouveau sysroot OSTree à PATH
--print-current-dir Affiche le chemin complet vers le répertoire de déploiement pour le déploiement actuellement actif dans le sysroot spécifié à standard out. Ceci est incompatible avec la spécification d'une sous-commande.

ostree-admin-cleanup

Synopsis ostree-admin-cleanup - Supprime les déploiements non marqués et les objets de référentiel
Usage ostree admin cleanup
Description OSTree sysroot nettoie les autres bootversions et les anciens déploiements. Si/quand une extraction ou un déploiement est interrompu, un état partiellement écrit peut rester sur le disque. Cette commande nettoie ces états partiels.

Exemple

$ ostree admin cleanup

ostree-admin-config-diff

Synopsis ostree-admin-config-diff - Configuration actuelle / etc de la différence par rapport à la valeur par défaut
Usage ostree admin config-diff [Options …]
Description Affiche les différences entre le répertoire /etc actuel et la configuration par défaut dans /usr/etc. Les fichiers nouvellement ajoutés (présents dans /etc mais pas dans /usr/etc) seront préfixés par 'A'. Les fichiers modifiés seront préfixés avec «M» et les fichiers supprimés avec «D».
Options
--os="STATEROOT" Utiliser un stateroot de système d'exploitation différent de celui actuel.

Exemple

$ ostree admin config-diff

        M   shadow
        A   example.txt

ostree-admin-deploy

Synopsis ostree-admin-deploy - Extraire une révision comme nouveau déploiement par défaut
Usage admin ostree deploy [Options …] {REFSPEC}
Description Prend un commit ou une révision REFSPEC et met en file d'attente le nouveau déploiement par défaut au redémarrage.
Options
--os="STATEROOT" Utiliser une racine de système d'exploitation différente de celle actuelle.
--origin-file="FILENAME" Utiliser FILENAME comme origine, où OSTree recherchera les versions mises à jour de l'arborescence.
--retain Ne pas supprimer le déploiement précédent.
--retain-pending Ne pas supprimer les déploiements en attente.
--retain-rollback Ne pas supprimer les déploiements de restauration.
--not-as-default Ajouter plutôt que de préfixer un nouveau déploiement.
--karg-proc-cmdline Importer le courant /proc/cmdline.
--karg = "NAME = VALUE" Définir l'argument du noyau, comme root=/dev/sda1; cela remplace tout argument antérieur portant le même nom.
--karg-append="NAME=VALUE" Ajouter l'argument du noyau; utile avec par exemple console= qui peut être utilisé plusieurs fois.

Exemple

$ ostree admin status

        * gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.0
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime
          gnome-ostree ce19c41036cc45e49b0cecf6b157523c2105c4de1ce3.0
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime

$ ostree admin deploy gnome-ostree/buildmaster/x86_64-runtime

        ostadmin: Creating deployment /ostree/deploy/gnome-ostree/deploy/7e382b11d213a402a5313e61cbc69dfd5ab93cb07.1
        ostadmin: Processing /etc: 3 modified, 0 removed, 29 added
        Transaction complete: bootconfig swap: no deployment count change: 0)

$ ostree admin status

          gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.1
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime
        * gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.0
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime

ostree-admin-init-fs

Synopsis ostree-admin-init-fs - Initialise un nouveau système de fichiers racine
Usage ostree admin init-fs [OPTIONS …] {CHEMIN}
Description Initialisez un système de fichiers racine physique vide dans le CHEMIN désigné, avec des niveaux supérieurs normaux et des autorisations correctes pour chaque répertoire. Principalement utile pour le fonctionnement

Exemple

$ mkdir /example

$ ostree admin init-fs /example

$ ls /example

ostree-admin-instutil

Synopsis ostree-admin-instutil - Fonctions utilitaires destinées principalement aux programmes d'installation du système d'exploitation
Usage ostree admin instutil {SUBCOMMAND} [ARGS]
Description Utilise les sous-commandes pour basculer les utilitaires d'installation d'administration pour les stratégies selinux et les arguments du noyau.

Sous-commandes

  • Assure que tous les fichiers et répertoires sont étiquetés conformément à la politique SELinux du premier déploiement.
  • Remplace les arguments du noyau du déploiement par défaut. Les nouveaux arguments sont basés sur une liste vide (par défaut), les options actuelles --merge ou les arguments du noyau chargé --import-proc-cmdline, et de nouvelles options sont ajoutées à la fin --append="NAME=VALUE" ou remplace les arguments existants du même nom --replace="NAME=VALUE".

ostree-admin-os-init

Synopsis ostree-admin-os-init - Initialise un état vide pour un système d'exploitation donné
Usage admin ostree os-init {STATEROOT}
Description Initialise un nouveau stateroot (AKA “osname”) pour un système d'exploitation. Garantit que les sous-répertoires principaux de /var (/tmp, /lib, /run et /lock) existent et initialisent le STATEROOT donné en tant que stateroot OSTree. Chaque emplacement de déploiement est composé d'une seule var partagée et d'un ensemble de déploiements (chroots).

Exemple

$ ostree admin os-init exampleos

        ostree/deploy/exampleos initialized as OSTree root

ostree-admin-pin

Synopsis ostree-admin-pin - Conserve explicitement le déploiement à un index donné
Usage ostree admin pin {INDEX}
Description Assure que le déploiement à INDEX, ne sera pas récupéré par défaut. C'est ce qu'on appelle «épingler». Si l'option -u est fournie, annule une opération d'épinglage.
Options
--unpin, -u Annule une opération d'épinglage.

ostree-admin-set-origin

Synopsis ostree-admin-set-origin - Modifie l'“origine” (emplacement des mises à niveau)
Usage ostree admin set-origin {REMOTENAME} {URL} [BRANCH]
Description Ajoute un nouveau remote nommée REMOTENAME (si il n'existe pas déjà). Modifie ensuite le fichier d'origine pour le déploiement actuel. Il s'agit de la ref qui sera “suivie” et mise à niveau avec la mise à niveau d'administration ostree.
Options
--set=KEY=VALUE Définit une option pour le remote.
--index = INDEX Modifie l'origine du déploiement numéroté INDEX (à partir de 0).

Exemple

$ ostree admin set-origin exampleos http://os.example.com/repo exampleos/10.0/master/router

ostree-admin-status

Synopsis ostree-admin-status - Liste des déploiements
Usage ostree admin status
Description Répertorie les déploiements disponibles pour démarrer. Inclut osname, la somme de contrôle suivie par la série de déploiement et la spécification de référence. Un astérisque indique le déploiement démarré en cours.

Exemple

$ ostree admin status

        * gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.0
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime
          gnome-ostree ce19c41036cc45e49b0cecf6b157523c2105c4de1c.0
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime

ostree-admin-switch

Synopsis ostree-admin-switch - Construit une nouvelle arborescence à partir de l'origine actuelle et la déploie, si elle a changé
Usage ostree admin switch {REF}{REF}
Description Choisi une autre référence pour le remote actuelle à suivre. Il s'agit de la ref qui sera “suivie” et mise à niveau avec la mise à niveau d'administration ostree. Comme pour une mise à niveau, l'état du système d'exploitation sera conservé.
Options
--os="STATEROOT" Utiliser une racine de système d'exploitation différente de celle actuelle.

Exemple

$ ostree admin switch fedostree/20/workstation/gnome/core

ostree-admin-undeploy

Synopsis ostree-admin-undeploy - Supprime le déploiement à un index donné
Usage ostree admin undeploy {INDEX}
Description Supprime le déploiement chez INDEX. INDEX doit être à portée et ne pas référencer le déploiement actuellement démarré.

Exemple

$ ostree admin status

        * gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.0
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime
          gnome-ostree ce19c41036cc45e49b0cecf6b157523c2105c4de1c.0
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime

$ ostree admin undeploy 1

        Transaction complete; bootconfig swap: no deployment count change: -1)
        Freed objects: 326.5 kB
        Deleted deployment ce19c41036cc45e49b0cecf6b157523c2105c4de1c.0

$ ostree admin status

        * gnome-ostree 67e382b11d213a402a5313e61cbc69dfd5ab93cb07.0
            origin refspec: gnome-ostree/buildmaster/x86_64-runtime

ostree-admin-unlock

Synopsis ostree-admin-unlock - Préparez le déploiement actuel pour le correctif ou le développement
Usage ostree admin unlock [Options…]
Description Supprime le montage de liaison en lecture seule sur /usr et le remplace par un système de fichiers de superposition inscriptible. Cette invocation par défaut de “unlock” est destinée à des fins de développement/test. Toutes les modifications de la superposition sont perdues au redémarrage. Cependant, cette commande prend également en charge les «correctifs», voir ci-dessous.
Options
--hotfix Si cette option est fournie, le déploiement actuel sera cloné en tant que cible de restauration. Cette option est destinée à des choses comme les mises à jour de sécurité d'urgence des composants de l'espace utilisateur tels que sshd. La sémantique diffère ici du mode de déverrouillage par défaut “développement” en ce que les redémarrages conserveront toutes les modifications (ce que vous voudrez probablement pour les correctifs de sécurité).

ostree-admin-upgrade

Synopsis ostree-admin-upgrade - Construire une nouvelle arborescence à partir de l'origine actuelle et la déployer, si elle a changé
Usage ostree admin upgrade [Options…]
Description Télécharge la dernière version de la référence actuelle depuis le serveur de build et la déploie, si elle a changé. Redémarrez la machine pour que les modifications prennent effet. Ces phases peuvent être divisées via –pull-only et –deploy-only.
Options
--os="STATEROOT" Utilise une racine de système d'exploitation différente de celle actuelle.
--pull-only Effectue uniquement une extraction dans le référentiel; ne crée pas de déploiement. Cette option peut donc être utilisée en toute sécurité dans un travail planifié en arrière-plan avec l'assurance de ne pas changer l'état du système
--deploy-only Crée un nouveau déploiement à partir de la dernière validation dans la spécification d'origine suivie. Cette option est destinée à être utilisée par un système planifié qui a détecté des modifications via --pull-only et est prêt à les déployer.
--reboot, -r Redémarre après une mise à niveau réussie.
--allow-downgrade Permettre le déploiement d'arbres chronologiquement plus anciens.
--override-commit="CHECKSUM" Déploit CHECKSUM au lieu de la dernière arborescence.

Exemple

$ ostree admin upgrade

        No update available.

Autres commandes

ostree-cat

Synopsis ostree-cat - Affiche ou concatène le contenu des fichiers
Usage ostree cat {COMMIT} {PATH…}
Description Cette commande fonctionne un peu comme la commande typique “cat” d'Unix, en ce sens qu'elle affiche le contenu d'un fichier ou les concatène en fonction de deux fichiers ou plus. Cependant, cette commande nécessite que l'utilisateur spécifie un commit - une somme de contrôle ou refspec correspondant à une construction donnée. Si on utilise qu'une spécification de ref , OSTree fera référence à la validation la plus récente, sauf si on spécifie une génération parent à l'aide du carat (^) à la fin de la spécification de ref. Il exécutera ensuite la commande dans ce commit donné.

Exemple

$ ostree cat my-branch helloworld.txt

        Bonjour le monde!

ostree-checkout

Synopsis ostree-checkout - Récupère un commit dans un système de fichiers
Usage ostree checkout [Options…] {COMMIT} [DESTINATION]
Description Extrait le commit donné dans le système de fichiers sous le répertoire DESTINATION. Si DESTINATION n'est pas spécifié, le COMMIT deviendra la cible de paiement de destination. Si la destination COMMIT existe déjà, la commande affichera une erreur sauf si l'option –union est sélectionnée.
Options
--user-mode, -u Ne change pas la propriété du fichier et n'initialise pas les attributs étendus.
--subpath="PATH" Sous-répertoire d'extraction PATH.
--union Garde les répertoires existants et les fichiers inchangés, écrasez les fichiers existants.
--union-add Conserve les répertoires et fichiers existants.
--union-identical Comme –union, mais erreur en cas de remplacement d'un fichier par un autre. Ajoute de nouveaux fichiers et répertoires, ignore les fichiers identiques et conservez les répertoires existants. Nécessite -H.
--allow-noent Ne fait rien si le chemin spécifié n’existe pas.
--from-stdin Traite plusieurs extractions à partir de l'entrée standard.
--from-file="FILE" Traite plusieurs extractions à partir du fichier d'entrée.

Exemple

$ ostree checkout my-branch

$ ls

        file1    file2    my-branch

ostree-checksum

Synopsis ostree-checksum - Somme de contrôle d'un fichier ou d'un répertoire
Usage ostree checksum {PATH}
Description Génère une somme de contrôle pour un fichier ou un répertoire donné.
Options
--ignore-xattrs Ignore les attributs étendus lors de la somme de contrôle.

Exemple

$ ostree checksum file1

        67e382b11d213a402a5313e61cbc69dfd5ab93cb07fbb8b71c2e84f79fa5d7dc

ostree-commit

Synopsis ostree-commit - Valide une nouvelle révision
Usage ostree commit [Options…] –branch= {BRANCH} [PATH]
Description Cela vous permet de valider des modifications dans une branche. La spécification de la branche est obligatoire. La commande affichera la somme de contrôle d'une validation réussie.
Options
--subject, -s="SUBJECT" Sujet d'une ligne. (optionnel)
--body, -m="BODY" Description complète. (optionnel)
--editor, -e Ouvre un éditeur de texte pour la description de la validation. Il utilisera OSTREE_EDITOR, VISUAL, EDITOR ou vi, par ordre décroissant de préférence. La validation sera abandonnée si le message est laissé vide.
--branch, -b="BRANCHE" Branche. Obligatoire, sauf si –orphan est indiqué.
--tree="dir=PATH" ou "tar=TARFILE" ou "ref=COMMIT" Superpose l'argument donné sous forme d'arbre. Lors de la validation d'une archive, le TARFILE peut être spécifié comme - pour lire l'archive à partir de l'entrée standard.
--add-metadata-string="KEY=VALUE" Ajoute une paire clé/valeur aux métadonnées.
--add-detached-metadata-string="KEY=VALUE" Ajoute une paire clé/valeur aux métadonnées détachées.
--owner-uid="UID" Définit l'ID utilisateur de la propriété du fichier.
--owner-gid="GID" Définit l'ID du groupe de propriétaires de fichiers.
--no-xattrs N'importe pas les attributs étendus.
--link-checkout-speedup Optimise pour les validations d'arbres composés de liens physiques dans le référentiel.
--tar-autocreate-parents Lors du chargement des archives tar, crée automatiquement les répertoires parents selon vos besoins.
--saut-si-inchangé Si le contenu est inchangé par rapport à la validation précédente, ne fait rien.
--consume Lors de la validation à partir d'un répertoire local (c'est-à-dire pas d'une archive ou --tree= ref), assume la propriété du contenu. Cela peut simplement impliquer sa suppression, mais si possible, le contenu peut simplement être renommé () dans le référentiel plutôt que de créer une nouvelle copie.
--statoverride="CHEMIN" Fichier contenant la liste des modifications à apporter aux autorisations (mode fichier, suivi de l'espace, suivi du chemin du fichier).
--skip-list="CHEMIN" Fichier contenant la liste des chemins de fichier à ignorer (un chemin par ligne).
--table-output Génére plus d'informations au format KEY: VALUE.
--generate-sizes Génére des informations de taille avec des métadonnées de validation.
--gpg-sign="ID-CLÉ" Identifiant de clé GPG avec lequel signer la validation (si GPGME - GNU Privacy Guard Made Easy).
--gpg-homedir="HOMEDIR" Répertoire d'accueil GPG à utiliser lors de la recherche de trousseaux de clés (si vous disposez de GPGME - GNU Privacy Guard Made Easy).
--timestamp="TIMESTAMP" Remplace l'horodatage de la validation de TIMESTAMP.
--orphan Créer un commit sans écrire dans une référence (branche)
--fsync="POLICY" POLICY est un booléen qui spécifie si fsync doit être utilisé ou non. Par défaut à vrai.

Exemple

$ ostree commit --branch=my-branch --subject="Initial commit"

        67e382b11d213a402a5313e61cbc69dfd5ab93cb07fbb8b71c2e84f79fa5d7dc

ostree-config

Synopsis ostree-config - Modifier les paramètres de configuration
Usage
Description * ostree config get affiche la valeur de KEYNAME dans le groupe GROUPNAME
* ostree config set définit la valeur de KEYNAME dans le groupe GROUPNAME sur VALUE.
* ostree config unset supprime la clé KEYNAME du groupe GROUPNAME afin que OSTree utilise la valeur par défaut pour cela. Ce n'est pas une erreur pour que le GROUPNAME ou le KEYNAME spécifiés n'existent pas.

Exemple

$ ostree config get core.mode

bare

$ ostree config set --group='remote "myremote"' url http://example.com/repo

$ ostree config unset core.lock-timeout-secs

ostree-create-usb

Synopsis ostree-create-usb - Place les références données sur un disque externe pour la distribution P2P.
Usage ostree create-usb [Options…] {MOUNT-PATH} {COLLECTION-ID REF} [COLLECTION-ID REF…]
Description Cette commande crée un référentiel dans MOUNT-PATH et y tire les REF données afin qu'elles puissent être trouvées et extraites (peut-être par un autre ordinateur hors ligne). Voir ostree-find-remotes pour plus d'informations sur la distribution P2P.

Pour qu'ostree puisse extraire les références d'un système de fichiers monté (tel qu'une clé USB), le dépôt doit se trouver dans un emplacement standard. Plus précisément, les sous-répertoires de .ostree/repos.d sont vérifiés, puis .ostree/repo, ostree/repo et var/lib/flatpak/repo sont vérifiés. Par défaut, ostree create-usb utilise .ostree/repo, mais si on spécifie un autre emplacement à l'aide de –destination-repo, un lien symbolique sera créé dans .ostree/repos.d.

Cette commande régénérera le fichier récapitulatif dans le référentiel de destination afin qu'il reste précis, vous ne devez donc pas essayer d'utiliser des signatures récapitulatives dans le référentiel de destination. Cela ne devrait pas être un problème car les clients qui prennent en charge l'extraction à partir de supports USB utilisent des métadonnées signées par repo et par validation au lieu de signatures de résumé.
Options
--disable-fsync N'appele pas fsync().
--destination-repo=DEST Crée le référentiel dans DEST sous MOUNT-PATH, plutôt que l'emplacement par défaut.
--commit=COMMIT Tire COMMIT au lieu de ce sur quoi REF pointe. Cela ne peut être utilisé que si une seule référence est spécifiée.

Exemple

ostree --repo=/var/lib/flatpak/repo create-usb /run/media/mwleeds/f6d04c7a-60f6-4ba3-bb96-0f40498675be com.exampleos.Apps app/org.kde.Khangman/x86_64/stable com.exampleos.Apps ostree-metadata com.exampleos.Apps appstream/x86_64

5 metadata, 213 content objects imported; 1 KiB transferred in 1 seconds                                                                                                                      Copied 3/3 refs successfully from ‘/var/lib/flatpak/repo’ to ‘.ostree/repo’ repository in ‘/run/media/mwleeds/f6d04c7a-60f6-4ba3-bb96-0f40498675be’.

ostree-find-remotes

Synopsis ostree-find-remotes - Trouver des remote pour servir les ref données
Usage ostree find-remotes [Options…] {COLLECTION-ID} {REF} [COLLECTION-ID REF…]
Description OSTree a la capacité d'effectuer des tirages non seulement à partir de serveurs distants configurés mais également à partir d'ordinateurs pairs sur le LAN et à partir de systèmes de fichiers montés tels que des lecteurs USB. Cette fonctionnalité nécessite l'utilisation d'ID de collection et la vérification GPG.

La commande find-remotes recherche les remotes qui prétendent fournir une ou plusieurs des paires REF COLLECTION-ID données et imprime des informations à leur sujet, avec des télécommandes triées par latence (Mounts> LAN> Internet). Par défaut, OSTree recherche les remotes dans les fichiers de configuration, sur les systèmes de fichiers montés (dans un emplacement bien connu) et sur le réseau local à l'aide d'Avahi. La recherche de remotes LAN nécessite que OSTree ait été compilé avec le support Avahi, et il nécessite un démon Avahi pour être exécuté. On peut remplacer l'ensemble de finders par défaut (sources pour remotes) en utilisant l'option –finders documentée ci-dessous.

La commande create-usb est le moyen recommandé de placer des ref sur un périphérique USB de telle sorte que find-remotes les découvre. Voir ostree-create-usb.
Options
--disable-fsync N'appele pas fsync().
--finders=FINDERS Utilise la liste de sélecteurs séparée par des virgules spécifiée plutôt que l'ensemble par défaut. Valeurs possibles: config, lan et mount (ou toute combinaison de celles-ci).
--pull Tire le commit le plus récent trouvé pour chaque référence.

Exemple

$ ostree find-remotes --finders=mount,lan com.exampleos.Os exampleos/x86_64/standard

Result 0: http://10.0.64.202:43381/0
 - Finder: OstreeRepoFinderAvahi
 - Keyring: exampleos.trustedkeys.gpg
 - Priority: 60
 - Summary last modified: 2018-01-12T19:00:28Z
 - Refs:
    - (com.exampleos.Os, exampleos/x86_64/standard) = c91acd964b3fda561b87bfb7f7c80e36220d76b567f0ce90c0e60742ef33c360

1/1 refs were found.

ostree-diff

Synopsis ostree-diff - Compare un répertoire avec une révision
Usage ostree diff [Options…] {REV} {TARGETDIR}
Description Compare le répertoire TARGETDIR avec la révision REV. Affiche les fichiers et répertoires modifiés, ajoutés et supprimés. S'il y a un fichier dans TARGETDIR pas dans REV, il s'affichera avec un A pour “ajouté”. Si un fichier dans REV n'est pas dans TARGETDIR, il affiche D pour “supprimé”. M pour “modifié” s'affichera également.
Options
--Stats Affiche diverses statistiques.
--fs-diff Affiche le système de fichiers diff.
--owner-uid Utilise l'ID utilisateur de propriété de fichier pour les fichiers locaux.
--owner-gid Utilise l'ID du groupe de propriétaires de fichiers pour les fichiers locaux.

Exemple

$ ostree diff my-branch^ my-branch

        A   /testdirectory
        M   /helloworld.txt

$ ostree diff my-branch my-branch^

        D   /testdirectory
        M   /helloworld.txt

ostree-export

Synopsis ostree-export - Génère une archive tar à partir d'une validation OSTree
Usage ostree export [OPTIONS…] {BRANCH}
Description Cette commande génère une archive au format GNU tar à partir d'une validation OSTree. Ceci est utile pour des cas tels que les sauvegardes, la conversion des validations OSTree en images Docker, etc.

Exemple

$ ostree export exampleos/x86_64/standard | gzip > exampleos-standard.tar.gz

ostree-gpg-sign

Synopsis ostree-gpg-sign - Signer un commit
Usage ostree gpg-sign [Options…] {COMMIT} {KEY-ID…}
Description Ajoute une nouvelle signature à un commit pour chaque clé GPG spécifiée. Actuellement, cela ajoutera une nouvelle signature même si le commit est déjà signé avec une clé donnée.
Options
--delete Supprime les signatures ayant l'un des ID de clé GPG.
--gpg-homedir="HOMEDIR" GPG Homedir à utiliser lors de la recherche de porte-clés.

ostree-init

Synopsis ostree-init - Initialise un nouveau référentiel vide
Usage ostree init [Options…]
Description Crée un nouveau référentiel vide.
Options
--mode="MODE" Initialiser le référentiel en mode donné (bare, bare-user, bare-user-only, archive). La valeur par défaut est bare. Le mode bare stocke les fichiers tels qu'ils sont, de sorte qu'ils peuvent être directement liés en dur, bare-user utilise des attributs étendus pour stocker la propriété et les informations xattr, permettant des opérations non root, bare-user-only ne stocke pas les informations de propriété et archive les magasins fichiers compressés, à diffuser sur le réseau, archive, le fichier de configuration du référentiel sera en fait archive-z2, car il s'agit du nom historique.
--collection-id=ID-COLLECTION Définit l'ID de collection du référentiel. Les télécommandes des clones de ce référentiel doivent configurer la même valeur afin d'extraire les références provenant de ce référentiel sur un poste à poste. Cet ID de collection doit être persistant et globalement unique. Il est formaté comme un nom DNS inversé (comme une interface D-Bus). Il doit être défini sur un domaine DNS inversé sous votre contrôle. Cette option peut être omise (par défaut) pour laisser la distribution d'égal à égal non prise en charge pour le référentiel. Un ID de collection peut être ajouté à un référentiel existant à l'avenir pour permettre la distribution d'égal à égal à partir de ce point. Si l'ID de collection est modifié pour le référentiel à l'avenir, la distribution d'égal à égal des références du référentiel sera interrompue pour tous les homologues qui ne mettent pas à jour leur configuration distante vers le nouvel ID de collection.

ostree-ls

Synopsis ostree-ls - Liste les chemins d'accès aux fichiers
Usage ostree ls [Options…] {COMMIT} [CHEMINS…]
Description Imprime une liste de chemins de fichiers dans le commit donné, et dans le ou les chemins donnés si spécifié. La première lettre de la sortie de la ligne de fichier spécifie le type: “-” pour le fichier normal, “d” pour le répertoire, “l” pour le lien symbolique. Voir la section Exemple pour plus de détails sur la sortie spécifique.
Options
--dironly, -d Ne rentre pas dans les arguments du répertoire.
--recursif, -R Affiche les répertoires récursivement.
--checksum, -C Affiche la somme de contrôle.
--xattrs, -X Affiche les attributs étendus.
--nul-filenames-only Affiche uniquement les noms de fichiers, séparés par NUL.

Exemple

$ ostree ls my-branch

        d00644 0 0    0 /
        -00644 0 0    2 /helloworld.txt
        d00755 0 0    0 /testdirectory

Ici, la première colonne est le symbole de type de fichier (comme expliqué dans la section Description) suivi du type de fichier S_IFMT. Les deux colonnes suivantes (ici: 0 0) sont respectivement l'ID utilisateur et l'ID groupe pour le fichier. Après la pause, le nombre suivant représente la taille standard de ce fichier. La dernière colonne est le chemin du fichier.

ostree-pull

Synopsis ostree-pull - Télécharger des données à partir d'un référentiel distant
Usage ostree pull {REMOTE} [BRANCH]
Description Cette commande peut récupérer uniquement une validation spécifique, ou aller jusqu'à effectuer un miroir complet du référentiel distant. Si aucun BRANCH n'est spécifié, toutes les branches configurées sont récupérées.

Une syntaxe spéciale dans le caractère @ permet de spécifier un commit spécifique à récupérer à partir d'une branche. Les cas d'utilisation pour cela sont quelque peu similaires à l'extraction d'une balise git spécifique; on pourrait par exemple script une mise à niveau du système vers une version connue, plutôt que la dernière du fournisseur de contenu.
Options
--commit-metadata-only Récupére uniquement les métadonnées de validation.
--disable-fsync N'appele pas fsync().
--localcache-repo Comme le clone de git, réutilise le dépôt OSTree fourni en tant que cache d'objets local lorsqu'on effectue des récupérations HTTP. Peut être spécifié plusieurs fois.
--untrusted Ne fait pas confiance aux sources locales, ne vérifie pas les sommes de contrôle et ne crée pas de lien dur vers la source.
--disable-static-deltas N'utilise pas de deltas statiques.
--mirror Écrit des références adaptées à un miroir, c'est-à-dire que les références sont stockées dans le répertoire heads/ plutôt que dans le répertoire remotes/. Cela rend le référentiel cible apte à être exporté pour que d'autres clients puissent l'utiliser comme un remote ostree. Si aucune référence spécifique n'est spécifiée, toutes les ref seront récupérées (le remote doit avoir un fichier récapitulatif présent).
--subpath=SUBPATH Tire uniquement sur le sous-chemin fourni.
--depth=DEPTH Traverse les parents DEPTH (-1=infini) (par défaut: 0).
--network-retries=N Spécifie combien de fois chaque téléchargement doit être retenté en cas d'erreur (par défaut: 5)

Exemple

ostree --repo=repo pull --depth=-1 --mirror remote_name

Effectue un miroir complet de la télécommande. (Ceci est probablement plus utile si le référentiel est également en mode archive)

$ ostree --repo=repo pull remote_name exampleos/x86_64/standard

Récupére le commit le plus récent dans exampleos/x86_64/standard.

$ ostree --repo=repo pull remote_name exampleos/x86_64/standard@98ea6e4f216f2fb4b69fff9b3a44842c38686ca685f3f55dc48c5d3fb1107be4

Télécharge le commit spécifique commençant par 98ea6e comme s'il s'agissait du dernier commit pour exampleos/x86_64/standard.

ostree-pull-local

Synopsis ostree-pull-local - Copie des données d'un référentiel source
Usage ostree pull-local [Options …] {SOURCE_REPO} [REFS …]
Description Copie les données d'un référentiel donné; optimisé pour les copies uniquement entre les référentiels sur le même système.
Options
--remote="REMOTE" Ajoute REMOTE à refspec.
--disable-fsync N'appele pas fsync().
--untrusted Ne fait pas confiance à la source, ne vérifie pas les sommes de contrôle et ne lie pas en dur la source

Exemple

$ ostree pull-local /ostree/repo

        Enumerating objects...
        pull: 25709/25709 scanned, 0 objects copied
        Writing 5 refs

ostree-remote

Synopsis ostree-remote - Contrôle la configuration du référentiel distant
Usage ostree remote add [OPTIONS…] {NAME} {URL} [BRANCH…]
ostree remote delete {NAME}
ostree remote show-url {NAME}
ostree remote list [OPTIONS…] {NAME}
ostree remote gpg-import [OPTIONS…] {NAME} [KEY-ID…]
ostree remote refs {NAME}
ostree remote summary [OPTIONS…] {NAME}
ostree remote add-cookie {NAME} {DOMAIN} {PATH} {COOKIE_NAME} {VALUE}
ostree remote delete-cookie {NAME} {DOMAIN} {PATH} {COOKIE_NAME} {VALUE}
ostree remote list-cookies {NAME}
Description Modifie les configurations du référentiel distant. Le NOM fait référence au nom du remote.
Les arguments BRANCH de la sous-commande add spécifient les branches configurées pour la télécommande. Voir la section branches dans ostree.repo-config pour plus d'informations.
La sous-commande gpg-import peut associer des clés GPG à un référentiel distant spécifique à utiliser lors de l'extraction de validations signées de ce référentiel (si la vérification GPG est activée).
Les clés GPG à importer peuvent être au format OpenPGP binaire ou blindées ASCII. La liste [KEY-ID] facultative peut restreindre les clés importées à partir d'un fichier de clés ou d'un flux d'entrée. Toutes les clés sont importées si cette liste est omise. Si aucune option --keyring ni --stdin n'est indiquée, les clés sont importées à partir du trousseau GPG personnel de l'utilisateur.
Les différentes commandes liées aux cookies permettent de gérer un fichier cookie spécifique à distance.
Options d'ajout
--set="KEY=VALUE" Définit l'option de configuration KEY=VALUE pour le remote.
--if-not-exists Ne fait rien si le remote existe.
--force Remplace le remote si il existe.
--no-gpg-verify Désactive la vérification GPG.
--gpg-import=FICHIER Importe une ou plusieurs clés GPG à partir d'un fichier. Equivalent à ostree remote gpg-import --keyring=FILE.
--collection-id=ID-COLLECTION Définit l'ID de collecte pour le remote sur une valeur fournie par le propriétaire du référentiel, ce qui permet aux références de ce remote d'être partagées d'égal à égal.
Options de liste
-u, --show-urls Afficher les URL distantes dans la liste
Options d'importation Gpg
-k, --keyring=FICHIER Importe une ou plusieurs clés à partir d'un fichier. Cette option peut être répétée pour importer à partir de plusieurs fichiers, mais ne peut pas être utilisée en combinaison avec --stdin.
--stdin Importe une ou plusieurs clés depuis l'entrée standard. Cette option ne peut pas être utilisée en combinaison avec --keyring.
Options de résumé
--raw Affiche les données brutes des variantes

Exemple

$ ostree remote show-url local

        http://192.168.122.1/repo

ostree-reset

Synopsis ostree-reset - Réinitialise une référence à un commit précédent
Usage ostree reset {REF} {REF_TO_RESET_TO}
Description Étant donné un commit, cette commande réinitialisera la référence à un commit spécifié précédent.

Exemple

$ ostree log my-branch

        commit 67e382b11d213a402a5313e61cbc69dfd5ab93cb07
        Date:  2014-06-12 13:42:54 +0000
            This is the second commit

        commit ce19c41036cc45e49b0cecf6b157523c2105c4de1c
        Date:  2014-06-12 11:20:08 +0000
            Initial commit

$ ostree reset my-branch my-branch^

$ ostree log my-branch

        commit ce19c41036cc45e49b0cecf6b157523c2105c4de1c
        Date:  2014-06-12 11:20:08 +0000
            Initial commit

ostree-rev-parse

Synopsis ostree-rev-parse - Affiche la cible d'un tour
Usage ostree rev-parse {REV} {PATH}
Description Étant donné un REV, génère la somme de contrôle de la dernière validation de cette révision.

Exemple

$ ostree rev-parse ma-branche

         ce19c41036cc45e49b0cecf6b157523c2105c4de1ce30101def1f759daafcc3e

ostree-show

Synopsis ostree-show - affiche les métadonnées d'un objet
Usage ostree show [Options …] {OBJET}
Description Étant donné un objet, affiche les métadonnées de cet objet. Pour une révision particulière, il affichera les données de la validation la plus récente de cette révision.
Options
--print-related Affiche les validations “liées”.
--print-variant-type="TYPE" Mappe la mémoire OBJECT (dans ce cas un nom de fichier) à la chaîne de type GVariant.
--print-metadata-key="KEY" Affiche la valeur de chaîne de la clé de métadonnées.
--print-détaché-metadata-key="KEY" Affiche la valeur de chaîne de la clé de métadonnées détachée.
--raw Affiche les données de variantes brutes.
--gpg-homedir="HOMEDIR" Répertoire d'accueil GPG à utiliser lors de la recherche de trousseaux de clés.

Exemple

$ ostree show my-branch

        commit 67e382b11d213a402a5313e61cbc69dfd5ab93cb07
        Date:  2014-06-12 13:42:54 +0000

ostree-trivial-httpd

Synopsis ostree-trivial-httpd - Serveur Web simple
Usage ostree trivial-httpd [Options ...] [DIR]
Description Cela exécute un simple serveur Web et le fait fonctionner jusqu'à ce qu'il soit tué. Si DIR n'est pas spécifié, il revient par défaut au répertoire courant.
options
--daemonize, -d Forq en arrière-plan lorsque prêt.
--autoexit Quitter automatiquement lorsque le répertoire est supprimé.
--port-file, -p="PATH" Écrire le numéro de port dans PATH (- pour la sortie standard).
--port, -P Utiliser le port TCP spécifié pour écouter.
--force-range-requests Forcer les demandes de plage en ne desservant que la moitié des fichiers.

Exemple

$ ostree trivial-httpd

rofiles-fuse

Synopsis rofiles-fuse - Utilise FUSE pour créer une vue où les répertoires sont accessibles en écriture, les fichiers sont immuables
Usage rofiles-fuse SRCDIR MNTPOINT
Description La création d'une extraction à partir d'un référentiel OSTree utilise par défaut des liens matériels, ce qui signifie qu'une muodification de n'importe quel fichier corrompt le référentiel et toutes les extractions. Cela peut être problématique si l'on ne souhaite exécuter effectuer ces modifications que dans une extraction. Par exemple, RPM% post scripts ou équivalent.

Dans le cas où l'on souhaite créer une validation d'arborescence dérivée d'un autre contenu, l'utilisation de rofiles-fuse de concert avec ostree commit –link-checkout-speedup (ou l'API sous-jacente) peut garantir que seuls les nouveaux fichiers sont additionnés.

Exemple

mettre à jour un commit Ostree

# Initialiser un  branch-checkout et le monter
$ ostree --repo=repo checkout somebranch branch-checkout
$ mkdir mnt
$ rofiles-fuse branch-checkout mnt
# Désormais, les modifications arbitraires de mnt/ sont reflétées dans le branch-checkout
$ echo somenewcontent > mnt/anewfile
$ mkdir mnt/anewdir
$ rm mnt/someoriginalcontent -rf
# Valider et nettoyer
$ fusermount -u mnt
$ ostree --repo=repo commit --link-checkout-speedup -b somebranch -s 'Commit new content' --tree=dir=branch-checkout
$ rm mnt branch-checkout -rf
virtualisation/ostree-man-page.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1