使用ipmitool配置服务器带外管理:从静态IP到用户权限的完整指南
1. 项目概述从零开始掌握服务器带外管理的核心钥匙如果你管理过物理服务器尤其是机房里那些嗡嗡作响的大家伙那你一定对“带外管理”这个概念不陌生。简单来说它就是服务器上那个独立于主操作系统的小型嵌入式系统即使服务器关机、操作系统崩溃你也能通过网络远程控制它进行开关机、查看硬件日志、安装系统等操作。惠普的叫iLO戴尔的叫iDRAC超微的叫IPMI它们本质上都是同一类技术。而ipmitool就是一把能打开几乎所有品牌服务器带外管理大门的“万能钥匙”。这次我们要聊的就是如何用ipmitool这把钥匙去配置这把“锁”本身——也就是带外管理接口的IP地址、登录账户和密码。听起来有点绕其实不然。想象一下你新到了一批服务器或者接手了一个老机房这些服务器的管理口IP可能是出厂默认的、混乱的甚至是被遗忘的。你不可能每次都跑到机房去接显示器键盘这时候ipmitool就能让你坐在工位上通过网络通常是服务器的主网口直接配置管理口的网络参数和认证信息为后续的远程管理铺平道路。这不仅是运维的常规操作更是保障服务器生命周期管理安全、高效的第一步。无论你是刚入行的运维新人还是需要梳理老旧设备的老手掌握这套流程都至关重要。2. 核心思路与工具选型为什么是 ipmitool在深入实操之前我们得先搞清楚两个问题第一为什么非得用ipmitool第二我们到底要通过什么路径去配置2.1 为什么选择 ipmitool市面上管理带外接口的工具不少各个厂商也提供了自己的Web界面或命令行工具。但ipmitool的优势在于其跨平台和标准化。它基于IPMI智能平台管理接口这一开放标准只要服务器的BMC基板管理控制器支持IPMI无论品牌是戴尔、惠普、联想还是超微ipmitool基本都能通用。这意味着你只需要学习和掌握一套命令就能应对绝大多数服务器极大地提升了运维效率降低了学习成本。相比之下纯Web操作虽然直观但在批量配置、自动化脚本集成和网络不通时的诊断方面力不从心。而厂商专用工具往往绑定特定操作系统或需要额外安装驱动不够灵活。ipmitool通常通过系统包管理器就能安装在Linux环境下尤其方便结合SSH和脚本可以实现无人值守的批量初始化这正是现代运维所追求的。2.2 配置路径解析LAN Channel 与用户通道这是理解整个配置过程的关键。IPMI架构中有几个核心概念BMC硬件实体服务器的管理引擎。Channel通信通道。我们最关心的是Channel 1它通常代表第一个网络接口即LAN上的IPMI。用户UserBMC上的登录账户。IPMI支持多个用户通常ID从2开始ID 1和2有时有特殊用途或保留。权限Privilege用户的权限级别如ADMINISTRATOR、OPERATOR等。配置流程的内在逻辑是首先要让BMC在网络中可寻址设置IP然后为这个可访问的接口设置合法的访问凭证创建用户并设置密码。但这里有一个常见的误区IP地址是绑定在某个“通道”Channel上的而用户和密码是全局管理的。我们需要在正确的通道上启用并配置IP然后再创建或启用该通道允许访问的用户。3. 环境准备与信息探查在动手修改任何配置之前侦察是第一步。我们需要先摸清BMC的现状。3.1 安装 ipmitool在大多数Linux发行版上安装非常简单# CentOS/RHEL/AlmaLinux/Rocky Linux sudo yum install ipmitool -y # 或者使用 dnf (CentOS 8/RHEL 8) sudo dnf install ipmitool -y # Ubuntu/Debian sudo apt-get update sudo apt-get install ipmitool -y安装完成后可以通过ipmitool -V查看版本确认安装成功。3.2 加载内核模块与权限检查要让ipmitool通过系统接口与BMC通信通常需要加载ipmi_devintf和ipmi_si内核模块。sudo modprobe ipmi_devintf sudo modprobe ipmi_si加载后检查/dev/ipmi*设备是否存在。更常见且推荐的方式是使用OpenIPMI服务来管理这些模块和接口。# 启动并启用服务系统不同服务名可能为ipmi或openipmi sudo systemctl start ipmi sudo systemctl enable ipmi如果服务器完全无法通过本地系统调用例如BMC故障或驱动问题则必须准备通过网络的lanplus接口进行配置但这需要BMC本身已有一个可用的IP地址这恰恰是我们接下来可能要解决的问题。因此优先确保本地接口可用。3.3 探查当前BMC状态这是最关键的一步。我们使用ipmitool的lan print命令来查看当前网络配置。这里假设我们通过本地接口操作并且目标是通道1。sudo ipmitool lan print 1这条命令会输出一长串信息你需要像侦探一样从中找出关键线索IP Address当前的IP地址。如果是0.0.0.0或者一个奇怪的地址如出厂默认的192.168.1.xxx说明需要配置。Subnet Mask子网掩码。Default Gateway IP默认网关。MAC AddressBMC网口的MAC地址。这是固定不变的非常重要你可以在交换机上通过它来定位端口或确认IP分配。IP Address SourceIP地址来源。常见的有Static静态手动配置。DHCP通过DHCP自动获取。如果网络中有DHCP服务器且分配正常这可能是最省事的方案。你可以先尝试将源设为DHCP然后重启BMC网络或等待租约更新再用lan print查看获取到的IP。Unknown未知通常意味着未配置。注意在开始配置前务必记录下MAC Address和当前的IP Address如果有。这是你操作失误后还能通过交换机ARP表或重置BMC后重新定位服务器的唯一依据。同时查看现有用户sudo ipmitool user list 1这会列出通道1上的用户ID和用户名。注意用户ID为2的用户通常是第一个可用的管理用户ID 1可能被保留或禁用。4. 分步实操配置静态IP地址假设我们的目标是将BMC的IP设置为192.168.1.100/24网关为192.168.1.1。我们选择配置为静态地址。4.1 设置IP地址、子网掩码和网关命令格式非常直观sudo ipmitool lan set 1 ipsrc static sudo ipmitool lan set 1 ipaddr 192.168.1.100 sudo ipmitool lan set 1 netmask 255.255.255.0 sudo ipmitool lan set 1 defgw ipaddr 192.168.1.1逐条解释lan set 1指定我们要配置的是通道1。ipsrc static将IP地址来源设置为静态。ipaddr、netmask、defgw ipaddr分别设置IP地址、子网掩码和默认网关。4.2 一个至关重要的步骤设置ARP响应控制这是很多教程会忽略但实际中可能导致“配置了IP却ping不通”的罪魁祸首。BMC有一个安全设置控制它是否响应ARP请求。sudo ipmitool lan set 1 arp respond on sudo ipmitool lan set 1 arp generate onarp respond on允许BMC响应其他主机发来的ARP查询请求。如果这项是off其他机器就无法通过ARP解析到BMC的MAC地址自然也就无法通信。arp generate on允许BMC主动发送ARP请求例如请求网关的MAC。通常也建议开启。4.3 验证与激活配置配置完成后再次打印信息进行验证sudo ipmitool lan print 1 | grep -E “IP Address|Subnet Mask|Default Gateway|ARP”理论上配置会立即生效。但有时BMC可能需要一个短暂的刷新周期或者你需要重启BMC的网络服务如果支持相关命令。更直接的方法是从同一网络下的另一台机器ping一下新配置的IP192.168.1.100。ping -c 4 192.168.1.100如果能够ping通恭喜你最基础的网络连通性已经建立。如果不通请跳转到后面的故障排查章节。5. 用户与密码管理详解网络通了接下来就是设置门禁用户和密码。IPMI的用户管理有一套自己的逻辑。5.1 创建或启用用户首先确认可用的用户ID。通常ID 2是第一个可用槽位。sudo ipmitool user list 1如果ID 2显示为Unknown或者一个你不想要的用户名你可以启用它。如果显示为true已启用且用户名正确可以跳过创建直接设置密码。# 设置用户ID 2的用户名为”admin”可自定义 sudo ipmitool user set name 2 admin # 为用户ID 2设置密码这里密码设为”YourStrongPassword123!” sudo ipmitool user set password 2 ‘YourStrongPassword123!’重要安全提示永远不要使用默认密码或弱密码。BMC拥有服务器的最高控制权一旦被攻破后果严重。密码应包含大小写字母、数字和特殊字符并定期更换。5.2 配置用户权限与通道访问创建用户和密码后这个用户还无法登录因为它没有被赋予权限也没有被允许通过特定的通道这里是通道1访问。# 为用户ID 2在通道1上赋予 ADMINISTRATOR 权限权限等级为4 sudo ipmitool channel setaccess 1 2 linkon ipmion callinon privilege4 # 启用用户ID 2 sudo ipmitool user enable 2逐参数解释channel setaccess1通道号。2用户ID。linkon允许通过此通道连接。ipmion允许使用IPMI协议。callinon允许该用户被“呼叫”即可以主动登录。如果设为off该用户只能用于回调Callback不能主动登录。privilege4权限等级。4代表ADMINISTRATOR拥有最高权限。其他常见等级3OPERATOR2USER。5.3 验证用户配置最后验证用户是否已正确配置并启用sudo ipmitool user list 1你应该能看到ID为2的用户Name是adminCallin为trueLink Auth为trueIPMI Msg为truePrivilege Level为ADMINISTRATOR。至此你已经拥有了一个IP地址为192.168.1.100用户名为admin密码为YourStrongPassword123!的完整可用的带外管理接口。你可以尝试用这个IP在浏览器中访问通常是HTTPS或者用ipmitool的lanplus接口进行远程操作测试。6. 高级配置与批量管理技巧基础的配置完成后在实际生产环境中我们往往需要更精细的控制和批量操作的能力。6.1 配置VLAN ID如果管理网络处于一个特定的VLAN中你需要为BMC接口配置VLAN ID。# 首先启用VLAN功能 sudo ipmitool lan set 1 vlan id on # 然后设置VLAN ID例如ID为10 sudo ipmitool lan set 1 vlan id 10注意事项配置VLAN后你必须确保连接BMC端口的交换机端口也正确配置了相同的VLANAccess模式或Trunk模式并允许该VLAN通过否则网络会中断。配置前务必确认网络环境。6.2 使用 ipmitool 进行远程管理一旦BMC配置好IP和密码你就可以从网络上的任何一台机器使用lanplus协议进行远程管理无需再登录到服务器本地。这是ipmitool最强大的功能之一。ipmitool -I lanplus -H 192.168.1.100 -U admin -P ‘YourStrongPassword123!’ power status-I lanplus指定使用加密的LAN接口比旧的lan协议更安全。-H指定BMC的IP地址。-U用户名。-P密码注意在脚本中使用时考虑安全性可改用-f参数从文件读取。power status要执行的命令这里是查看电源状态。你可以将任何本地执行的ipmitool命令通过加上-I lanplus -H -U -P参数来远程执行例如开关机、查看传感器、读取日志等。6.3 脚本化批量配置面对几十上百台服务器手动配置是不可想象的。我们可以编写一个简单的Shell脚本结合SSH密钥免密登录实现批量初始化。思路如下准备一个服务器IP列表文件server_list.txt里面是服务器操作系统的IP不是BMC IP。编写配置脚本config_bmc.sh内容包含上述所有的ipmitool设置命令。使用循环和ssh将脚本分发到每台服务器执行。示例脚本片段#!/bin/bash # config_bmc.sh NEW_BMC_IP“192.168.1.100” NEW_BMC_USER“admin” NEW_BMC_PASSWORD“YourStrongPassword123!” # 设置静态IP ipmitool lan set 1 ipsrc static ipmitool lan set 1 ipaddr $NEW_BMC_IP ipmitool lan set 1 netmask 255.255.255.0 ipmitool lan set 1 defgw ipaddr 192.168.1.1 ipmitool lan set 1 arp respond on # 设置用户和密码 ipmitool user set name 2 $NEW_BMC_USER ipmitool user set password 2 $NEW_BMC_PASSWORD ipmitool channel setaccess 1 2 linkon ipmion callinon privilege4 ipmitool user enable 2 echo “BMC configuration for $NEW_BMC_IP completed.”批量执行#!/bin/bash for SERVER in $(cat server_list.txt); do echo “Configuring BMC on $SERVER...” # 将脚本拷贝到远程服务器并执行 scp config_bmc.sh root$SERVER:/tmp/ ssh root$SERVER “bash /tmp/config_bmc.sh” # 注意这里假设所有服务器的BMC初始状态允许通过本地ipmitool配置 # 更稳健的做法是先测试本地ipmitool命令是否可用 done批量操作黄金法则在批量执行前务必在一台测试服务器上完整跑通所有流程。批量操作中的一个小错误会被放大成一场灾难。尤其注意密码的安全性不要在脚本中硬编码可以考虑使用Ansible等配置管理工具的Vault功能来加密存储密码。7. 故障排查与常见问题实录即使按照步骤操作也难免会遇到问题。下面是我在实践中总结的几个典型场景和排查思路。7.1 配置了IP但 ping 不通/无法访问这是最常见的问题。请按照以下清单逐项排查排查步骤命令/操作可能原因与解决方案1. 检查本地IPMI驱动lsmodgrep ipmi sudo systemctl status ipmi2. 确认配置已生效sudo ipmitool lan print 1检查IP Address,Subnet Mask,Default Gateway是否正确。特别注意IP Address Source是否已设为static。3. 检查ARP设置sudo ipmitool lan print 1grep ARP4. 检查VLAN配置sudo ipmitool lan print 1grep VLAN5. 检查IP冲突在同一网段另一主机上执行arping -c 3 192.168.1.100如果有多个响应说明IP冲突。更换一个空闲IP。6. 检查防火墙(在BMC所在服务器OS上)iptables -L -n或firewall-cmd –list-all本地OS防火墙可能阻断了与BMC的通信通过本地接口。尝试临时关闭防火墙测试。7. 重置BMC网络sudo ipmitool mc reset cold慎用这会冷重启BMC可能导致短暂失联。这是最后的手段可以清除BMC的某些临时状态。8. 物理连接检查–确认网线插的是服务器的专用管理口如果有或共享网络口并确认BMC网络已在该口启用。用交换机的MAC地址表确认该端口是否学习到了BMC的MAC。7.2 ipmitool 命令执行报错错误Could not open device at /dev/ipmi0 or /dev/ipmi-0原因IPMI内核驱动未加载或权限不足。解决加载驱动sudo modprobe ipmi_devintf ipmi_si或安装/启动OpenIPMI服务或使用sudo执行命令。错误Unable to establish IPMI v2 / RMCP session(在使用lanplus时)原因用户名/密码错误BMC的IPMI 2.0功能未启用网络不通。解决检查密码和用户名在BMC Web界面确认IPMI 2.0支持已开启从源主机ping测试BMC IP。错误Invalid command或Parameter out of range原因命令语法错误或通道号、用户ID不正确。解决用ipmitool -h查看命令帮助用user list和lan print确认正确的通道号和用户ID。注意某些老版本或特定厂商的BMC对命令支持有差异。7.3 用户登录失败Web或SSH可以登录但 ipmitool lanplus 失败检查channel setaccess命令是否已正确执行特别是callinon和privilege级别。确认使用的协议是lanplus加密而不是旧的lan。用户被锁定如果多次密码错误BMC可能会锁定账户。等待锁定时间过期通常15-30分钟或通过其他已登录的管理员账户在Web界面解锁或者在本地通过ipmitool执行用户清除锁定命令如果支持。某些BMC也支持通过ipmitool user disable id再enable来重置状态。7.4 实操心得几个容易踩的坑“一次只做一件事”原则在排查网络不通时不要一次性修改IP、网关、VLAN等多个设置。先配通IP和掩码能ping通后再加网关最后配置VLAN。这样问题容易定位。MAC地址是你的救命稻草在配置前务必记下BMC的MAC地址。一旦IP配错失联你可以通过交换机的MAC地址表找到它连接的端口或者通过机房管理系统的带外串口如果有去重置BMC。密码复杂度与特殊字符有些BMC的Web界面或早期固件对密码中的特殊字符支持不好。如果设置后无法登录尝试一个只包含字母和数字的强密码。最好先在Web界面测试密码规则。关于通道号绝大多数服务器的第一个网络管理接口是Channel 1。但有些服务器可能有多个网络接口第二个接口可能是Channel 2。如果你在Channel 1上操作无效可以尝试lan print 2或lan print 8Channel 8有时用于串行连接看看是否有信息。保存配置并非所有ipmitool的set命令都会立即永久生效。有些设置可能需要重启BMCmc reset cold或写入固件ipmitool raw命令才能持久化。最稳妥的方式是在Web界面的配置页面确认是否有“保存/应用”按钮。对于关键配置在Web界面复查并保存一次是好习惯。

相关新闻

深入解析Claude Code多Agent协作:从架构设计到代码实现

深入解析Claude Code多Agent协作:从架构设计到代码实现

1. 项目概述:从单兵作战到团队协作的进化 最近在社区里,看到不少朋友对“多Agent协作”这个概念既兴奋又困惑。兴奋在于,这听起来像是AI能力的质变,能让多个智能体像团队一样分工合作;困惑在于,到底怎么实现…

2026/10/10 19:23:20 阅读更多 →
Langfuse JS SDK架构解析:构建非侵入式AI应用可观测性

Langfuse JS SDK架构解析:构建非侵入式AI应用可观测性

1. 项目概述:为什么我们需要一个观测性SDK? 如果你正在开发一个AI应用,无论是基于大语言模型的聊天机器人,还是复杂的智能工作流,一个绕不开的难题就是:我怎么知道它到底在干什么?用户输入了什么…

2026/10/11 0:21:59 阅读更多 →
LSTM与GRU门控机制详解:从原理到PyTorch实战应用

LSTM与GRU门控机制详解:从原理到PyTorch实战应用

1. 项目概述:从“记忆”到“遗忘”的进化在深度学习的序列建模领域,循环神经网络(RNN)曾一度是处理时间序列、自然语言等序列数据的标准答案。然而,经典的RNN结构存在一个致命的“阿喀琉斯之踵”——长期依赖问题。简单…

