[{"data":1,"prerenderedAt":672},["ShallowReactive",2],{"content:\u002F2024\u002Fall-pits-stepped":3,"surround:\u002F2024\u002Fall-pits-stepped":660},{"id":4,"title":5,"body":6,"categories":633,"date":635,"description":636,"draft":637,"extension":638,"image":639,"meta":640,"navigation":642,"path":643,"permalink":644,"published":644,"readingTime":645,"recommend":644,"references":644,"seo":650,"sitemap":651,"stem":652,"tags":653,"type":657,"updated":658,"__hash__":659},"content\u002Fposts\u002F2024\u002Fall-pits-stepped.md","从“端口无法访问”到本地环境问题——朋友的博客踩坑记录",{"type":7,"value":8,"toc":591},"minimark",[9,19,37,41,46,49,52,55,58,61,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136,139,142,145,148,151,154,157,160,163,166,169,173,176,191,212,216,219,222,225,235,238,241,244,247,250,257,263,266,269,272,275,278,289,292,295,298,301,304,307,310,313,316,319,322,328,331,334,338,341,344,347,350,354,357,360,363,366,370,373,376,379,382,385,388,391,394,397,403,406,410,421,427,430,433,436,444,447,450,453,456,459,462,469,473,476,479,482,485,488,491,495,498,528,531,534,539,542,545,548,551,554,564,567,573,576,579,582,585,588],[10,11,12,16],"blockquote",{},[13,14,15],"p",{},"在决心踏入计算机的世界之后，我们总会勇敢踏步，朝着某个方向走去。也许那里是堵墙，也许墙上贴着前辈们的经验，只要有怀揣一颗热爱探索的心，总归能找到答案。",[13,17,18],{},"在发现属于自己的答案之前，没有一帆风顺的路。",[20,21,25,28,31,34],"poetry",{"author":22,"footer":23,"title":24},"纸鹿","2024.7.24","章回体tl;dr展身手，从云上修到PE终得解决",[13,26,27],{},"微信收消息被问「在吗」，约定时间解决服务器问题\n在现场先整理环境，细心排查终现端倪\n说公网 IP 端口无法访问，实际是 Hexo 生成空页面\n问意图是想搭建博客，随后推荐国外静态部署",[13,29,30],{},"npm 装包报权限问题，缓存文件夹需管理权限读写\n更改缓存文件夹权限，全局包文件夹也有问题\nWinGet 重装 Node.js，Win 11 未更新无此命令\n下载目录无 Node 安装包，迅雷里找到得以安装\n设置镜像源npm依旧慢，换pnpm遇中文路径乱码",[13,32,33],{},"家庭版无「用户和组管理」，难启用内置 Administrator\n试直接新建管理员账户，改注册表键值继续下一步\n改路径提示文件夹占用，准备进入 PE 修改\n忽发觉 BitLocker 启用，上微软网站查恢复密钥\n查微软账户无恢复密钥，关设备加密防硬盘锁死\n进 BIOS 关安全启动，进PE改名顺扩容 C 盘\nC\u002FD 盘间隔 Ubuntu 系统，D 盘空间分不到 C 盘\n进系统改环境变量，却发现大量路径零碎片段",[13,35,36],{},"国内服务器没有备案，本地整好换静态部署\nGitHub 邮箱不公开，本地仓库无法 push\n身份证件没在手边，不好注册 Netlify 账户\nCF Pages部署静态博客，@ 解析尚需迁移 DNS\n迁dns后成功部署，一杯奶茶聊表谢意\n约定聚餐只得暂时离开，火速吃完回来再续鏖战\n教授 Git 三步流程，总结经验然后离开",[38,39,40],"h2",{"id":40},"问题与推论之间模糊的界限",[42,43,45],"h3",{"id":44},"在吗起手","「在吗」起手",[13,47,48],{},"M 给我发了一条微信，询问我「在吗」。",[13,50,51],{},"我在，我在暑期留校，我在食堂为数不多开放的档口等还算能吃的饭。",[13,53,54],{},"M 讲「公网 IP + 端口号无法访问」。",[13,56,57],{},"我的脑海中冒出许多种想法：「会不会是家庭宽带想要从公网访问」「会不会是服务器防火墙没有放行端口」「会不会是自己写的服务没有侦听所有网卡」「会不会是低位端口在路途中被拦截了」……",[13,59,60],{},"我问了一连串问题。「哪里来的公网 IP？」「什么类型的服务？」「SSH 能否连接？」",[10,62,63],{},[64,65,66,70,73],"ul",{},[67,68,69],"li",{},"「哪里来的公网 IP」：判断是否真的拿到了公网 IP。",[67,71,72],{},"「什么类型的服务」：判断是成品引擎还算自己写的后端代码。",[67,74,75],{},"「SSH 能否连接」：判断IP上的其他端口能否连接。",[42,77,78],{"id":78},"弄清问题",[13,80,81],{},"起到关键作用的是后来 M 发来一张宝塔面板的截图。",[13,83,84],{},"谢天谢地，我终于弄明白他讲的问题是「服务器上通过宝塔面板搭建的网站无法访问」了。",[13,86,87],{},"我问「访问报什么错」。",[13,89,90],{},"他讲「直接无法访问」。天哪。",[13,92,93],{},"几句聊天之后，饭已经好了。先吃饭吧。",[13,95,96],{},"在饭送进嘴边之前，我认真思考了一下，和 M 约定下午亲自找他看看，不然可能说不清、可能修不好、可能造成一些破坏性的影响。",[42,98,99],{"id":99},"清理环境",[13,101,102],{},"中午睡醒已经是两点多了，下午解决完手里部分要紧的事情已经是三点半了。我给 M 发了消息，前往几十步路之远的他所在的实验室。",[13,104,105],{},"M 把他的工位让给我，我坚持让他搬一张椅子坐下，而不是站在旁边。",[13,107,108],{},"电脑开了很多窗口。浏览器里有很多标签页。",[13,110,111],{},"我用 Windows 的虚拟桌面功能，把问题相关的窗口和标签页放在新桌面里。",[42,113,114],{"id":114},"错误推论",[13,116,117],{},"我先照着 M 的思路，检查了公网 IP、服务商提供的防火墙、宝塔面板内的防火墙，最后才打开了那个「无法访问」的服务器上的公网 IP 的 80 端口。",[13,119,120],{},"访问网址，我的面色有些许变化。",[13,122,123],{},"「你看，你说的这个公网 IP + 端口真的无法访问吗？」我问。",[13,125,126],{},"「是啊，就这样打不开。」他答。",[13,128,129],{},"纯白色的画面映照着我的脸，屏幕上没有任何报错信息。",[13,131,132],{},"「端口是通的，这个网页已经加载好了，」我这样讲，「是你给 Nginx 提供的首页是空的，而不是无法访问。」",[38,134,135],{"id":135},"表面问题与实际意图的距离",[42,137,138],{"id":138},"问题环境",[13,140,141],{},"我快速扫视服务器。同时简单问了一些信息。",[13,143,144],{},"Ubuntu 系统。实例名叫 Windows Server。",[13,146,147],{},"没有配置 SSH。宝塔面板的终端功能不能使用。通过服务商提供的网页终端执行命令。",[13,149,150],{},"国内服务器，没有备案。有域名。",[13,152,153],{},"宝塔面板的 Nginx 提示未安装。怪事。",[42,155,156],{"id":156},"真正需求",[13,158,159],{},"他想搭博客。",[13,161,162],{},"搭博客起步阶段不用买服务器，使用静态托管服务即可。",[13,164,165],{},"博客不像是抖音爆款视频，缺乏服务器续费支持或长期内容输出，很难让自己或他人获益。",[13,167,168],{},"所以选择静态部署服务吧，既能防止续费困难而使得热爱更新的博客蒙尘，也能简化流程，让尝鲜选手快速吃上自建博客的体验。",[38,170,172],{"id":171},"本地开发环境有些许-messy","本地开发环境有些许 messy",[42,174,175],{"id":175},"博客本体",[13,177,178,179,183,184,190],{},"这个博客文件夹没有初始化为 Git 仓库，使用 ",[180,181,182],"code",{"code":182},"hexo-deployer-git"," 将生成的静态页面部署到 GitHub 仓库。博客主题文件夹使用 ",[180,185,188],{"className":186,"code":188,"language":189},[187],"language-sh","git clone","sh"," 命令克隆，这样做有几个问题：",[64,192,193,196,209],{},[67,194,195],{},"博客源文件未部署到 GitHub，容易丢失。",[67,197,198,199,203,204,208],{},"更改内容后不仅需要 ",[180,200,202],{"className":201,"code":202,"language":189},[187],"git commit","，还需要执行 ",[180,205,207],{"className":206,"code":207,"language":189},[187],"hexo deploy"," 命令。",[67,210,211],{},"未使用 Git submodule 管理主题文件夹，不好使用在线部署功能。",[42,213,215],{"id":214},"npm-环境","npm 环境",[13,217,218],{},"在使用 npm 管理包的过程中，我留意到更新项目依赖的过程中报 EPERM 错误，经检查是普通用户没有写入 npm 缓存文件夹的权限。这种情况一般是有软件安装到分区根目录，导致全盘读写权限被修改。不过他的情况并非如此，而是照着网上的教程，使用管理员权限的命令行配置了全局包、缓存路径，不配还好，这一配，就是环境问题。",[13,220,221],{},"「对，因为 C 盘空间有点小。」他讲。",[13,223,224],{},"修改了全局包和缓存文件夹的权限后，安装包不报错了。不过明明他配置过 npmmirror 镜像源，但是下载依赖的速度特别慢。查不出原因，索性重装 Node.js 环境吧。",[226,227,233],"pre",{"className":228,"code":230,"language":231,"meta":232},[229],"language-powershell","winget remove nodejs\n","powershell","",[180,234,230],{"__ignoreMap":232},[13,236,237],{},"🥺又报错了。",[13,239,240],{},"这台电脑虽然是 Windows 11，但是已经很久没更新了，不支持软件包安装程序提供的 winget 命令。从系统设置卸载吧。",[42,242,243],{"id":243},"环境蓄力中",[13,245,246],{},"折腾一番，准备重装 Node.js，听闻 Node.js 是最近才安装的，想必安装包还在本地，兜兜转转找一圈没找到。",[13,248,249],{},"「安装包在迅雷里。」他讲。",[13,251,252,253,256],{},"安装之后，由于 ",[180,254,255],{"code":255},"~\u002F.npmrc"," 配置文件或是其他什么配置文件还在，下载慢的问题依旧，我也懒得换源了，直接用 pnpm 管理依赖吧。",[226,258,261],{"className":259,"code":260,"language":189,"meta":232},[187],"npm install -g pnpm\npnpm setup\npnpm add -g pnpm\nnpm remove -g npm\n",[180,262,260],{"__ignoreMap":232},[13,264,265],{},"可惜是用户文件夹名称是中文，pnpm 无法正常配置，路径变成了乱码。",[38,267,268],{"id":268},"从服务器修到电脑本体",[42,270,271],{"id":271},"中文用户文件夹名",[13,273,274],{},"「欸，这个刚装电脑不久就发现了，但是我一直不会改。」他继续讲。",[13,276,277],{},"「淘宝搜索“用户名中文改英文”，五到十块钱就能搞定。」我答，「既然遇到问题了，那就顺便改一下吧。」",[13,279,280,281,288],{},"当然，我也是当场上网查找的 ",[282,283,287],"a",{"href":284,"rel":285},"https:\u002F\u002Fblog.csdn.net\u002Fsongxunwen\u002Farticle\u002Fdetails\u002F121175952",[286],"nofollow","修改教程","。",[13,290,291],{},"得，又报错了，家庭版没有管理选项。为了减少对环境的影响，也为了避免扩大环境维护的范围，我并未将家庭版系统升级到专业版。",[13,293,294],{},"内置的 Administrator 不好启用，我索性断网（为了新建离线账户）新建了另一个管理员账户。",[42,296,297],{"id":297},"切换账户依然占用",[13,299,300],{},"切换账户后，我在注册表里找到并修改了原用户的用户文件夹路径配置，对应修改文件夹名的时候发现文件夹被占用，在任务管理器里关闭了几个可疑进程后问题依旧。",[13,302,303],{},"没事，还能救。",[13,305,306],{},"只要从 U 盘启动 PE 系统，就可以直接修改用户文件夹名了。",[13,308,309],{},"穿过几个走廊，我从自己工位取出了 U 盘。它安装了 Ventoy，带有 PE、Windows 和 Linux 的安装镜像。它又要出山了。",[42,311,312],{"id":312},"盘符图标上的小锁",[13,314,315],{},"在重启到 PE 之前，需要做好完全准备——比如，解决掉分区图标上代表 BitLocker 的小锁，起码确保知道恢复密钥。",[13,317,318],{},"说起这个锁，来头可就大了：不少用户在不知情的情况下变动分区，触发了 BitLocker 安全机制，开机显示「输入恢复密钥以进行恢复」的提示。有的按照提示找到了恢复密钥，进入了系统；有的微软账户里并未同步 BitLocker 密钥，便永远地失去了电脑内的所有数据。",[13,320,321],{},"我喊 M 在手机上先行登录微软账户网站，检查恢复密钥。",[13,323,324],{},[325,326,327],"strong",{},"M 的账户里没有 BitLocker 密钥。",[13,329,330],{},"还好先行查看了，不然如果一会触发了 BitLocker 的话要出大问题。",[13,332,333],{},"在“设备加密”设置里关闭了开关，看着解密进度条一点一点推进，我心力交瘁地瘫在 M 的工位上。",[42,335,337],{"id":336},"pe-启动","PE 启动",[13,339,340],{},"「来杯奶茶吧，想喝什么？」M 问。",[13,342,343],{},"「豆乳玉麒麟不错，怎样？」M 继续问。",[13,345,346],{},"我又陷入久远的沉思了。之前喝过一杯豆乳玉麒麟，也是帮人解决电脑问题的酬劳。",[13,348,349],{},"等设备加密完全关闭以后，我重启进入 BIOS 关闭了安全启动，又进入 U 盘启动 PE 系统，改好了文件夹名。",[42,351,353],{"id":352},"分区栓","分区「栓」",[13,355,356],{},"「我看不少软件被手动移到 D 盘了，所以顺便给 C 盘扩个容吧，把 D 盘空间分给 C 盘，有助于减少使用者的空间焦虑。」边操作着，我的动作停滞了。",[13,358,359],{},"C 盘和 D 盘之间横亘着一个 S: 分区、Ubuntu 的 ESP 分区、Ext4 格式的根目录分区、家目录分区。",[13,361,362],{},"我心里默算了一下，C 盘和这几个分区的大小加起来，刚好是 200 GB。",[13,364,365],{},"经过询问和检查，S 盘并没有什么重要内容，迁移一部分文件到 D 盘后，便把 S 盘的十几 G 空间归还给 C 盘了。",[42,367,369],{"id":368},"path-被分解","PATH 被分解",[13,371,372],{},"重启后，观感正常，删除之前临时新建的管理员账户。",[13,374,375],{},"根据教程，检查环境变量里残余的旧用户名。",[13,377,378],{},"再次发现情况：PATH 里原中文用户名的部分是乱码，并且出现了多个意外的分号将原先的单个路径断成多个路径。情况新到我没有见过，也在网上搜不到类似现象。",[13,380,381],{},"稍微收拾一下吧，npm 不知道什么问题下载慢，但 pnpm 应该算能用了。",[38,383,384],{"id":384},"为了丝滑部署博客也是煞费苦心",[42,386,387],{"id":387},"部署博客的核心要点",[13,389,390],{},"把奶盖和黄豆粉倒入奶茶，轻轻摇匀，小口啜饮。",[13,392,393],{},"可以开始优雅的博客部署环节了。",[13,395,396],{},"pnpm 下载包的体验十分顺畅，丝毫没有先前 npm 的凝滞感。",[226,398,401],{"className":399,"code":400,"language":189,"meta":232},[187],"pnpm install -g hexo-cli\npnpm update --save\nhexo cl; hexo s\n",[180,402,400],{"__ignoreMap":232},[13,404,405],{},"本地运行博客的观感正常。",[42,407,409],{"id":408},"git-submodule-的轻松实践","Git submodule 的轻松实践",[13,411,412,413,416,417,420],{},"删除通过 ",[180,414,188],{"className":415,"code":188,"language":189},[187]," 克隆的原主题文件夹，再通过 Git submodule 添加主题。这样便可以之间在 Git Push 时云 build，而不用 ",[180,418,207],{"className":419,"code":207,"language":189},[187],"。命令比较强劲，审慎使用，确保做好备份。",[226,422,425],{"className":423,"code":424,"language":189,"meta":232},[187],"git rm -f --cached themes\u002F主题文件夹\ngit submodule add 主题git地址 themes\u002F主题文件夹\n",[180,426,424],{"__ignoreMap":232},[13,428,429],{},"可以推送了。",[42,431,432],{"id":432},"阻止推送",[13,434,435],{},"奶茶中的冰已经失去了硬朗的外形。终端里留着 Git 推送被阻止的信息。好一个丝滑未半而中道遇阻啊。",[13,437,438,439,288],{},"经检查，M 在 GitHub 设置中启用了",[282,440,443],{"href":441,"rel":442},"https:\u002F\u002Fdocs.github.com\u002Fzh\u002Faccount-and-profile\u002Fsetting-up-and-managing-your-personal-account-on-github\u002Fmanaging-email-preferences\u002Fblocking-command-line-pushes-that-expose-your-personal-email-address",[286],"阻止会暴露个人电子邮件地址的命令行推送",[13,445,446],{},"我关掉这个选项，试图让博客部署重新顺畅起来。",[42,448,449],{"id":449},"选择静态部署服务",[13,451,452],{},"我又喝了一口豆乳玉麒麟，豆乳玉麒麟的口感很丝滑，不愧是热门产品。",[13,454,455],{},"「有身份证、学生证或者驾驶证吗？GitHub 有没有绑定 QQ 邮箱之外的邮箱？」我问。",[13,457,458],{},"得到否定的答案，严格注册风控 Netlify 便不可选了。",[13,460,461],{},"我带他注册了 Cloudflare 账号，验证了邮箱。在 Pages 服务页面绑定了 GitHub 仓库，填写好了部署命令和输出目录。绑定了域名。",[13,463,464,465,468],{},"天哪，又卡住了。主域名（",[180,466,467],{"code":467},"@","）使用 Cloudflare Pages 服务时，需要使用 Cloudflare 的 DNS 服务器。",[42,470,472],{"id":471},"迁移-dns","迁移 DNS",[13,474,475],{},"奶茶喝得太快，胃里感到了些许凉意。",[13,477,478],{},"打开腾讯云。扫码登录。查看域名。修改域名的 DNS 服务器。再次扫码验明身份。",[13,480,481],{},"在 Cloudflare 设置好解析记录，差不多算是完成了。",[42,483,484],{"id":484},"小炒菜",[13,486,487],{},"进度比预想中的慢了不少，之前和另外几个朋友约好一起拼的小炒菜到了。暂时和 M 分别一会，他还想听一听博客后续如何推送更新。",[13,489,490],{},"托着盒饭就着菜，我吃完了米饭。提上豆乳玉麒麟继续找 M 了。",[42,492,494],{"id":493},"git-三部曲","Git 三部曲",[13,496,497],{},"简短地，我告诉他：",[64,499,500,503,511,519],{},[67,501,502],{},"写博客文章，保存",[67,504,505,506,510],{},"如果修改配置需要参阅主题文档，修改后执行 ",[180,507,509],{"className":508,"code":509,"language":189},[187],"hexo cl"," 清除缓存",[67,512,513,514,518],{},"通过 ",[180,515,517],{"className":516,"code":517,"language":189},[187],"hexo s"," 在本地预览",[67,520,521,522],{},"通过「Git 三部曲」提交到 GitHub，触发云端博客更新\n",[226,523,526],{"className":524,"code":525,"language":189,"meta":232},[187],"git add .\ngit commit -m \"提交信息\"\ngit push\n",[180,527,525],{"__ignoreMap":232},[13,529,530],{},"我演示了一遍，M 自己也做了一遍。会了。",[13,532,533],{},"我把仅剩几块冰的奶茶留在了他的垃圾袋里。",[10,535,536],{},[13,537,538],{},"窗外的鸟儿向朝天空飞去，教学楼实验室工位上的大学生敲着键盘，也在计算机领域里迈步前进。",[38,540,541],{"id":541},"写在题外",[42,543,544],{"id":544},"写这篇文章的动机",[13,546,547],{},"可能有人认为我写这篇文章有些过于苛责博客新手，但写此文是经过深刻考虑的。",[13,549,550],{},"M 在 2023 年 6 月用 GitHub Pages 搭建了博客，当时博客里只有一篇 Hello World 和一篇正文只有几个字母的文章。除了在同年 11 月提交了空文件并设置了域名之外，没有任何的内容更新。",[13,552,553],{},"而 2024 年 7 月我帮助 M 修复“新博客无法访问”至今，他的博客里也没有任何文章。",[13,555,556,559,560,563],{},[325,557,558],{},"我不愿让自己付出的努力落空为一个没有内容的博客网站","，于是就写了这篇文章，希望能",[325,561,562],{},"把过程转化为可供参考的经验","，帮助到真正愿意奉献到内容产出领域的人。",[42,565,566],{"id":566},"关于大学技术圈里刮起的博客之风",[13,568,569,570],{},"最近有不少同学先后搭建了属于自己的博客。",[325,571,572],{},"搭建博客是好事，分享内容是乐事，长期维护是难事。",[13,574,575],{},"博客之魂在于内容。表面形式之亮丽固然悦目，但内容之实才得以赏心。",[42,577,578],{"id":578},"关于系统环境配置",[13,580,581],{},"「少即是多」，配置环境前一定要审慎权衡。切莫引入非必要的配置，让问题更加复杂甚至扑朔迷离。",[13,583,584],{},"「把所有软件装在 D 盘」「配置文件的超级堆砌」「永久关闭系统、软件更新」都是不建议的做法。电子设备服务于人类，而我们不应再为「伪教程」规训教化。",[13,586,587],{},"就像对于「怎么充手机不伤电池」「空调多少度最省电」这些问题的态度一样，人应当顺从本心，不要为「如何配置」而配置。",[13,589,590],{},"以上。",{"title":232,"searchDepth":592,"depth":592,"links":593},4,[594,602,606,611,619,628],{"id":40,"depth":595,"text":40,"children":596},2,[597,599,600,601],{"id":44,"depth":598,"text":45},3,{"id":78,"depth":598,"text":78},{"id":99,"depth":598,"text":99},{"id":114,"depth":598,"text":114},{"id":135,"depth":595,"text":135,"children":603},[604,605],{"id":138,"depth":598,"text":138},{"id":156,"depth":598,"text":156},{"id":171,"depth":595,"text":172,"children":607},[608,609,610],{"id":175,"depth":598,"text":175},{"id":214,"depth":598,"text":215},{"id":243,"depth":598,"text":243},{"id":268,"depth":595,"text":268,"children":612},[613,614,615,616,617,618],{"id":271,"depth":598,"text":271},{"id":297,"depth":598,"text":297},{"id":312,"depth":598,"text":312},{"id":336,"depth":598,"text":337},{"id":352,"depth":598,"text":353},{"id":368,"depth":598,"text":369},{"id":384,"depth":595,"text":384,"children":620},[621,622,623,624,625,626,627],{"id":387,"depth":598,"text":387},{"id":408,"depth":598,"text":409},{"id":432,"depth":598,"text":432},{"id":449,"depth":598,"text":449},{"id":471,"depth":598,"text":472},{"id":484,"depth":598,"text":484},{"id":493,"depth":598,"text":494},{"id":541,"depth":595,"text":541,"children":629},[630,631,632],{"id":544,"depth":598,"text":544},{"id":566,"depth":598,"text":566},{"id":578,"depth":598,"text":578},[634],"技术","2024-07-24 21:20:57","M 来找我帮忙，从服务器搭建博客到本地 Windows 环境问题，他把坑几乎全踩了一遍。少配少错。可他博客至今空空如也，所以我发出完整踩坑过程，希望能帮助到更多人。",false,"md","https:\u002F\u002Fassets.zhilu.cyou\u002Fcover4\u002Fall-pits-stepped.jpg",{"slots":641},{},true,"\u002F2024\u002Fall-pits-stepped",null,{"text":646,"minutes":647,"time":648,"words":649},"21 min read",20.525,1231500,4105,{"title":5,"description":636},{"loc":643},"posts\u002F2024\u002Fall-pits-stepped",[654,655,656],"博客部署","故障排查","本地环境","story","2024-08-03 10:23:46","jyZuaWcZXw7WocyjrPbjDQNUUKOl8h6U9ytk9A2eBDM",[661,667],{"title":662,"path":663,"stem":664,"date":665,"type":666,"children":-1},"Windows 空间管理\u002F清理指南","\u002F2024\u002Fwindows-storage","posts\u002F2024\u002Fwindows-storage","2024-07-13 00:29:36","tech",{"title":668,"path":669,"stem":670,"date":671,"type":666,"children":-1},"Linux 下通过 Samba 共享文件夹","\u002F2024\u002Flinux-samba","posts\u002F2024\u002Flinux-samba","2024-08-04 21:11:03",1782091375469]