当前位置: 首页 > news >正文

Kali 自动化换源脚本编写与使用

1. 背景与需求

在使用 Kali Linux 的过程中,软件源的配置对系统的更新与软件安装速度至关重要。
Kali 的默认官方源提供了安全且最新的软件包,但有时由于网络条件或地理位置的限制,使用官方源可能会出现速度较慢的问题。
为了解决这一问题,许多用户会选择切换到第三方镜像源(如阿里云、清华大学等),以提高更新与下载的速度。

然而,手动切换软件源需要编辑 /etc/apt/sources.list 文件,操作繁琐且易出错。为此,我设计了一个简单的 Shell 脚本 —— switch_kali_sources.sh,用于快速切换 Kali 的官方源与第三方源。


2. 脚本功能

switch_kali_sources.sh 的核心功能是:

  • Kali 官方源第三方源(例如阿里云源)之间快速切换。
  • 自动更新软件包列表,确保配置即时生效。
  • 提供简单、交互式的操作界面,适合任何用户使用。

3. 脚本代码

以下是 switch_kali_sources.sh 的完整代码:

#!/bin/bash# 定义官方源和第三方源
OFFICIAL_SOURCE="deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware contrib\n"
THIRD_PARTY_SOURCE="deb https://mirrors.aliyun.comkali kali-rolling main non-free non-free-firmware contrib\n"# 配置文件路径
SOURCE_FILE="/etc/apt/sources.list"# 检查是否有管理员权限
if [ "$EUID" -ne 0 ]; thenecho "请以管理员权限运行此脚本!"exit 1
fi# 显示菜单
echo "请选择要使用的软件源:"
echo "1) 官方源"
echo "2) 第三方源(阿里云)"
read -p "输入选项 (1 或 2): " choice# 根据选项切换源
case $choice in1)echo -e "$OFFICIAL_SOURCE" > "$SOURCE_FILE"echo "已切换到官方源。";;2)echo -e "$THIRD_PARTY_SOURCE" > "$SOURCE_FILE"echo "已切换到第三方源(阿里云)。";;*)echo "无效的选项!请运行脚本重新选择。"exit 1;;
esac# 更新软件包列表
echo "正在更新软件包列表,请稍候..."
apt updateecho "软件源切换完成!"

4. 使用说明

4.1 赋予执行权限

使用以下命令为脚本赋予执行权限:

chmod +x switch_kali_sources.sh
4.2 执行脚本

运行脚本并按照提示选择源:

sudo ./switch_kali_sources.sh
4.3 切换结果

根据提示选择:

  • 输入 1 切换到官方源。
  • 输入 2 切换到阿里云源。

脚本会自动更新软件包列表,切换完成后即可正常使用。

在这里插入图片描述


5. 脚本的优势

  • 简单高效:通过交互式界面,省去了手动编辑 sources.list 的繁琐步骤。
  • 可扩展性强:可以轻松添加其他第三方镜像源,例如清华大学或中科大的源。
  • 安全性高:脚本运行过程中会检查管理员权限,确保对系统关键配置文件的安全修改。
  • 立即生效:自动更新软件包列表,切换后无需手动执行其他命令。

6. 自定义扩展

如果需要切换到其他镜像源,可以修改脚本中的 THIRD_PARTY_SOURCE。以下是一些常用的第三方源配置:

  • 清华大学源

    deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib non-free-firmware
    
  • 中科大源

    deb https://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free contrib non-free-firmware
    

将上述内容替换到 THIRD_PARTY_SOURCE 变量中即可。


7. 常见问题

Q1: 切换后更新软件包提示 源不可用
A1: 请检查网络连接,或者尝试使用 ping 测试镜像源的可用性。例如:

ping mirrors.aliyun.com

Q2: 如何恢复到默认源?
A2: 运行脚本并选择 1,即可切换回 Kali 官方源。


8. 结语

switch_kali_sources.sh 是一个简单而实用的工具,特别适合那些需要频繁切换软件源的 Kali 用户。通过该脚本,可以大幅提升软件安装和系统更新的效率,减少手动操作带来的错误风险。

如果你希望进一步优化或扩展此脚本,可以根据自身需求添加更多功能,例如自动检测网络状况或支持更多镜像源。希望这个工具能够为你的 Kali 使用体验带来便利!

相关文章:

Kali 自动化换源脚本编写与使用

1. 背景与需求 在使用 Kali Linux 的过程中,软件源的配置对系统的更新与软件安装速度至关重要。 Kali 的默认官方源提供了安全且最新的软件包,但有时由于网络条件或地理位置的限制,使用官方源可能会出现速度较慢的问题。 为了解决这一问题&a…...

【已解决】PDF文档有密码怎么办(2024新)免费在线工具PDF2Go

强大的解密工具PDF2Go使用指南 一、PDF2Go简介 PDF2Go是由德国QaamGo公司开发的在线PDF工具箱,以其强大的功能和用户友好的界面而闻名。它不仅免费,而且不需要用户注册或安装任何软件,只需打开浏览器即可使用。 二、功能特点 1. 免费且无需…...

华为ensp-BGP联盟

学习新思想,争做新青年,今天学习BGP联盟 实验介绍 一个BGP联盟是一个具有内部层次结构的AS。一个BGP联盟由若干个子AS 组成,子AS也称为成员AS。对于一个BGP联盟,其成员AS内部的各路由器之间需要建立全互联的IBGP邻居关系或使用B…...

ArcGIS中怎么进行水文分析?(思路介绍)

