94 lines
2.2 kB
1
rwx_rescue_configure() {
2
local hostname="${1}"
3
# apt / conf
4
rwx_apt_conf_write
5
# apt / sources
6
rwx_apt_sources_write
7
# bash / rc
8
main_link_bashrc
9
mv "${HOME}/.bashrc" "${HOME}/.bashrc.old"
10
# host name
11
hostname "${hostname}"
12
# locales
13
printf "\
14
en_US.UTF-8 UTF-8
15
fr_FR.UTF-8 UTF-8
16
" >"/etc/locale.gen"
17
# generate locales
18
locale-gen
19
# update catalog
20
rwx_apt_update
21
# disable frontend
22
rwx_debian_frontend_disable
23
# install backports
24
rwx_apt_install_backports "tmux"
25
# install packages
26
rwx_apt_install_release "apt-file" "mosh" "screen" "byobu"
27
# update catalog
28
rwx_apt_update
29
}
30
31
rwx_rescue_install() {
32
# update catalog
33
rwx_apt_update
34
# disable frontend
35
rwx_debian_frontend_disable
36
# upgrade packages
37
rwx_apt_upgrade
38
# install packages
39
rwx_apt_install_release \
40
"man-db" \
41
"dmidecode" "efibootmgr" "lshw" "pciutils" "usbutils" \
42
"parted" "mdadm" "cryptsetup-bin" "lvm2" \
43
"btrfs-progs" "dosfstools" "duperemove" "squashfs-tools" \
44
"git" "micro" "nano" "python3" "rsync" "vim" \
45
"exa" "lf" "ncdu" "nnn" "ranger" "tree" \
46
"file" "htop" "iotop" "ipcalc" "libdigest-sha3-perl" "lsof"
47
# install backports
48
rwx_apt_install_backports \
49
"grub-pc-bin" \
50
\
51
"grub-efi-amd64-bin"
52
}
53
54
rwx_rescue_upload() {
55
local host="${1}"
56
local hostname="${2}"
57
if [ -n "${hostname}" ]; then
58
local user="root"
59
#
60
local user_host="${user}@${host}"
61
# remove fingerprints
62
ssh-keygen -R "${host}"
63
# copy ssh id
64
ssh-copy-id \
65
-o "StrictHostKeyChecking=accept-new" \
66
"${user_host}"
67
# upload root
68
rsync --delete --recursive \
69
"$(dirname "${ENV}")" "${user_host}:/etc"
70
# call setup
71
# TODO variable
72
ssh "${user_host}" -- \
73
". \"${ENV}\" ; rwx_rescue_configure \"${hostname}\""
74
# create session
75
ssh "${user_host}" -- byobu new-session -d
76
# send keys
77
ssh "${user_host}" -- byobu send-keys "rwx_rescue_install" "C-m"
78
# attach session
79
mosh "${user_host}" -- byobu attach-session
80
else
81
echo "host & hostname"
82
return 1
83
fi
84
}
85
86
rwx_rescue_wipe_1_zero() {
87
rwx_fs_wipe "/dev/mapper/crypt" "512M"
88
}
89
90
rwx_rescue_wipe_3_close() {
91
umount "/media/boot"
92
umount "/media/crypt" &&
93
cryptsetup luksClose "crypt"
94
}
95