Question

Comme la plupart des personnes * nix, j’ai tendance à jouer avec mes outils et à les configurer exactement comme je les aime. Tout allait bien jusqu'à récemment. Alors que je travaille de plus en plus, j’ai tendance à ouvrir une session de plus en plus sur des machines et que de plus en plus de choses sont configurées correctement sur ma machine personnelle, mais pas nécessairement sur ma machine de travail, mon serveur Web ou l’une de mes tâches. serveurs ...

Comment maintenez-vous ces fichiers de configuration à jour? Est-ce que vous venez de les copier manuellement? Les avez-vous stockés quelque part dans le public?

Était-ce utile?

La solution

J'ai eu de la chance de garder mes fichiers sous un système de contrôle de révision. Ce n'est pas pour tout le monde, mais la plupart des programmeurs devraient pouvoir en apprécier les avantages. Lire

  

Garder votre vie en subversion

pour une excellente description, y compris comment gérer une configuration sans fichier point (comme des tâches cron via le script svnfix ) sur plusieurs ordinateurs.

Autres conseils

J’utilise également subversion pour gérer mes fichiers de points. Lorsque je me connecte à une boîte, mes confs sont automatiquement mises à jour pour moi. J'utilise également github pour stocker mes confs . J'utilise git-svn pour garder les deux synchronisés.

Pour être opérationnel sur un nouveau serveur, il suffit d'exécuter quelques commandes. Le script create_links crée simplement les liens symboliques des éléments du dossier .dotfiles dans mon $ HOME , et concerne également certains fichiers qu'il n'est pas nécessaire d'inscrire.

$ cd

# checkout the files
$ svn co https://path/to/my/dotfiles/trunk .dotfiles

# remove any files that might be in the way
$ .dotfiles/create_links.sh unlink

# create the symlinks and other random tasks needed for setup
$ .dotfiles/create_links.sh

Il semble que partout où je regarde ces derniers temps, je trouve une nouvelle chose qui me fait dire "Hé, ce serait une bonne chose d'utiliser DropBox pour "

"

Rsync est votre meilleure solution. Des exemples peuvent être trouvés ici:

http://troy.jdmz.net/rsync/index.html

J'utilise git pour cela.

Il existe un wiki / une liste de diffusion dédiée au sujet.

vcs-home

Je recommande vivement le mal du pays . Il utilise git et crée automatiquement des liens symboliques vers vos fichiers. track homesick suit un nouveau fichier de points, tandis que homesick symlink lie de manière symbolique les nouveaux fichiers de points du référentiel à votre dossier personnel. De cette façon, vous pouvez même avoir plusieurs référentiels.

Vous pouvez utiliser rsync. Cela fonctionne avec ssh, ce que j’ai trouvé utile car j’ai uniquement installé de nouveaux serveurs avec un accès ssh.

Ou créez un fichier tar que vous déplacez partout et décompressez.

Je les stocke dans mon système de contrôle de version.

J'utilise svn ... ayant un référentiel public et privé ... donc dès que je reçois sur un serveur, je viens

svn co http://my.rep/home/public

et avoir tous mes fichiers de points ...

Je stocke le mien dans un référentiel git , ce qui me permet de fusionner facilement au-delà des modifications dépendant du système, tout en partageant les modifications que je souhaite également.

Je garde les versions principales des fichiers sous le contrôle de CM sur mon ordinateur principal et, si nécessaire, me charge de copier les mises à jour. Heureusement, nous avons des montages NFS pour les répertoires de base sur la plupart de nos machines, je n’ai donc pas besoin de les copier souvent. Mon profil, en revanche, est plutôt complexe - et permet de configurer différents paramètres PATH, etc., sur différentes machines. En gros, les machines sur lesquelles je contrôle administratif ont tendance à avoir plus de logiciels open source installés que les machines que j’utilise occasionnellement sans contrôle administratif.

J'ai donc un mélange aléatoire de processus manuel et semi-automatique.

Il y a netskel où vous placez vos fichiers communs sur un serveur Web, puis le client. programme maintient les fichiers de points sur n'importe quel nombre de machines clientes. Il est conçu pour s'exécuter sur n'importe quel niveau de la machine client. Les scripts de shell sont donc des scripts sh appropriés et comportent un minimum de dépendances.

Svn ici aussi. Rsync ou unisson serait une bonne idée, sauf que parfois ça ne fonctionne plus et je me demande ce que contenait mon fichier .bashrc la semaine dernière. Svn est un épargnant de vie dans ce cas.

J'utilise maintenant le Live Mesh pour garder tous mes fichiers synchronisés sur plusieurs ordinateurs.

Je mets tous mes fichiers de points dans un dossier de Dropbox, puis je les lie par un lien symbolique à chaque ordinateur. Les modifications apportées sur une machine sont disponibles presque immédiatement pour toutes les autres. Cela fonctionne.

En fonction de votre environnement, vous pouvez également utiliser des partages NFS (entièrement sauvegardés) ...

Parlant de stocker des fichiers de points en public, il y a

http://www.dotfiles.com/

et

http://dotfiles.org/

Mais il serait très pénible de mettre à jour manuellement vos fichiers car (autant que je sache), aucun de ces services ne fournit d’API.

Ce dernier est vraiment minimaliste (pas de formulaire de contact, pas d’information sur qui l’a fait / le possède, etc.)

  

porte-documents est un outil permettant de mieux conserver les fichiers de points dans git, y compris ceux avec des informations privées (telles que .gitconfig).

     

En conservant vos fichiers de configuration dans un référentiel git public git, vous pouvez partager vos paramètres avec d'autres personnes. Toutes les informations secrètes sont conservées dans un fichier unique en dehors du référentiel (il vous appartient de sauvegarder et de transporter ce fichier).

     

- http://jim.github.com/briefcase

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top