#!/bin/bash
# 恢复Kali到默认官方源状态(清除所有自定义源,还原初始配置)
# 执行:chmod +x restore-default-sources.sh && sudo ./restore-default-sources.sh
set -euo pipefail
RED="\033[31m"
GREEN="\033[32m"
YELLOW="\033[33m"
RESET="\033[0m"
# 检查是否为root用户
if [ "$(id -u)" -ne 0 ]; then
echo -e "${RED}[ERROR] 请使用 sudo 或 root 用户执行脚本!${RESET}"
exit 1
fi
echo -e "${GREEN}[INFO] 开始恢复Kali到默认官方源状态...${RESET}"
##############################################################################
# 1. 备份当前源配置(可选,防止后续需要恢复)
##############################################################################
BACKUP_DIR="/etc/apt/sources.backup.$(date +%Y%m%d%H%M%S)"
echo -e "\n${YELLOW}[STEP 1] 备份当前源配置到:$BACKUP_DIR${RESET}"
sudo mkdir -p $BACKUP_DIR
sudo cp -r /etc/apt/sources.list /etc/apt/sources.list.d $BACKUP_DIR 2>/dev/null || true
##############################################################################
# 2. 清除所有自定义源(关键步骤)
##############################################################################
echo -e "\n${YELLOW}[STEP 2] 清除所有自定义源和第三方源...${RESET}"
# 删除所有源配置文件(sources.list + sources.list.d目录)
sudo rm -rf /etc/apt/sources.list /etc/apt/sources.list.d/*
# 重建默认的官方源配置文件(Kali初始默认源)
sudo tee /etc/apt/sources.list << EOF
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib
EOF
##############################################################################
# 3. 清除旧源缓存,修复包管理依赖
##############################################################################
echo -e "\n${YELLOW}[STEP 3] 清除缓存并修复包管理系统...${RESET}"
# 完全清除apt缓存(旧源的包索引、下载缓存)
sudo apt clean
sudo rm -rf /var/lib/apt/lists/* /var/cache/apt/*
# 修复可能损坏的包依赖和模块(解决之前的apt_pkg/sqlite3报错)
sudo apt --fix-broken install -y
sudo apt install --reinstall python3-apt python3-sqlite3 apt -y
##############################################################################
# 4. 重新生成官方源索引(让默认源生效)
##############################################################################
echo -e "\n${YELLOW}[STEP 4] 重新同步官方源索引...${RESET}"
# 重新更新官方源(首次同步可能较慢,耐心等待)
sudo apt update -y
##############################################################################
# 5. 验证恢复结果
##############################################################################
echo -e "\n${YELLOW}[STEP 5] 验证恢复状态...${RESET}"
# 检查当前生效的源(仅显示官方源)
ACTIVE_SOURCES=$(grep -v "^#" /etc/apt/sources.list | grep -v "^$" | wc -l)
if [ $ACTIVE_SOURCES -eq 4 ]; then
echo -e "${GREEN}[SUCCESS] 恢复成功!当前仅启用Kali官方默认源:${RESET}"
grep -v "^#" /etc/apt/sources.list | grep -v "^$"
else
echo -e "${RED}[ERROR] 恢复失败!请检查网络或重新执行脚本${RESET}"
exit 1
fi
echo -e "\n${GREEN}[INFO] 恢复完成!系统已回到“未配置自定义源”的初始状态:${RESET}"
echo "1. 源配置:仅保留Kali官方默认源(无任何国内源/第三方源)"
echo "2. 包管理:已修复apt依赖和Python模块缺失问题"
echo "3. 后续操作:可正常使用 sudo apt install 安装工具(从官方源拉取)"
echo "4. 备份说明:旧源配置已保存到 $BACKUP_DIR(需要时可手动恢复)"
避免包依赖包出错,又不想重装,就直接运行它直接恢复清华源模式。
2091

被折叠的 条评论
为什么被折叠?



