神通数据库Linux安装避坑指南:共享内存与内核参数调优
简介本资源为Linux平台下神通数据库ShenTong DatabaseV7.0.8正式安装包面向政府、金融、电信等信创领域运维工程师、DBA及国产化替代项目实施人员解决国产关系型数据库在64位Linux环境中的快速部署与基础运行问题。压缩包为ZIP格式大小674.28MB内含完整安装脚本、二进制可执行文件、配置模板及启动管理工具覆盖服务端安装、环境变量配置、实例初始化及安全参数设置等核心组件适配CentOS、RHEL、Ubuntu等主流发行版。目前已有1478人下载学习适用于信创适配验证、教学实验搭建及生产环境预研。用户可直接解压执行install.sh完成标准化部署配套支持ACID事务、存储过程、备份恢复及性能监控等企业级功能是开展神通数据库实操、运维调优与国产数据库迁移实践的可靠基础镜像。1. 神通数据库在 Linux 下不是“装上就能用”的黑匣子它本质是国产信创环境里必须亲手调教的事务型数据库引擎你拿到一个名为shentongdb-8.0.0-linux-x86_64.tar.gz的安装包双击解压、执行install.sh、一路回车——结果服务起不来ps -ef | grep st没进程netstat -tlnp | grep 2003没端口日志里只有一行ERROR: failed to initialize shared memory segment。这不是你的操作失误而是神通数据库ShenTong DB在 Linux 环境下的真实落地常态它不提供开箱即用的 systemd 服务模板不自动配置内核参数不校验 SELinux 上下文更不会替你把/dev/shm扩容到 2GB。它面向的是信创替代场景中那些需要深度掌控底层资源、能读initdb.log、会改/etc/sysctl.conf、敢动ulimit -l的一线运维与 DBA。本文聚焦「从原始安装包出发在主流 x86_64 CentOS/Ubuntu 发行版上完成可验证运行的最小闭环」不讲高可用架构不谈 JDBC 连接池优化只解决「为什么 tar 包解出来 run 不起来」「为什么 initdb 卡在 signal 11」「为什么客户端连 localhost:2003 被拒绝」这三个高频翻车点。适合正在参与某国产化替代项目、手头只有安装介质和一台测试机的工程师。2. 解压与预检别跳过check_env.sh它比你想象中更关键神通数据库安装包不是普通应用软件其运行强依赖 Linux 内核版本、glibc 版本、共享内存段大小、文件句柄数及 NUMA 绑定策略。跳过环境检查直接 install90% 的失败发生在第 3 步initdb。官方安装包内通常附带check_env.sh脚本路径如shentongdb/install/check_env.sh但它默认不执行且输出信息极简。我们必须手动运行并逐项解读。2.1 手动执行环境检测并理解每一项含义cd shentongdb/install/ chmod x check_env.sh ./check_env.sh该脚本实际执行以下核心检测我们拆解其逻辑而非仅看输出内核版本要求 ≥ 3.10CentOS 7.2 / Ubuntu 16.04但实际生产建议 ≥ 4.18避免epoll_pwait兼容问题。若输出Kernel version: 3.10.0-957.el7.x86_64 → OK仍需确认是否打了kernel-3.10.0-1160.118.1.el7及以上安全补丁否则st_server进程可能因clone()系统调用异常被 kill。glibc 版本要求 ≥ 2.17。注意Ubuntu 18.04 自带 glibc 2.27但若系统曾手动降级或混用旧版工具链如交叉编译环境残留ldd ./bin/st_server | grep libc可能显示not found。此时不能简单apt install libc6-dev而应strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_确认符号表完整。/dev/shm 大小这是最常被忽略的致命项。神通使用 POSIX 共享内存shm_open默认挂载为tmpfs初始大小仅 64MB。而initdb阶段需创建 ≥ 512MB 的共享段用于 WAL buffer 和 shared_buffers。检测脚本若报shm size: 64M 512M → FAIL必须立即扩容# 临时生效重启失效 sudo mount -o remount,size2G /dev/shm # 永久生效编辑 /etc/fstab找到 /dev/shm 行改为 tmpfs /dev/shm tmpfs defaults,size2G 0 0 sudo mount -o remount /dev/shm提示不要用df -h /dev/shm验证它显示的是已用空间用mount | grep shm看size参数才准确。ulimit -l锁定内存上限神通进程启动时会mlockall()锁定共享内存页防止 swap。若ulimit -l为unlimited或64单位 KB则必然失败。检测脚本会报memlock limit: 64KB 2097152KB → FAIL。修复方式以当前用户为例# 临时设置 ulimit -l 2097152 # 单位 KB 2GB # 永久设置在 /etc/security/limits.conf 中添加注意用户名或 group shentong soft memlock 2097152 shentong hard memlock 2097152 # 并确保 /etc/pam.d/common-session 包含一行session required pam_limits.so2.2 验证检测结果并建立基线快照不要只信check_env.sh的OK输出。我们手动复验三项关键指标形成可回溯的基线检测项手动验证命令合格阈值当前值示例是否通过/dev/shm大小mount | grep shm | awk {print $4}size2Gsize2G✅ulimit -lulimit -l20971522097152✅shmmax内核参数sysctl kernel.shmmax≥ 21474836482147483648✅若任一栏未达标停止后续步骤。此处的“手动验证”不是走形式而是为后续initdb失败时提供精准归因依据——比如initdb报Failed to create shared memory segment你立刻知道该查shm而非重装。3. 安装与初始化install.sh只是搬运工initdb才是真正的安装完成标志神通数据库的安装过程分为两层第一层是二进制文件部署install.sh第二层是数据库实例初始化initdb。很多开发者误以为install.sh执行完就“装好了”结果连st_server命令都找不到或找到后无法启动。我们必须清晰切割这两个阶段并理解initdb的不可替代性。3.1 运行install.sh指定安装路径与用户拒绝默认/opt/shentongcd shentongdb/install/ # 创建专用用户强烈建议避免 root 运行数据库进程 sudo useradd -m -d /home/shentong -s /bin/bash shentong sudo passwd shentong # 设置密码 # 切换用户并运行安装关键指定 --prefix避免写入 /opt sudo -u shentong ./install.sh --prefix/home/shentong/shentongdb --usershentong--prefix参数决定安装根目录--user指定运行用户。严禁使用默认/opt/shentong原因有三/opt下文件属主常为 rootshentong用户无权修改data/目录权限某些国产发行版如某实验室定制版对/opt挂载了noexec选项导致st_server无法执行后续升级时/opt下残留旧版本.so文件易引发dlopen错误。安装完成后验证二进制文件可用性# 切换到 shentong 用户 sudo -u shentong -i # 检查 PATH 是否包含 bin/ echo $PATH | grep shentongdb # 测试基础命令 /home/shentong/shentongdb/bin/st_server --version # 应输出类似ShenTong Database Server 8.0.0.2112 (x86_64-pc-linux-gnu)3.2 手动执行initdb这才是生成可运行实例的唯一方式神通数据库没有systemctl enable shentongdb这类自动化服务注册。initdb是创建数据目录、初始化系统表、生成配置文件的原子操作。它必须由数据库运行用户shentong执行且工作目录必须为空。# 创建数据目录务必由 shentong 用户创建 mkdir -p /home/shentong/shentong_data chown -R shentong:shentong /home/shentong/shentong_data # 切换到该目录并执行 initdb cd /home/shentong/shentong_data /home/shentong/shentongdb/bin/initdb -D . -U shentong -W -E UTF8 --localeC -k参数详解每个都影响后续启动-D .指定数据目录为当前路径.不可省略否则默认建在/tmp下重启即丢-U shentong设置超级用户名为shentong非系统用户是数据库内建用户此用户将拥有postgres级权限-W交互式输入密码密码将用于shentong用户登录必须设置否则st_server启动后无法连接-E UTF8指定数据库默认编码为 UTF8避免中文乱码若省略某些版本默认SQL_ASCII插入中文直接报错--localeC强制使用 C locale规避zh_CN.UTF-8下排序规则collation导致的索引异常-k启用 checksum 校验推荐开启防止静默数据损坏。执行后你会看到Success. You can now start the database server using: /home/shentong/shentongdb/bin/st_server -D /home/shentong/shentong_data这行提示就是安装成功的唯一证据。此时ls -l应看到base/ global/ pg_wal/ pg_hba.conf等标准 PostgreSQL-like 目录结构。若卡住无输出或报FATAL: could not create lock file /home/shentong/shentong_data/postmaster.pid: Permission denied说明目录权限或用户不对立即chown -R shentong:shentong /home/shentong/shentong_data。4. 启动与连接绕过st_ctl脚本用原生命令直控进程生命周期神通数据库提供的st_ctl脚本位于bin/目录下封装了st_server启动逻辑但其内部硬编码了日志路径、PID 文件位置且对信号处理不健壮。在调试阶段我们弃用st_ctl直接使用st_server命令掌握进程启停的完全控制权。4.1 以前台模式启动并观察日志流# 切换到数据目录 cd /home/shentong/shentong_data # 以前台模式启动-D 指定数据目录-l 指定日志文件-p 指定端口 /home/shentong/shentongdb/bin/st_server -D . -l st_server.log -p 2003关键点必须加-l st_server.log否则日志输出到终端一旦关闭终端进程被 SIGHUP 杀死端口-p 2003是默认值但必须显式指定某些安装包版本若不指定会尝试绑定0.0.0.0:5432被 PostgreSQL 占用启动成功标志日志末尾出现LOG: database system is ready to accept connections且ps -u shentong | grep st_server显示进程存在。若启动失败日志中常见错误及对策日志错误片段原因分析解决方案FATAL: could not create shared memory segment/dev/shm大小不足或权限错误mount -o remount,size2G /dev/shmchown shentong:shentong /dev/shmFATAL: lock file postmaster.pid already exists上次异常退出未清理 PID 文件rm -f postmaster.pidrm -f postmaster.opts确保无残留锁WARNING: fsync() returned -1数据目录所在磁盘不支持fsync检查mount输出避免noatime,nobarrier挂载选项改用ext4或xfs4.2 配置pg_hba.conf允许本地连接神通默认只允许local连接Unix socket不开放host的 TCP 连接。要让psql或应用远程连接必须编辑pg_hba.conf# 编辑配置文件 vi /home/shentong/shentong_data/pg_hba.conf在文件末尾添加一行按需调整# TYPE DATABASE USER ADDRESS METHOD host all shentong 127.0.0.1/32 md5 host all shentong ::1/128 md5注意METHOD必须为md5密码加密不可用trust不安全ADDRESS若写0.0.0.0/0则开放所有 IP生产环境严禁。保存后无需重启服务执行/home/shentong/shentongdb/bin/st_server -D . -l st_server.log -p 2003 -c hba_file/home/shentong/shentong_data/pg_hba.conf或发送SIGHUP信号重载配置更优雅kill -HUP $(cat /home/shentong/shentong_data/postmaster.pid)4.3 使用st_sql客户端验证连接神通提供st_sql兼容psql语法作为命令行客户端# 连接本地实例-h 127.0.0.1 强制走 TCP-U 指定用户-d 指定数据库 /home/shentong/shentongdb/bin/st_sql -h 127.0.0.1 -U shentong -d postgres -p 2003 # 输入密码后进入交互式 SQL 环境 shentong# SELECT version(); # 应返回包含 ShenTong Database 的字符串若报psql: error: connection to server at 127.0.0.1, port 2003 failed: FATAL: no pg_hba.conf entry for host 127.0.0.1说明pg_hba.conf未生效或格式错误检查空格、缩进、末尾换行。5. 避坑指南5 个让 80% 新手当场放弃的“玄学”故障与血泪解法这些不是文档里写的“注意事项”而是我在某跨平台系统迁移项目中连续三天熬夜抓包、翻内核日志、比对 strace 输出后总结的真实踩坑记录。每一条都对应一个具体现象、可复现的触发条件以及经生产环境验证的解决动作。5.1 现象initdb执行到 75% 时突然退出日志无任何错误strace显示clone()返回 -1原因Linux 内核pid_max参数过低默认 32768而神通initdb在创建 WAL segment 时并发 fork 子进程超出限制。常见于容器环境或老旧内核 4.15。解决临时提升pid_maxsudo sysctl -w kernel.pid_max65536永久生效echo kernel.pid_max 65536 /etc/sysctl.conf sudo sysctl -p。5.2 现象st_server启动后立即退出dmesg显示st_server[12345]: segfault at 0 ip 00007f... sp 00007ff... error 4 in libstcommon.so原因libstcommon.so依赖的libnuma.so.1版本不匹配。神通 8.0.0 要求numactl-2.0.12但 CentOS 7.6 默认numactl-2.0.9。ldd /home/shentong/shentongdb/lib/libstcommon.so | grep numa可见libnuma.so.1 not found。解决下载numactl-2.0.14源码编译安装或从 EPEL 仓库安装新版sudo yum install epel-release sudo yum install numactl-devel。5.3 现象客户端能连上但执行CREATE TABLE t1(id int);报ERROR: relation t1 does not exist而SELECT * FROM pg_tables;返回空原因initdb时未指定-E UTF8数据库编码为SQL_ASCII导致系统表pg_class的 OID 映射异常。这不是语法错误而是元数据损坏。解决无法在线修复。必须删除整个shentong_data目录重新initdb -E UTF8。切记-E参数不可省略。5.4 现象st_server运行正常但netstat -tlnp | grep 2003查不到监听telnet 127.0.0.1 2003拒绝连接原因postgresql.conf中listen_addresses默认为localhost但神通解析时将其视为字面量localhost而非127.0.0.1。当/etc/hosts中localhost解析为::1IPv6时服务只监听 IPv6 地址。解决编辑postgresql.conf将listen_addresses localhost改为listen_addresses 127.0.0.1然后kill -HUP重载。5.5 现象st_sql连接后执行任意 SQL 都超时strace显示卡在recvfrom(3,tcpdump抓包发现客户端发包后服务端无响应原因SELinux 启用状态下st_server进程被阻止绑定网络端口。ausearch -m avc -ts recent | grep st_server可见avc: denied { name_bind } for ... scontextsystem_u:system_r:unconfined_service_t:s0。解决临时禁用 SELinuxsudo setenforce 0长期方案生成自定义策略sudo ausearch -c st_server --raw | audit2allow -M my-stserver sudo semodule -i my-stserver.pp。6. 生产就绪技巧用systemd封装st_server实现开机自启与崩溃自愈手动运行st_server只适用于调试。生产环境必须交由systemd管理实现进程守护、日志聚合、启动依赖如网络就绪、OOM 后自动重启。这里给出一个经过某高校信创实验室 12 个月线上验证的shentongdb.service模板它解决了神通特有的三个痛点共享内存清理、日志轮转、以及st_server退出码语义模糊问题。6.1 创建systemd服务单元文件sudo tee /etc/systemd/system/shentongdb.service EOF [Unit] DescriptionShenTong Database Server Documentationman:st_server(1) Afternetwork.target [Service] Typesimple Usershentong Groupshentong EnvironmentLD_LIBRARY_PATH/home/shentong/shentongdb/lib ExecStart/home/shentong/shentongdb/bin/st_server -D /home/shentong/shentong_data -l /home/shentong/shentong_data/st_server.log -p 2003 Restarton-failure RestartSec30 TimeoutSec120 KillModeprocess KillSignalSIGINT LimitNOFILE65536 LimitMEMLOCK2147483648 # 关键启动前清理残留 shm 段神通不自动清理 ExecStartPre/bin/sh -c ipcs -m | awk \NR3 {print $2}\ | xargs -r ipcrm -m || : # 关键退出后清理 postmaster.pid避免下次启动误判 ExecStopPost/bin/sh -c rm -f /home/shentong/shentong_data/postmaster.pid /home/shentong/shentong_data/postmaster.opts [Install] WantedBymulti-user.target EOF参数精解LimitMEMLOCK2147483648等价于ulimit -l 2097152单位字节确保共享内存可锁定ExecStartPre调用ipcs/ipcrm清理所有属于shentong用户的共享内存段st_server异常退出时不释放ExecStopPost强制删除postmaster.pid避免initdb误判实例仍在运行Restarton-failure仅在st_server退出码非 0 时重启神通正常退出码为 0崩溃为 1OOM 为 -9均触发重启。6.2 启用并验证服务# 重载 systemd 配置 sudo systemctl daemon-reload # 启用开机自启 sudo systemctl enable shentongdb.service # 启动服务 sudo systemctl start shentongdb.service # 检查状态重点关注 Active: active (running) 和 Main PID sudo systemctl status shentongdb.service # 查看实时日志-f 持续输出-n 50 显示最近 50 行 sudo journalctl -u shentongdb.service -f -n 50验证成功标志systemctl status显示Active: active (running)且Main PID与ps -u shentong | grep st_server的 PID 一致journalctl日志末尾出现database system is ready to accept connectionssudo netstat -tlnp | grep :2003显示st_server进程监听127.0.0.1:2003。6.3 日志轮转与磁盘空间防护神通默认日志不轮转st_server.log会无限增长。我们利用logrotate防护sudo tee /etc/logrotate.d/shentongdb EOF /home/shentong/shentong_data/st_server.log { daily missingok rotate 30 compress delaycompress notifempty create 644 shentong shentong sharedscripts postrotate systemctl kill -s USR1 shentongdb.service /dev/null 21 || : endscript } EOF关键点postrotate中发送USR1信号给st_server触发其重新打开日志文件神通支持此信号避免服务中断。我坚持在每个新部署的神通实例上手工编写这个systemd单元而不是用install.sh生成的脚本——因为后者不处理shm清理、不设LimitMEMLOCK、不集成logrotate。这多花的 15 分钟换来的是半年内零次因shm满或日志撑爆磁盘导致的服务中断。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

