Mac上安装CentOS 7虚拟机:从工具选择到配置优化的完整指南
1. 从Mac到Linux为什么要在本地搭建CentOS环境如果你是一名开发者、运维工程师或者只是对服务器技术充满好奇的Mac用户那么在你的MacBook上安装一个Linux虚拟机尤其是像CentOS 7这样的企业级发行版几乎是一个必经的“成人礼”。这听起来可能有点老生常谈毕竟云服务器唾手可得。但相信我本地虚拟机带来的那种即时反馈、随心所欲的快感以及对于网络、存储、内核等底层概念的“手感”训练是远程SSH连接无法比拟的。特别是当你想快速测试一个脚本、搭建一个临时的开发环境或者学习一些可能“搞崩”系统的危险操作时一个隔离的、可随时快照恢复的虚拟机就是你的最佳沙盒。在Mac上玩转LinuxVMware Fusion一直是专业且高效的选择。它提供了近乎原生的性能和无缝的模式集成。然而从Intel芯片过渡到Apple SiliconM1/M2/M3的Mac给这个过程带来了一些新的“坑”。你可能会遇到镜像无法引导、虚拟机创建失败、甚至安装后网络不通等问题。网上的教程很多但针对Mac新架构的、能一步到位的“避坑指南”却往往语焉不详。今天我就结合自己最近在M2 MacBook Air上安装CentOS 7的完整经历把从准备工具、安装系统到配置环境的每一步都拆开揉碎重点标记那些容易让人卡住半天的地方。我们的目标很简单让你在Mac上无论芯片是Intel还是Apple Silicon都能顺利跑起一个稳定可用的CentOS 7并把它变成一个趁手的练习或开发环境。2. 战前准备工具选择与镜像下载的“门道”工欲善其事必先利其器。在开始安装之前我们需要准备好三样东西虚拟机软件、系统镜像和一个清晰的安装规划。这里面的每一个选择都可能影响后续的安装是否顺利。2.1 虚拟机软件选型VMware Fusion还是Parallels Desktop在Mac平台主流选择是VMware Fusion和Parallels Desktop。两者都是付费软件但都提供功能完整的免费试用期。对于学习Linux而言VMware Fusion的兼容性更广其创建的虚拟机磁盘格式.vmdk也能方便地导入到Windows平台的VMware Workstation中便于环境迁移。Parallels Desktop则在Mac集成体验上如融合模式做得更极致。考虑到我们的目标是学习标准的、接近生产环境的CentOS我推荐使用VMware Fusion。请前往VMware官网下载最新版本。对于Apple Silicon Mac用户务必确认你下载的是支持ARM架构的版本通常版本号在12及以上。注意VMware Fusion的个人免费使用许可Personal Use License对于个人学习和非商业用途是足够的无需寻找破解或密钥直接官网下载安装即可。2.2 CentOS 7镜像x86_64与AArch64的抉择这是整个准备环节最容易踩坑的地方。CentOS 7主要提供两种架构的ISO镜像x86_64 (AMD64)这是为传统的Intel/AMD处理器设计的版本也是绝大多数服务器和教程使用的版本。AArch64 (ARM64)这是为ARM架构处理器设计的版本例如苹果的M系列芯片、树莓派等。关键决策点来了如果你的Mac是Intel芯片毫不犹豫选择x86_64镜像。但如果你的Mac是Apple SiliconM1/M2/M3情况就复杂了。VMware Fusion通过其内部的二进制转译技术Rosetta 2集成可以运行x86_64的客户机操作系统但性能和兼容性可能不是最优的且某些低级操作可能会出问题。理论上为获得最佳兼容性应选择AArch64镜像。然而现实很骨感。CentOS 7的AArch64镜像生态远不如x86_64成熟许多软件包、Docker镜像默认都只提供x86_64版本。经过实测在M2 Mac上使用CentOS 7的AArch64镜像安装虽然可以成功但在后续安装常见开发工具如某些版本的Python、Docker时可能会遇到依赖库缺失或版本冲突的问题对于新手极不友好。我的建议是对于Apple Silicon Mac用户出于学习兼容性的最大考量我们仍然安装 x86_64 版本的CentOS 7。VMware Fusion的转译做得足够好能保证基础系统和使用学习。你可以从国内镜像站如阿里云镜像、清华镜像下载CentOS-7-x86_64-DVD-2009.iso或更新版本速度会快很多。记住这个文件名它代表了标准安装镜像。2.3 规划虚拟机给CentOS一个舒适的家打开VMware Fusion点击“”创建新虚拟机。选择“从光盘或映像中安装”并指向你下载好的ISO文件。在下一个界面VMware可能会无法自动检测到CentOS尤其是x86_64镜像在ARM主机上时这很正常我们手动选择“Linux” - “CentOS 7 64位”。接下来是配置虚拟硬件这里有几个参数需要仔细斟酌处理器与内存对于学习用途分配2个CPU核心和4GB内存是一个甜点配置。足以流畅运行系统和中型应用又不会过度占用宿主机资源。如果你的Mac内存充足16G以上可以给到8GB体验会更佳。硬盘默认的20GB对于最小化安装是够的但如果你想安装图形界面、开发工具和Docker建议直接设置为40GB。将磁盘存储方式选为“单个文件”这样在Mac上管理起来更方便性能也更好。网络适配器务必选择“与我的Mac共享”NAT模式。这是最简单的方式虚拟机会通过Mac的网络来访问互联网并且会自动获得一个内网IP宿主机Mac和虚拟机之间可以互相通信。桥接模式虽然能让虚拟机像独立设备一样接入局域网但需要路由器配合对于新手容易造成网络不通。配置完成后先别急着启动。我们点击“设置”在“处理器和内存”选项里有一个至关重要的选项特别是在Apple Silicon Mac上“启用虚拟化引擎”。请确保其下的“虚拟化Intel VT-x/EPT或AMD-V/RVI”和“虚拟化IOMMU”选项是勾选的。这能显著提升虚拟机的性能尤其是对于需要硬件虚拟化支持的操作比如在虚拟机里再跑Docker。3. 安装过程详解从引导到首次登录的每一步点击“启动”按钮虚拟机将从ISO镜像引导。你会看到CentOS 7的安装启动菜单。直接按回车选择“Install CentOS 7”。如果屏幕卡住或出现错误很可能与我们在2.2节讨论的架构问题有关。对于Apple Silicon Mac如果在此步骤失败可以尝试在启动时按Esc键在启动参数行末尾添加nomodeset再回车这会禁用显卡模式设置有时能解决初期引导问题。3.1 语言与时区设置安装程序加载后首先选择语言。为了学习原汁原味的Linux我强烈建议选择English (United States)。这会迫使你熟悉命令行的英文环境与绝大多数服务器和文档保持一致减少后续因语言包导致的问题。当然你也可以选择中文。时区设置是关键。点击“DATE TIME”在地图上点击上海或你所在位置确保时区是Asia/Shanghai。同时打开右上角的网络开关让它连接网络NAT网络会自动连接。这一步非常重要因为安装程序需要从网络获取更新和软件包信息。3.2 软件选择与磁盘分区接下来是“INSTALLATION DESTINATION”。点击进入后你会看到我们之前分配的40GB虚拟磁盘。直接点击它选择“I will configure partitioning”然后点击“Done”进入手动分区界面。对于新手我推荐一个简单实用的分区方案/boot 1GB 用于存放系统内核和引导文件。文件系统类型为xfsCentOS 7默认。swap 4GB 交换分区。大小通常为物理内存的1-2倍我们给了4GB内存所以4GB的swap是合理的。文件系统类型为swap。/ 剩余所有空间约35GB 根分区存放系统和其他所有数据。文件系统类型为xfs。点击“”号依次添加即可。这个方案避免了/home单独分区简化了管理非常适合学习和测试环境。确认后点击“Done”接受更改。然后是“SOFTWARE SELECTION”。这里有一个大坑不要选择默认的“Minimal Install”最小化安装最小化安装连ifconfig、wget、vim这些最常用的命令都没有对于新手来说寸步难行。请选择“Server with GUI”。这样你会得到一个图形界面GNOME以及一套相对完整的服务器工具包。图形界面在初期配置网络、查看日志时非常直观等你熟悉后完全可以通过命令systemctl set-default multi-user.target来禁用图形界面切换到纯命令行模式。3.3 网络配置与Root密码在“NETWORK HOSTNAME”设置中你应该能看到一个以太网连接例如ens33。将右上角的开关打开主机名可以保持默认localhost.localdomain或者改成你喜欢的名字比如centos7-mac。最后设置“ROOT PASSWORD”。设置一个强密码并牢记。同时我强烈建议创建一个普通用户。点击“USER CREATION”创建一个属于wheel组的用户例如用户名为yourname。wheel组的成员可以使用sudo命令来获得管理员权限这比直接使用root账户更安全、更符合最佳实践。完成所有设置后点击“Begin Installation”。安装过程会持续一段时间取决于你的Mac性能和网络速度。安装完成后点击“Reboot”重启。4. 首次启动与必须完成的“开箱即用”配置重启后你会看到CentOS 7的引导界面。首次启动会有一个初始化设置接受许可证完成一些简单配置即可进入系统如果安装了GUI或登录提示符如果是最小化安装。4.1 网络连通性测试与yum源加速登录后第一件事打开终端在GUI里可以搜索“Terminal”。首先测试网络ping -c 4 www.baidu.com如果能看到回复说明网络通畅。如果不行检查虚拟机网络适配器是否为NAT模式并尝试重启网络服务sudo systemctl restart network。接下来是至关重要的一步更换yum源为国内镜像。CentOS默认的国外源速度极慢。我们将其替换为阿里云镜像源。# 备份原yum源 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup # 下载阿里云的CentOS 7 yum源配置文件 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 清理并重建yum缓存 sudo yum clean all sudo yum makecache执行完成后后续安装软件的速度将会飞起。4.2 安装必备的“瑞士军刀”工具集最小化安装或甚至Server with GUI都可能缺少一些极其常用的工具。我们一次性安装上sudo yum install -y epel-release # 安装EPEL扩展源提供更多软件包 sudo yum install -y net-tools vim-enhanced wget bash-completion lrzsz treenet-tools: 包含ifconfig等传统网络工具。vim-enhanced: 功能强大的Vim编辑器。wget: 命令行下载工具。bash-completion: 为bash命令提供自动补全。lrzsz: 方便在终端与宿主机之间传输文件通过rz/sz命令。tree: 以树状图列出目录结构。4.3 配置静态IP可选但推荐NAT模式默认使用DHCP获取IP每次重启IP可能会变。为了方便后续用SSH连接我们可以配置一个静态IP在NAT网段内。查看当前网络接口名和网关ip addr # 通常第一个以太网接口是 ens33 或 eth0 ip route | grep default # 查看网关地址通常是 192.168.xxx.1编辑网络配置文件假设网卡是ens33sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33修改以下关键参数根据你的实际情况调整BOOTPROTOstatic # 将dhcp改为static ONBOOTyes # 确保是yes # 在文件末尾添加以下行IP地址需要在你的NAT网段内且未被占用 IPADDR192.168.xxx.100 NETMASK255.255.255.0 GATEWAY192.168.xxx.1 # 前面查到的网关 DNS1114.114.114.114 DNS28.8.8.8重启网络服务sudo systemctl restart network验证配置再次执行ip addr应该能看到ens33的IP地址已经变成了你设置的静态IP。5. 高阶集成SSH连接、文件共享与性能调优现在你有了一个基础可用的CentOS 7。但要让它真正成为Mac上的得力助手还需要完成最后几步集成。5.1 启用SSH并配置免密登录在虚拟机里操作终端毕竟不方便。我们启用SSH从Mac的终端直接连接过去。在CentOS中安装并启动SSH服务sudo yum install -y openssh-server sudo systemctl start sshd sudo systemctl enable sshd # 设置开机自启在Mac的终端里使用SSH连接虚拟机假设你设置了静态IP192.168.xxx.100用户是yournamessh yourname192.168.xxx.100输入密码后你就从Mac本地终端进入了虚拟机的命令行体验无缝衔接。进阶配置SSH免密登录每次输入密码太麻烦。在Mac终端生成密钥对并将公钥上传到CentOS。# 在Mac终端执行一路回车即可 ssh-keygen -t rsa # 将公钥上传到CentOS虚拟机 ssh-copy-id yourname192.168.xxx.100之后再次SSH连接就不再需要输入密码了。5.2 设置宿主机与虚拟机之间的文件共享VMware Fusion提供了非常方便的“共享文件夹”功能。在VMware Fusion中先关闭CentOS虚拟机。进入虚拟机设置 - “共享” - 添加一个你Mac上的文件夹例如~/SharedWithCentOS。启动CentOS安装VMware Tools这是实现共享文件夹等功能的关键# 首先挂载VMware Tools的安装镜像 sudo mount /dev/cdrom /mnt # 复制安装包并解压 cp /mnt/VMwareTools-*.tar.gz /tmp/ cd /tmp tar -xzf VMwareTools-*.tar.gz cd vmware-tools-distrib/ # 运行安装脚本一路回车选择默认选项即可 sudo ./vmware-install.pl安装完成后共享文件夹会自动挂载到/mnt/hgfs/目录下。你就能在CentOS中直接访问Mac上的文件了。5.3 针对Apple Silicon Mac的性能优化建议如果你在Apple Silicon Mac上运行x86_64的CentOS可能会感觉性能不如原生应用。除了之前提到的确保开启虚拟化引擎外还有几点可以尝试分配更多内存如果Mac内存充足给虚拟机分配6GB或8GB内存会有明显改善。调整显卡内存在虚拟机设置的“显示器”选项中可以适当增加为虚拟机分配的显卡内存如256MB或512MB这对图形界面流畅度有帮助。关闭不必要的服务如果你不需要图形界面果断关掉它能节省大量资源。sudo systemctl set-default multi-user.target # 设置默认启动到命令行模式 sudo reboot使用轻量级桌面环境如果仍需要图形界面可以考虑安装Xfce或MATE这类比GNOME更轻量的桌面环境。6. 常见问题排查与“避坑”实录即使按照上述步骤你也可能遇到一些意外。这里汇总了几个我遇到或常见的问题及其解决方案。6.1 安装过程中提示“Warning: /dev/root does not exist”这通常发生在Apple Silicon Mac上尝试安装x86_64镜像时。根本原因是安装引导程序bootloader在识别虚拟磁盘时出了问题。解决方法在安装启动菜单第一个界面按Tab键编辑启动参数。找到以vmlinuz开头的行在行末在quiet之前添加inst.gpt参数然后按回车。这个参数强制安装程序使用GPT分区表通常能解决此问题。6.2 安装后无法连接网络ping不通外网首先确认虚拟机网络适配器是“NAT模式”。然后在CentOS内检查网络服务是否启动sudo systemctl status network网卡是否启用ip link show查看ens33状态是否为UP。DNS配置是否正确检查/etc/resolv.conf文件确保里面有nameserver 114.114.114.114这样的行。如果被覆盖可以在网卡配置文件ifcfg-ens33中像我们之前那样设置DNS1。一个常见陷阱是NetworkManager服务与network服务冲突。CentOS 7有时会同时运行这两者。可以尝试禁用NetworkManagersudo systemctl stop NetworkManager; sudo systemctl disable NetworkManager然后重启network服务。6.3 虚拟机时间与宿主机不同步VMware虚拟机有时会出现时间漂移。可以安装vmware-toolbox来启用时间同步功能在安装VMware Tools时通常已包含。也可以手动设置定时同步sudo yum install -y ntp sudo systemctl start ntpd sudo systemctl enable ntpd同时在VMware Fusion的虚拟机设置 - “处理器和内存” - 高级选项中勾选“将客户机时间与主机同步”。6.4 在虚拟机内运行Docker时提示cgroup或iptables错误如果你后续想在CentOS 7里安装Docker可能会遇到cgroup v2或防火墙冲突的问题。CentOS 7默认使用较旧的内核和cgroup v1而新版Docker可能需要cgroup v2。一个可行的方案是在安装Docker时在/etc/docker/daemon.json配置文件中如果不存在则创建明确指定使用cgroup v1{ exec-opts: [native.cgroupdrivercgroupfs] }关于防火墙Docker会操作iptables规则可能与firewalld冲突。可以考虑停止firewalld学习环境sudo systemctl stop firewalld; sudo systemctl disable firewalld但更建议的做法是学习如何配置firewalld为Docker放行所需端口。走到这里你的Mac上应该已经有一个运行顺畅、配置完善的CentOS 7虚拟机了。从此刻起它就是你探索Linux世界、实验各种服务的安全堡垒。记住虚拟机的最大优势就是“快照”。在进行任何有风险的操作前拍一个快照你就拥有了无限后悔药。

