This commit is contained in:
teldra 2021-04-18 21:15:25 +02:00
parent b3124602f8
commit fc5efd6052
5 changed files with 136 additions and 28 deletions

13
files/bash/editor.sh Normal file
View File

@ -0,0 +1,13 @@
if command -v nano > /dev/null; then
e=nano
elif command -v nvim > /dev/null; then
e=nvim
elif command -v vim > /dev/null; then
e=vim
fi
export EDITOR="${e}"
export VISUAL="${e}"
export SUDO_EDITOR="${e}"
unset e

View File

@ -4,11 +4,12 @@ alias xr="sudo xbps-remove -R"
alias xs="xbps-query -Rs" alias xs="xbps-query -Rs"
alias backup="sudo void-backup" alias backup="sudo void-backup"
alias snapshot="sudo void-snapshot" alias snapshot="sudo void-snapshot"
echo "xu = sudo void-update zum updaten"
echo "xi = sudo xbps-install -S zum installieren" echo "xu = sudo void-update updaten"
echo "xr = sudo xbps-remove -R zum deinstallieren" echo "xi = sudo xbps-install -S installieren"
echo "xs = xbps-query -Rs zum suchen" echo "xr = sudo xbps-remove -R deinstallieren"
echo "xs = xbps-query -Rs suchen"
echo "" echo ""
echo "backup = sudo void-backup um ein backup zu machen" echo "backup = sudo void-backup backup machen"
echo "snapshot = sudo void-snapshot um ein snapshot zu machen" echo "snapshot = sudo void-snapshot snapshot machen"
echo "" echo ""

View File

@ -4,8 +4,104 @@ if [ "${UID}" -ne "0" ]; then
exit 1 exit 1
fi fi
config() {
echo "Durch Snapshots werden deine Daten regelmässig"
echo "(zur Zeit alle zwei Stunden), ohne mehr Platz"
echo "zu verbrauchen, gedoppelt."
echo "Dieses hilft zb. gegen unbeabsichtigtes löschen von Dateien."
echo "Du kannst aktivieren, das sie regelmässig gemacht werden."
echo "Du kannst aktivieren, das sie vor einem Update gemacht werden."
echo "Es ist sinnvoll dieses zu aktivieren."
echo "Es ist optional, Snapsshots auch für privaten Daten zu aktivieren."
echo "Achtung, Daten werden dadurch erst sehr verzögert gelöscht!"
while read -p "Regelmässige Snapshots aktivieren? [Y/n] " answer; do
test -z "${answer}" && answer="y"
case "${answer}" in
y*|Y*|j*|J*)
if ! grep -q "#void.system" /var/spool/cron/root; then
echo '0 */2 * * * /usr/bin/void-snapshot #void.system' >> /var/spool/cron/root
else
echo "Schon aktiviert."
fi
break
;;
n*|N*)
if grep -q "#void.system" /var/spool/cron/root; then
sed -i '/#void.system/d' /var/spool/cron/root
else
echo "Schon deaktiviert."
fi
break
;;
*) echo "Antwort nicht eindeutig." ;;
esac
done
answer=""
while read -p "Snapshots vor dem Update? [Y/n] " answer; do
test -z "${answer}" && answer="y"
case "${answer}" in
y*|Y*|j*|J*)
if ! grep -q "SNAP_BEFORE_UPDATE" "/etc/void-snapshot.cfg"; then
echo "SNAP_BEFORE_UPDATE=true" >> "/etc/void-snapshot.cfg"
fi
break
;;
n*|N*)
if grep -q "SNAP_BEFORE_UPDATE" "/etc/void-snapshot.cfg"; then
sed -i '/SNAP_BEFORE_UPDATE/d' "/etc/void-snapshot.cfg"
fi
break
;;
*) echo "Antwort nicht eindeutig." ;;
esac
done
answer=""
while read -p "Möchtest du auch deine Privaten Daten Snapshotten? [Y/n] " answer; do
test -z "${answer}" && answer="y"
case "${answer}" in
y*|Y*|j*|J*)
if ! grep -q "SNAP_HOME" "/etc/void-snapshot.cfg"; then
echo "SNAP_HOME=true" >> "/etc/void-snapshot.cfg"
fi
break
;;
n*|N*)
if grep -q "SNAP_HOME" "/etc/void-snapshot.cfg"; then
sed -i '/SNAP_HOME/d' "/etc/void-snapshot.cfg"
fi
break
;;
*) echo "Antwort nicht eindeutig." ;;
esac
done
}
cron=""
update=""
if [ -t 0 ]; then
cron=1
elif [ "${1}" = "update" ]; then
update=1
elif [ "${1}" = "config" ]; then
config
exit
fi
cfg="/etc/btrbk/btrbk.conf.void" cfg="/etc/btrbk/btrbk.conf.void"
if [ ! -f "/etc/void-snapshot.cfg" ]; then
test -z "${cron}" && exit 0
config || exit
fi
. "/etc/void-snapshot.cfg"
if [ ! "${SNAP_BEFORE_UPDATE}" ] && [ "${update}" ]; then
exit 1
fi
if [ -f /etc/btrbk/btrbk.conf ]; then if [ -f /etc/btrbk/btrbk.conf ]; then
btrbk --progress --quiet run snapshot btrbk --progress --quiet run snapshot
else else
@ -21,30 +117,10 @@ else
done done
fi fi
if [[ "${1}" == "home" ]]; then if [ "${SNAP_HOME}" ]; then
btrbk --config="${cfg}" --quiet run snapshothomefs btrbk --config="${cfg}" --quiet run snapshothomefs
fi fi
if ! sudo update-grub 2> /dev/null; then if ! sudo update-grub 2> /dev/null; then
echo update-grub failed echo update-grub failed
fi fi
if [ -z "$PS1" ]; then
:
else
echo "System wurde snapshotted."
if [[ ! "${1}" == "home" ]]; then
echo "Private Daten wurden nicht snapshotted."
echo '`void-snaptshot home` um dieses mit zu snapshotten.'
if ! grep "#void.system" /var/spool/cron/root | grep -q "home"; then
echo "Folgender Befehl um das dauerhaft regelmässig zu machen."
echo '`sudo sed -i "s/t #/t home #/" /var/spool/cron/root`'
fi
elif [[ "${1}" == "home" ]]; then
echo "Private Daten wurden mit gesnapshotted."
if ! grep "#void.system" /var/spool/cron/root | grep -q "home"; then
echo "Folgender Befehl um das dauerhaft regelmässig zu machen."
echo '`sudo sed -i "s/t #/t home #/" /var/spool/cron/root`'
fi
fi
fi

19
files/nm/30-wg0 Executable file
View File

@ -0,0 +1,19 @@
#!/bin/sh
INTERFACE=$1
ACTION=$2
if [ -f /etc/wirdeguard/wg0.conf ]; then
if [ ! "$INTERFACE" = "wg0" ]; then
case "$ACTION" in
up)
wg-quick up wg0
# wg set wg0 peer ZJwTV2l+N+vFwL0KFQb5xpAPqwVcf0YvEMFzTaIoAU8= endpoint home.rotce.de:51820
;;
down)
wg-quick down wg0
ip link delete dev wg0
;;
esac
fi
fi

View File

@ -2,7 +2,6 @@ Defaults timestamp_timeout=15
Defaults !tty_tickets Defaults !tty_tickets
Defaults umask = 022 Defaults umask = 022
Defaults passprompt="[sudo] Password: " Defaults passprompt="[sudo] Password: "
Defaults editor = /usr/bin/nvim
Defaults env_keep += "EDITOR" Defaults env_keep += "EDITOR"
Defaults env_keep += "SSH_CONNECTION" Defaults env_keep += "SSH_CONNECTION"