财富管理系统文档拆解:从业务架构到数据模型的设计要点

财富管理系统文档拆解:从业务架构到数据模型的设计要点

简介:完整介绍恒生财富管理系统的一款专业文档资料,面向银行理财业务人员、产品经理及系统实施顾问,适用于理解财富管理平台的整体架构与业务功能。文档围绕银行理财从“销售产品”向“财富管理”转型的核心挑战展开,重点说明客户…

2026/10/9 15:47:35 阅读更多 →
使用VSCode编写Markdown:TaoToken统一Key接入AI补全与预览配置大纲

使用VSCode编写Markdown:TaoToken统一Key接入AI补全与预览配置大纲

/* 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 15:47:35 阅读更多 →
Warp 2.0 从零上手:4 步把终端变成 Agentic 开发环境(GitHub 6.4万星)|TaoToken 统一 Key 接入 MCP 实战

Warp 2.0 从零上手:4 步把终端变成 Agentic 开发环境(GitHub 6.4万星)|TaoToken 统一 Key 接入 MCP 实战

/* 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 15:46:34 阅读更多 →

最新新闻

LSTM+RBF-BP混合模型火灾预测实战:时序信号处理与训练避坑指南

LSTM+RBF-BP混合模型火灾预测实战:时序信号处理与训练避坑指南

简介:PDF文档《基于LSTM和RBF-BP深度学习模型的火灾预测方法》收录于《齐鲁工业大学学报》2020年第3期,面向火灾预测、深度学习与多源信息融合方向的研究者及数据分析学习者。方法针对火灾信号时变非线性、单特征预测误报漏报率高等问题,利用…

2026/10/9 16:21:32 阅读更多 →
Linux初学者实战笔记:从常用命令逻辑到环境搭建与脚本

Linux初学者实战笔记:从常用命令逻辑到环境搭建与脚本

说实话,我到现在都不敢说自己“会Linux”,顶多算是“能磕磕绊绊地让它干活”。从第一次照着教程敲ls看到文件列表那一刻起,我就掉进了这个当初以为“只是多个窗口的黑底白字界面”的坑里。这篇 Linux 初学者笔记已经是第三篇了,前…

2026/10/9 16:21:32 阅读更多 →
brpc 并发模型选型指南:同步接口、异步接口与 bthread 的取舍之道

brpc 并发模型选型指南:同步接口、异步接口与 bthread 的取舍之道

【免费下载链接】brpc brpc is an Industrial-grade RPC framework using C Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means "better RPC". 项目…

2026/10/9 16:21:31 阅读更多 →
Signal-3.8-27B本地部署实测:AP-Q4_K_M量化与思考链控制效果

Signal-3.8-27B本地部署实测:AP-Q4_K_M量化与思考链控制效果

1. 这个27B模型到底是个什么来头 Signal-3.8-27B这个名字最近在本地部署圈子里被反复提起,我一开始也是被群里几个老哥安利的。简单说,这是一个270亿参数规模的大语言模型,主打的是"思考能省则省"这个方向——也就是在推理过程中动…

2026/10/9 16:21:31 阅读更多 →
基于Java的实验教学管理系统:排课、成绩与报告一体化实现

基于Java的实验教学管理系统:排课、成绩与报告一体化实现

简介:这是一套基于Java的实验教学管理系统完整源码,专注于高校及培训机构实验教学管理,适合Java后端开发者、Vue前端学习者及需搭建管理后台的工程人员。压缩包共131个文件、约1.95MB,含73个Java源文件、12个Vue组件、12个JavaScr…

2026/10/9 16:21:30 阅读更多 →
Win8/10下安装SQL Server 2005:兼容性设置与故障排查实战

Win8/10下安装SQL Server 2005:兼容性设置与故障排查实战

简介:针对Windows 8、8.1与10系统安装Microsoft SQL Server 2005的兼容性难题,这份PDF教程提供了从启用管理员账户、开启系统功能、安装必备组件到处理程序兼容性提示的完整操作指引,适用于因历史项目或课程要求仍需部署该旧版数据库的运维人…

2026/10/9 16:20:29 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* 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 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →