Wenn Sie so sind wie ich und aus verschiedenen Gründen viele Entwicklungsmaschinen (auch virtuelle Maschinen) haben, können Sie SSH-Schlüssel, ein intelligentes bash_profile und ein RCS Ihrer Wahl kombinieren.
Ich würde zweitens nfs / samaba / sshfs verwenden. Ein Nachteil ist, dass Sie, wenn Sie nicht ständig über Netzwerkzugriff verfügen, nicht auf das zugreifen können, was Sie benötigen (Fliegen, kein WLAN, Firewalls, Routing-Probleme usw.). Die Maschinen, die ich synchron halte, sind nicht alle gleichzeitig erreichbar, aber ich möchte Informationen zwischen ihnen austauschen.
Im Folgenden beschreibe ich, wie ich viele Ideen aus dem Internet entlehnt habe.
.bash_profile könnte so etwas haben
$HOME/bin/shell_ssh_agent
Ich habe das von ein paar Stellen bekommen, kann aber jetzt keinen Link dazu finden. Die Datei 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
Jetzt beim ersten Login richten Sie Ihre Schlüssel ein. Logge dich aus und wieder ein und es hat dir das Leben einfacher gemacht.
Platzieren Sie alle Ihre Skripte in einem RCS, um die Synchronisierung der Entwicklungsmaschinen zu vereinfachen. Ich benutze Git. Die Authentifizierung mit git erfolgt über ssh, daher helfen auch hier ssh-Schlüssel. Beachten Sie, dass Sie an dieser Stelle so etwas wie nfs hätten verwenden können. Ich wäre immer noch ein Fan eines RCS aus einem Grund, den ich unten erwähne.
Der Anwendungsfall ist
- Beim ersten Anmelden werden die Schlüssel eingerichtet
- Wenn RCS nicht eingerichtet ist, überprüfen Sie Ihre persönlichen Skripte (und aktualisieren / zusammenführen, wenn nötig, dies könnte sogar Teil Ihres .bash_profile sein, wenn Sie es möchten).
- Bearbeiten Sie vimrc, spezielle Skripte usw. und legen Sie sie fest
- Wenn Sie auf einem anderen Computer angemeldet sind, führen Sie ein Update / Zusammenführen / Auschecken durch. Dies hält alles synchron; dh Sie kopieren keine Dateien mehr, über die Sie manchmal stapfen und die Sie nicht wollten.
- Als Nebeneffekt erhalten Sie die Leistung eines RCS. Ich nehme manchmal ungünstige Änderungen an Skripten oder Konfigurationen vor und muss ein Rollback und dergleichen durchführen.
Als nächstes möchte ich versuchen, das erste Login / Setup in ein Makefile zu packen, das ich auf den neuen Rechner kopiere. Das Makefile kann dann die Aufgabe übernehmen, Ihre Schlüssel, RCS usw. einzurichten. Offensichtlich ist hier ein gewisser Overhead zu verzeichnen, aber wenn Sie am Ende viele Maschinen einrichten, ist dies:
- ein Zeitsparer
- Es ist einfacher, die Konfigurationen und persönlichen Skripte von Entwicklungsmaschinen synchron zu halten
- Verwaltung von Änderungen an Skripten und Konfigurationen.
set background=dark
oderset background=light
, etwas, das keine Linux-Distribution berührt und für den Benutzer völlig unauffällig ist. </ sarcasm>