相关新闻

从AI工具链到智能决策引擎:LangChain如何重塑企业AI应用架构

从AI工具链到智能决策引擎:LangChain如何重塑企业AI应用架构

从AI工具链到智能决策引擎:LangChain如何重塑企业AI应用架构 【免费下载链接】langchain The agent engineering platform. 项目地址: https://gitcode.com/GitHub_Trending/la/langchain 在当今AI技术快速发展的时代,企业面临着一个核心困境&…

2026/10/13 16:47:01 阅读更多 →
从零到一:如何利用AiPy资源库构建你的AI学习体系

从零到一:如何利用AiPy资源库构建你的AI学习体系

从零到一:如何利用AiPy资源库构建你的AI学习体系 【免费下载链接】AiPy Python机器学习、深度学习算法开发等学习资源分享 项目地址: https://gitcode.com/gh_mirrors/ai/AiPy 在人工智能快速发展的今天,如何系统性地学习AI技术成为许多开发者面临…

2026/10/12 17:12:23 阅读更多 →
告别Edge的三大难题:如何安全彻底地卸载微软浏览器

告别Edge的三大难题:如何安全彻底地卸载微软浏览器

告别Edge的三大难题:如何安全彻底地卸载微软浏览器 【免费下载链接】Remove-MS-Edge Uninstall Microsoft Edge with an executable or batch script. 项目地址: https://gitcode.com/gh_mirrors/re/Remove-MS-Edge 你是否曾经想要卸载Windows系统自带的Micr…

