From 92d161375bb5e8eee309b2d0f71727cd8b80e1d9 Mon Sep 17 00:00:00 2001 From: Dennis Eisold <de@itstall.de> Date: Fri, 1 Mar 2019 20:10:38 +0100 Subject: [PATCH] Update README.md, install.sh, logout_trap.sh files --- README.md | 9 ++++++++- install.sh | 21 ++++++++++++++++++++ logout_trap.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 install.sh create mode 100644 logout_trap.sh diff --git a/README.md b/README.md index 1e31785..3e42281 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,9 @@ -# etckeeper_install +# Zuerst SSH-Key anlegen falls noch nicht vorhanden. +```ssh-keygen``` + +# Public Key (cat /root/.ssh/id_rsa.pub) dem Gitlab Benutzer hinzufügen. + +# ectkeeper auf dem Host installieren: + +```curl -sL https://www.gitrepo.de/roadit/etckeeper/install/raw/master/install.sh | sudo -E bash -``` \ No newline at end of file diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..2d1a010 --- /dev/null +++ b/install.sh @@ -0,0 +1,21 @@ +apt install -y etckeeper git + +echo "VCS=\"git\" +AVOID_SPECIAL_FILE_WARNING=1 +PUSH_REMOTE=\"origin\"" > /etc/etckeeper/etckeeper.conf + +cd /etc +git init + +git config --global user.name "roadit_ectkeeper" +git config --global user.email "ectkeeper@roadit.de" +git config --global core.editor "nano" +git config --global push.default simple + +git remote add origin git@ssh.gitrepo.de:roadit/etckeeper/`hostname -f`.git +etckeeper commit "initial commit" + +wget https://www.gitrepo.de/opensource/etckeeper_install/raw/master/logout_trap.sh > /usr/local/share/logout_trap.sh +chmpd +x /usr/local/share/logout_trap.sh + +echo "/usr/local/share/logout_trap.sh" >> ~/.profile diff --git a/logout_trap.sh b/logout_trap.sh new file mode 100644 index 0000000..510a5bf --- /dev/null +++ b/logout_trap.sh @@ -0,0 +1,52 @@ +[ `id -u` -eq 0 ] || return + +_USER="" +_HOSTNAME=`hostname` +if [ -n "$SUDO_USER" ]; then + _USER="$SUDO_USER" +else + # try to check tty ownership, in case user su'd to root + _TTY="$(tty 2>/dev/null || true)" + if [ -n "$_TTY" ] && [ -c "$_TTY" ]; then + _USER="$(find "$_TTY" -printf "%u")" + fi +fi + +_etckeeper() +{ + if [ -x /usr/bin/git ] && [ -d /etc/.git ]; then + ( + cd /etc + + if [ $(git status --porcelain | wc -l) -eq 0 ] ; then + return 0 + fi + + if ! git add --all; then + echo "warning: git add --all" >&2 + fi + + etckeeper commit "Automated commit at exit" + ) + fi +} + +if [ -n "$_USER" ]; then + if [ -z "$GIT_AUTHOR_NAME" ]; then + [ -f /home/$_USER/.gitconfig ] && GIT_AUTHOR_NAME=$(git config -f /home/$_USER/.gitconfig --get user.name) + [ -z "$GIT_AUTHOR_NAME" ] && GIT_AUTHOR_NAME="$_USER" + export GIT_AUTHOR_NAME + fi + + if [ -z "$GIT_AUTHOR_EMAIL" ]; then + [ -f /home/$_USER/.gitconfig ] && GIT_AUTHOR_EMAIL=$(git config -f /home/$_USER/.gitconfig --get user.email) + [ -z "$GIT_AUTHOR_EMAIL" ] && GIT_AUTHOR_EMAIL="$_USER@$_HOSTNAME" + export GIT_AUTHOR_EMAIL + fi + + if [ -z "$GIT_COMMITTER_EMAIL" ]; then + export GIT_COMMITTER_EMAIL=`whoami`"@$_HOSTNAME" + fi + + trap _etckeeper EXIT +fi -- GitLab