function ovh-rescue-setup { local release='buster' local packages=( 'byobu' 'mosh' 'file' 'grub-efi-amd64-bin' 'grub-pc-bin' 'htop' 'iotop' 'exa' 'ncdu' 'nnn' 'ranger' 'tree' 'squashfs-tools' 'uuid-runtime' ) local backports=( 'cryptsetup-bin' 'git' 'rsync' ) # echo -n "\ en_US.UTF-8 UTF-8 fr_FR.UTF-8 UTF-8 " > '/etc/locale.gen' rm --force '/usr/share/locale/locale.alias' ln --symbolic '/etc/locale.alias' '/usr/share/locale/locale.alias' locale-gen # echo -n "\ Acquire::AllowInsecureRepositories False; Acquire::AllowWeakRepositories False; Acquire::AllowDowngradeToInsecureRepositories False; Acquire::Check-Valid-Until True; APT::Install-Recommends False; APT::Install-Suggests False; APT::Get::Show-Versions True; Dir::Etc::SourceParts ''; Dpkg::Progress True; " > '/etc/apt/apt.conf' echo -n "\ deb https://deb.debian.org/debian buster main contrib non-free deb https://deb.debian.org/debian buster-backports main contrib non-free deb https://deb.debian.org/debian buster-updates main contrib non-free deb https://deb.debian.org/debian-security buster/updates main contrib non-free " > '/etc/apt/sources.list' # apt-get update apt-get update # export DEBIAN_FRONTEND='noninteractive' # apt-get upgrade --assume-yes # apt-get install --assume-yes "${packages[@]}" apt-get install --assume-yes \ --target-release "${release}-backports" "${backports[@]}" # apt-get clean # link_bashrc } function ovh-rescue-upload { local host="${1}" if [ "${host}" ] ; then local user='root' # local user_host="${user}@${host}" # ssh-keygen -R "${host}" # ssh-copy-id \ -o 'StrictHostKeyChecking=accept-new' \ "${user_host}" # upload root rsync --delete --recursive "${MAIN_ROOT}/" "${user_host}:/etc/bash/" # call setup ssh "${user_host}" -- "source '/etc/bash/main.sh' ; ovh-rescue-setup" # create session ssh "${user_host}" -- byobu new-session -d # attach session mosh "${user_host}" -- byobu attach-session else echo 'Host?' return 1 fi }