2026/10/12 15:30:46 阅读更多 →

最新新闻

AI工程化能力三支柱:数据智能、模型架构与系统交付

AI工程化能力三支柱:数据智能、模型架构与系统交付

1. 这不是“学AI”,而是构建一套可迁移、能落地的工程化能力体系很多人点开“AI培训学什么”这类标题,第一反应是找速成班、抄代码、背模型名字——结果学了三个月,连数据怎么清洗都卡在pandas报错上;或者花两万块报了“大模型实战…

2026/10/13 16:50:38 阅读更多 →
ASCII码与汉字编码:从乱码到UTF-8的完整解析

ASCII码与汉字编码:从乱码到UTF-8的完整解析

1. 从一段乱码说起:为什么你需要搞懂ASCII码你有没有遇到过这种情况:打开一个文本文件,里面全是“锟斤拷”或者“ ”这样的乱码,明明文件大小正常,内容却完全没法看。或者你在写程序的时候,把一个中文字符串…

2026/10/13 16:50:38 阅读更多 →
Spark on YARN GPU推理实战:资源调度、配置与性能调优

Spark on YARN GPU推理实战:资源调度、配置与性能调优

1. 为什么要在 Spark on YARN 上跑 GPU 推理把 AI 模型推理塞进 Spark on YARN 这套体系里,第一次听到的人多半会皱眉:推理不是应该用专门的在线服务框架吗,为什么要绕这么大一圈?我最初接手这个方向时也有同样的疑问,…