2026/10/10 2:04:46 阅读更多 →

最新新闻

Postman发GET请求参数放哪?从HTTP原理到实战调试全解析

Postman发GET请求参数放哪?从HTTP原理到实战调试全解析

前阵子同事跑过来找我,说调用某个查询接口时后台永远返回空数据。他把带参数的URL粘到浏览器地址栏,明明能正常拿到结果,可一到代码里就凉凉。我瞄了一眼他的请求代码,直接笑出声:他用的是GET请求,却把参数…

2026/10/11 0:23:48 阅读更多 →
飞机数据集2986张VOC+YOLO格式:从格式转换到YOLO训练全流程

飞机数据集2986张VOC+YOLO格式:从格式转换到YOLO训练全流程

简介:这是一份面向目标检测初学者与算法工程师的飞机识别数据集,采用Pascal VOC与YOLO双格式标注,可直接用于YOLO系列、Faster R-CNN等模型的训练与验证,省去格式转换的繁琐步骤。资源包共2000个文件,以1999个xml标注文…

2026/10/11 0:23:48 阅读更多 →
SpringBoot图书阅读与推荐系统开发复盘:从建模到部署全流程解析

SpringBoot图书阅读与推荐系统开发复盘:从建模到部署全流程解析

做一个Springboot图书阅读与推荐系统(项目代号wlxpk)的完整交付,最初是冲着“能跑起来、能演示、能答辩”这三个目标去的。但真正动手以后我发现,市面上大多数“图书管理系统”和你要做的“阅读推荐系统”之间,差的不是…

2026/10/11 0:23:47 阅读更多 →
Claude Code 切换模型时,为什么一次 /model 会让缓存重新变冷:TaoToken 统一 Key 下的 prompt caching 命中排查

Claude Code 切换模型时,为什么一次 /model 会让缓存重新变冷:TaoToken 统一 Key 下的 prompt caching 命中排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 0:22:47 阅读更多 →
企业IM私有化部署实战:从数据主权到安全运维的选型与落地指南

企业IM私有化部署实战:从数据主权到安全运维的选型与落地指南

企业IM选型这件事,这几年我参与的沟通越来越多,身边不少做运维和信息化的人都在聊同一个话题:聊天工具的服务器到底放在哪里,消息数据到底归谁管。这不是技术洁癖,而是实实在在的信任问题。市面上通用IM用起来确实方便…

2026/10/11 0:21:46 阅读更多 →
YOLOv7钢材缺陷检测:开箱即用权重与数据集实战指南

YOLOv7钢材缺陷检测:开箱即用权重与数据集实战指南

简介:本资源面向从事工业质检、深度学习目标检测的开发者与研究人员,提供一套可直接复现的YOLOv7钢材缺陷检测方案,解决钢材表面缺陷自动识别与模型训练问题。压缩包共166个文件,约203.86MB,包含31个Python脚本、36个y…

2026/10/11 0:21:46 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →