Katoolin3 项目介绍:在 Ubuntu 上轻松安装 Kali Linux 工具
引言
在网络安全和渗透测试领域,Kali Linux 以其丰富的工具集成为首选操作系统。然而,Kali Linux 作为一个专为安全研究设计的系统,可能不适合日常使用或服务器环境(如 Ubuntu VPS)。Katoolin3 是一个强大的 Python 脚本,旨在帮助用户在 Debian 系系统(如 Ubuntu、Debian、Linux Mint)上便捷地安装 Kali Linux 的安全工具。它是原始 Katoolin 项目的现代化分支,解决了原版的多项问题,提供了更安全、更高效的工具安装体验。本文将详细介绍 Katoolin3 的背景、功能、使用方法、注意事项以及替代方案,帮助用户在 Ubuntu 系统上高效部署 Kali 工具。
项目概述
- 项目名称: Katoolin3
- GitHub 地址: https://github.com/s-h-3-l-l/katoolin3
- 作者: s-h-3-l-l(基于 LionSec 的 Katoolin 项目)
- 开发语言: Python 3
- 最后更新: 2020 年 2 月 18 日
- 功能: 自动化安装 Kali Linux 工具,支持工具搜索、分类管理、动态软件源启用、工具卸载等。
- 适用系统: Debian、Ubuntu 及其衍生系统(如 Linux Mint)
- 许可证: GNU General Public License v3.0
Katoolin3 是对 LionSec 开发的 Katoolin 项目的重写,移植到 Python 3,解决了原版代码质量差、包列表过时、系统配置风险高等问题。它通过一个用户友好的命令行界面,允许用户按需安装 Kali 工具,同时最大程度减少对主机系统的干扰。Katoolin3 支持约 300 多种工具,涵盖信息收集、漏洞分析、无线攻击、密码破解等领域,特别适合希望在 Ubuntu VPS 上进行渗透测试的用户。
主要功能
Katoolin3 提供了一系列改进功能,使其成为在非 Kali 系统上安装 Kali 工具的理想选择。以下是其核心功能:
1. 动态管理 Kali 软件源
- 临时启用软件源: Katoolin3 仅在运行时启用 Kali 软件源(
http://http.kali.org/kali kali-rolling main contrib non-free
),避免长期修改/etc/apt/sources.list
,从而降低系统更新时的依赖冲突风险。 - 自动生成配置文件: 在
/etc/apt/sources.list.d/katoolin3.list
中创建临时软件源文件,运行结束后可手动禁用或删除。 - 安全更新: 支持更新软件源以获取最新工具版本,同时避免直接影响系统核心包。
2. 分类管理与搜索工具
- 工具分类: Katoolin3 将工具分为 12 个类别,包括:
- 漏洞利用工具(Exploitation Tools):如
metasploit-framework
。 - 信息收集(Information Gathering):如
nmap
、dnsrecon
。 - 无线攻击(Wireless Attacks):如
aircrack-ng
。 - Web 应用程序攻击(Web Applications):如
sqlmap
。 - 密码攻击(Password Attacks):如
hydra
、john
。
- 漏洞利用工具(Exploitation Tools):如
- 搜索功能: 支持按关键字搜索工具(例如输入“sql injection”查找相关工具)或查询特定工具的详细信息(输入包名如
sqlmap
)。 - 批量选择: 允许通过逗号分隔(
0,1,2
)、范围(3-5
)或组合(1,2,5-7
)选择多个工具进行安装。
3. 工具安装与卸载
- 灵活安装: 用户可选择安装单个工具、某类别全部工具或所有工具(不推荐)。
- 卸载支持: 提供卸载功能,可删除单个工具或所有 Katoolin3 安装的工具,保持系统整洁。
- 已安装标记: 界面中以不同颜色标记已安装工具,避免重复操作。
4. 改进的错误处理
- 缺失包处理: 如果某个工具在 Kali 软件源中不可用,Katoolin3 会自动忽略,而不会中断安装过程(原版 Katoolin 会报错崩溃)。
- 依赖管理: 更好地利用 APT 生态系统,避免直接修改关键系统配置文件(如
/etc/apt/sources.list
)。
5. 其他功能
- 帮助菜单: 提供详细的帮助对话框(选项 8),指导用户如何选择工具、查看列表、退出程序等。
- Kali 菜单安装: 支持安装 Kali 菜单,将工具整合到系统菜单中(选项 6)。
- 代码优化: 重写的代码更清晰、易于维护,方便开发者贡献或定制。
与原版 Katoolin 的对比
Katoolin3 是对 Katoolin 的全面升级,以下是主要改进点:
特性 | Katoolin | Katoolin3 |
---|---|---|
编程语言 | Python 2 | Python 3 |
包列表更新 | 过时(最后更新 2019 年) | 定期更新(最后更新 2020 年) |
软件源管理 | 直接修改 /etc/apt/sources.list | 动态启用,仅在运行时生效 |
错误处理 | 遇到缺失包会崩溃 | 自动忽略缺失包 |
卸载功能 | 不支持 | 支持单个或全部工具卸载 |
代码质量 | 较差,难以维护 | 重写,代码更清晰、易维护 |
系统安全性 | 高风险,可能破坏系统 | 降低风险,避免核心配置文件修改 |
这些改进使 Katoolin3 更适合现代 Ubuntu 系统(例如 20.04 LTS),并显著降低了系统不稳定的风险。
安装与使用方法
以下是在 Ubuntu VPS 上安装和使用 Katoolin3 的详细步骤,适用于 Ubuntu 20.04 或更高版本。
1. 安装 Katoolin3
# 更新系统并安装依赖
sudo apt update && sudo apt install -y git python3 python3-apt
# 启用 universe 软件源(部分依赖需要)
sudo add-apt-repository universe
# 克隆 Katoolin3 仓库
git clone https://github.com/s-h-3-l-l/katoolin3
cd katoolin3
# 赋予安装脚本执行权限
chmod +x ./install.sh
# 运行安装脚本
sudo ./install.sh
# 启动 Katoolin3
sudo katoolin3
- 注意:
- 确保 Python 3 版本与
python3-apt
匹配(Ubuntu 20.04 使用 Python 3.8,较旧版本可能为 3.5 或 3.7)。 - 如果遇到
python3-apt
错误,安装对应版本:sudo apt install python3-apt
- 确保 Python 3 版本与
2. 使用 Katoolin3 安装 Kali 工具
-
查看工具类别:
输入0
进入工具分类菜单,显示 12 个类别(如 Information Gathering、Exploitation Tools、Wireless Attacks)。 -
选择并安装工具:
- 示例 1:安装单个工具(如
sqlmap
):- 输入
3
进入搜索模式,输入sqlmap
。 - 确认工具信息后选择安装(输入对应编号,如
1
)。 - 等待安装完成,Katoolin3 会自动从 Kali 软件源下载并安装。
- 验证安装:
sqlmap --version
- 输入
- 示例 2:安装某类别全部工具(如 Wireless Attacks):
- 输入
0
,选择12
(Wireless Attacks)。 - 输入
0
安装该类别所有工具(如aircrack-ng
)。 - 验证安装:
aircrack-ng --help
- 输入
- 示例 3:批量选择工具:
- 在类别菜单中输入编号组合(如
1,2,5-7
)安装多个工具。 - 或使用搜索功能(选项
3
)查找特定工具(如metasploit
)。
- 在类别菜单中输入编号组合(如
- 示例 1:安装单个工具(如
-
返回主菜单:
- 在类别菜单中输入
14
返回上一级。 - 在主菜单中输入
9
退出 Katoolin3。
- 在类别菜单中输入
-
禁用 Kali 软件源:
安装完成后,立即禁用临时 Kali 软件源以避免系统冲突:sudo nano /etc/apt/sources.list.d/katoolin3.list
- 在文件中的 Kali 软件源前添加
#
注释,例如:#deb http://http.kali.org/kali kali-rolling main contrib non-free
- 保存并更新软件源:
sudo apt update
- 在文件中的 Kali 软件源前添加
卸载 Katoolin3 及相关工具
-
卸载安装的工具:
- 卸载单个工具:
- 运行
sudo katoolin3
,选择2
(Uninstall All)。 - 按提示输入要卸载的工具编号(如
sqlmap
)。
- 运行
- 卸载所有工具:
- 选择
2
,确认卸载所有 Katoolin3 安装的工具。 - 等待卸载完成,检查已安装包:
sudo katoolin3 # 选择 4 查看已安装包,确保为空
- 选择
- 卸载单个工具:
-
删除 Katoolin3 程序:
- 移除 Katoolin3 可执行文件:
sudo rm /usr/bin/katoolin3
- 删除克隆的仓库:
cd ~ && rm -rf katoolin3
- 移除 Katoolin3 可执行文件:
-
清理 Kali 软件源:
- 删除临时软件源文件:
sudo rm /etc/apt/sources.list.d/katoolin3.list
- 更新软件源:
sudo apt update
- 删除临时软件源文件:
-
清理残余依赖:
- 移除未使用的依赖包:
sudo apt autoremove -y sudo apt autoclean
- 移除未使用的依赖包:
-
验证清理:
- 确保系统中无 Katoolin3 相关文件:
ls /usr/bin | grep katoolin3 ls /etc/apt/sources.list.d | grep katoolin3
- 检查系统是否恢复正常:
sudo apt update && sudo apt upgrade -y
- 确保系统中无 Katoolin3 相关文件:
注意事项
- 避免安装所有工具:
- 选择
1
(Install All)可能安装数百个工具,导致磁盘空间不足或依赖冲突,仅推荐在测试环境中使用。
- 选择
- 备份系统:
- 操作前通过 VPS 控制面板创建快照,或手动备份:
tar -czf backup.tar.gz /etc /home
- 操作前通过 VPS 控制面板创建快照,或手动备份:
- 中断处理:
- 如果通过 Ctrl+C 中断 Katoolin3,
katoolin3.list
文件可能丢失。手动恢复:echo "deb http://http.kali.org/kali kali-rolling main contrib non-free" | sudo tee /etc/apt/sources.list.d/katoolin3.list
- 如果通过 Ctrl+C 中断 Katoolin3,
- 兼容性:
- Katoolin3 最后更新于 2020 年,可能不完全兼容 Ubuntu 24.04。建议使用 Ubuntu 20.04 或 22.04,并在虚拟机中测试。
- Python 依赖:
- 如果遇到
python3-apt
错误,检查 Python 版本:python3 --version sudo apt install python3-apt
- 如果遇到
替代方案
由于 Katoolin3 的维护已停止,且在最新系统上可能存在兼容性问题,以下是更现代化的替代方案:
- Docker 运行 Kali 工具:
- 使用 Docker 容器运行 Kali 工具,隔离性强,适合 VPS 环境:
sudo apt install docker.io docker pull kalilinux/kali-rolling docker run -it kalilinux/kali-rolling /bin/bash apt update && apt install -y metasploit-framework
- 优点:不影响主机系统,易于清理。
- 使用 Docker 容器运行 Kali 工具,隔离性强,适合 VPS 环境:
- 手动安装特定工具:
- 直接从 Ubuntu 软件源或 Kali 工具站(https://tools.kali.org)安装工具:
sudo apt install nmap sqlmap
- 结合虚拟环境管理 Python 工具(参考你之前的对话):
python3 -m venv kali-tools source kali-tools/bin/activate pip install pwncat-cs
- 直接从 Ubuntu 软件源或 Kali 工具站(https://tools.kali.org)安装工具:
- Parrot Security 或 BackBox:
- 如果 VPS 支持自定义 ISO,考虑安装 Parrot Security(https://parrotsec.org),其工具集与 Kali 类似,但更轻量。
总结
Katoolin3 是一个强大的工具,为 Ubuntu 用户提供了一种便捷的方式来安装 Kali Linux 的安全工具。相比原版 Katoolin,它通过动态软件源管理、改进的错误处理和卸载功能显著提升了安全性和易用性。然而,由于维护已停止,建议用户在测试环境中小心使用,并在安装后禁用 Kali 软件源以保护系统稳定性。对于追求更高隔离性和现代化的用户,Docker 或手动安装是更推荐的选择。
相关文章:
Katoolin3 项目介绍:在 Ubuntu 上轻松安装 Kali Linux 工具
引言 在网络安全和渗透测试领域,Kali Linux 以其丰富的工具集成为首选操作系统。然而,Kali Linux 作为一个专为安全研究设计的系统,可能不适合日常使用或服务器环境(如 Ubuntu VPS)。Katoolin3 是一个强大的 Python 脚…...
labview设计一个虚拟信号发生器
目标:设计一个虚拟信号发生器,通过功能键的设置可以产生正弦波、三角波、方波和锯齿波,并可以通过输入控件设置采集信号的频率、幅值、相位等参数。 一、正弦波 (1)创建一个枚举 (2)点击属性后…...
java I/O
文件字符流 字符流不同于字节,字符流是以一个具体的字符进行读取,因此它只适合读纯文本的文件,如果是其他类型的文件不适用。 字节流;英文1个字节,中文3个字节。 字符流:中英文都是2个字节 public static…...
机器学习第二十三讲:CNN → 用放大镜局部观察图片特征层层传递
机器学习第二十三讲:CNN → 用放大镜局部观察图片特征层层传递 资料取自《零基础学机器学习》。 查看总目录:学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南 CNN详…...
webpack构建速度和打包体积优化方案
一、分析工具 1.1 webpack-bundle-analyzer 生成 stats.json 文件 打包命令webpack --config webpack.config.js --json > stats.json使用 webpack-bundle-analyzer 插件const BundleAnalyzerPlugin = require(webpack-bundle-analyzer).BundleAnalyzerPlugin; plugins: […...
RabbitMQ可靠传输——持久性、发送方确认
一、持久性 前面学习消息确认机制时,是为了保证Broker到消费者直接的可靠传输的,但是如果是Broker出现问题(如停止服务),如何保证消息可靠性?对此,RabbitMQ提供了持久化功能: 持久…...
《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位运维指南》
《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位运维指南》 一、引言 在当今数字化的时代背景下,Linux操作系统凭借其卓越的性能、可靠性和开源的优势,在服务器、云计算、嵌入式系统等众多领域占据着举足轻重的地位。对于IT运维…...
关于大语言模型的问答?
1.Why is prompt(提示词) engineering necessary when working with large language models (LLMs)? 答:Despite LLMs are powerful and versatile, they could still generate texts that are too generic, hallucinated, irrelevant, or …...
大模型应对大风等极端天气的卓越效果及其在能源预测中的特殊价值
引言 近年来,全球气候变化加剧,极端天气事件频发,尤其是大风天气的强度和频率显著增加。这不仅对电网安全运行带来挑战,也对风电场的发电效率、设备安全和收益稳定性造成影响。传统的气象预测和能源管理方法已难以满足高精度、实时响应的需求。而基于人工智能(AI)的大模…...
【web应用】vue3前端框架怎么修改logo?
菜单栏logo修改:src/assets/logo中的图片替换 浏览器栏目logo修改:public文件夹中的icon文件替换...
【Windows】FFmpeg安装教程
FFmpeg 下载与安装指南 下载 FFmpeg 访问 FFmpeg 官网点击页面上的 “Download” 按钮进入下载页面 配置环境变量 将 FFmpeg 的 bin 目录添加到系统环境变量 PATH 中 验证安装 打开 PowerShell输入命令 ffmpeg -version若显示版本信息,则表明安装成功 视频格式检…...
阿里巴巴 MCP 分布式落地实践:快速转换 HSF 到 MCP server
MCP 为资源访问和 Multi Agent 互操作提供了标准化的可能。开源社区目前对 MCP 的生态建设非常火热,mcp.so 已经提供了近 1 万的 mcp server ,其他各种 MCP 生态组件更是层出不穷。AI 大厂们积极拥抱 MCP ,并纷纷提供了自己的 MCP server。对…...
基于阿里云DashScope API构建智能对话指南
背景 公司想对接AI智能体,用于客服系统,经过调研和实施,觉得DashScope 符合需求。 阿里云推出的DashScope灵积模型服务为开发者提供了便捷高效的大模型接入方案。本文将详细介绍如何基于DashScope API构建一个功能完善的智能对话系统&#x…...
RK3588 RGA 测试
RK3588 RGA 测试 一、数据分析总结【由LLM生成】二、考链接三、测试数据四、测试过程4.1 编译librga SDK4.2 运行自带的测试4.3 生成`Resize`测试程序4.4 运行`Resize`测试4.5 遇到的错误一、数据分析总结【由LLM生成】 本次测试针对不同的源图像尺寸、目标图像尺寸和缩放算法…...
【机器学习】集成学习算法及实现过程
一、学习目标 了解什么是集成学习了解机器学习中的两个核⼼任务理解Bagging集成原理理解随机森林构造过程掌握RandomForestClassifier的使⽤掌握boosting集成原理和实现过程理解bagging和boosting集成的区别理解AdaBoost集成原理理解GBDT的算法原理 二、集成学习算法简介 2.…...
Vue:axios(GET请求)
基础 GET 请求 axios.get(https://api.example.com/data).then(response > {console.log(响应数据:, response.data);}).catch(error > {console.error(请求失败:, error);});参数传递方式 axios.get(/api/search, {params: {keyword: vue,page: 1,sort: desc} });// 实…...
iOS工厂模式
iOS工厂模式 文章目录 iOS工厂模式简单工厂模式(Simple Factory)工厂方法模式(Factory Method)抽象工厂模式(Abstract Factory)三种模式对比 简单工厂模式(Simple Factory) 定义&am…...
GitHub 趋势日报 (2025年05月21日)
本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1microsoft/WSLLinux的Windows子系统⭐ 1731⭐ 25184C2virattt/ai-hedge-fundA…...
iOS 直播弹幕功能的实现
实现iOS直播弹幕功能需要考虑多个方面,包括弹幕的显示、管理、动画效果以及与直播流的同步。 核心实现方案 1. 弹幕显示视图 class BarrageView: UIView {// 弹道(轨道)数组private var tracks: [CALayer] []// 正在显示的弹幕数组 private var displayingBarra…...
借助Azure AI Foundry 如何打造语音交互新体验
在刚刚落幕的微软创想未来峰会上,Contoso 智能家居的现场演示引发了热议。许多观众在会后留言询问如何回看这场精彩演示。今天,微软为您揭秘 Contoso 如何借助微软最新技术实现智能家居的飞跃式创新。 当语音遇上智能体:用户体验焕然一新 如…...
Spring开发系统时如何实现上传和下载文件
代码如下 值得注意的是上传时候不需要参数servletRequest而下载时候却需要servletResponse,这是为什么呢? 这是因为文件上传时,客户端通过 HTTP POST 请求将文件数据放在 请求体(Body) 中。Spring MVC 对上传过程进行…...
CyberSecAsia专访CertiK首席安全官:区块链行业亟需“安全优先”开发范式
近日,权威网络安全媒体CyberSecAsia发布了对CertiK首席安全官Wang Tielei博士的专访,双方围绕企业在进军区块链领域时所面临的关键安全风险与防御策略展开深入探讨。 Wang博士在采访中指出,跨链桥攻击、智能合约漏洞以及私钥管理不当&#x…...
Android 直播播放器FFmpeg静态库编译实战指南(NDK r21b)
一、环境准备与验证 1.1 必要组件安装 # Ubuntu环境依赖 sudo apt update sudo apt install -y git make automake autoconf libtool pkg-config curl unzip# NDK r21b下载 mkdir -p ~/android && cd ~/android wget https://dl.google.com/android/repository/andro…...
Linux中 I/O 多路复用机制的边缘触发与水平触发
边缘触发(Edge Triggered, ET)与水平触发(Level Triggered, LT) Linux中I/O复用机制epoll -CSDN博客 Linux中的 I/O 复用机制 select-CSDN博客 在 epoll 或其他 I/O 多路复用机制中,触发模式是指如何触发文件描述符…...
01-jenkins学习之旅-window-下载-安装
1 jenkins简介 百度百科介绍:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。 [1] Jenkins官网地址 翻译&…...
实战:Dify智能体+Java=自动化运营工具!
我们在运营某个圈子的时候,可能每天都要将这个圈子的“热门新闻”发送到朋友圈或聊天群里,但依靠传统的实现手段非常耗时耗力,我们通常要先收集热门新闻,再组装要新闻内容,再根据内容设计海报等。 那怎么才能简化并高…...
LInux—shell编程
一、Shell 编程核心特性 解释型语言 无需编译,直接由 bash、sh 等解释器逐行执行。 类似 PHP 的解释执行,不同于 C 的编译型。 系统命令集成 可直接调用 Linux 命令(如 ls、grep、awk),实现系统管理自动化。 与 C/…...
C++028(变量的作用域)
变量的作用域 作用域就是程序中变量的作用范围。局部变量的作用域是局部的,如函数体内;全局变量的作用域则是整个程序。 我们前面接触过的变量基本都是局部变量,这些变量在函数体内声明,无法被其他函数所使用。函数的形参也属于…...
计算机三级数据库免费题库
1.免费题库链接 链接: https://pan.baidu.com/s/1oNpgWmkFePUrCS6G7tfpUQ?pwdb1hg 提取码: b1hg 2.安装教程...
Unity Shader入门(更新中)
参考书籍:UnityShader入门精要(冯乐乐著) 参考视频:Bilibili《Unity Shader 入门精要》 写在前面:前置知识需要一些计算机组成原理、线性代数、Unity的基础 这篇记录一些学历过程中的理解和笔记(更新中&…...
NSSCTF-[陇剑杯 2021]webshell(问6)
下载得到pcap文件 放到Wireshark进行分析 先过滤http contains "1.php"&&http.request.method"POST" 追踪HTTP流 将后面的进行解码 得到flag NSSCTF{192.168.239.123}...
vscode git push 记录
1.先在git上建一个仓库 2.在vscode上登录同一账号 配置好ssh 直接使用 git remote add origin gitgithub.com:18053923230/aiRecipe.git (base) PS D:\gitee\cookbook> git push -u origin master Enter passphrase for key /c/Users/Administrator/.ssh/id_ed25519: …...
前端性能优化方案
一、HTML优化策略 1、减少DOM层级 <!-- 避免 --><div><div><div><p>内容</p></div></div></div><!-- 推荐 --><div class"content">内容</div> 原因:嵌套过深会增加渲染…...
前端vscode学习
1.安装python 打开Python官网:Welcome to Python.org 一定要点PATH,要不然要自己设 点击install now,就自动安装了 键盘winR 输入cmd 点击确定 输入python,回车 显示这样就是安装成功了 2.安装vscode 2.1下载软件 2.2安装中文 2.2.1当安…...
python实现web请求与回复
一、作为客户端发送请求(使用requests库) import requests # 发送GET请求 response requests.get("https://api.example.com/data") print("GET响应状态码:", response.status_code) print("GET响应内容:", response.…...
Python实现Web请求与响应
目录 一、Web 请求与响应基础 (一)Web 请求与响应的定义与组成 (二)HTTP 协议概述 (三)常见的 HTTP 状态码 二、Python 的 requests 库 (一)安装 requests 库 (二…...
AI与.NET技术实操系列(六):实现图像分类模型的部署与调用
引言 人工智能(AI)技术的迅猛发展推动了各行各业的数字化转型。图像分类,作为计算机视觉领域的核心技术之一,能够让机器自动识别图像中的物体、场景或特征,已广泛应用于医疗诊断、安防监控、自动驾驶和电子商务等领域…...
PP-YOLOE-SOD学习笔记1
项目:基于PP-YOLOE-SOD的无人机航拍图像检测案例全流程实操 - 飞桨AI Studio星河社区 一、安装环境 先准备新环境py>3.9 1.先cd到源代码的根目录下 2.pip install -r requirements.txt 3.python setup.py install 这一步需要看自己的GPU情况,去飞浆…...
Axure系统原型设计列表版方案
列表页面是众多系统的核心组成部分,承担着数据呈现与基础交互的重要任务。一个优秀的列表版设计,能够极大提升用户获取信息的效率,优化操作体验。下面,我们将结合一系列精心设计的列表版方案图片,深入探讨如何打造出实…...
腾讯音乐二面
ReentrantLock 的源码及实现 ReentrantLock 是 Java 中的一种可重入的互斥锁。它通过 AQS(AbstractQueuedSynchronizer)框架来实现。AQS 使用一个 FIFO 队列来管理获取锁的线程。ReentrantLock 有公平锁和非公平锁两种模式。非公平锁:当线程尝…...
服务器操作系统调优内核参数(方便查询)
fs.aio-max-nr1048576 #此参数限制并发未完成的异步请求数目,应该设置避免I/O子系统故障 fs.file-max1048575 #该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量 fs.inotify.max_user_watches8192000 #表…...
MySQL5.7导入MySQL8.0的文件不成功
文章目录 问题检查原因及解决方法原因解决办法 问题 检查 检查自己的mysql版本自己检查,搜索“0900_ai_ci”,如果能搜索到,说明这个sql文件是从8的版本导出的 原因及解决方法 原因 MySQL 8.0默认使用utf8mb4字符集和utf8mb4_0900_ai_ci排…...
vscode连接WSL卡住
原因:打开防火墙 解决: 使用sudo ufw disable关闭防火墙...
springAI调用deepseek模型使用硅基流动api的配置信息
查看springai的官方文档,调用deepseek的格式如下: spring.ai.deepseek.api-key${your-api-key} spring.ai.deepseek.chat.options.modeldeepseek-chat spring.ai.deepseek.chat.options.temperature0.8 但是硅基流动的格式不是这样,这个伞兵…...
symbol【ES6】
你一闭眼世界就黑了,你不是主角是什么? 目录 什么是Symbol?Symbol特点:创建方法:注意点:不能进行运算:显示调用toString() --没有意义隐式转换boolean 如果属性名冲突了怎么办?o…...
如何用数据可视化提升你的决策力?
在数字化浪潮席卷全球的当下,数据已然成为企业和组织发展的核心资产。然而,单纯的数据堆积犹如未经雕琢的璞玉,难以直接为决策提供清晰有力的支持。数据可视化作为一种强大的工具,能够将海量、复杂的数据转化为直观、易懂的图形、…...
【C++】vector容器实现
目录 一、vector的成员变量 二、vector手动实现 (1)构造 (2)析构 (3)尾插 (4)扩容 (5)[ ]运算符重载 5.1 迭代器的实现: (6&…...
C语言求1到n的和(附带源码和解析)
在C语言中,使用 for 循环求 1 到 n 的和是一个常见的编程任务。这个任务不仅可以帮助初学者理解循环的基本概念,还能培养他们的逻辑思维能力。 要计算 1 到 n 的和,我们需要创建一个循环,从 1 开始,一直累加到 n。for…...
springboot3+vue3融合项目实战-大事件文章管理系统-文章分类也表查询(条件分页)
在pojo实体类中增加pagebean实体类 Data NoArgsConstructor AllArgsConstructor public class PageBean <T>{private Long total;//总条数private List<T> items;//当前页数据集合 }articlecontroller增加代码 GetMappingpublic Result<PageBean<Article&g…...
java中定时任务的实现及使用场景
在 Java 需要中,定时任务的实现方式有单线程模型的 Timer 类、线程池定时任务的 ScheduleExecutorService、spring 框架提供的注解Schedule 定时任务,第三个框架定时任务比如 XX-Job,Quartz 等。 Java 任务调度组件对比与使用指南 一、核心功能对比 特…...