2026/10/13 16:50:38 阅读更多 →
MSP430G2553驱动RC522门禁系统实战:低功耗SPI时序与ISO14443-A协议精解

MSP430G2553驱动RC522门禁系统实战:低功耗SPI时序与ISO14443-A协议精解

简介:本资源是一套基于MSP430微控制器与MFRC522 RFID模块的嵌入式门禁系统完整工程,面向嵌入式初学者、电子设计竞赛备赛者及物联网硬件开发爱好者,解决低功耗门禁原型快速验证与软硬协同开发问题。压缩包共20个文件,含6个核心头文…

2026/10/13 16:50:38 阅读更多 →
IS95前向链路Rake接收机仿真:从物理层结构到多径合并的完整实现

IS95前向链路Rake接收机仿真:从物理层结构到多径合并的完整实现

简介:这份资源面向通信工程、无线通信课程学习者及CDMA仿真入门者,聚焦IS-95前向链路系统的建模与验证,帮助理解扩频调制、多径衰落与RAKE接收等核心机制。压缩包共13个文件,以10个m脚本、2个mat数据文件和1份doc说明文档为主&…

2026/10/13 16:50:38 阅读更多 →
SwiftUI中的Agent+Skill框架:摆脱if-else,构建可扩展的任务调度系统

SwiftUI中的Agent+Skill框架:摆脱if-else,构建可扩展的任务调度系统

项目名我起了个SwiftUI-Agent-Skill,翻译过来没啥歧义:一套跑在SwiftUI应用里的Agent技能框架。Agent在这里不是玄学,就是一个负责拆解用户意图、派发任务、汇总结果的调度核心;Skill则是挂在它下面的一个个独立能力模块&#xff…

2026/10/13 16:49:38 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →