[{"data":1,"prerenderedAt":615},["ShallowReactive",2],{"content:\u002Fposts\u002Falpine-setup":3,"surround:\u002Fposts\u002Falpine-setup":604},{"id":4,"title":5,"body":6,"categories":579,"date":581,"description":582,"draft":583,"extension":584,"image":585,"meta":586,"navigation":588,"path":589,"permalink":590,"pinned":583,"published":590,"readingTime":591,"recommend":590,"references":590,"seo":596,"sitemap":597,"stem":598,"tags":599,"type":601,"updated":602,"__hash__":603},"content\u002Fposts\u002Fposts\u002Falpine-setup.md","Alpine Linux 极简安装流程与生产环境轻量化配置",{"type":7,"value":8,"toc":558},"minimark",[9,19,22,25,28,51,56,59,70,75,78,85,91,102,109,115,124,129,132,138,145,152,158,162,170,173,179,185,190,196,201,207,212,218,223,229,234,240,245,251,256,262,267,273,282,288,293,299,304,310,315,321,326,332,337,343,348,354,359,365,370,376,381,387,392,398,402,405,409,412,420,424,430,434,437,443,447,453,457,463,467,470,474,480,484,487,493,497,500,507,510,516,519,526,528,535,539,545],[10,11,15],"alert",{"title":12,"type":13,"icon":14},"AI 迁移提示","info","tabler:robot",[16,17,18],"p",{},"本文由 AI 协助从旧站迁移，尚未完成逐篇人工审校；内容如有疏漏，将在复核后修订。",[10,20],{"title":21,"type":13},"> 本文部分内容由 AI 辅助整理，已结合实际操作进行校验，请根据自身环境谨慎使用。",[16,23,24],{},"起因：站长的服务都是部署在家里，通过Frp映射到公网上的，最近有服务器要到期了，研究了下阿里云的ECS计费，决定使用一款轻量级的Linux系统，购买阿里云 2vCPU 0.5GB的服务器，3年仅需300多，如果使用学生优惠券，基本免费。带宽按量付费，使用CDT（云数据传输），国内每个月20G免费流量，境外每个月220G免费流量。",[16,26,27],{},"然而，在 2vCPU 0.5GB 这个“螺蛳壳里做道场”的极限配置下，我们熟悉的 CentOS、Ubuntu 甚至 Debian 都显得有些“富态”了。它们安装后动辄占用数百 MB 内存，留给应用本身的空间已然不多。",[16,29,30,34,35,38,39,42,43,46,47,50],{},[31,32,33],"strong",{},"我们的目标非常明确：在有限的资源内，榨干每一分性能。"," 这时，一个专为资源受限环境而生的系统进入了视野——",[31,36,37],{},"Alpine Linux","。它基础运行内存仅需 ",[31,40,41],{},"5-10 MB","，安装后硬盘占用不到 ",[31,44,45],{},"100 MB","，恰恰是这种超轻量级服务器的“天作之合”。选择 Alpine，不是追逐潮流，而是在极致性价比方案下的",[31,48,49],{},"必然技术选择","。",[52,53,55],"h2",{"id":54},"一开始安装","一、开始安装",[16,57,58],{},"Alpine 60M镜像链接",[60,61,67],"pre",{"className":62,"code":64,"language":65,"meta":66},[63],"language-sql","https:\u002F\u002Fdl-cdn.alpinelinux.org\u002Falpine\u002Fv3.23\u002Freleases\u002Fx86_64\u002Falpine-virt-3.23.2-x86_64.iso\n","sql","",[68,69,64],"code",{"__ignoreMap":66},[71,72,74],"h3",{"id":73},"_1-阿里云添加自定义镜像","1. 阿里云添加自定义镜像",[16,76,77],{},"因为阿里云不提供Alpine的镜像，我们要使用自定义镜像，下面跟我一起配置吧",[79,80,81],"ol",{},[82,83,84],"li",{},"将镜像上传至阿里云OSS",[86,87,88],"blockquote",{},[16,89,90],{},"由于我们需要自定义镜像，但是镜像又必须要通过OSS提供，所以我们需要临时性的创建一个OSS Bucket实例，来上传我们的ISO镜像。在实例成功创建后，我们可以将其删除，以避免不必要的扣费",[16,92,93,94,101],{},"首先，来到 ",[95,96,100],"a",{"href":97,"rel":98},"https:\u002F\u002Foss.console.aliyun.com\u002Findex",[99],"nofollow","OSS管理控制台"," ，创建一个 Bucket，地域一定要选你服务器所在的区域 ，并且上传ISO，最后，复制URL备用",[16,103,104],{},[105,106],"img",{"alt":107,"src":108},"OSS上传镜像","https:\u002F\u002Fimg.olinl.com\u002Ffile\u002Fpost-img\u002Falpine-setup\u002FpqjsZ2aF.webp",[79,110,112],{"start":111},2,[82,113,114],{},"导入镜像",[16,116,117,118,123],{},"前往 ",[95,119,122],{"href":120,"rel":121},"https:\u002F\u002Fecs.console.aliyun.com\u002Fimage\u002Fregion\u002Fcn-shanghai",[99],"云服务器管理控制台"," ，选择到所属的地区，然后选择右上角的 导入镜像",[16,125,126],{},[105,127],{"alt":114,"src":128},"https:\u002F\u002Fimg.olinl.com\u002Ffile\u002Fpost-img\u002Falpine-setup\u002FRiKkP27i.webp",[16,130,131],{},"注意，需要授权ECS访问OSS业务",[16,133,134],{},[105,135],{"alt":136,"src":137},"导入镜像并授权业务","https:\u002F\u002Fimg.olinl.com\u002Ffile\u002Fpost-img\u002Falpine-setup\u002F1raRwbHu.webp",[16,139,140,141,144],{},"然后正常填写，",[31,142,143],{},"取消勾选“导入后执行检测”"," ，先不要点下一步",[16,146,147,148,151],{},"接下来勾选配置云盘属性，并且将 ",[31,149,150],{},"云盘容量设置为1GB"," ，确认无误，导入",[16,153,154],{},[105,155],{"alt":156,"src":157},"设置镜像","https:\u002F\u002Fimg.olinl.com\u002Ffile\u002Fpost-img\u002Falpine-setup\u002FvPXvnZSH.webp",[71,159,161],{"id":160},"_2-安装alpine系统","2. 安装Alpine系统",[86,163,164,167],{},[16,165,166],{},"如果你使用阿里云自定义镜像进行安装了，需要使用vnc远程链接进行安装系统，别家的厂商也是一样。",[16,168,169],{},"进入 云服务器管理控制台 选择你刚买的ECS，接下来点击 远程连接 ，展开更多，选择 通过VNC远程连接",[16,171,172],{},"接下来就是愉快的敲命令环节~ （方括号内为默认值，你可以输入新值回车覆盖也可以直接回车应用默认值）",[174,175,176],"ul",{},[82,177,178],{},"启动 Alpine 安装程序",[60,180,183],{"className":181,"code":182,"language":65,"meta":66},[63],"localhost:~# setup-alpine\n",[68,184,182],{"__ignoreMap":66},[174,186,187],{},[82,188,189],{},"选择键盘布局",[60,191,194],{"className":192,"code":193,"language":65,"meta":66},[63],"Select keyboard layout: [none] us\nSelect variant: [us]\n",[68,195,193],{"__ignoreMap":66},[174,197,198],{},[82,199,200],{},"设置主机名",[60,202,205],{"className":203,"code":204,"language":65,"meta":66},[63],"Enter system hostname (fully qualified form, e.g. 'foo.example.org') [localhost] alpine-vps\n",[68,206,204],{"__ignoreMap":66},[174,208,209],{},[82,210,211],{},"设置网卡",[60,213,216],{"className":214,"code":215,"language":65,"meta":66},[63],"Available interfaces are: eth0 lo\nWhich one do you want to initialize? [eth0]\n",[68,217,215],{"__ignoreMap":66},[174,219,220],{},[82,221,222],{},"设置 IP 获取方式",[60,224,227],{"className":225,"code":226,"language":65,"meta":66},[63],"Ip address for eth0? (or 'dhcp', 'none', 'manual') [dhcp]\n",[68,228,226],{"__ignoreMap":66},[174,230,231],{},[82,232,233],{},"是否进行手动网络配置",[60,235,238],{"className":236,"code":237,"language":65,"meta":66},[63],"Do you want to do any manual network configuration? [no]\n",[68,239,237],{"__ignoreMap":66},[174,241,242],{},[82,243,244],{},"设置 root 密码（输入时不会显示）",[60,246,249],{"className":247,"code":248,"language":65,"meta":66},[63],"New password:\nRetype password:\n",[68,250,248],{"__ignoreMap":66},[174,252,253],{},[82,254,255],{},"设置时区，或者（PRC）",[60,257,260],{"className":258,"code":259,"language":65,"meta":66},[63],"Which timezone are you in? ('?' for list) [UTC] Asia\u002FShanghai\n",[68,261,259],{"__ignoreMap":66},[174,263,264],{},[82,265,266],{},"设置代理",[60,268,271],{"className":269,"code":270,"language":65,"meta":66},[63],"HTTP\u002FFTP proxy URL? [none]\n",[68,272,270],{"__ignoreMap":66},[174,274,275],{},[82,276,277,278,281],{},"选择软件仓库镜像。这个地方建议先输入 ",[68,279,280],{"code":280},"s"," 列出所有镜像，然后上下翻找找到阿里云镜像源，然后输入对应镜像源编号，否则如有选错",[60,283,286],{"className":284,"code":285,"language":65,"meta":66},[63],"Which mirror do you want to use? (or '?' or 'done') [44] \n",[68,287,285],{"__ignoreMap":66},[174,289,290],{},[82,291,292],{},"不创建普通用户",[60,294,297],{"className":295,"code":296,"language":65,"meta":66},[63],"Setup a user? (enter a username, or 'no') [no] no\n",[68,298,296],{"__ignoreMap":66},[174,300,301],{},[82,302,303],{},"选择 SSH 服务",[60,305,308],{"className":306,"code":307,"language":65,"meta":66},[63],"Which SSH server? ('openssh', 'dropbear', or 'none') [openssh]\n",[68,309,307],{"__ignoreMap":66},[174,311,312],{},[82,313,314],{},"是否允许 root 通过 SSH 登录",[60,316,319],{"className":317,"code":318,"language":65,"meta":66},[63],"Allow root ssh login? ('?' for help) [prohibit-password] yes\n",[68,320,318],{"__ignoreMap":66},[174,322,323],{},[82,324,325],{},"没有找到磁盘，是否安装至 vda 云盘，是",[60,327,330],{"className":328,"code":329,"language":65,"meta":66},[63],"No disk available, Try boot media \u002Fmedia\u002Fvda ? (y\u002Fn) [n] y\n",[68,331,329],{"__ignoreMap":66},[174,333,334],{},[82,335,336],{},"选择要安装的磁盘",[60,338,341],{"className":339,"code":340,"language":65,"meta":66},[63],"Which disk(s) would you like to use? (or '?' for help or 'none') [none] vda\n",[68,342,340],{"__ignoreMap":66},[174,344,345],{},[82,346,347],{},"选择磁盘使用方式",[60,349,352],{"className":350,"code":351,"language":65,"meta":66},[63],"How would you like to use it? ('sys', 'data', 'crypt', 'lvm') [sys]\n",[68,353,351],{"__ignoreMap":66},[174,355,356],{},[82,357,358],{},"确认格式化磁盘",[60,360,363],{"className":361,"code":362,"language":65,"meta":66},[63],"WARNING: Erase the above disk(s) and continue? [y\u002FN] y\n",[68,364,362],{"__ignoreMap":66},[174,366,367],{},[82,368,369],{},"安装系统",[60,371,374],{"className":372,"code":373,"language":65,"meta":66},[63],"Installing system on \u002Fdev\u002Fsda:\n  Installing alpine-base...\n  Installing busybox...\n  Installing openssh...\n  Installing openrc...\n",[68,375,373],{"__ignoreMap":66},[174,377,378],{},[82,379,380],{},"安装完成提示",[60,382,385],{"className":383,"code":384,"language":65,"meta":66},[63],"Installation is complete. Please reboot.\n",[68,386,384],{"__ignoreMap":66},[174,388,389],{},[82,390,391],{},"重启系统",[60,393,396],{"className":394,"code":395,"language":65,"meta":66},[63],"localhost:~# reboot\n",[68,397,395],{"__ignoreMap":66},[52,399,401],{"id":400},"二配置系统","二、配置系统",[16,403,404],{},"在安装完 Alpine 系统后，需要进行一些配置，才能正常使用。",[71,406,408],{"id":407},"_1-设置dns","1. 设置DNS",[16,410,411],{},"一般情况下不需要，云厂商会帮你配置好",[60,413,418],{"className":414,"code":416,"language":417,"meta":66},[415],"language-bash","alpine-vps:~# setup-dns\nDNS Domain name? (e.g. 'bar.com') nameserver\nDNS nameserver(s)? [223.5.5.5] 1.1.1.1 8.8.8.8\n","bash",[68,419,416],{"__ignoreMap":66},[71,421,423],{"id":422},"_2-换源并更新","2. 换源并更新",[60,425,428],{"className":426,"code":427,"language":417,"meta":66},[415],"# 配置社区阿里云源\ncd \u002Fetc\u002Fapk\nvi repositories  \n## 取消 community 仓库前面的注释符号（#）。\n\n## 可选edge源\nhttp:\u002F\u002Fmirrors.aliyun.com\u002Falpine\u002Fedge\u002Fcommunity\nhttp:\u002F\u002Fmirrors.aliyun.com\u002Falpine\u002Fedge\u002Ftesting\n\n# 更新系统及软件包\napk update\napk upgrade\n",[68,429,427],{"__ignoreMap":66},[71,431,433],{"id":432},"_3-配置-ip-信息","3. 配置 IP 信息",[16,435,436],{},"在这里可以将dhcp改为静态配置",[60,438,441],{"className":439,"code":440,"language":417,"meta":66},[415],"# 编辑网络配置文件\nvi \u002Fetc\u002Fnetwork\u002Finterfaces\n## 将默认的 DHCP 配置修改为静态 IP\nauto eth0\niface eth0 inet static\n   address 192.168.1.100\n   netmask 255.255.255.0\n   gateway 192.168.1.1\n   dns-nameservers 8.8.8.8\n\n# 配置 DNS（可选） \nvi \u002Fetc\u002Fresolv.conf\n\nnameserver 8.8.8.8\n\n# 重启网络服务 使配置立即生效\nifdown eth0 && ifup eth0\n",[68,442,440],{"__ignoreMap":66},[71,444,446],{"id":445},"_4-安装基本软件包","4. 安装基本软件包",[60,448,451],{"className":449,"code":450,"language":417,"meta":66},[415],"apk add --no-cache vim openssh util-linux bash bash-doc  bash-completion curl net-tools unzip zip jq openssl tar iproute2 lsblk htop\n",[68,452,450],{"__ignoreMap":66},[71,454,456],{"id":455},"_5-校时","5. 校时",[60,458,461],{"className":459,"code":460,"language":417,"meta":66},[415],"# 设置时区\nsetup-timezone -z Asia\u002FShanghai\n\n# 使用 chrony进行校时\n## 安装 chrony\napk add chrony\n\n## 启动服务并设置开机自启\nrc-service chronyd start\nrc-update add chronyd\n",[68,462,460],{"__ignoreMap":66},[52,464,466],{"id":465},"三系统相关命令","三、系统相关命令",[16,468,469],{},"这里记录了 Alpine 系统常用的命令",[71,471,473],{"id":472},"_1-apk命令","1. APK命令",[60,475,478],{"className":476,"code":477,"language":417,"meta":66},[415],"apk update  # 更新最新镜像源列表\n\napk search                 # 查找所有可用软件包\napk search -v              # 查找所用可用软件包及其描述内容\napk search -v '包名'       # 通过软件包名称查找软件包\napk search -v -d 'docker'  # 通过描述文件查找特定的软件包\n\napk add openssh                       # 安装一个软件\napk add openssh  vim  bash nginx      # 安装多个软件\napk add --no-cache mysql-client       # 不使用本地镜像源缓存，相当于先执行update，再执行add\n\napk info           # 列出所有已安装的软件包\napk info -a zlib   # 显示完整的软件包信息\napk info --who-owns \u002Fusr\u002Fsbin\u002Fnginx # 显示指定文件属于的包\n\napk upgrade            # 升级所有软件\napk upgrade openssh    # 升级指定软件\napk upgrade openssh  vim  bash nginx # 升级多个软件\napk add --upgrade busybox  # 指定升级部分软件包\n\napk del openssh      # 删除一个软件\napk del nginx mysql  # 删除多个软件\n",[68,479,477],{"__ignoreMap":66},[71,481,483],{"id":482},"_2-rc服务命令","2. rc服务命令",[16,485,486],{},"Alpine 不使用 systemctl 而是 OpenRC，这对于习惯了 Ubuntu\u002FCentOS 的人来说是最大的门槛。建议在“系统相关命令”部分加一个直观的对比表：",[60,488,491],{"className":489,"code":490,"language":417,"meta":66},[415],"rc-update    # 主要用于不同运行级增加或者删除服务。\nrc-status    # 主要用于运行级的状态管理。\nrc-service   # 主用于管理服务的状态\nopenrc       # 主要用于管理不同的运行级。\n\n\n\nrc-service \u003C服务名> start    # 启动服务\nrc-service \u003C服务名> stop    # 停止服务\nrc-service \u003C服务名> restart  # 重启服务\nrc-service \u003C服务名> reload    # 重新加载配置（不重启）\nrc-service \u003C服务名> status    # 查看服务状态\n\n\n\nrc-update add \u003C服务名> \u003C运行级别>    # 添加服务到开机自启\nrc-update del \u003C服务名>          # 删除服务的开机自启\nrc-update show            # 查看所有开机自启的服务\n\n# 运行级别说明\n## boot - 系统启动时运行\n## default - 默认运行级别（多用户模式）\n## nonetwork - 无网络模式\n## single - 单用户模式（维护模式）\nrc-update add 服务名 boot      # 核心服务（如docker）\nrc-update add 服务名 default    # 普通服务（如nginx、ssh）\n\n\n\n\n\ntail -f \u002Fvar\u002Flog\u002Fmessages    # 查看所有系统日志\ntail -f \u002Fvar\u002Flog\u002Fmessages | grep docker    # 查看特定服务的日志\nls \u002Fvar\u002Flog\u002F | grep -E \"(docker|nginx|ssh)\"    # 查看服务自己的日志文件（如果有）\n",[68,492,490],{"__ignoreMap":66},[52,494,496],{"id":495},"四frp服务安装","四、FRP服务安装",[16,498,499],{},"FRP 是一个反向代理工具，它可以将本地服务暴露到公网，实现远程访问。",[16,501,502,503],{},"下载FRP：",[95,504,505],{"href":505,"rel":506},"https:\u002F\u002Fgithub.com\u002Ffatedier\u002Ffrp\u002Freleases",[99],[16,508,509],{},"如果网络不好可以使用gh镜像站点",[60,511,514],{"className":512,"code":513,"language":417,"meta":66},[415],"wget https:\u002F\u002Fgithub.com\u002Ffatedier\u002Ffrp\u002Freleases\u002Fdownload\u002Fv0.67.0\u002Ffrp_0.67.0_linux_amd64.tar.gz\n",[68,515,513],{"__ignoreMap":66},[517,518],"hr",{},[60,520,524],{"className":521,"code":522,"language":417,"meta":523},[415],"# 创建 OpenRC 服务文件\ntee \u002Fetc\u002Finit.d\u002Ffrpc \u003C\u003C'EOF'\n#!\u002Fsbin\u002Fopenrc-run\n\n# 基础信息\nname=\"frp client\"\ndescription=\"FRP Client with Infinite Auto-Restart\"\n\n# 执行程序和参数\ncommand=\"\u002Fopt\u002Ffrp\u002Ffrpc\"\ncommand_args=\"-c \u002Fopt\u002Ffrp\u002Ffrpc.toml\"\ncommand_user=\"root\"\n\n# 核心守护配置\nsupervisor=\"supervise-daemon\"\nrespawn_delay=10\nrespawn_max=0 # 无限次重试\n\n# 依赖网络和 DNS\ndepend() {\n    need net\n    use dns\n    after firewall\n}\n\n# 启动前的清理工作\nstart_pre() {\n    # 强制清理可能锁死服务的 PID 文件\n    rm -f \u002Frun\u002F${RC_SVCNAME}.pid\n    checkpath --directory --owner root:root \u002Frun\u002F${RC_SVCNAME}\n}\n\nEOF\n\n# 设置权限并添加服务\nchmod +x \u002Fetc\u002Finit.d\u002Ffrpc\n\n# 启动服务\nrc-service frpc start\n\n# 停止服务\nrc-service frpc stop\n\n# 查看状态\nrc-service frpc status\n\n# 重启服务\nrc-service frpc restart\n\n\n# 开机自启\nrc-update add frpc default\n\n","title=\"frpc\"",[68,525,522],{"__ignoreMap":66},[517,527],{},[60,529,533],{"className":530,"code":531,"language":417,"meta":532},[415],"# 创建 OpenRC 服务文件\ntee \u002Fetc\u002Finit.d\u002Ffrps \u003C\u003C'EOF'\n#!\u002Fsbin\u002Fopenrc-run\n\n# 基础信息\nname=\"frp server\"\ndescription=\"FRP Server with Infinite Auto-Restart\"\n\n# 执行程序和参数\ncommand=\"\u002Fopt\u002Ffrp\u002Ffrps\"\ncommand_args=\"-c \u002Fopt\u002Ffrp\u002Ffrps.toml\"\ncommand_user=\"root\"\n\n# 核心守护配置\nsupervisor=\"supervise-daemon\"\nrespawn_delay=10\nrespawn_max=0 # 无限次重试\n\n# 依赖网络和 DNS\ndepend() {\n    need net\n    use dns\n    after firewall\n}\n\n# 启动前的清理工作\nstart_pre() {\n    # 强制清理可能锁死服务的 PID 文件\n    rm -f \u002Frun\u002F${RC_SVCNAME}.pid\n    checkpath --directory --owner root:root \u002Frun\u002F${RC_SVCNAME}\n}\n\nEOF\n\n# 设置权限并添加服务\nchmod +x \u002Fetc\u002Finit.d\u002Ffrps\n\n# 启动服务\nrc-service frps start\n\n# 停止服务\nrc-service frps stop\n\n# 查看状态\nrc-service frps status\n\n# 重启服务\nrc-service frps restart\n\n\n# 开机自启\nrc-update add frps default\n\n","title=\"frps\"",[68,534,531],{"__ignoreMap":66},[52,536,538],{"id":537},"五docker安装","五、Docker安装",[60,540,543],{"className":541,"code":542,"language":417,"meta":66},[415],"# 启用cgroups\nrc-update add cgroups boot\nrc-service cgroups start\n# 检查是否挂载\nmount | grep cgroup\n\n# 安装docker\napk add docker docker-compose\n\n# 配置文件\n## 创建配置目录\nmkdir -p \u002Fetc\u002Fdocker\n\n## 配置daemon.json\ncat > \u002Fetc\u002Fdocker\u002Fdaemon.json \u003C\u003C 'EOF'\n{\n  \"log-driver\": \"json-file\",\n  \"log-opts\": {\n    \"max-size\": \"5m\",\n    \"max-file\": \"2\"\n  },\n  \"storage-driver\": \"overlay2\",\n  \"default-ulimits\": {\n    \"nofile\": {\n      \"Name\": \"nofile\",\n      \"Hard\": 1024,\n      \"Soft\": 512\n    }\n  },\n  \"max-concurrent-downloads\": 1,\n  \"max-concurrent-uploads\": 1\n}\nEOF\n\n## 重启Docker使配置生效\nrc-service docker restart\n",[68,544,542],{"__ignoreMap":66},[10,546,549,555],{"title":547,"type":548},"> 在 512MB 内存的机器上，限制 Docker 并发下载数（设置为 1）至关重要，否则多个线程同时拉取镜像会瞬间撑爆内存导致系统卡死（OOM）。","tip",[16,550,551,554],{},[68,552,553],{"code":553},"max-concurrent-downloads: 1"," 能有效防止拉取镜像时因并发过高导致的 OOM（内存溢出）。",[16,556,557],{},"至此，一个极其轻量且功能完备的 Alpine 生产环境就搭建完成了。",{"title":66,"searchDepth":559,"depth":559,"links":560},4,[561,566,573,577,578],{"id":54,"depth":111,"text":55,"children":562},[563,565],{"id":73,"depth":564,"text":74},3,{"id":160,"depth":564,"text":161},{"id":400,"depth":111,"text":401,"children":567},[568,569,570,571,572],{"id":407,"depth":564,"text":408},{"id":422,"depth":564,"text":423},{"id":432,"depth":564,"text":433},{"id":445,"depth":564,"text":446},{"id":455,"depth":564,"text":456},{"id":465,"depth":111,"text":466,"children":574},[575,576],{"id":472,"depth":564,"text":473},{"id":482,"depth":564,"text":483},{"id":495,"depth":111,"text":496},{"id":537,"depth":111,"text":538},[580],"Linux","2026-02-01 13:20:34","追求极致轻量？本文带你快速上手 Alpine Linux 安装与 APK 包管理，教你如何配置资源占用极低的微服务生产环境。",false,"md","https:\u002F\u002Fimg.olinl.com\u002Ffile\u002Fpost-img\u002Falpine-setup\u002FseRMys3u.webp",{"slots":587},{},true,"\u002Fposts\u002Falpine-setup",null,{"text":592,"minutes":593,"time":594,"words":595},"13 min read",12.525,751500,2505,{"title":5,"description":582},{"loc":589},"posts\u002Fposts\u002Falpine-setup",[600],"系统安装","tech","2026-07-26 09:33:33","GFYmFs_wzs42r0IXaZjJnnjSiAq1o1Xt0muLD1PCTeE",[605,610],{"title":606,"path":607,"stem":608,"date":609,"type":601,"children":-1},"Docker 卸载指南","\u002Fposts\u002Fdocker-uninstall","posts\u002Fposts\u002Fdocker-uninstall","2026-02-01",{"title":611,"path":612,"stem":613,"date":614,"type":601,"children":-1},"Ubuntu Server 安装教程与配置优化","\u002Fposts\u002Fubuntu-setup","posts\u002Fposts\u002Fubuntu-setup","2026-02-01 22:13:09",1788712224657]