logiciel:linux
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
logiciel:linux [2011-05-13 18:05] – lokbani | logiciel:linux [2011-05-16 18:16] – [Mercurial] lokbani | ||
---|---|---|---|
Ligne 250: | Ligne 250: | ||
- La commande < | - La commande < | ||
- | ===== Systèmes de gestion de versions centralisée et décentralisée ===== | + | ===== Systèmes de gestion de versions |
+ | |||
+ | ==== Subversion ==== | ||
+ | |||
+ | Le logiciel [[http:// | ||
+ | |||
+ | |||
+ | === Préparation === | ||
+ | |||
+ | == Clé ssh pour l' | ||
+ | |||
+ | Faire parvenir votre clé ssh publique pour vous donner l' | ||
+ | |||
+ | < | ||
+ | |||
+ | et faite retour de chariot aussi souvent que nécessaire pour accepter toute les réponses par défaut. Ensuite, envoyez le fichier .ssh/ | ||
+ | |||
+ | == Récupération du répertoire des fichiers de configurations == | ||
+ | |||
+ | Dans un terminal, utilisez la commande | ||
+ | |||
+ | < | ||
+ | |||
+ | Pour importer une copie de travail du répertoire des fichiers de gestion. Ce répertoire contient 3 fichiers: | ||
+ | |||
+ | * dav_svn.authz : contient les règles d' | ||
+ | * dav_svn.passwd : contient les paires usager: | ||
+ | * repolist : contient les noms des dépôts, un par ligne, et rien d' | ||
+ | |||
+ | === Gestion === | ||
+ | |||
+ | == Ajout d'un utilisateur == | ||
+ | |||
+ | Demander à l' | ||
+ | |||
+ | < | ||
+ | |||
+ | et de vous en envoyer le résultat, par exemple | ||
+ | |||
+ | < | ||
+ | |||
+ | Ajouter au fichier dav_svn.passwd et matérialiser ce changement en faisant un commit, i.e. | ||
+ | |||
+ | < | ||
+ | |||
+ | == Création d'un dépôt == | ||
+ | |||
+ | Éditer le fichier repolist et y ajouter, sur une ligne, le nom désiré du dépôt. Ensuite, faire un commit pour matérialiser la création | ||
+ | |||
+ | < | ||
+ | |||
+ | Attention: Ce fichier ne doit pas contenir de commentaire ou de ligne blanche. Uniquement une liste des nom des dépôts, un par ligne. | ||
+ | |||
+ | == Gestion des règles d' | ||
+ | |||
+ | Dans le fichier dav_svn.authz, | ||
+ | |||
+ | < | ||
+ | [groups] | ||
+ | nomdegroupe1 = usager1, | ||
+ | nomdegroupe2 = usager2, | ||
+ | </ | ||
+ | |||
+ | Ensuite, ajouter ou modifier une rubrique [nomdedepot:/ | ||
+ | |||
+ | < | ||
+ | [nomdedepot:/ | ||
+ | @nomdegroupe2 = rw | ||
+ | @nomdegroupe1 = r | ||
+ | * = | ||
+ | </ | ||
+ | |||
+ | Note: pour donner uniquement l' | ||
+ | |||
+ | < | ||
+ | [nomdedepot:/ | ||
+ | * = r | ||
+ | </ | ||
+ | |||
+ | Ensuite, matéraliser les règles par un commit | ||
+ | |||
+ | < | ||
+ | |||
+ | === Utilisation === | ||
+ | |||
+ | == Clonage d'un dépôt == | ||
+ | |||
+ | À partir d'un terminal, dans le répertoire où on veut mettre la copie de travail du dépôt | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ==== Mercurial ==== | ||
+ | |||
+ | Le logiciel [[http:// | ||
+ | |||
+ | Dans la description qui suit, la variable **$lab** doit être substitué par le nom du laboratoire et la variable **$hgadm** par le nom de l' | ||
+ | |||
+ | === Préparation === | ||
+ | |||
+ | == Clé ssh pour l' | ||
+ | |||
+ | Faire parvenir votre clé ssh publique pour vous donner l' | ||
+ | |||
+ | < | ||
+ | |||
+ | et faite retour de chariot aussi souvent que nécessaire pour accepter toute les réponses par défaut. Ensuite, envoyez le fichier .ssh/ | ||
+ | |||
+ | == Récupération du répertoire des fichiers de configurations == | ||
+ | |||
+ | Dans un terminal, utilisez la commande | ||
+ | |||
+ | < | ||
+ | |||
+ | Pour importer une copie de travail du dépôt des fichiers de gestion hgadmin. Le répertoire a cette structure: | ||
+ | |||
+ | * access.conf: | ||
+ | * keys/: répertoire contenant les clés ssh publiques des utilisateurs, | ||
+ | |||
+ | === Gestion === | ||
+ | |||
+ | == Ajouter un utilisateur == | ||
+ | |||
+ | Demander à l' | ||
+ | |||
+ | < | ||
+ | hg commit -m "ajout usager $usager" | ||
+ | hg push</ | ||
+ | |||
+ | = Création de groupes = | ||
+ | |||
+ | Utiliser la commande mkdir pour créer un sous-répertoire keys/ | ||
+ | |||
+ | = Groupes prédéfinis = | ||
+ | |||
+ | Deux sous-répertoires de keys/ ont des accès prédéfinis sur tous les dépôts (avec une exception pour hgadmin). Il se peut que ces sous-répertoires n' | ||
+ | |||
+ | * keys/root/: tous les accès possibles sur tous les dépôts | ||
+ | * keys/ | ||
+ | |||
+ | == Le fichier access.conf == | ||
+ | |||
+ | Une description des différentes options du fichier access.conf se trouve | ||
+ | |||
+ | Attention: Lorsque le fichier access.conf est modifié, il doit être commit et repoussé sur le serveur. | ||
+ | |||
+ | < | ||
+ | hg push</ | ||
+ | |||
+ | = Gestion des règles d' | ||
+ | |||
+ | Le fichier access.conf contient les règles qui définissent les accès pour les différents dépôts. Chaque règle a la forme | ||
+ | |||
+ | < | ||
+ | |||
+ | où | ||
+ | |||
+ | * accès est un des types suivants: | ||
+ | * init: donne les droits de lire, écrire et créer de nouveaux dépôts | ||
+ | * write: donne les droits de lire et écrire | ||
+ | * read: donne les droits de lire | ||
+ | * deny: refuse tous droits | ||
+ | * repo=glob: chemin relatif menant à un ou plusieurs dépôts | ||
+ | * user=glob: chemin (à partir de keys) menant à une ou plusieurs clés | ||
+ | |||
+ | Les expressions glob pour les chemins utilisent * pour représenter un ou plusieurs caractères excluant le /, et \** pour représenter un ou plusieurs caractères incluant le /. Donc, par exemple, repo=labs/* attrape les dépôts labs/aaaa et labs/bbbb mais pas labs/ | ||
+ | |||
+ | Par exemple, les trois règles pour les groupes prédéfinis sont | ||
+ | |||
+ | < | ||
+ | deny repo=hgadmin | ||
+ | write user=users/ | ||
+ | |||
+ | Comme il n'y a aucune condition repo=... dans les règles 1 et 3, elles s' | ||
+ | |||
+ | == Création de dépôts == | ||
+ | |||
+ | Si un utilisateur est dans le groupe root ou s'il possède le droit init sur un répertoire de dépôt, alors il peut pousser un nouveau dépôt (vide ou non). Si le dépôt n' | ||
+ | |||
+ | < | ||
+ | |||
+ | Puis le pousser (à la racine des dépôts, par exemple) | ||
+ | |||
+ | < | ||
+ | |||
+ | === Utilisation === | ||
+ | |||
+ | == Clonage d'un dépôt == | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Git ==== | ||
- | - [[http:// | ||
- | - [[http:// | ||
- [[http:// | - [[http:// | ||
logiciel/linux.txt · Dernière modification : 2020-01-08 21:42 de royjuli