最近有人咨询,ArcGIS中怎么进行水文分析,大致的说一下河网提取的思路哈 解决思路:dem填洼→计算水流方向→计算水流累积矩阵→形成河网 dem填洼 计算水流方向 计算水流累积矩阵 用栅格计算器,设阈值(自己多次尝试&…...

LabVIEW中实现多个Subpanel独立调用同一个VI

在LabVIEW中,如果需要通过多个Subpanel同时调用同一个VI并让这些VI实例独立运行,可以通过以下方法实现: 1. 问题背景 LabVIEW默认的VI是以单实例方式运行的。当将同一个VI加载到多个Subpanel时,会因为共享同一内存空间而导致冲突…...

【SpringMVC】Bean 加载控制

在实际开发中,SpringMVC 负责扫描和加载 Controller 层的 Bean 对象,而业务层和数据层等其他模块的 Bean 则由 Spring 框架负责扫描和加载。那么,如何控制 Spring 仅加载除了 Controller 层之外的其他 Bean 呢?为了解决这个问题&a…...

Socket编程中关于服务器端监听端口与新连接端口的深入剖析

Socket编程中关于服务器端监听端口与新连接端口的深入剖析 在Socket编程领域,存在一个容易让初学者感到困惑的问题。尽管很多人在网络上进行了相关探讨,但不少解释要么不够清晰明了,要么太过肤浅,未能深入到问题的核心&#xff0…...

如何通过HTTP API更新Doc

本文介绍如何通过HTTP API更新Collection中已存在的Doc。 说明 若更新Doc时指定id不存在,则本次更新Doc操作无效 如只更新部分属性fields,其他未更新属性fields默认被置为null 前提条件 已创建Cluster:创建Cluster。 已获得API-KEY&#…...

Qt5 中 QGroupBox 标题下沉问题解决

我们设置了QGroupBox 样式之后,发现标题下沉了,那么如何解决呢? QGroupBox {font: 12pt "微软雅黑";color:white;border:1px solid white;border-radius:6px; } 解决后的效果 下面是解决方法: QGroupBox {font: 12pt "微软雅黑";color:white;bo…...

[OpenGL]使用glsl实现smallpt

一、简介 本文介绍了如何使用 OpenGL,使用 glsl 语言在 Fragment shader 中实现 smallpt。程序完成后可以得到以下渲染结果(samples per pixel, spp 16)。在程序中按下A,W可以左右平移,按下W,S可以前后平移: 二、s…...

elementui的默认样式修改

今天用element ui ,做了个消息提示,发现提示的位置总是在上面,如图: 可是我想让提示的位置到下面来,该怎么办? 最后还是看了官方的api 原来有个自定义样式属性 customClass 设置下就好了 js代码 css代码…...

mysql的主从配置

#mysql数据库 #主从 MySQL数据库主从配置 1.MySQL主从介绍 MySQL 主从又叫做 Replication、AB 复制。简单讲就是 A 和 B 两台机器做主 从后,在 A 上写数据,另外一台 B 也会跟着写数据,两者数据实时同步的。 MySQL 主从是基于 binlog 的&…...

CPO-CNN-GRU-Attention、CNN-GRU-Attention、CPO-CNN-GRU、CNN-GRU四模型多变量时序预测对比

CPO-CNN-GRU-Attention、CNN-GRU-Attention、CPO-CNN-GRU、CNN-GRU四模型多变量时序预测对比 目录 CPO-CNN-GRU-Attention、CNN-GRU-Attention、CPO-CNN-GRU、CNN-GRU四模型多变量时序预测对比预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于CPO-CNN-GRU-Attention、…...

深入了解PINN:物理信息神经网络(Physics-Informed Neural Networks)

1. 什么是PINN(物理信息神经网络)? 物理信息神经网络(PINN,Physics-Informed Neural Networks)是一类通过结合神经网络和物理方程的深度学习方法。其主要特点是将物理系统的约束条件(如偏微分方…...

人形机器人全身运动规划相关资料与文章

1.HumanPlus: Humanoid Shadowing and Imitation from Humans 文章地址:[2406.10454] HumanPlus: Humanoid Shadowing and Imitation from Humans 代码地址:MarkFzp/humanplus: [CoRL 2024] HumanPlus: Humanoid Shadowing and Imitation from Humans …...

使用uWSGI将Flask应用部署到生产环境

使用uWSGI将Flask应用部署到生产环境: 1、安装uWSGI conda install -c conda-forge uwsgi(pip install uwsgi会报错) 2、配置uWSGI 在python程序的同一文件夹下创建 uwsgi.ini文件,文件内容如下表。 需要按照实际情况修改文件名称…...

微服务监控工具Grafana

目录 前言 服务介绍 Grafana:数据可视化和展示 Prometheus:时序数据监控 Loki:日志管理 工具使用 安装 配置 Grafana 数据源​编辑 Go Web 项目上报数据 Prometheus 指标上报 Loki 日志上报 数据查看 前言 随着微服务的盛行&…...

用户界面的UML建模06

4.1 抽象表示层的结构(Abstract Presentation Structure) 如图6 所示,抽象表示层模型具有一个顶层的容器(container),《apm》AbstractForm,其包含了许多组件,《apm》AbstractCompon…...

【力扣刷题第一天】63.不同路径Ⅱ

63.不同路径Ⅱ 🚀 题目 题目来源:leetcode 63. 不同路径Ⅱ:63. 不同路径 II - 力扣(LeetCode); 给定一个 m x n 的整数数组 grid。一个机器人初始位于 左上角(即 obstacleGrid[0][0]&#xf…...

如何优化Python网络爬虫的数据清洗流程,以提升数据质量并有效应对网站反爬虫机制?

优化爬虫数据清洗流程,应对反爬虫机制 一、数据清洗的重要性 在网络爬虫中,数据清洗是关键环节。打个比方,我们从网页抓取到的原始数据就像一堆杂乱的杂物,里面有各种格式、错误和重复信息。比如抓取到的文本可能包含HTML标签、…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​,覆盖应用全生命周期测试需求,主要提供五大核心能力: ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

【单片机期末】单片机系统设计

主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

Spring Boot面试题精选汇总

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...