Si vous êtes comme moi et que vous avez de nombreuses machines de développement (également des machines virtuelles) pour différentes raisons, vous pouvez combiner des clés ssh, un bash_profile intelligent et un RCS de votre choix.
Je seconderais en utilisant nfs / samaba / sshfs. Un inconvénient est que si vous n'avez pas accès au réseau tout le temps, vous ne pouvez pas accéder à ce dont vous avez besoin (voler, pas de wifi, pare-feu, problèmes de routage, etc.). Les machines que je synchronise ne sont pas toutes accessibles en même temps, mais je souhaite partager des informations entre elles.
Voici comment je me suis engagé à emprunter de nombreuses idées sur Internet.
.bash_profile pourrait avoir quelque chose comme ça
$HOME/bin/shell_ssh_agent
Je l'ai reçu de plusieurs endroits mais je ne trouve pas de lien vers celui-ci pour le moment. Le fichier shell_ssh_agent:
#!/bin/bash
SSH_ENV=$HOME/.ssh/environment
#echo "starting"
function start_agent {
#echo "reaping agents"
killall ssh-agent
#echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
#echo succeeded
chmod 600 ${SSH_ENV}
. ${SSH_ENV}
/usr/bin/ssh-add;
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV}
#echo "sourced ssh env"
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent > /dev/null || { start_agent; }
else
start_agent;
fi
Maintenant, lors de la première connexion, vous configurez vos clés. Déconnectez-vous et entrez, cela simplifie la vie.
Mettez tous vos scripts dans un RCS, cela facilite la synchronisation des machines de développement. J'utilise git. L'authentification avec git se fait via ssh, donc les touches ssh aident ici aussi. Notez à ce stade que vous auriez pu utiliser quelque chose comme nfs. Je serais toujours fan d'un RCS pour une raison que je mentionne ci-dessous.
Le cas d'utilisation est
- se connecter pour la première fois, les clés sont configurées
- Si RCS n'est pas configuré, vérifiez vos scripts personnels (et mettez à jour / fusionz si nécessaire, cela pourrait même faire partie de votre .bash_profile si vous le vouliez)
- éditez vimrc, des scripts spéciaux, etc. et validez-les
- lorsque vous êtes connecté à d'autres machines, effectuez une mise à jour / fusion / achat. Cela permet de tout synchroniser. c.-à-d. plus de copie de fichiers sur lesquels vous piétiniez parfois et que vous ne vouliez pas.
- en contrepartie, vous bénéficiez de la puissance d'un RCS. Je fais parfois des changements défavorables à des scripts ou des configs et ai besoin de revenir en arrière et autres.
Une chose que je veux essayer ensuite est de regrouper la connexion / configuration initiale dans un fichier Make que je copie sur la nouvelle machine. Le fichier makefile peut ensuite effectuer le travail de configuration de vos clés, de votre RCS, etc. Bien entendu, il y a des frais généraux, mais si vous configurez de nombreuses machines, il s’agit:
- un gain de temps
- plus facile de synchroniser les configurations et les scripts personnels des machines de développement
- gestion des modifications des scripts et des configs.
set background=dark
ouset background=light
quelque chose qui ne touche aucune distribution Linux et qui est complètement discret pour l'utilisateur. </ sarcasm>