KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 1 insertion, 1 deletion
install.sh
| @@ -72,7 +72,6 @@ ask_proxy() { | |||
| 72 | 72 | read -e -p "Proxy URL: " -i "http://192.168.111.87:3142" PROXY_URL | |
| 73 | 73 | if [ -n "$PROXY_URL" ]; then | |
| 74 | 74 | configure_proxy "$PROXY_URL" | |
| 75 | - | fix_debian_keys | |
| 76 | 75 | fi | |
| 77 | 76 | fi | |
| 78 | 77 | } | |
| @@ -634,6 +633,7 @@ main() { | |||
| 634 | 633 | fi | |
| 635 | 634 | ||
| 636 | 635 | ask_proxy | |
| 636 | + | fix_debian_keys | |
| 637 | 637 | ||
| 638 | 638 | # Выполнение настроек | |
| 639 | 639 | configure_root_history | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 1 insertion, 1 deletion
install.sh
| @@ -66,7 +66,7 @@ ask_password() { | |||
| 66 | 66 | # Запрос настройки прокси | |
| 67 | 67 | ask_proxy() { | |
| 68 | 68 | echo -e "\n${ANSI_YELLOW}Использовать прокси-сервер apt-cacher-ng? (y/n):${ANSI_RESET}" | |
| 69 | - | read -p -e "Use proxy? " USE_PROXY | |
| 69 | + | read -p "Use proxy? " USE_PROXY | |
| 70 | 70 | if [[ "$USE_PROXY" =~ ^[Yy]$ ]]; then | |
| 71 | 71 | echo -e "${ANSI_YELLOW}Введите URL прокси-сервера (например: http://192.168.111.87:3142):${ANSI_RESET}" | |
| 72 | 72 | read -e -p "Proxy URL: " -i "http://192.168.111.87:3142" PROXY_URL | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 1 insertion, 1 deletion
install.sh
| @@ -66,7 +66,7 @@ ask_password() { | |||
| 66 | 66 | # Запрос настройки прокси | |
| 67 | 67 | ask_proxy() { | |
| 68 | 68 | echo -e "\n${ANSI_YELLOW}Использовать прокси-сервер apt-cacher-ng? (y/n):${ANSI_RESET}" | |
| 69 | - | read -p -e "Use proxy? " -i "N" USE_PROXY | |
| 69 | + | read -p -e "Use proxy? " USE_PROXY | |
| 70 | 70 | if [[ "$USE_PROXY" =~ ^[Yy]$ ]]; then | |
| 71 | 71 | echo -e "${ANSI_YELLOW}Введите URL прокси-сервера (например: http://192.168.111.87:3142):${ANSI_RESET}" | |
| 72 | 72 | read -e -p "Proxy URL: " -i "http://192.168.111.87:3142" PROXY_URL | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 3 insertions, 4 deletions
install.sh
| @@ -66,14 +66,13 @@ ask_password() { | |||
| 66 | 66 | # Запрос настройки прокси | |
| 67 | 67 | ask_proxy() { | |
| 68 | 68 | echo -e "\n${ANSI_YELLOW}Использовать прокси-сервер apt-cacher-ng? (y/n):${ANSI_RESET}" | |
| 69 | - | read -p "Use proxy? " USE_PROXY | |
| 69 | + | read -p -e "Use proxy? " -i "N" USE_PROXY | |
| 70 | 70 | if [[ "$USE_PROXY" =~ ^[Yy]$ ]]; then | |
| 71 | 71 | echo -e "${ANSI_YELLOW}Введите URL прокси-сервера (например: http://192.168.111.87:3142):${ANSI_RESET}" | |
| 72 | 72 | read -e -p "Proxy URL: " -i "http://192.168.111.87:3142" PROXY_URL | |
| 73 | 73 | if [ -n "$PROXY_URL" ]; then | |
| 74 | 74 | configure_proxy "$PROXY_URL" | |
| 75 | - | else | |
| 76 | - | echo -e "${ANSI_RED}URL прокси не введен, пропускаем${ANSI_RESET}" | |
| 75 | + | fix_debian_keys | |
| 77 | 76 | fi | |
| 78 | 77 | fi | |
| 79 | 78 | } | |
| @@ -638,7 +637,7 @@ main() { | |||
| 638 | 637 | ||
| 639 | 638 | # Выполнение настроек | |
| 640 | 639 | configure_root_history | |
| 641 | - | fix_debian_keys | |
| 640 | + | ||
| 642 | 641 | set_hostname "$NEW_HOSTNAME" | |
| 643 | 642 | add_mephi_repository | |
| 644 | 643 | update_system | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 31 insertions, 8 deletions
install.sh
| @@ -574,21 +574,44 @@ EOF | |||
| 574 | 574 | ||
| 575 | 575 | # Обновление GPG ключей Debian | |
| 576 | 576 | fix_debian_keys() { | |
| 577 | - | echo -e "${ANSI_GREEN}=== Обновление GPG ключей Debian ===${ANSI_RESET}" | |
| 577 | + | echo -e "${ANSI_GREEN}=== Исправление GPG-ключей Debian ===${ANSI_RESET}" | |
| 578 | 578 | ||
| 579 | - | # Удалить старые проблемные ключи | |
| 579 | + | # 1. Полностью удаляем кэш списков пакетов | |
| 580 | + | rm -rf /var/lib/apt/lists/* | |
| 581 | + | ||
| 582 | + | # 2. Удаляем старые проблемные ключи из trusted.gpg.d и связки apt-key | |
| 583 | + | rm -f /etc/apt/trusted.gpg.d/*54404762BBB6E853* \ | |
| 584 | + | /etc/apt/trusted.gpg.d/*6ED0E7B82643E131* 2>/dev/null || true | |
| 580 | 585 | apt-key del 54404762BBB6E853 2>/dev/null || true | |
| 581 | 586 | apt-key del 6ED0E7B82643E131 2>/dev/null || true | |
| 582 | 587 | ||
| 583 | - | # Установка свежих ключей | |
| 584 | - | apt-get update --allow-insecure-repositories || true | |
| 585 | - | apt-get install -y debian-archive-keyring --allow-unauthenticated | |
| 586 | - | ||
| 587 | - | # Очистка кэша apt | |
| 588 | + | # 3. Очищаем кэш apt | |
| 588 | 589 | apt-get clean | |
| 590 | + | ||
| 591 | + | # 4. Принудительно переустанавливаем пакет с ключами (без проверки подписи) | |
| 592 | + | apt-get install --reinstall -y --allow-unauthenticated debian-archive-keyring | |
| 593 | + | ||
| 594 | + | # 5. Если прокси-сервер используется, настраиваем переменные окружения для gpg | |
| 595 | + | if [ -n "$PROXY_URL" ]; then | |
| 596 | + | export http_proxy="$PROXY_URL" | |
| 597 | + | export https_proxy="$PROXY_URL" | |
| 598 | + | fi | |
| 599 | + | ||
| 600 | + | # 6. Пытаемся получить ключи напрямую с keyserver (альтернативный источник) | |
| 601 | + | echo "Получение свежих ключей с keyserver..." | |
| 602 | + | gpg --keyserver keyserver.ubuntu.com --recv-keys 54404762BBB6E853 6ED0E7B82643E131 2>/dev/null || \ | |
| 603 | + | gpg --keyserver pgp.mit.edu --recv-keys 54404762BBB6E853 6ED0E7B82643E131 2>/dev/null || \ | |
| 604 | + | gpg --keyserver keys.openpgp.org --recv-keys 54404762BBB6E853 6ED0E7B82643E131 2>/dev/null || true | |
| 605 | + | ||
| 606 | + | # 7. Экспортируем ключи в директорию apt (если были получены) | |
| 607 | + | gpg --export 54404762BBB6E853 > /etc/apt/trusted.gpg.d/debian-security-automatic.gpg 2>/dev/null || true | |
| 608 | + | gpg --export 6ED0E7B82643E131 > /etc/apt/trusted.gpg.d/debian-archive-automatic.gpg 2>/dev/null || true | |
| 609 | + | ||
| 610 | + | # 8. Снова очищаем списки и обновляем | |
| 589 | 611 | rm -rf /var/lib/apt/lists/* | |
| 612 | + | apt-get update --allow-insecure-repositories || true | |
| 590 | 613 | ||
| 591 | - | echo -e "${ANSI_GREEN}Ключи обновлены${ANSI_RESET}" | |
| 614 | + | echo -e "${ANSI_GREEN}Ключи обновлены.${ANSI_RESET}" | |
| 592 | 615 | } | |
| 593 | 616 | ||
| 594 | 617 | # ==================== ОСНОВНАЯ ЛОГИКА ==================== | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 1 insertion, 1 deletion
install.sh
| @@ -615,9 +615,9 @@ main() { | |||
| 615 | 615 | ||
| 616 | 616 | # Выполнение настроек | |
| 617 | 617 | configure_root_history | |
| 618 | + | fix_debian_keys | |
| 618 | 619 | set_hostname "$NEW_HOSTNAME" | |
| 619 | 620 | add_mephi_repository | |
| 620 | - | fix_debian_keys | |
| 621 | 621 | update_system | |
| 622 | 622 | install_packages | |
| 623 | 623 | configure_ssh | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 11 insertions, 9 deletions
install.sh
| @@ -27,12 +27,13 @@ ask_hostname() { | |||
| 27 | 27 | ||
| 28 | 28 | # Запрос - создавать ли пользователя | |
| 29 | 29 | ask_create_user() { | |
| 30 | + | local choice | |
| 30 | 31 | echo -e "${ANSI_YELLOW}Создать нового пользователя? (y/n):${ANSI_RESET}" | |
| 31 | - | read -p "Create user [YyNn]? " CREATE_USER | |
| 32 | - | if [[ "$CREATE_USER" =~ ^[Yy]$ ]]; then | |
| 33 | - | echo "yes" | |
| 32 | + | read -p "Create user [Y/N]? " choice | |
| 33 | + | if [[ "$choice" =~ ^[Yy]$ ]]; then | |
| 34 | + | CREATE_USER="yes" | |
| 34 | 35 | else | |
| 35 | - | echo "no" | |
| 36 | + | CREATE_USER="no" | |
| 36 | 37 | fi | |
| 37 | 38 | } | |
| 38 | 39 | ||
| @@ -593,19 +594,19 @@ fix_debian_keys() { | |||
| 593 | 594 | # ==================== ОСНОВНАЯ ЛОГИКА ==================== | |
| 594 | 595 | ||
| 595 | 596 | main() { | |
| 596 | - | check_root | |
| 597 | + | # check_root | |
| 597 | 598 | ||
| 598 | 599 | echo -e "${ANSI_GREEN}=== Настройка системы ===${ANSI_RESET}" | |
| 599 | 600 | ||
| 600 | - | configure_root_history | |
| 601 | - | ||
| 602 | 601 | NEW_HOSTNAME=$(ask_hostname) | |
| 603 | 602 | ||
| 604 | - | CREATE_USER=$(ask_create_user) | |
| 603 | + | ask_create_user | |
| 604 | + | ||
| 605 | + | echo $CREATE_USER | |
| 606 | + | ||
| 605 | 607 | if [ "$CREATE_USER" = "yes" ]; then | |
| 606 | 608 | NEW_USER=$(ask_username) | |
| 607 | 609 | USER_PASS=$(ask_password "$NEW_USER") | |
| 608 | - | ||
| 609 | 610 | create_user "$NEW_USER" "$USER_PASS" | |
| 610 | 611 | configure_user_history "$NEW_USER" | |
| 611 | 612 | fi | |
| @@ -613,6 +614,7 @@ main() { | |||
| 613 | 614 | ask_proxy | |
| 614 | 615 | ||
| 615 | 616 | # Выполнение настроек | |
| 617 | + | configure_root_history | |
| 616 | 618 | set_hostname "$NEW_HOSTNAME" | |
| 617 | 619 | add_mephi_repository | |
| 618 | 620 | fix_debian_keys | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 20 insertions, 18 deletions
install.sh
| @@ -25,41 +25,43 @@ ask_hostname() { | |||
| 25 | 25 | echo "$NEW_HOSTNAME" | |
| 26 | 26 | } | |
| 27 | 27 | ||
| 28 | + | # Запрос - создавать ли пользователя | |
| 29 | + | ask_create_user() { | |
| 30 | + | echo -e "${ANSI_YELLOW}Создать нового пользователя? (y/n):${ANSI_RESET}" | |
| 31 | + | read -p "Create user [YyNn]? " CREATE_USER | |
| 32 | + | if [[ "$CREATE_USER" =~ ^[Yy]$ ]]; then | |
| 33 | + | echo "yes" | |
| 34 | + | else | |
| 35 | + | echo "no" | |
| 36 | + | fi | |
| 37 | + | } | |
| 38 | + | ||
| 39 | + | # Запрос имени пользователя | |
| 28 | 40 | ask_username() { | |
| 29 | 41 | local username | |
| 30 | - | echo -e "${ANSI_YELLOW}Введите имя нового пользователя:${ANSI_RESET}" | |
| 31 | - | read username | |
| 42 | + | echo -e "${ANSI_YELLOW}Введите имя нового пользователя:${ANSI_RESET}" >&2 | |
| 43 | + | read -p "Username: " username | |
| 32 | 44 | if [ -z "$username" ]; then | |
| 33 | - | echo -e "${ANSI_RED}Имя пользователя не может быть пустым.${ANSI_RESET}" | |
| 45 | + | echo -e "${ANSI_RED}Имя пользователя не может быть пустым.${ANSI_RESET}" >&2 | |
| 34 | 46 | exit 1 | |
| 35 | 47 | fi | |
| 36 | 48 | echo "$username" | |
| 37 | 49 | } | |
| 38 | 50 | ||
| 51 | + | # Запрос пароля | |
| 39 | 52 | ask_password() { | |
| 40 | 53 | local username=$1 | |
| 41 | 54 | local user_pass | |
| 42 | - | echo -e "${ANSI_YELLOW}Введите пароль для пользователя $username:${ANSI_RESET}" | |
| 43 | - | read -s user_pass | |
| 44 | - | echo | |
| 55 | + | echo -e "${ANSI_YELLOW}Введите пароль для пользователя $username:${ANSI_RESET}" >&2 | |
| 56 | + | read -s -p "Password: " user_pass | |
| 57 | + | echo >&2 | |
| 45 | 58 | if [ -z "$user_pass" ]; then | |
| 46 | - | echo -e "${ANSI_RED}Пароль не может быть пустым.${ANSI_RESET}" | |
| 59 | + | echo -e "${ANSI_RED}Пароль не может быть пустым.${ANSI_RESET}" >&2 | |
| 47 | 60 | exit 1 | |
| 48 | 61 | fi | |
| 49 | 62 | echo "$user_pass" | |
| 50 | 63 | } | |
| 51 | 64 | ||
| 52 | - | ask_create_user() { | |
| 53 | - | local answer | |
| 54 | - | echo -e "${ANSI_YELLOW}Создать нового пользователя? (y/n):${ANSI_RESET}" | |
| 55 | - | read answer | |
| 56 | - | if [[ "$answer" =~ ^[Yy]$ ]]; then | |
| 57 | - | echo "yes" | |
| 58 | - | else | |
| 59 | - | echo "no" | |
| 60 | - | fi | |
| 61 | - | } | |
| 62 | - | ||
| 63 | 65 | # Запрос настройки прокси | |
| 64 | 66 | ask_proxy() { | |
| 65 | 67 | echo -e "\n${ANSI_YELLOW}Использовать прокси-сервер apt-cacher-ng? (y/n):${ANSI_RESET}" | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 18 insertions, 20 deletions
install.sh
| @@ -25,43 +25,41 @@ ask_hostname() { | |||
| 25 | 25 | echo "$NEW_HOSTNAME" | |
| 26 | 26 | } | |
| 27 | 27 | ||
| 28 | - | # Запрос - создавать ли пользователя | |
| 29 | - | ask_create_user() { | |
| 30 | - | echo -e "${ANSI_YELLOW}Создать нового пользователя? (y/n):${ANSI_RESET}" | |
| 31 | - | read -p "Create user [YyNn]? " CREATE_USER | |
| 32 | - | if [[ "$CREATE_USER" =~ ^[Yy]$ ]]; then | |
| 33 | - | echo "yes" | |
| 34 | - | else | |
| 35 | - | echo "no" | |
| 36 | - | fi | |
| 37 | - | } | |
| 38 | - | ||
| 39 | - | # Запрос имени пользователя | |
| 40 | 28 | ask_username() { | |
| 41 | 29 | local username | |
| 42 | - | echo -e "${ANSI_YELLOW}Введите имя нового пользователя:${ANSI_RESET}" >&2 | |
| 43 | - | read -p "Username: " username | |
| 30 | + | echo -e "${ANSI_YELLOW}Введите имя нового пользователя:${ANSI_RESET}" | |
| 31 | + | read username | |
| 44 | 32 | if [ -z "$username" ]; then | |
| 45 | - | echo -e "${ANSI_RED}Имя пользователя не может быть пустым.${ANSI_RESET}" >&2 | |
| 33 | + | echo -e "${ANSI_RED}Имя пользователя не может быть пустым.${ANSI_RESET}" | |
| 46 | 34 | exit 1 | |
| 47 | 35 | fi | |
| 48 | 36 | echo "$username" | |
| 49 | 37 | } | |
| 50 | 38 | ||
| 51 | - | # Запрос пароля | |
| 52 | 39 | ask_password() { | |
| 53 | 40 | local username=$1 | |
| 54 | 41 | local user_pass | |
| 55 | - | echo -e "${ANSI_YELLOW}Введите пароль для пользователя $username:${ANSI_RESET}" >&2 | |
| 56 | - | read -s -p "Password: " user_pass | |
| 57 | - | echo >&2 | |
| 42 | + | echo -e "${ANSI_YELLOW}Введите пароль для пользователя $username:${ANSI_RESET}" | |
| 43 | + | read -s user_pass | |
| 44 | + | echo | |
| 58 | 45 | if [ -z "$user_pass" ]; then | |
| 59 | - | echo -e "${ANSI_RED}Пароль не может быть пустым.${ANSI_RESET}" >&2 | |
| 46 | + | echo -e "${ANSI_RED}Пароль не может быть пустым.${ANSI_RESET}" | |
| 60 | 47 | exit 1 | |
| 61 | 48 | fi | |
| 62 | 49 | echo "$user_pass" | |
| 63 | 50 | } | |
| 64 | 51 | ||
| 52 | + | ask_create_user() { | |
| 53 | + | local answer | |
| 54 | + | echo -e "${ANSI_YELLOW}Создать нового пользователя? (y/n):${ANSI_RESET}" | |
| 55 | + | read answer | |
| 56 | + | if [[ "$answer" =~ ^[Yy]$ ]]; then | |
| 57 | + | echo "yes" | |
| 58 | + | else | |
| 59 | + | echo "no" | |
| 60 | + | fi | |
| 61 | + | } | |
| 62 | + | ||
| 65 | 63 | # Запрос настройки прокси | |
| 66 | 64 | ask_proxy() { | |
| 67 | 65 | echo -e "\n${ANSI_YELLOW}Использовать прокси-сервер apt-cacher-ng? (y/n):${ANSI_RESET}" | |
KarelWintersky zrewidował ten Gist 21 hours ago. Przejdź do rewizji
1 file changed, 2 insertions, 2 deletions
install.sh
| @@ -28,7 +28,7 @@ ask_hostname() { | |||
| 28 | 28 | # Запрос - создавать ли пользователя | |
| 29 | 29 | ask_create_user() { | |
| 30 | 30 | echo -e "${ANSI_YELLOW}Создать нового пользователя? (y/n):${ANSI_RESET}" | |
| 31 | - | read -p "Create user? " CREATE_USER | |
| 31 | + | read -p "Create user [YyNn]? " CREATE_USER | |
| 32 | 32 | if [[ "$CREATE_USER" =~ ^[Yy]$ ]]; then | |
| 33 | 33 | echo "yes" | |
| 34 | 34 | else | |
| @@ -68,7 +68,7 @@ ask_proxy() { | |||
| 68 | 68 | read -p "Use proxy? " USE_PROXY | |
| 69 | 69 | if [[ "$USE_PROXY" =~ ^[Yy]$ ]]; then | |
| 70 | 70 | echo -e "${ANSI_YELLOW}Введите URL прокси-сервера (например: http://192.168.111.87:3142):${ANSI_RESET}" | |
| 71 | - | read -p "Proxy URL: " -i "http://192.168.111.87:3142" PROXY_URL | |
| 71 | + | read -e -p "Proxy URL: " -i "http://192.168.111.87:3142" PROXY_URL | |
| 72 | 72 | if [ -n "$PROXY_URL" ]; then | |
| 73 | 73 | configure_proxy "$PROXY_URL" | |
| 74 | 74 | else | |