35 lines
1.4 KiB
Bash
Executable File
35 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
# Требования
|
||
REQUIRED_SPACE_GB="10"
|
||
REQUIRED_MEMORY_GB="6"
|
||
|
||
# Нам нужно завершить родительский процесс установки, потому что выход из этого скрипта
|
||
# убивает только текущий процесс-перехватчик, а не родительский. Пользователь не получит
|
||
# любая визуальная обратная связь, если мы выйдем, но это лучше, чем позволить им убить
|
||
# их система.
|
||
kill_app_install() {
|
||
pkill --full "app install llama-gpt"
|
||
exit 1
|
||
}
|
||
|
||
# Проверить доступное место
|
||
REQUIRED_SPACE_KB=$((REQUIRED_SPACE_GB * 1024 * 1024))
|
||
DFWEBOS_ROOT="$(readlink -f $(dirname "${BASH_SOURCE[0]}")/../../..)"
|
||
AVAILABLE_SPACE_KB=$(df "${DFWEBOS_ROOT}" | tail -1 | awk '{print $4}')
|
||
if (( AVAILABLE_SPACE_KB < REQUIRED_SPACE_KB ))
|
||
then
|
||
echo "Not enough available storage space to install LlamaGPT. Exiting."
|
||
kill_app_install
|
||
fi
|
||
|
||
# Проверьте доступную память
|
||
REQUIRED_MEMORY_KB=$((REQUIRED_MEMORY_GB * 1024 * 1024))
|
||
TOTAL_MEMORY_KB=$(free | grep '^Mem' | awk '{print $2}')
|
||
if (( TOTAL_MEMORY_KB < REQUIRED_MEMORY_KB ))
|
||
then
|
||
echo "Not enough system memory to install LlamaGPT. Exiting."
|
||
kill_app_install
|
||
fi
|