This commit is contained in:
Christoph 2022-08-07 11:52:29 +02:00
commit abb8a9256d
10 changed files with 662 additions and 7 deletions

View File

@ -23,6 +23,7 @@ sudo_users="
sysadm
localadmin
chris
erik
wadmin
ilker
ckubu
@ -31,6 +32,7 @@ sudo_users="
defa
init
marcus
xmatti
"
@ -261,6 +263,11 @@ if $password_needed ; then
elif [[ "$user_name" = 'ilker' ]]; then
perl -i -n -p -e "s#^(${user_name}):[^:]+:(.+)#\1:\\\$6\\\$6PRR6JwU\\\$RBsPa/W.ThyGVJVFls9Uxf6GZYyjCeJfNtGbgNosC/jlkCHWCZBWWxL/nwxaJBEKIB1f8f3YBIbm13.see7u3.:\2#" /etc/shadow
# - erik
# -
elif [[ "$user_name" = 'erik' ]]; then
perl -i -n -p -e "s#^(${user_name}):[^:]+:(.+)#\1:\\\$6\\\$GntX81EP\\\$O1GEmQF.BbOQfTMMw/m/BDKSXmANVpqmz0nyzw4O4R2/iK9huGOAjT/2eq8FVdMghvNOvdwrWtwohO.Mg4V9n.:\2#" /etc/shadow
# - c3po
# -
elif [[ "$user_name" = 'c3po' ]]; then

307
check_mount_count.sh Executable file
View File

@ -0,0 +1,307 @@
#!/usr/bin/env bash
script_name="$(basename $(realpath $0))"
working_dir="$(dirname $(realpath $0))"
conf_file="${working_dir}/conf/${script_name%%.*}.conf"
LOCK_DIR="/tmp/${script_name%%.*}.LOCK"
log_file="${LOCK_DIR}/${script_name%%.*}.log"
#---------------------------------------
#-----------------------------
# Base Function(s)
#-----------------------------
#---------------------------------------
usage() {
[[ -n "$1" ]] && error "$1"
[[ $terminal ]] && echo -e "
\033[1mUsage:\033[m
$(basename $0) <filesystem-patition>
\033[1mDescription\033[m
Script checks if 'Mount count' of a given partition exceed 'Maximum mount count' of
that partition. If 'Mount count' is greater as 'Maximum mount count', a warning is
printed out.
\033[1mOptions\033[m
No Options available
\033[1mExample:\033[m
Check mount count of partition /dev/mapper/backup
$(basename $0) /dev/mapper/backup
"
clean_up 1
}
clean_up() {
# Perform program exit housekeeping
rm -rf "$LOCK_DIR"
blank_line
exit $1
}
echononl(){
if $terminal && $LOGGING ; then
echo X\\c > /tmp/shprompt$$
if [ `wc -c /tmp/shprompt$$ | awk '{print $1}'` -eq 1 ]; then
echo -e -n " $*\\c" 1>&2
else
echo -e -n " $*" 1>&2
fi
rm /tmp/shprompt$$
fi
}
fatal(){
echo ""
if $terminal ; then
echo -e " [ \033[31m\033[1mFatal\033[m ] $*"
else
echo -e " [ Fatal ] $*"
fi
echo ""
if $terminal ; then
echo -e " \033[1mScript terminated\033[m.."
else
echo -e " Script terminated.."
fi
clean_up 1
}
error (){
echo ""
if $terminal ; then
echo -e " [ \033[31m\033[1mError\033[m ] $*"
else
echo " [ Error ] $*"
fi
echo ""
}
warn (){
echo ""
if $terminal ; then
echo -e " [ \033[33m\033[1mWarn\033[m ] $*"
else
echo " [ Warn ] $*"
fi
echo ""
}
info (){
if $LOGGING || $terminal ; then
echo ""
if $terminal ; then
echo -e " [ \033[32m\033[1mInfo\033[m ] $*"
else
echo " [ Info ] $*"
fi
echo ""
fi
}
echo_ok() {
if $terminal && $LOGGING ; then
echo -e "\033[75G[ \033[32mok\033[m ]"
else
if $LOGGING ; then
echo " [ ok ]"
fi
fi
}
echo_failed(){
if $terminal && $LOGGING ; then
echo -e "\033[75G[ \033[1;31mfailed\033[m ]"
else
if $LOGGING ; then
echo " [ failed ]"
fi
fi
}
echo_skipped() {
if $terminal && $LOGGING ; then
echo -e "\033[75G[ \033[33m\033[1mskipped\033[m ]"
else
if $LOGGING ; then
echo " [ skipped ]"
fi
fi
}
echo_warning() {
if $terminal && $LOGGING ; then
echo -e "\033[75G[ \033[33m\033[1mwarning\033[m ]"
else
if $LOGGING ; then
echo " [ skipped ]"
fi
fi
}
is_number() {
return $(test ! -z "${1##*[!0-9]*}" > /dev/null 2>&1);
# - also possible
# -
#[[ ! -z "${1##*[!0-9]*}" ]] && return 0 || return 1
#return $([[ ! -z "${1##*[!0-9]*}" ]])
}
blank_line() {
if $terminal ; then
echo ""
fi
}
trim() {
local var="$*"
var="${var#"${var%%[![:space:]]*}"}" # remove leading whitespace characters
var="${var%"${var##*[![:space:]]}"}" # remove trailing whitespace characters
echo -n "$var"
}
# ----------
# - Jobhandling
# ----------
# - If job already runs, stop execution..
# -
if mkdir "$LOCK_DIR" 2> /dev/null ; then
## - Remove lockdir when the script finishes, or when it receives a signal
trap "clean_up 1" SIGHUP SIGINT SIGTERM
else
datum="$(date +"%d.%m.%Y %H:%M")"
msg="[ Error ]: A previos instance of \"`basename $0`\" seems already be running.\n\n Exiting now.."
echo ""
echo "[ Error ]: A previos instance of that script \"`basename $0`\" seems already be running."
echo ""
echo -e " Exiting now.."
echo ""
for _email in ${alert_email_arr[@]} ; do
echo -e "To:${_email}\n${content_type}\nSubject:Error cronjob `basename $0` -- $datum\n${msg}\n" \
| sendmail -F "Error `hostname -f`" -f $sender_address $_email
done
exit 1
fi
#---------------------------------------
#-----------------------------
# Check some prerequisites
#-----------------------------
#---------------------------------------
# - Running in a terminal?
# -
if [[ -t 1 ]] ; then
terminal=true
LOGGING=true
else
terminal=false
LOGGING=false
fi
if [[ -n "$1" ]] ; then
part_name=$1
else
error "No Partition given!"
usage
fi
#---------------------------------------
#-----------------------------
# Check mount count.
#-----------------------------
#---------------------------------------
if $LOGGING ; then
declare -i _length="${#part_name}"
echo -e "\n Check mount count of partition $part_name.."
echo -en " ================================="
declare -i i=0
while [[ $i -lt $_length ]] ; do
echo -n "="
((i++))
done
echo ""
fi
blank_line
echononl "Determin actual mount count of partitin $part_name .."
declare -i mount_count=$(tune2fs -l $part_name | grep "Mount count" | cut -d ":" -f 2)
if [[ $? -ne 0 ]]; then
echo_failed
fatal "Cannot determin mount count of partitin ${part_name}!"
else
if $(is_number $mount_count) ; then
echo_ok
else
echo_failed
fatal "Cannot determin mount count of partitin ${part_name}!"
fi
fi
echononl "Determin maximal mount count of partitin $part_name .."
declare -i max_mount_count=$(tune2fs -l $part_name | grep "Maximum mount count" | cut -d ":" -f 2)
if [[ $? -ne 0 ]]; then
echo_failed
fatal "Cannot determin maximal mount count of partitin ${part_name}!"
else
if $(is_number $max_mount_count) ; then
if [[ $max_mount_count -lt 2 ]] ; then
echo_warning
fatal "Maximal mount count of partitin ${part_name} is set incorrect (value: $max_mount_count)!"
else
echo_ok
fi
else
if [[ $max_mount_count -eq -1 ]] ; then
echo_warning
fatal "Maximal mount count of partitin ${part_name} not set (actual value: $max_mount_count)!"
else
echo_failed
fatal "Cannot determin maximl mount count of partitin ${part_name}!"
fi
fi
fi
blank_line
if [[ $mount_count -gt max_mount_count ]] ; then
warn "Mount count (${mount_count}) of partition ${part_name} exceeds Maximal mount count (${max_mount_count})"
else
info "Mount count (${mount_count}) of partition ${part_name} is less than Maximal mount count (${max_mount_count})
\033[1mAll is fine.\033[m"
fi
clean_up 0

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#/usr/bin/env bash
script_name="$(basename $(realpath $0))"
working_dir="$(dirname $(realpath $0))"
@ -204,7 +204,7 @@ else
terminal=false
fi
which lxc-ls || fatal "Seems not to be a LX Host. Missing command \033[33mlxc-ls"
[[ -n "$(which lxc-ls)" ]] || fatal "Seems not to be a LX Host. Missing command \033[33mlxc-ls"

View File

@ -0,0 +1,5 @@
ssh-dss AAAAB3NzaC1kc3MAAACBALn4mbLybmqFaEu6M+kZ7bKBmWP6izx0gJfIpv81zD5rv+QPgvNkqe2pJb49Uk2NJy7pjdSQHUPiVLHSVkJLD3cytExPh/R7jSpXWeChpf1jwmPgOaph8XvnqE8TxYiYEMvCty1Z3rxmaJV6KR1mti00yifcaKS0mYB62lB8Ws7bAAAAFQD8D2a6DSoGQcFVCTC1TkulQgyQEQAAAIBuY2g4xI3lIiiSS2ASER63ucZPH2LGuHUS3MoBMu37C1JxC4i7UuA7I4F685Yiqbs7ZXQAC32saAGvKVWQnOlHBG6nb2mxywcwa+YH+H+ZRy76kwLWF8bQ9VtMS67H3Ep+KV2smqDRGUoelXeq8Wv3AT5Cxd+65LUs9H0nOyxNoQAAAIEArmj7KfUjFKL73BrwEQCSrvXvMKInGd8NwJ/P7RsV9ef/nVApJJECRuiXqdvVLHmTfsqbZOvygN4jpBwn2l8mU8P6Iv319TWrI2rOqBLDUe82Y0bcB/7nqumHLe1LC2h0CKlhMY8XtNza0a8RpOFY9OlmcCkZpTA1zhn+mUtSTDo= erik@loki
ssh-dss AAAAB3NzaC1kc3MAAACBAKjNYbWMlUJ0yOG5pq0FuekLC2zj8sJAICUIQs4Y34LDBkRH4iT4NRHBuuXFig6Z8iLAEBiPdm0u5HF8gJE2i8z7VBvdAXSb2FxqQwhL5GLdvcY1oR/AB0gsmNngDlBiL7bxLzG+i0yf/qJUWzuQDkoxHfQRAh0JEp+FcqVd3HO9AAAAFQC3TIjvmFsBLcC5VKHQ+eTnzM9yAQAAAIBFbnV0H8Y+QrxRtEoOgZHiI0CF5WD9W82t9vc3P0MgDUgY8beNgSXcwaDzZkGSh7FbtjN9m9s+dzf7Gwjj7NJLQGImwVxbcAiMYsiklVhS4fpzvKdcb7fqcNffr0sFNUa3jpBC0hDqPdlaJMrHqqXZDEn0WjuLJARShXVquUj1QQAAAIAkC2kR96Zf0vMukX6qWmwF5peFzj+FzUlSSaGMHqS1kSRrASnO09P83zSve9/5y8K+MZ+H5WuG9TcJtKtV4PBoML3cAu6UvpsVPGsriq4opTK0pRn9Ui1xm82y16JQh/WBFY0Lh77YW2oLaDk4jl9IyDF6ew/bDxDhUTwOVwx/jA== erik@gmox.ds9
ssh-dss AAAAB3NzaC1kc3MAAACBALguv/zOdecLR8CPMbOUNG60tx5HbvhaYWFfp44NIchucu3i+K9i/86xxYqnD0mB78zZdj6ckjNLK0JLt2gOb3epTLREP2CJv1+3I8qcESwP8c/KhUW9iMjAvmGidrfWRulIhXOQaUJDCjq5GqOFXIVlPmkTyBMtQvsSKzy9Ytw7AAAAFQCrP/SoS4Xd6HK884o2k6qj786GgQAAAIAy+33c+qIgY5iHPiF6MFX4e4IHi+7jeaa4jUXGg9+bnpIx6ZlOXI7CsfQ70lyLAbm3ffCmgXya9aJdGXkCGIBIOcWNy6QaUQihc4h0FRFvQWDiKfHvkCuCcLoVwBy4hH1g8jmLWcbzkrJGUnBxIjzuJt4Oi+e/XPy/Id+7Ro0psAAAAIEAnNwtDLmfdJZSwT5S59Ikl24kOHgXk46mngwO8dGDi15kZ7yT6pkPkQWeCeiB3kvNQIXXa1yfLLNfdZJ70PrF6npCkNHCTdbDE0iP8QFzbKhNq5qTre9NTZ4bvRluhMU5z3OczhZQs8Gk23NmrqOswuZaL+qf49rRy3GaO9yxdHA= erik@yafw.local
ssh-dss AAAAB3NzaC1kc3MAAACBAK2jMqwOav/JpNBye5gi0UMPCvRQe5liPdlHPeBTyyqqg6MGG30ANEV6jl5D80DD0du1Dn3y1FkODYIT9h9yo5WmUNq+Q63afxRtknRrBU1uyPcZ4ynv7iiaCmTOTZy6syeBDqhGII2jTfMzPOQfhx97QyrtGLjaVxKHybD98zLBAAAAFQCxtu0FGELooom0XD633uIe+xAueQAAAIAdNOVUFLKyMAXt2Sdg+LDvWF/rbCIQyCh5tPXo0eoKHvmQGjc0sTgxmBdY7kkON/TDoUGlFba9ysH1z2KBeiXgO2YQymGENAd6WYMWuk2YRmcKA7HkVHNaga0/ly5Rgi9+fShabDDDhGC5REI3VPbiZCJNLLLTU23P0GgIrNo5OwAAAIA0a3yZFt1VOSjVfQvCP73MXHC/o1zsz5NKaLYazNLpPqZctNmK465CMpC52Kv9niTRujz80oiD5A+K6yYAEES1+wFo625DU2L8duXTFMlSAqPuKuvsST1gok5rA2CUFkxD6AwEuuxACItRq908Rh3ReFZuT+nkhgCkTFGzwYIujg== erik.grziwotz@nokia.com
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP6c9lnTkXLAbhiPVy6Y+0r27YDi+XOUyTpFqFrh5NAI erik@erik

View File

@ -1,7 +1,6 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO90culn3sicU2chTHn40ytcTay0nUIHap0uF/5fVM6P chris@sol
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOQHMUKlDh2ufno5pZOhUY5xFljC1R5zQ/GjOHDkS58D root@sol
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqy6ddUTgh5gbIBbu6WkO5Rm6wje1N+fEOmdNzBlfzpGngj0+94ONpR/dZyIECGFexz5ofizo8XdlGKMR97e9PLXrQXQ6CFO8+vFAwMx8Cs/T0Rx8B5tNl7UWiQ5bDmXPFForuDw7hJetWC5p0yK6+FHqhLDuYQ7qu/fQWneCiZDePmaLtxOaME6AAGJqwn+cqaRvfs0ZN1XRSH4KMk/S8re/+8txOB+uUIeTUkhz5LICcbeTdAWZdnGiNqudmKDGTOV4PZOmxqjtwK+aofqE/ua+x+08C58+Am0yClT0WFup/UmChnf50URApvnXwiJOmW3g+7k5tPRmEMnNglovksTurbKpKdTMVaTfwbVUe03//+/bI92PTH3fSIlmDpXAiolZ22WiGro6LVrx0e9E8a9b4MWOSYLUm19r7pL1gGagBNZcRssp2/9b2T/13SQ8qcFSpA1+B2C8jYgPUW2pxck5S+AK8KZ+nBDWmb44B8xecsmgu61jUTwLMsgjKck85IsVXlYWjHmfros9ni5Hj/0x+poqXB+g5Plww9Ua7iLhFOrz/zBOnUjcoC/dj3scJ9gFAcOV946lYdSQLUlc05mBSzejBbzN05UCSHX7MIcs8XcDFpLvPSzMyqscaS8CSRwbDFRScz6ArFTU9BJp8dYhbhHg6qufqwOy0KS9lPw== wadmin@wolf-x1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCUKGOmy5G56p/QlxQXUiHY7Q+Z//d0krczl+rcJhQrnbKcA6jpT2X9Al3Yrnvp5liz9DeliTCulZuI5xccC5kVSJqCXhN68ybBJhazBExVihLQkGxHrnnLl7n35EX1cmCN9H2p5HsxxFIJ1YfwK1/JmiuIK6BlnYtuns6iSg4bs1BqgL7x1T1ZeghX/us47L9DNmqLuZAaZUXGANo5X1x1vrQL9iMS7J8U1ljvk4PoxxVl3yWNkA16REFWnU8FrEUAEs5ReS5mXFFcKA8eBCpDs2aweaMxORjgct7wvzoT11VqW9Fgt8yRfRHEEi44T4YqjiPd0jeymdkBpnaGEX7W71M0Ifemcob9tPfRcvm36gVV2cACpwtLy+hslVEn7KvRdLTctGXTOzG95mBvZlggKeKwtsgc9OyxRxHb5DBKDE+2cvcM+LNbEpdCl/2Z03jZJbjl7hqt9O1mt4Fdwe+Cntq0g/NjrVN7envWL0M+5A8dh1QwPyGuk+pDqqbCZBFrT+SxsTLzgxXbmLA1LMZgFoszHsXBXhJvnsXF/SrQa+fw/U4uoIAoVmQ8Rh+qBAc7Ca4iENfcZHvB6OQ5WZXEiNQYxSGRSjvdQc8voXBuQBJwPTCScly3a7hpLqC5Qx70wKtRp4jvCVDb2sZiKOR8d/3ljmAPgYycH7DYUubMQ== wolle@wolf-mint
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSwqi8XhpwFWjtxC99MyGbt6E41C92Tv3ZVZPZ5eFNuyGY+RzTAF3PYymBWOPcM6cPQYihNLzjWEGOJccA2qac4Vu0sPQKu2njuiydN7vfHUZ9lvQuita7/uuwCRYDbHyVF5mSeqEKC5bOMIyanMpYghkH975Uzm2LSGtgT8u3/wEfizt3WpthCcAfVO8kU7wiMoikJcW249kBUGJxIqKrs8zJZC+6/OmnRmkgc9JlNvBTdGi9zhCSLJ7pEbuOjFMmjFTHpDRYHR6XhYsfImAPM4N3GOfRn9Cx/jTEV9sO7IoFRXwMgE1obuEntCzWAfUQJC/8HGS7sGUVHUfE3loz wadmin@ga13wks03
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDU3CKlzfIIz78Yg9YBX/F0a3v1ku+VsAOxrFilpN8oRYOqLmwM02yUGIkyBuKha4PyiRqUjlwzKtG9IMs86IxHYJ/08Ky8BA0DSdep+7lxJkF4NDu11G7mfPlbyKwsM+m7uLqUklpZPc7AZ8MG6yUvNINJZ9LAvI5kivnJvornNHuXNSL/lCHKPvQmSrzOPoG/E0OitFYz/HIxAFYWaxaBeA/ucP/P4ClV5ti21Raux8U7U+vQnm4WUeVkeAFssBF/IRp+8GdWQETKgLd5skiDpTCZezQkjVjHtCIqMFDJzzGNGxr4XUEs0b944HdWo+oQgNtITVPi9JGCgr/syoEVWPJ/tYMfBtI8P+y4TKA814vJy6DG3ljNecg06vpLFTC7TyZbpekTfap+CXVWfX8sz88sn5Vz8XBNqK2jFNC8K8jRB5QOEj5HjkmCqUKhUWKU5YN8MqHDEIE6z9FBEUF0xTcSHkvWvc/qO9y7lfDUeSHxfp3N0mT1Mf99+1ZExsuObOsC3IEg8q7E1H/Ot2AQp8h0jLDXGnu/X+Bzra1+tYQ1m60L1Yevv2wRfIh9orjpnh9h6Vb9pQ5cklchJJepWMET9sYRBzbEjI9S2uiG26DAfDakrrZCeymmFmU5SGoRl1VCmqPRIcF/Kd59tVE8ezKcovwtQfSAZkn7+2PfQw== wadmin@ga-st-lsx1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDURB9apq7KnPEAMEmCw02nzW6PeZe/Ve4K8RX0RpJEaDI7iwD82k6p7f8Vsl1xBJ8jfIwWEtxkg/P98m1UVoGuB/gVSLAUQrPInGv9EXRpyuy++daC6nKMtWSmLdSVVb5aaUzkloNiwbi+kz0xKjAIs3407VKuaGXLvi0xk5DO64QC34ZWYi2BvkWqEbmxK9yfCRKuP8zkeQO3kZKb2g3DzkXmZZKC0ueuUMvLjevrPAV4KVEwYTBwQgXMQIwP2omKQ/X1LJRJ6prq6DjOGBPddCOeCf+bJgmrk6t+ZmMpSGaUjt7TInyaVrs4vki9jBXJtk8YFNcOE5UVHB8RwjO3W7LG5S1IWg7Aj31OgxLXakr8tFJfCyK36nhRtxqFN62++0iXc0GVPLq8vRZN43QfoNwKGyQBCZVLC67XZ4gBDiZ0nHzqpBjnnO5zGhmv8hYIoGBSPpc433rliK2G8RGLzuQBo+gAmvNyNc9AfD2+v0Ucj7Y1w5uiH/N1IpKz9FQlL4+XGO59vRtrdYUdflTnlBiSF5vh4aL5P3kJPhUtupJ9/Qme6SAfvifwh1zH037wzo1zL+px6b6nLkUemD8gChCqOddJWwqjAbo5ILXJlUbhoIwtDM8ZYo28+/geEkEuD6CJLixqeLs1MgBidwX6W/RrTYU615gGXppcGFomOw== wadmin@ga-st-lsx1
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF5GDIFA6/i6lzkr+EP/EZM9glrK0eSR0nmrEFgUJ4n8 wadmin@ga-st-lsx1
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID17MN6fUg0D1dMSgVYIBpIy+sDBBmiaHmXRXU63TXJA wadmin@ga-st-li1303
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKtK8/rxHL1MKX5AHrgAzUYu0kV+1iYCmknpTQ7F0ham wadmin@wolf-debtest
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIcaDFxj0pYjOv/ohFVxVY2RKvy6ACZFPX9UkrUPHkbN wadmin@wolf-x1

View File

@ -0,0 +1,7 @@
# ~/.bash_logout: executed by bash(1) when login shell exits.
# when leaving the console clear the screen to increase privacy
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

View File

@ -0,0 +1,124 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
__hostname="$(hostname -f)"
__hostname="${__hostname%.*}"
__hostname="${__hostname%.*}"
if [ "$color_prompt" = yes ]; then
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@${__hostname}:\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1='${debian_chroot:+($debian_chroot)}\u@${__hostname}:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi
# some more ls aliases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
export EDITOR=vim
## - set beep more quiet
## -
#xset b 10 500 50

View File

@ -0,0 +1,31 @@
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# this is for the midnight-commander
# to become the last directory the midnight commander was in
# as the current directory when leaving the midnight commander
#
#. /usr/lib/mc/bin/mc.sh
if [ -f "/usr/share/mc/bin/mc.sh" ]; then
source /usr/share/mc/bin/mc.sh
fi

View File

@ -0,0 +1,2 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO90culn3sicU2chTHn40ytcTay0nUIHap0uF/5fVM6P chris@sol
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCZAWX2xF4msYC3Q8S2RopJW329LNaXSIClfh9Fuog5izi9hwQYZrACVQgWxU3OHn3o43DBvJORG0TMR5CDslFbtPc2uw8PupHNGYDT+F8zvYdLxm5lERIr44s8ymYk9/YVvDlbCHcIqaluMxBKBR/0lKWTCFhTM1lv4DPcn2Wdv9qgN8orrWbV0ADIk5lqZPmiSZwUYJ7FiJdGK43+Ps9luEsaPkF2bTiN5qp+TS1t2wFVws8RbkdAxfctRUv8VPFB78rxyp13m6N0czSiO+AHBOWQO3lVoumKDZmO4OS69fo6kEVvRJHqDbNnx61WnicVQhscSJkiNZF7/wfd6TRhBQ2kivQ/hwVN9pmJ+sqIUNIQB94PqjxEq7gpFQObJNQxJVqx+vEWDBaWWPVwfMWYl95kKPDGMt1QIrSCyk30gtIyfw4fw3ge/MBVs9mSau5AaopCK1VgPnWfoIn8OZjEg3jBXOPSYNabUIsdbEUFwTpXsKWiEEgOI0c5bxzyJIu977jHx4d73IRHYTrNI/SBUTim0qaSmpJwBl3Vu+GyEw+Raxz8EBjw4A/9gtLKPPD+kxNV7Ybb4+qvbbi4Q/teFLFx16NzuUOAgc7OfMY2OLBQvSSGExPTRW8AJK4IA4kKyqa4BE914bD0VsVDjLKGxn621opgbElUe6bE+Rmtsw== xmatti@posteo.de

View File

@ -0,0 +1,173 @@
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 1999 Sep 09
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim
set nocompatible " Use Vim defaults (much better!)
set bs=2 " allow backspacing over everything in insert mode
set ai " always set autoindenting on
" set backup " keep a backup file
"set viminfo='20,\"50 " read/write a .viminfo file, don't store more
" than 50 lines of registers
set viminfo='20,\"50,:20,%,n~/.viminfo
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
set ignorecase " suchen case-insenitiv
set showmatch " zeige passende klammern
set shell=/bin/bash " shell to start with !
set expandtab " tabs --> blanks
set showmode " anzeige INSERT/REPLACE/...
" set smartcase " Do smart case matching
set incsearch " Incremental search
" Start searching when you type the first character of
" the search string. As you type in more characters, the
" search is refined.
set t_Co=256 " To enable 256 colors in vim, put this your .vimrc before setting the colorscheme
" einrueckung
set shiftwidth=3
set tabstop=3
" Round indent to multiple of 'shiftwidth' for > and < commands
set shiftround
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
" let &guioptions = substitute(&guioptions, "t", "", "g")
" Don't use Ex mode, use Q for formatting
map Q gq
" Make p in isual Visual mode replace the selected text with the "" register.
vnoremap p <Esc>:let current_reg = @"<CR>gvdi<C-R>=current_reg<CR><Esc>
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" In text files, always limit the width of text to 78 characters
autocmd BufRead *.txt set tw=78
augroup cprog
" Remove all cprog autocommands
au!
" When starting to edit a file:
" For C and C++ files set formatting of comments and set C-indenting on.
" For other files switch it off.
" Don't change the order, it's important that the line with * comes first.
autocmd FileType * set formatoptions=tcql nocindent comments&
autocmd FileType c,cpp set formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,://
augroup END
augroup gzip
" Remove all gzip autocommands
au!
" Enable editing of gzipped files
" set binary mode before reading the file
autocmd BufReadPre,FileReadPre *.gz,*.bz2 set bin
autocmd BufReadPost,FileReadPost *.gz call GZIP_read("gunzip")
autocmd BufReadPost,FileReadPost *.bz2 call GZIP_read("bunzip2")
autocmd BufWritePost,FileWritePost *.gz call GZIP_write("gzip")
autocmd BufWritePost,FileWritePost *.bz2 call GZIP_write("bzip2")
autocmd FileAppendPre *.gz call GZIP_appre("gunzip")
autocmd FileAppendPre *.bz2 call GZIP_appre("bunzip2")
autocmd FileAppendPost *.gz call GZIP_write("gzip")
autocmd FileAppendPost *.bz2 call GZIP_write("bzip2")
" After reading compressed file: Uncompress text in buffer with "cmd"
fun! GZIP_read(cmd)
let ch_save = &ch
set ch=2
execute "'[,']!" . a:cmd
set nobin
let &ch = ch_save
execute ":doautocmd BufReadPost " . expand("%:r")
endfun
" After writing compressed file: Compress written file with "cmd"
fun! GZIP_write(cmd)
if rename(expand("<afile>"), expand("<afile>:r")) == 0
execute "!" . a:cmd . " <afile>:r"
endif
endfun
" Before appending to compressed file: Uncompress file with "cmd"
fun! GZIP_appre(cmd)
execute "!" . a:cmd . " <afile>"
call rename(expand("<afile>:r"), expand("<afile>"))
endfun
augroup END
" This is disabled, because it changes the jumplist. Can't use CTRL-O to go
" back to positions in previous files more than once.
if 0
" When editing a file, always jump to the last cursor position.
" This must be after the uncompress commands.
autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal `\"" | endif
endif
endif " has("autocmd")
" toggle syntax highlighting
map <F12> :if exists("syntax_on") <Bar> syntax off <Bar> else <Bar> syntax on <Bar> endif <CR><ESC>
map <F11> :nohls <CR>
" use <F6> to toggle line numbers
nmap <silent> <F6> :set number!<CR>
" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
set background=dark
" set color for search
hi clear search
hi search term=bold,reverse cterm=bold,reverse gui=bold,reverse
" set color for Comment
hi clear Comment
"highlight Comment term=bold cterm=bold ctermfg=LightBlue guifg=#80a0ff gui=bold
"highlight Comment term=none cterm=none ctermfg=LightBlue guifg=#80a0ff gui=bold
"highlight Comment term=bold cterm=bold ctermfg=grey guifg=#80a0ff gui=bold
highlight Comment term=none cterm=none ctermfg=grey guifg=#80a0ff gui=bold
"highlight Comment term=none cterm=none ctermfg=177 guifg=#80a0ff gui=bold
"highlight Comment term=none cterm=none ctermfg=215 guifg=#80a0ff gui=bold
" Go back to the position the cursor was on the last time this file was edited
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")|execute("normal `\"")|endif
" visual shifting (does not exit Visual mode)
vnoremap < <gv
vnoremap > >gv
" Scroll when cursor gets within 3 characters of top/bottom edge
set scrolloff=3
" Show line, column number, and relative position within a file in the status line
" set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
"set statusline=\ %F\ %(\|\ flags:\ %R%M%H%W\ %)%(\|\ type:\ %Y\ %)%(\|\ format:\ %{&ff}\ %)%(\|\ syntax:\ %{synIDattr(synID(line('.'),col('.'),0),'name')}%)\ \ %=line:\ %l/%L\ \|\ column:\ %c%V\ \|\ relative\:\ %p%%\
set statusline=\ %F\ %(\|\ flags:\ %R%M%H%W\ %)%(\|\ type:\ %Y\ %)%(\|\ format:\ %{&ff}\ %)\ \ %=line:\ %l/%L\ \|\ col:\ %c%V\ \|\ %p%%
" Always show status line, even for one window
set laststatus=2
highlight StatusLine cterm=none ctermfg=white ctermbg=blue