[{"content":"","date":null,"permalink":"https://eatta.cn/categories/","section":"Categories","summary":"","title":"Categories"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/docker/","section":"Tags","summary":"","title":"Docker"},{"content":"","date":null,"permalink":"https://eatta.cn/","section":"Echo Eatta","summary":"","title":"Echo Eatta"},{"content":"","date":null,"permalink":"https://eatta.cn/categories/linux/","section":"Categories","summary":"","title":"Linux"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/linux/","section":"Tags","summary":"","title":"Linux"},{"content":"安装 #以下为我自己选择的安装方式，最新和最完整的安装与使用说明请查看官方github仓库：tickstep/aliyunpan\n1.Docker Compose方式安装 #version: \u0026#39;3\u0026#39; services: sync: image: tickstep/aliyunpan-sync:\u0026lt;tag\u0026gt; container_name: aliyunpan-sync restart: always volumes: # （必须）映射的本地目录 - ./data:/home/app/data:rw # （可选）可以指定JS插件sync_handler.js用于过滤文件，详见插件说明 - ./plugin/js/sync_handler.js:/home/app/config/plugin/js/sync_handler.js # （推荐）挂载sync_drive同步数据库到本地，这样即使容器销毁，同步数据库还可以用于以后使用 - ./sync_drive:/home/app/config/sync_drive # （必须）映射token凭据文件 - /your/file/path/for/aliyunpan_config.json:/home/app/config/aliyunpan_config.json environment: # 时区，东8区 - TZ=Asia/Shanghai # 下载文件并发数 - ALIYUNPAN_DOWNLOAD_PARALLEL=2 # 上传文件并发数 - ALIYUNPAN_UPLOAD_PARALLEL=2 # 下载数据块大小，单位为KB，默认为10240KB，建议范围1024KB~10240KB - ALIYUNPAN_DOWNLOAD_BLOCK_SIZE=1024 # 上传数据块大小，单位为KB，默认为10240KB，建议范围1024KB~10240KB - ALIYUNPAN_UPLOAD_BLOCK_SIZE=10240 # 指定网盘文件夹作为备份目标目录，不要指定根目录 - ALIYUNPAN_PAN_DIR=/my_sync_dir # 备份模式：upload(备份本地文件到云盘), download(备份云盘文件到本地) - ALIYUNPAN_SYNC_MODE=upload # 备份策略: exclusive(排他备份文件，目标目录多余的文件会被删除),increment(增量备份文件，目标目录多余的文件不会被删除) - ALIYUNPAN_SYNC_POLICY=increment # 备份周期, 支持两种: infinity(永久循环备份),onetime(只运行一次备份) - ALIYUNPAN_SYNC_CYCLE=infinity # 网盘：backup(备份盘), resource(资源盘) - ALIYUNPAN_SYNC_DRIVE=backup # 是否显示文件备份过程日志，true-显示，false-不显示 - ALIYUNPAN_SYNC_LOG=true # 本地文件修改检测延迟间隔，单位秒。如果本地文件会被频繁修改，例如录制视频文件，配置好该时间可以避免上传未录制好的文件 - ALIYUNPAN_LOCAL_DELAY_TIME=3 2.从官方github仓库下载安装包 #wget https://github.com/tickstep/aliyunpan/releases/download/v0.3.6/aliyunpan-v0.3.6-linux-amd64.zip unzip aliyunpan-v0.3.6-linux-amd64.zip cd aliyunpan-v0.3.6-linux-amd64 ./aliyunpan 配置与使用 #1.登陆获取token ## 进入命令行交互模式 /home/\u0026lt;user\u0026gt;/Software/aliyunpan/aliyunpan-v0.3.6-linux-amd64/aliyunpan # 输入login，会生成一个获取阿里网盘授权URL，浏览器打开链接，登陆网盘并授权，完成后回车即可 \u0026gt; login 2.备份文件到阿里云盘 #/home/\u0026lt;user\u0026gt;/Software/aliyunpan/aliyunpan-v0.3.6-linux-amd64/aliyunpan upload /home/\u0026lt;user\u0026gt;/Documents/TencentCloud/auto_backup/20250306 /TencentCloud/auto_backup ","date":"2026-06-11 22:42:57","permalink":"https://eatta.cn/posts/linux-aliyunpan-cli-guide/","section":"Posts","summary":"\u003ch1 id=\"安装\" class=\"relative group\"\u003e安装 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e5%ae%89%e8%a3%85\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003cp\u003e以下为我自己选择的安装方式，最新和最完整的安装与使用说明请查看官方github仓库：\u003ca href=\"https://github.com/tickstep/aliyunpan\" target=\"_blank\" rel=\"noreferrer\"\u003etickstep/aliyunpan\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"1docker-compose方式安装\" class=\"relative group\"\u003e1.Docker Compose方式安装 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#1docker-compose%e6%96%b9%e5%bc%8f%e5%ae%89%e8%a3%85\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eversion\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;3\u0026#39;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eservices\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003esync\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eimage\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003etickstep/aliyunpan-sync:\u0026lt;tag\u0026gt;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003econtainer_name\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003ealiyunpan-sync\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003erestart\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003ealways\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003evolumes\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# （必须）映射的本地目录\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003e./data:/home/app/data:rw\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# （可选）可以指定JS插件sync_handler.js用于过滤文件，详见插件说明\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003e./plugin/js/sync_handler.js:/home/app/config/plugin/js/sync_handler.js\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# （推荐）挂载sync_drive同步数据库到本地，这样即使容器销毁，同步数据库还可以用于以后使用\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003e./sync_drive:/home/app/config/sync_drive\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# （必须）映射token凭据文件\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003e/your/file/path/for/aliyunpan_config.json:/home/app/config/aliyunpan_config.json\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eenvironment\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 时区，东8区\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eTZ=Asia/Shanghai\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 下载文件并发数\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_DOWNLOAD_PARALLEL=2\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 上传文件并发数\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_UPLOAD_PARALLEL=2\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 下载数据块大小，单位为KB，默认为10240KB，建议范围1024KB~10240KB\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_DOWNLOAD_BLOCK_SIZE=1024\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 上传数据块大小，单位为KB，默认为10240KB，建议范围1024KB~10240KB\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_UPLOAD_BLOCK_SIZE=10240\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 指定网盘文件夹作为备份目标目录，不要指定根目录\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_PAN_DIR=/my_sync_dir\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 备份模式：upload(备份本地文件到云盘), download(备份云盘文件到本地)\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_SYNC_MODE=upload\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 备份策略: exclusive(排他备份文件，目标目录多余的文件会被删除),increment(增量备份文件，目标目录多余的文件不会被删除)\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_SYNC_POLICY=increment\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 备份周期, 支持两种: infinity(永久循环备份),onetime(只运行一次备份)\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_SYNC_CYCLE=infinity\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 网盘：backup(备份盘), resource(资源盘)\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_SYNC_DRIVE=backup\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 是否显示文件备份过程日志，true-显示，false-不显示\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_SYNC_LOG=true\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# 本地文件修改检测延迟间隔，单位秒。如果本地文件会被频繁修改，例如录制视频文件，配置好该时间可以避免上传未录制好的文件\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eALIYUNPAN_LOCAL_DELAY_TIME=3\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"2从官方github仓库下载安装包\" class=\"relative group\"\u003e2.从官方github仓库下载安装包 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#2%e4%bb%8e%e5%ae%98%e6%96%b9github%e4%bb%93%e5%ba%93%e4%b8%8b%e8%bd%bd%e5%ae%89%e8%a3%85%e5%8c%85\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ewget https://github.com/tickstep/aliyunpan/releases/download/v0.3.6/aliyunpan-v0.3.6-linux-amd64.zip\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eunzip aliyunpan-v0.3.6-linux-amd64.zip\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003ecd\u003c/span\u003e aliyunpan-v0.3.6-linux-amd64\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e./aliyunpan\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003chr\u003e\n\u003ch1 id=\"配置与使用\" class=\"relative group\"\u003e配置与使用 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e9%85%8d%e7%bd%ae%e4%b8%8e%e4%bd%bf%e7%94%a8\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003ch2 id=\"1登陆获取token\" class=\"relative group\"\u003e1.登陆获取token \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#1%e7%99%bb%e9%99%86%e8%8e%b7%e5%8f%96token\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 进入命令行交互模式\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e/home/\u0026lt;user\u0026gt;/Software/aliyunpan/aliyunpan-v0.3.6-linux-amd64/aliyunpan\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 输入login，会生成一个获取阿里网盘授权URL，浏览器打开链接，登陆网盘并授权，完成后回车即可\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u0026gt; login\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"2备份文件到阿里云盘\" class=\"relative group\"\u003e2.备份文件到阿里云盘 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#2%e5%a4%87%e4%bb%bd%e6%96%87%e4%bb%b6%e5%88%b0%e9%98%bf%e9%87%8c%e4%ba%91%e7%9b%98\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e/home/\u0026lt;user\u0026gt;/Software/aliyunpan/aliyunpan-v0.3.6-linux-amd64/aliyunpan upload /home/\u0026lt;user\u0026gt;/Documents/TencentCloud/auto_backup/20250306 /TencentCloud/auto_backup\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e","title":"Linux平台阿里云盘CLI使用备忘"},{"content":"","date":null,"permalink":"https://eatta.cn/posts/","section":"Posts","summary":"","title":"Posts"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/","section":"Tags","summary":"","title":"Tags"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98/","section":"Tags","summary":"","title":"阿里云盘"},{"content":"","date":null,"permalink":"https://eatta.cn/categories/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/","section":"Categories","summary":"","title":"技术分享"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/bluetooth/","section":"Tags","summary":"","title":"Bluetooth"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/manjaro/","section":"Tags","summary":"","title":"Manjaro"},{"content":" Linux 以 Manjaro 为例进行操作，其他 Linux 发行版可能蓝牙设备信息目录不同，可以根据自己使用发行版的情况进行调整。\nManjaro 上使用蓝牙连接鼠标，记录下系统给鼠标分配的 Mac 地址，如：EB:4E:7D:E0:5A:CC，并进入 /var/lib/bluetooth/ 目录查看对应蓝牙设备的信息 [LongTermKey] Key=A2B8B640870546A3AAFCA3DE95084229 Authenticated=0 EncSize=16 EDiv=8110 Rand=4469572065550191595 Windows 上重新连接鼠标，查看鼠标的 Mac 地址，如：EB:4E:7D:E0:5A:CD\n下载 psexec 解压，用管理员权限打开 CMD 并进入 psexec 目录，执行命令：\n.\\psexec -s -i regedit.exe 在打开的注册表中查找 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\services\\BTHPORT\\Parameters\\Keys 下查找步骤2得到的蓝牙设备注册表信息，按以下映射关系编写 Manjaro 下蓝牙设备的信息 映射关系\nKey =\u0026gt; LTK\nEDiv =\u0026gt; EDIV\nRand =\u0026gt; ERand\nKey=C1E76F463B5A6E8D73F687B61F1B2A6E Authenticated=0 EncSize=16 EDiv=38881 Rand=13467857169056573745 登陆 Manjaro，进入步骤一的目录，并按照步骤4修改蓝牙设备的 info 文件 sudo -i # 需要 root 权限 cd /var/lib/bluetooth/68\\:54\\:5A\\:56\\:E8\\:7E/ # 这个地址因人而异 ls # 找到蓝牙鼠标设备地址，比如 C6\\:2A\\:1B\\:33\\:2E\\:71 mv C6\\:2A\\:1B\\:33\\:2E\\:71/ DD\\:5C\\:7D\\:AA\\:6F\\:03 # 改成 windows 的蓝牙设备地址，看上面的截图 cd DD\\:5C\\:7D\\:AA\\:6F\\:03 vi info # 主要就是修改这个文件 关闭鼠标，重启系统，或者关闭蓝牙等途径多尝试几次，应该就可以了。 ","date":"2026-06-11 19:42:11","permalink":"https://eatta.cn/posts/win-linux-share-bluetooth-device/","section":"Posts","summary":"\u003cblockquote\u003e\n\u003cp\u003eLinux 以 Manjaro 为例进行操作，其他 Linux 发行版可能蓝牙设备信息目录不同，可以根据自己使用发行版的情况进行调整。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003col\u003e\n\u003cli\u003eManjaro 上使用蓝牙连接鼠标，记录下系统给鼠标分配的 Mac 地址，如：EB:4E:7D:E0:5A:CC，并进入 \u003ccode\u003e/var/lib/bluetooth/\u003c/code\u003e 目录查看对应蓝牙设备的信息\u003c/li\u003e\n\u003c/ol\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e[LongTermKey]\nKey=A2B8B640870546A3AAFCA3DE95084229\nAuthenticated=0\nEncSize=16\nEDiv=8110\nRand=4469572065550191595\n\u003c/code\u003e\u003c/pre\u003e\u003col start=\"2\"\u003e\n\u003cli\u003e\n\u003cp\u003eWindows 上重新连接鼠标，查看鼠标的 Mac 地址，如：EB:4E:7D:E0:5A:CD\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e下载 \u003ca href=\"https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec\" target=\"_blank\" rel=\"noreferrer\"\u003epsexec\u003c/a\u003e 解压，用管理员权限打开 CMD 并进入 psexec 目录，执行命令：\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e.\\psexec -s -i regedit.exe\n\u003c/code\u003e\u003c/pre\u003e\u003col start=\"4\"\u003e\n\u003cli\u003e在打开的注册表中查找 \u003ccode\u003eHKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\services\\BTHPORT\\Parameters\\Keys\u003c/code\u003e 下查找步骤2得到的蓝牙设备注册表信息，按以下映射关系编写 Manjaro 下蓝牙设备的信息\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\n\n\n\n\n\n\u003cfigure\u003e\n    \n    \n\n\n\n\n\n\n\n\n  \n    \u003cpicture\n      class=\"mx-auto my-0 rounded-md\"\n      \n    \u003e\n      \n      \n      \n      \n        \u003csource\n          \n            srcset=\"https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062_hu_31009850261180fe.webp 330w,https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062_hu_24252b4e6e580fa8.webp 660w\n            \n              \n                ,https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062_hu_3a988f8626977cb1.webp 720w\n              \n            \n            \n              \n                ,https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062_hu_3a988f8626977cb1.webp 720w\n              \n            \"\n          \n          sizes=\"100vw\"\n          type=\"image/webp\"\n        /\u003e\n      \n      \u003cimg\n        width=\"720\"\n        height=\"406\"\n        class=\"mx-auto my-0 rounded-md\"\n        \n        loading=\"lazy\" decoding=\"async\"\n        \n          src=\"https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062_hu_47fe5760194cd9a3.png\" srcset=\"https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062_hu_6aa3b29b567dca3f.png 330w,https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062_hu_47fe5760194cd9a3.png 660w\n          \n            ,https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062.png 720w\n          \n          \n            ,https://eatta.cn/posts/win-linux-share-bluetooth-device/file-20260609132548062.png 720w\n          \"\n          sizes=\"100vw\"\n        \n      /\u003e\n    \u003c/picture\u003e\n  \n\n\n\u003c/figure\u003e\n\u003c/p\u003e","title":"Win+Linux双系统共用同一个蓝牙设备"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/unzip/","section":"Tags","summary":"","title":"Unzip"},{"content":"部分在 win 平台打包的含中文密码的压缩包，在 Linux 平台使用 unzip 命令解压时，通常因为中文编码问题，无法正常解压，需要通过对中文进行处理后才可以解压，下面是命令示例：\nunzip -P \u0026#34;$(echo -n 中文密码|iconv -f utf-8 -t gbk)\u0026#34; your_zip_file_path.zip 注意：密码不要添加引号\n","date":"2026-06-11 19:35:11","permalink":"https://eatta.cn/posts/unzip-chinese-password/","section":"Posts","summary":"\u003cp\u003e部分在 win 平台打包的含中文密码的压缩包，在 Linux 平台使用 unzip 命令解压时，通常因为中文编码问题，无法正常解压，需要通过对中文进行处理后才可以解压，下面是命令示例：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eunzip -P \u003cspan class=\"s2\"\u003e\u0026#34;\u003c/span\u003e\u003cspan class=\"k\"\u003e$(\u003c/span\u003e\u003cspan class=\"nb\"\u003eecho\u003c/span\u003e -n 中文密码\u003cspan class=\"p\"\u003e|\u003c/span\u003eiconv -f utf-8 -t gbk\u003cspan class=\"k\"\u003e)\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;\u003c/span\u003e your_zip_file_path.zip\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e注意：密码不要添加引号\u003c/p\u003e","title":"使用 unzip 解压含中文密码的压缩包"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/7z/","section":"Tags","summary":"","title":"7z"},{"content":"7z 命令（来自 p7zip 软件包）对中文和各种编码的支持通常比 unzip 更好。\n安装 #首先安装 p7zip（如果尚未安装）：\nUbuntu/Debian: sudo apt install p7zip-full CentOS/RHEL/Fedora: sudo yum install p7zip # 或者 sudo dnf install p7zip macOS (使用 Homebrew): brew install p7zip 使用 #使用 7z 命令解压：\n7z x 你的压缩文件.zip -p你的中文密码 或者更安全地，不把密码暴露在命令历史中（它会提示你输入密码）：\n7z x 你的压缩文件.zip -p 执行后，命令行会提示 Enter password (will not be echoed):，此时你再粘贴或输入密码即可。\n优点：\n对中文编码兼容性极好。 功能强大，支持更多压缩格式。 ","date":"2026-06-11 19:33:11","permalink":"https://eatta.cn/posts/7z-command-unzip-chinese-encoding/","section":"Posts","summary":"\u003cp\u003e\u003ccode\u003e7z\u003c/code\u003e 命令（来自 \u003ccode\u003ep7zip\u003c/code\u003e 软件包）对中文和各种编码的支持通常比 \u003ccode\u003eunzip\u003c/code\u003e 更好。\u003c/p\u003e\n\u003ch2 id=\"安装\" class=\"relative group\"\u003e安装 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e5%ae%89%e8%a3%85\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e\u003cstrong\u003e首先安装 p7zip（如果尚未安装）：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUbuntu/Debian:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo apt install p7zip-full\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cul\u003e\n\u003cli\u003eCentOS/RHEL/Fedora:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo yum install p7zip  \u003cspan class=\"c1\"\u003e# 或者 sudo dnf install p7zip\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cul\u003e\n\u003cli\u003emacOS (使用 Homebrew):\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ebrew install p7zip\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"使用\" class=\"relative group\"\u003e使用 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e4%bd%bf%e7%94%a8\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e\u003cstrong\u003e使用 7z 命令解压：\u003c/strong\u003e\u003c/p\u003e","title":"7z 命令解压压缩文件（支持中文编码）"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/p7zip/","section":"Tags","summary":"","title":"P7zip"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/immich/","section":"Tags","summary":"","title":"Immich"},{"content":"immich 的机器学习任务执行前，需要从 Huggingface 下载需要使用的大模型，但是因为国内网络问题，无法访问 Huggingface，导致机器学习相关的任务执行失败。接下来我们来解决这个问题。\n步骤一：下载大模型 # 安装 git-lfs # macOS brew install git-lfs # Debian sudo apt install git-lfs 如果是在国内的话，需要开启科学上网，然后下载需要使用的两个模型文件，时间较久，耐心等待下载完成 # clone buffalo_l git clone https://huggingface.co/immich-app/buffalo_l # clone ViT-B-32__openai git clone https://huggingface.co/immich-app/ViT-B-32__openai # 进入 buffalo_l目录 cd buffalo_l # 拉取buffalo_l大模型文件 git lfs install git lfs pull # 返回上层并进入ViT-B-32__openai cd ../ViT-B-32__openai # 拉取ViT-B-32__openai大模型文件 git lfs install git lfs pull # 返回上级目录 cd .. 步骤二：上传到 immich 的 Docker 容器内 # 进入容器，并创建文件夹，然后退出容器 # 进入immich_machine_learning容器 sudo docker exec -it immich_machine_learning /bin/bash # 创建大模型存放文件夹 mkdir -p /cache/clip mkdir -p /cache/facial-recognition # 退出容器 exit 拷贝大模型到容器内 # 拷贝大模型到容器内 docker cp ViT-B-32__openai immich_machine_learning:/cache/clip/ docker cp buffalo_l immich_machine_learning:/cache/facial-recognition/ # 授权 docker exec immich_machine_learning chmod -R 777 /cache # 重启容器 sudo docker restart immich_machine_learning 步骤三：验证 #打开 immich，运行机器学习相关的任务，查看日志或者查看 docker 状态，可以看到 immich_machine_learning 容器的 CPU 使用率已经开始升高，说明任务开始运行。\ndocker stats 参考文档：IMMICH: 手动下载AI大模型并放置在正确位置\n","date":"2026-06-11 19:30:11","permalink":"https://eatta.cn/posts/immich-manual-download-ml-models/","section":"Posts","summary":"\u003cp\u003eimmich 的机器学习任务执行前，需要从 Huggingface 下载需要使用的大模型，但是因为国内网络问题，无法访问 Huggingface，导致机器学习相关的任务执行失败。接下来我们来解决这个问题。\u003c/p\u003e\n\u003chr\u003e\n\u003ch3 id=\"步骤一下载大模型\" class=\"relative group\"\u003e步骤一：下载大模型 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e6%ad%a5%e9%aa%a4%e4%b8%80%e4%b8%8b%e8%bd%bd%e5%a4%a7%e6%a8%a1%e5%9e%8b\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h3\u003e\u003col\u003e\n\u003cli\u003e安装 git-lfs\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# macOS\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ebrew install git-lfs\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Debian\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo apt install git-lfs\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003col start=\"2\"\u003e\n\u003cli\u003e如果是在国内的话，需要开启科学上网，然后下载需要使用的两个模型文件，时间较久，耐心等待下载完成\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# clone buffalo_l\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit clone https://huggingface.co/immich-app/buffalo_l\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# clone ViT-B-32__openai\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit clone https://huggingface.co/immich-app/ViT-B-32__openai\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 进入 buffalo_l目录\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003ecd\u003c/span\u003e buffalo_l\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 拉取buffalo_l大模型文件\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit lfs install\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit lfs pull\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 返回上层并进入ViT-B-32__openai\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003ecd\u003c/span\u003e ../ViT-B-32__openai\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 拉取ViT-B-32__openai大模型文件\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit lfs install\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit lfs pull\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 返回上级目录\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003ecd\u003c/span\u003e ..\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003chr\u003e\n\u003ch3 id=\"步骤二上传到-immich-的-docker-容器内\" class=\"relative group\"\u003e步骤二：上传到 immich 的 Docker 容器内 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e6%ad%a5%e9%aa%a4%e4%ba%8c%e4%b8%8a%e4%bc%a0%e5%88%b0-immich-%e7%9a%84-docker-%e5%ae%b9%e5%99%a8%e5%86%85\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h3\u003e\u003col\u003e\n\u003cli\u003e进入容器，并创建文件夹，然后退出容器\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 进入immich_machine_learning容器\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo docker \u003cspan class=\"nb\"\u003eexec\u003c/span\u003e -it immich_machine_learning /bin/bash\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 创建大模型存放文件夹\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003emkdir -p /cache/clip\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003emkdir -p /cache/facial-recognition\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 退出容器\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003eexit\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003col start=\"2\"\u003e\n\u003cli\u003e拷贝大模型到容器内\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 拷贝大模型到容器内\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003edocker cp ViT-B-32__openai immich_machine_learning:/cache/clip/\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003edocker cp buffalo_l immich_machine_learning:/cache/facial-recognition/\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 授权\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003edocker \u003cspan class=\"nb\"\u003eexec\u003c/span\u003e immich_machine_learning chmod -R \u003cspan class=\"m\"\u003e777\u003c/span\u003e /cache\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 重启容器\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo docker restart immich_machine_learning\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003chr\u003e\n\u003ch3 id=\"步骤三验证\" class=\"relative group\"\u003e步骤三：验证 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e6%ad%a5%e9%aa%a4%e4%b8%89%e9%aa%8c%e8%af%81\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h3\u003e\u003cp\u003e打开 immich，运行机器学习相关的任务，查看日志或者查看 docker 状态，可以看到 \u003ccode\u003eimmich_machine_learning\u003c/code\u003e 容器的 CPU 使用率已经开始升高，说明任务开始运行。\u003c/p\u003e","title":"Immich 机器学习模型手动下载与配置"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/fcitx5/","section":"Tags","summary":"","title":"Fcitx5"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/ssh/","section":"Tags","summary":"","title":"SSH"},{"content":"办公室里的个人电脑是 Win+Fedora 双系统，在家里偶尔会有访问 Fedora 的需要，内网穿透方案选择的是 Zerotier-One，远程连接使用 ssh。这里记录一下如何开启 Linux/Fedora 的远程 ssh 访问。\n启动 SSH 服务并设置开机自启 ## 启动服务 sudo systemctl start sshd # 部分系统服务名为 ssh（如Ubuntu） sudo systemctl start ssh # 若上述失败，尝试此命令 # 设置开机自启 sudo systemctl enable sshd 配置防火墙 #防火墙开放 ssh 服务端口 #sudo firewall-cmd --permanent --add-service=ssh # 因为下面会修改ssh的默认端口为2222，这里需要防火墙放开端口 sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload 设置 SELinux 自定义端口 #CentOS 和 Fedora 的 SELinux 会拦截自定义 ssh 端口，需要添加自定义规则\nsudo semanage port -a -t ssh_port_t -p tcp 2222 sudo systemctl restart sshd 配置 SSH 参数 #编辑配置文件 /etc/ssh/sshd_config\n# 修改默认端口号，防止扫描端口 Port 2222 # 开启密钥认证 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # 禁止root用户登录 PermitRootLogin no # 禁用密码登录 PasswordAuthentication no 保存后重启服务\nsudo systemctl restart sshd 远程连接 #生成密钥对 #在需要登录 Fedora 的电脑上生成密钥对，如果以前生成过，可以忽略此步骤\nssh-keygen -t ed25519 -C \u0026#34;your_email@example.com\u0026#34; 默认保存路径：~/.ssh/id_ed25519（私钥）和 ~/.ssh/id_ed25519.pub（公钥）。 若使用 RSA，替换 ed25519 为 rsa（推荐更安全的 Ed25519）。 上传公钥 #ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 username@fedora_ip 输入密码后，公钥会自动追加到服务器的 ~/.ssh/authorized_keys。 测试登陆 #ssh -p 2222 username@fedora_ip ","date":"2026-06-11 19:29:11","permalink":"https://eatta.cn/posts/linux-ssh-remote-access/","section":"Posts","summary":"\u003cp\u003e办公室里的个人电脑是 Win+Fedora 双系统，在家里偶尔会有访问 Fedora 的需要，内网穿透方案选择的是 \u003ccode\u003eZerotier-One\u003c/code\u003e，远程连接使用 ssh。这里记录一下如何开启 \u003ccode\u003eLinux/Fedora\u003c/code\u003e 的远程 ssh 访问。\u003c/p\u003e\n\u003ch1 id=\"启动-ssh-服务并设置开机自启\" class=\"relative group\"\u003e启动 SSH 服务并设置开机自启 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e5%90%af%e5%8a%a8-ssh-%e6%9c%8d%e5%8a%a1%e5%b9%b6%e8%ae%be%e7%bd%ae%e5%bc%80%e6%9c%ba%e8%87%aa%e5%90%af\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 启动服务\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo systemctl start sshd   \u003cspan class=\"c1\"\u003e# 部分系统服务名为 ssh（如Ubuntu）\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo systemctl start ssh    \u003cspan class=\"c1\"\u003e# 若上述失败，尝试此命令\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 设置开机自启\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo systemctl \u003cspan class=\"nb\"\u003eenable\u003c/span\u003e sshd\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch1 id=\"配置防火墙\" class=\"relative group\"\u003e配置防火墙 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e9%85%8d%e7%bd%ae%e9%98%b2%e7%81%ab%e5%a2%99\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003ch2 id=\"防火墙开放-ssh-服务端口\" class=\"relative group\"\u003e防火墙开放 ssh 服务端口 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e9%98%b2%e7%81%ab%e5%a2%99%e5%bc%80%e6%94%be-ssh-%e6%9c%8d%e5%8a%a1%e7%ab%af%e5%8f%a3\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo firewall-cmd --permanent --add-service\u003cspan class=\"o\"\u003e=\u003c/span\u003essh\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 因为下面会修改ssh的默认端口为2222，这里需要防火墙放开端口\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo firewall-cmd --permanent --add-port\u003cspan class=\"o\"\u003e=\u003c/span\u003e2222/tcp\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo firewall-cmd --reload\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"设置-selinux-自定义端口\" class=\"relative group\"\u003e设置 SELinux 自定义端口 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e8%ae%be%e7%bd%ae-selinux-%e8%87%aa%e5%ae%9a%e4%b9%89%e7%ab%af%e5%8f%a3\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003eCentOS 和 Fedora 的 SELinux 会拦截自定义 ssh 端口，需要添加自定义规则\u003c/p\u003e","title":"开启 Linux/Fedora 远程 SSH 访问"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/%E5%BE%AE%E4%BF%A1/","section":"Tags","summary":"","title":"微信"},{"content":"问题描述 #微信在原生支持 Linux 生态后，虽然功能可以正常使用，但是仍然可能存在部分问题要自行解决，比如以下两个问题\nFcitx5 输入法无法输入中文 整体字体显示过小 解决方案 #两个问题都可以通过配置启动微信的环境变量来实现，下面是解决方案：\n编辑微信的 desktop 文件 sudo nano /usr/share/applications/wechat.desktop 修改启动参数 Exec [Desktop Entry] Name=wechat Name[zh_CN]=微信 Exec=env QT_SCALE_FACTOR=1.6 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx /usr/bin/wechat %U StartupNotify=true Terminal=false Icon=/usr/share/icons/hicolor/256x256/apps/wechat.png Type=Application Categories=Utility; Comment=Wechat Desktop Comment[zh_CN]=微信桌面版 关闭并重新打开微信 ","date":"2026-06-11 19:29:11","permalink":"https://eatta.cn/posts/wechat-linux-fcitx5-font-fix/","section":"Posts","summary":"\u003ch2 id=\"问题描述\" class=\"relative group\"\u003e问题描述 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e9%97%ae%e9%a2%98%e6%8f%8f%e8%bf%b0\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e微信在原生支持 Linux 生态后，虽然功能可以正常使用，但是仍然可能存在部分问题要自行解决，比如以下两个问题\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eFcitx5 输入法无法输入中文\u003c/li\u003e\n\u003cli\u003e整体字体显示过小\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"解决方案\" class=\"relative group\"\u003e解决方案 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e两个问题都可以通过配置启动微信的环境变量来实现，下面是解决方案：\u003c/p\u003e","title":"微信 Linux 版中文输入与字体问题解决"},{"content":"","date":null,"permalink":"https://eatta.cn/categories/debian/","section":"Categories","summary":"","title":"Debian"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/debian/","section":"Tags","summary":"","title":"Debian"},{"content":" 一、前期准备 # 准备Linux的ladder环境，包括软件包和订阅地址，避免系统安装后部分网页无法访问或者打开缓慢影响操作的情况 以下配置只在AMD+核显机器上进行过验证，不涉及NVIDIA的显卡驱动，关于NVIDIA显卡驱动的配置请自行搜索解决 二、优先设置 #镜像源 #修改系统的镜像源为清华镜像源，编辑/etc/apt/sources.list文件\n# 默认注释了源码镜像以提高 apt update 速度，如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-backports main contrib non-free non-free-firmware # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-backports main contrib non-free non-free-firmware # 以下安全更新软件源包含了官方源与镜像站配置，如有需要可自行修改注释切换 deb https://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware # deb-src https://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware 设置个人用户为管理员 #在系统设置-系统-用户中，将个人用户的账户类型修改为管理员，否则后续的很多命令没有权限使用。\nladder #略\n基础工具 #sudo apt update \u0026amp;\u0026amp; sudo apt upgrade -y sudo apt install zsh git curl fastfetch vim -y # 在安装基础依赖时，已经安装zsh，执行以下命令，切换系统默认shell为zsh，执行完命令后，可能需要重启终端或系统，如果仍然没有生效，可以在kconsole中修改默认的bash为/usr/bin/zsh chsh -s $(which zsh) 配置git #git config --global user.name \u0026#34;your_name\u0026#34; git config --global user.email \u0026#34;your_email\u0026#34; Oh my zsh #https://github.com/ohmyzsh/ohmyzsh\n在安装基础依赖时，需确保已经切换终端为zsh chsh -s $(which zsh) 下载自动安装脚本 # 方式一：curl sh -c \u0026#34;$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\u0026#34; # 方式二：wget sh -c \u0026#34;$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)\u0026#34; # 方式三：fetch sh -c \u0026#34;$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\u0026#34; # 如果以上三种方式无法下载安装脚本，可能需要使用以下几种方式安装 # 方式一：curl sh -c \u0026#34;$(curl -fsSL https://install.ohmyz.sh/)\u0026#34; # 方式二：wget sh -c \u0026#34;$(wget -O- https://install.ohmyz.sh/)\u0026#34; # 方式三：fetch sh -c \u0026#34;$(fetch -o - https://install.ohmyz.sh/)\u0026#34; 下载zsh-autosuggestions和zsh-syntax-highlighting插件 git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting 配置插件和一些必要配置 # theme config # plugin config plugins=(git z sudo zsh-syntax-highlighting zsh-autosuggestions) # 添加/usr/sbin到path中 export PATH=$PATH:/usr/sbin # ladder terminal config # export https_proxy=http://ip:port http_proxy=http://ip:port all_proxy=socks5://ip:port 三、个人设置 #1. 启动图标 #个人习惯修改应用程序启动器的默认图标，如没有此需求，可以忽略本步骤。\n2. 修改Home目录的默认中文文件夹为英文 #在新版本的Debian中，可以在系统设置-系统-会话-位置中，修改默认的Home内目录路径，在修改前，先执行如下命令，创建对应的英文目录\ncd ~ mkdir Desktop Download Templates Public Documents Music Pictures Videos 如果上述配置无法实现，可以尝试如下命令\ncd ~ mkdir Desktop Download Templates Public Documents Music Pictures Videos rm -rf 公共 模板 视频 图片 文档 下载 音乐 桌面 xdg-user-dirs-update --set DESKTOP ~/Desktop xdg-user-dirs-update --set DOWNLOAD ~/Download xdg-user-dirs-update --set TEMPLATES ~/Templates xdg-user-dirs-update --set PUBLICSHARE ~/Public xdg-user-dirs-update --set DOCUMENTS ~/Documents xdg-user-dirs-update --set MUSIC ~/Music xdg-user-dirs-update --set PICTURES ~/Pictures xdg-user-dirs-update --set VIDEOS ~/Videos 3. 取消关机等待时间 #在旧版本的Debian中，关机时偶尔会遇到长时间无法关机的情况，可以尝试修改如下文件中的配置，在Debian13中此文件已经不存在，但是没有再遇到过长时间无法关机的情况，因此本章节仅做曾经遇到过的问题的备忘\nsudo nano /etc/systemd/user.conf # 把以下两行取消注释并修改为1s DefaultTimeoutStartSec=1s DefaultTimeoutStopSec=1s 4. 修改文件夹默认打开行为 #如果文件夹默认为单击打开，不符合个人的使用习惯，可以在系统设置-工作区-\u0026gt;常规行为-\u0026gt;单击文件或文件夹时-\u0026gt;选中中进行修改\n5. 修改默认任务切换器 #默认的Alt+Tab切换任务时，如果不符合个人使用习惯，可以在如下位置进行修改：系统设置-应用和窗口-窗口管理-\u0026gt;任务切换器-\u0026gt;获取新任务切换器-\u0026gt;搜索并安装Thumbnail Grid-\u0026gt;返回任务切换器-\u0026gt;主窗口-\u0026gt;可视化-\u0026gt;下拉列表选择Thumbnail Grid\n6. SSH密钥+authorized_keys #ssh-keygen -t ed25519 -C \u0026#34;your_mail@domain.com\u0026#34; cd ~/.ssh cat id_ed25519 cat id_ed25519.pub # 创建远程ssh登陆认证密钥文件，此步骤可选，如果不需要，可以忽略本步骤 # vim ~/.ssh/authorized_keys 7. 环境变量 #Fcitx5输入法在现阶段仍然需要配置全局环境变量，否则部分程序无法使用输入法\nsudo nano /etc/environment 输入如下内容\n# 输入如下内容 INPUT_METHOD=fcitx5 XMODIFIERS=@im=fcitx GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx 8. 安装字体 #霞鹜文楷\nHarmonyOS-Sans\nJetBrains Mono\n9. 壁纸 #略\n10. 打开openssh-server服务 #Linux开启远程SSH密钥登陆\nDebian13需要自行安装openssh-server\nsudo apt install openssh-server 四、软件列表 #Chrome # 尝试添加Google Chrome的软件源 # 添加Google Chrome软件源 wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - echo \u0026#34;deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main\u0026#34; | sudo tee /etc/apt/sources.list.d/google-chrome.list # 安装Chrome sudo apt update sudo apt install google-chrome-stable 如果步骤1的方式失败，那么访问官网下载deb安装包手动安装 Flatpak # 安装教程：https://flatpak.org/setup/Debian 镜像加速：Flathub 国内镜像的配置方法 软件商店：Flathub - 适用于 Linux 的应用 菜鸟教程：Linux flatpak 命令 | 菜鸟教程 通过Flatpak安装的软件的desktop文件位置：/var/lib/flatpak/exports/share/applications，如果需要修改启动参数，此信息为参考\nSteam #在安装steam前，可以阅读debian.club，检查最新的安装方式教程\nflatpak install flathub com.valvesoftware.Steam 安装兼容层，执行下面的命令安装前，可以先查看官方GloriousEggroll/proton-ge-custom仓库，检查最新的安装方式\nflatpak install com.valvesoftware.Steam.CompatibilityTool.Proton-GE 其他支持，可选步骤，如果启动后发现Steam没有什么问题，那么下面步骤可以跳过\n# 字体支持 sudo apt install fonts-liberation # 安装 Steam 运行时依赖 sudo apt install python3-apt Obsidian #flatpak install flathub md.obsidian.Obsidian LocalSend #flatpak install flathub org.localsend.localsend_app VLC #flatpak install flathub org.videolan.VLC Termius #提供通过Flatpak安装的方式做参考，也可以通过官网下载安装\nflatpak install flathub com.termius.Termius 微信\u0026amp;QQ #微信 Linux 版 QQ Linux 版\n关于微信在4K分辨率下字体偏小的问题，可以参考此文Linux原生版本微信中文输入和字体过小问题解决方案\n哔哩哔哩 #https://github.com/msojocs/bilibili-linux io.github.msojocs.bilibili_1.17.6-1_amd64.deb\n115浏览器 #https://115.com/\nMotrix #https://motrix.app/download\nTermius #https://termius.com/download/linux\n百度网盘 #这里提供山东大学的软件站地址，在这里可以搜索百度网盘的最新deb包，兼容性没有经过验证，慎用！！！ https://mirrors.sdu.edu.cn/spark-store-repository/amd64-store/network/\nwget https://mirrors.sdu.edu.cn/spark-store-repository/amd64-store/network/baidunetdisk/baidunetdisk_4.17.8_amd64.deb FRP #https://github.com/fatedier/frp 云服务器 + frp + nginx实现内网穿透方案说明\nDocker #Docker 教程 | 菜鸟教程\n准备安装环境 sudo apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates 添加GPG公钥和apt源 # 第一步 sudo curl -sS https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | gpg --dearmor \u0026gt; /usr/share/keyrings/docker-ce.gpg # 第二步 sudo nano /etc/apt/sources.list.d/docker.list # 新增如下镜像源 deb [arch=amd64 signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian bookworm stable 安装Docker CE​和Docker Compose​插件 sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin 检查docker是否安装成功 docker version 检查compose是否安装成功 docker compose version 编辑docker配置 目前国内可用Docker镜像源汇总\n重启后才生效\nsudo systemctl restart docker 设置开机自启 sudo systemctl enable docker 添加当前用户到Docker用户组，解决执行docker命令时需要使用sudo的问题 # 将当前用户加入 docker 组 sudo usermod -aG docker $USER # 将当前用户加入 docker 组 newgrp docker # 立即刷新用户组权限（临时生效） # 查看当前用户所属组，确认包含 \u0026#34;docker\u0026#34; groups # 注销系统重新登录或重启后权限会永久生效 reboot # 重启 Docker 服务 sudo systemctl restart docker # 验证 docker info # 现在应该能正常显示 Server 信息 Immich #immich-app/immich\n","date":"2026-06-11 19:26:11","permalink":"https://eatta.cn/posts/debian-13-configuration-guide/","section":"Posts","summary":"\u003cp\u003e\n\n\n\n\n\n\u003cfigure\u003e\n    \n    \n\n\n\n\n\n\n\n\n  \n    \u003cpicture\n      class=\"mx-auto my-0 rounded-md\"\n      \n    \u003e\n      \n      \n      \n      \n        \u003csource\n          \n            srcset=\"https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN_hu_a4a48f889953af46.webp 330w,https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN_hu_3f6139d8eee1e979.webp 660w\n            \n              \n                ,https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN_hu_1929848b27ecb60.webp 730w\n              \n            \n            \n              \n                ,https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN_hu_1929848b27ecb60.webp 730w\n              \n            \"\n          \n          sizes=\"100vw\"\n          type=\"image/webp\"\n        /\u003e\n      \n      \u003cimg\n        width=\"730\"\n        height=\"492\"\n        class=\"mx-auto my-0 rounded-md\"\n        alt=\"image-OvzN.png\"\n        loading=\"lazy\" decoding=\"async\"\n        \n          src=\"https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN_hu_2549ed1f29820fb3.png\" srcset=\"https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN_hu_abbca9702d47ef57.png 330w,https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN_hu_2549ed1f29820fb3.png 660w\n          \n            ,https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN.png 730w\n          \n          \n            ,https://eatta.cn/posts/debian-13-configuration-guide/image-OvzN.png 730w\n          \"\n          sizes=\"100vw\"\n        \n      /\u003e\n    \u003c/picture\u003e\n  \n\n\n\u003c/figure\u003e\n\u003c/p\u003e\n\u003ch1 id=\"一前期准备\" class=\"relative group\"\u003e一、前期准备 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e4%b8%80%e5%89%8d%e6%9c%9f%e5%87%86%e5%a4%87\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003col\u003e\n\u003cli\u003e准备Linux的ladder环境，包括软件包和订阅地址，避免系统安装后部分网页无法访问或者打开缓慢影响操作的情况\u003c/li\u003e\n\u003cli\u003e以下配置只在AMD+核显机器上进行过验证，不涉及NVIDIA的显卡驱动，关于NVIDIA显卡驱动的配置请自行搜索解决\u003c/li\u003e\n\u003c/ol\u003e\n\u003chr\u003e\n\u003ch1 id=\"二优先设置\" class=\"relative group\"\u003e二、优先设置 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e4%ba%8c%e4%bc%98%e5%85%88%e8%ae%be%e7%bd%ae\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003ch2 id=\"镜像源\" class=\"relative group\"\u003e镜像源 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e9%95%9c%e5%83%8f%e6%ba%90\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e修改系统的镜像源为\u003ca href=\"https://mirror.tuna.tsinghua.edu.cn/help/debian/\" target=\"_blank\" rel=\"noreferrer\"\u003e清华镜像源\u003c/a\u003e，编辑\u003ccode\u003e/etc/apt/sources.list\u003c/code\u003e文件\u003c/p\u003e","title":"Debian 13 系统配置与软件安装指南"},{"content":"问题描述 #在安装了Debian13，桌面环境为KDE，输入法为fcitx5的情况下，VsCode无法输入中文。\n通常启用fcitx5后，会在 /etc/environment 中配置如下环境变量： INPUT_METHOD=fcitx5 XMODIFIERS=@im=fcitx GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx 配置上述环境变量重启系统后，系统弹窗提示： 检测到设置了GTK_IM_MODULE和QT_IM_MODULE而且Wayland输入法前端正在正常工作，推荐不设置GTK_IM_MODULE和QT_IM_MODULE从而使用Wayland输入法前端。\n按照系统提示注释掉 GTK_IM_MODULE、QT_IM_MODULE 后出现两难问题： 保留两行环境变量：开机持续弹出优化提示； 注释两行环境变量：VSCode无法输入中文。 解决问题 #1. 创建KDE用户环境变量目录 #mkdir -p ~/.config/plasma-workspace/env/ 2. 新建VSCode专属环境变量脚本 #编辑脚本文件：\nnano ~/.config/plasma-workspace/env/vscode_env.sh 脚本完整内容：\n#!/bin/sh # 启动vscode时注入输入法环境变量 export XMODIFIERS=\u0026#34;@im=fcitx\u0026#34; export GTK_IM_MODULE=\u0026#34;fcitx\u0026#34; export QT_IM_MODULE=\u0026#34;fcitx\u0026#34; export QT_AUTO_SCREEN_SCALE_FACTOR=1 3. 赋予脚本可执行权限 #chmod +x ~/.config/plasma-workspace/env/vscode_env.sh 4. 创建VSCode自定义启动入口 #sudo nano /usr/local/bin/code-starter 启动脚本内容：\n#!/bin/bash # 加载预定义的输入法环境变量 if [ -f \u0026#34;$HOME/.config/plasma-workspace/env/vscode_env.sh\u0026#34; ]; then source \u0026#34;$HOME/.config/plasma-workspace/env/vscode_env.sh\u0026#34; fi # 携带环境变量启动VSCode并透传全部启动参数 env XMODIFIERS=\u0026#34;$XMODIFIERS\u0026#34; GTK_IM_MODULE=\u0026#34;$GTK_IM_MODULE\u0026#34; QT_IM_MODULE=\u0026#34;$QT_IM_MODULE\u0026#34; /usr/share/code/code \u0026#34;$@\u0026#34; 5. 给自定义启动脚本添加执行权限 #sudo chmod +x /usr/local/bin/code-starter 6. 修改VSCode桌面快捷方式调用路径 #编辑桌面配置文件：\nsudo nano /usr/share/applications/code.desktop 将文件内所有 Exec 字段里的 /usr/share/code/code 统一替换为 /usr/local/bin/code-starter，修改后完整示例：\n[Desktop Entry] Name=Visual Studio Code Comment=Code Editing. Redefined. GenericName=Text Editor Exec=/usr/local/bin/code-starter %F Icon=vscode Type=Application StartupNotify=false StartupWMClass=Code Categories=TextEditor;Development;IDE; MimeType=application/x-code-workspace; Actions=new-empty-window; Keywords=vscode; [Desktop Action new-empty-window] Name=New Empty Window Name[cs]=Nové prázdné okno Name[de]=Neues leeres Fenster Name[es]=Nueva ventana vacía Name[fr]=Nouvelle fenêtre vide Name[it]=Nuova finestra vuota Name[ja]=新しい空のウィンドウ Name[ko]=새 빈 창 Name[ru]=Новое пустое окно Name[zh_CN]=新建空窗口 Name[zh_TW]=開新空視窗 Exec=/usr/local/bin/code-starter --new-window %F Icon=vscode 7. 命令行启动注意事项 #后续终端启动VSCode，不再使用默认 code 命令，改用自建启动命令：\ncode-starter ","date":"2026-06-11 19:26:11","permalink":"https://eatta.cn/posts/debian-kde-fcitx5-vscode-chinese/","section":"Posts","summary":"\u003ch1 id=\"问题描述\" class=\"relative group\"\u003e问题描述 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e9%97%ae%e9%a2%98%e6%8f%8f%e8%bf%b0\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003cp\u003e在安装了Debian13，桌面环境为KDE，输入法为fcitx5的情况下，VsCode无法输入中文。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e通常启用fcitx5后，会在 \u003ccode\u003e/etc/environment\u003c/code\u003e 中配置如下环境变量：\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nv\"\u003eINPUT_METHOD\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003efcitx5\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nv\"\u003eXMODIFIERS\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e@im\u003cspan class=\"o\"\u003e=\u003c/span\u003efcitx\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nv\"\u003eGTK_IM_MODULE\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003efcitx\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nv\"\u003eQT_IM_MODULE\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003efcitx\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003col start=\"2\"\u003e\n\u003cli\u003e配置上述环境变量重启系统后，系统弹窗提示：\u003c/li\u003e\n\u003c/ol\u003e\n\u003cblockquote\u003e\n\u003cp\u003e检测到设置了GTK_IM_MODULE和QT_IM_MODULE而且Wayland输入法前端正在正常工作，推荐不设置GTK_IM_MODULE和QT_IM_MODULE从而使用Wayland输入法前端。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003col start=\"3\"\u003e\n\u003cli\u003e按照系统提示注释掉 \u003ccode\u003eGTK_IM_MODULE\u003c/code\u003e、\u003ccode\u003eQT_IM_MODULE\u003c/code\u003e 后出现两难问题：\n\u003col\u003e\n\u003cli\u003e保留两行环境变量：开机持续弹出优化提示；\u003c/li\u003e\n\u003cli\u003e注释两行环境变量：VSCode无法输入中文。\u003c/li\u003e\n\u003c/ol\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch1 id=\"解决问题\" class=\"relative group\"\u003e解决问题 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e8%a7%a3%e5%86%b3%e9%97%ae%e9%a2%98\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003ch2 id=\"1-创建kde用户环境变量目录\" class=\"relative group\"\u003e1. 创建KDE用户环境变量目录 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#1-%e5%88%9b%e5%bb%bakde%e7%94%a8%e6%88%b7%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e7%9b%ae%e5%bd%95\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003emkdir -p ~/.config/plasma-workspace/env/\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"2-新建vscode专属环境变量脚本\" class=\"relative group\"\u003e2. 新建VSCode专属环境变量脚本 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#2-%e6%96%b0%e5%bb%bavscode%e4%b8%93%e5%b1%9e%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%84%9a%e6%9c%ac\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e编辑脚本文件：\u003c/p\u003e","title":"Debian13 KDE + fcitx5 环境 VSCode 无法输入中文解决方案"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/frp/","section":"Tags","summary":"","title":"FRP"},{"content":"","date":null,"permalink":"https://eatta.cn/categories/nginx/","section":"Categories","summary":"","title":"Nginx"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/nginx/","section":"Tags","summary":"","title":"Nginx"},{"content":"部署方式 #选择在腾讯云服务器上部署思源笔记，最便捷的方式就是使用Docker部署，个人选择使用docker compose的方式进行部署，下面是docker-compose.yaml文件配置信息\nversion: \u0026#34;3.9\u0026#34; services: main: image: b3log/siyuan command: [\u0026#39;--workspace=/siyuan/workspace/\u0026#39;, \u0026#39;--accessAuthCode=${AuthCode}\u0026#39;] ports: - 6806:6806 volumes: - /siyuan/workspace:/siyuan/workspace restart: unless-stopped environment: # A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - TZ=${YOUR_TIME_ZONE} - PUID=${YOUR_USER_PUID} # 自定义用户 ID - PGID=${YOUR_USER_PGID} # 自定义组 ID 参数说明\n--workspace=/siyuan/workspace/: 指定笔记数据存储路径，保持默认即可 --accessAuthCode=${AuthCode}: 设置访问授权码（重要！必须修改） 6806:6806: 将容器内服务的 6806 端口映射到宿主机同端口 数据卷挂载保证了笔记数据的持久化存储 环境变量需要配置时区、用户/组 ID（权限控制） 时区：TZ=Asia/Shanghai 用户ID：使用id -u命令查看当前用户的ID 用户组ID：使用id -g命令查看当前用户的用户组ID 实战配置 #version: \u0026#34;3.9\u0026#34; services: main: image: b3log/siyuan command: [\u0026#39;--workspace=/siyuan/workspace/\u0026#39;, \u0026#39;--accessAuthCode=123***456\u0026#39;] ports: - 6806:6806 volumes: - /home/docker/siyuan/workspace:/siyuan/workspace restart: unless-stopped environment: # A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - TZ=Asia/Shanghai - PUID=1005 - PGID=1005 配置域名与nginx代理 #思源笔记在使用nginx进行代理时，WebSocket的服务必须进行配置\nserver { listen 80; server_name example.com www.example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name example.com www.example.com; # 使用同一证书（需证书支持通配符或包含该子域名） ssl_certificate /path/to/nginx/cacert/example.com.crt; ssl_certificate_key /path/to/nginx/cacert/example.com.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers \u0026#39;ECDHE-RSA-AES128-GCM-SHA256:AES128+EECDH:AES256+EECDH\u0026#39;; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:6806; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /ws { proxy_pass http://127.0.0.1:6806/ws; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \u0026#34;upgrade\u0026#34;; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ","date":"2026-06-11 19:26:11","permalink":"https://eatta.cn/posts/using-docker-deploy-siyuan-nginx-proxy/","section":"Posts","summary":"\u003ch1 id=\"部署方式\" class=\"relative group\"\u003e部署方式 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e9%83%a8%e7%bd%b2%e6%96%b9%e5%bc%8f\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003cp\u003e选择在腾讯云服务器上部署思源笔记，最便捷的方式就是使用Docker部署，个人选择使用docker compose的方式进行部署，下面是docker-compose.yaml文件配置信息\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eversion\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;3.9\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eservices\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003emain\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eimage\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eb3log/siyuan\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003ecommand\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;--workspace=/siyuan/workspace/\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;--accessAuthCode=${AuthCode}\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eports\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"m\"\u003e6806\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e6806\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003evolumes\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003e/siyuan/workspace:/siyuan/workspace\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003erestart\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eunless-stopped\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eenvironment\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"c\"\u003e# A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eTZ=${YOUR_TIME_ZONE}\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003ePUID=${YOUR_USER_PUID} \u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"c\"\u003e# 自定义用户 ID\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003ePGID=${YOUR_USER_PGID} \u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"c\"\u003e# 自定义组 ID\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e参数说明\u003c/p\u003e","title":"使用Docker部署思源笔记并配置Nginx代理"},{"content":"📖 文章目录 # 一、方案简介：了解整体架构 二、云服务器端配置：部署FRP服务端与Nginx 三、本地客户端配置：在本地机器配置FRP客户端 四、配置验证：测试服务是否成功穿透 五、总结与建议：回顾关键点与后续步骤 ✨ 一、方案简介 #本文详细介绍一种利用 云服务器、FRP 及 Nginx 实现内网穿透的稳定方案。其核心原理是：在具有公网IP的云服务器上部署FRP服务端（frps），在内网主机上部署FRP客户端（frpc）。客户端将内网服务的端口“映射”到服务器，再由Nginx提供安全的HTTPS反向代理，最终使外部用户可以通过域名安全访问内网服务。\n🛠️ 二、云服务器端配置 (frps \u0026amp; Nginx) #此部分在云服务器上操作。\n步骤 1: 下载 FRP #首先，登录你的云服务器，下载并解压 FRP 最新版本。\n# 创建并进入工作目录 mkdir -p /root/app/frp cd /root/app/frp # 下载FRP (请替换为Github上的最新版本号) wget \u0026#34;https://gh-proxy.org/https://github.com/fatedier/frp/releases/download/v0.67.0/frp_0.67.0_linux_amd64.tar.gz\u0026#34; 步骤 2: 配置 FRP 服务端 #解压后，将必要文件复制到系统目录。\n# 解压 tar -xzvf frp_0.67.0_linux_amd64.tar.gz cd frp_0.67.0_linux_amd64/ # 创建系统目录并复制文件 mkdir /usr/local/frp cp frps /usr/local/frp/ cp frps.toml /usr/local/frp/ 步骤 3: 配置 frps.toml 文件 #这是服务端的核心配置文件，需仔细设置。\n生成强密码：\ncd /usr/local/frp # 生成认证令牌 openssl rand -base64 32 # 生成仪表板密码 openssl rand -base64 24 编辑配置文件：\nvim frps.toml 以下为关键配置示例（请将token_example和dashboard_password替换为上一步生成的实际密码）：\n# ==================== 基础配置 ==================== bindAddr = \u0026#34;0.0.0.0\u0026#34; # 此端口需要开放给公网访问 bindPort = 7000 # HTTP反向代理端口，nginx会代理到这个端口 vhostHTTPPort = 8082 # ==================== 认证配置 ==================== auth.method = \u0026#34;token\u0026#34; auth.token = \u0026#34;token_example\u0026#34; # 使用上一步openssl生成的强密码 # ==================== 连接限制 ==================== # 连接超时 transport.heartbeatTimeout = 90 transport.tcpKeepAlive = 7200 # ==================== 协议限制 ==================== # 只允许特定协议（按需开启） # allowPorts = [ # { start = 8000, end = 8100 }, # Web服务 # { start = 22, end = 22 }, # SSH # { start = 3389, end = 3389 } # RDP # ] # 禁止某些客户端连接 # authentication.banIPs = [\u0026#34;192.168.1.100\u0026#34;, \u0026#34;10.0.0.1\u0026#34;] # ==================== Web控制面板 ==================== webServer.addr = \u0026#34;127.0.0.1\u0026#34; # 建议仅本地访问，通过SSH隧道或Nginx反向代理 webServer.port = 7500 webServer.user = \u0026#34;admin\u0026#34; # 建议修改名称 webServer.password = \u0026#34;dashboard_password\u0026#34; # 使用上一步openssl生成的强密码 #webServer.tls.certFile = \u0026#34;/path/to/dashboard.crt\u0026#34; # 如果启用HTTPS #webServer.tls.keyFile = \u0026#34;/path/to/dashboard.key\u0026#34; # ==================== 日志配置 ==================== log.level = \u0026#34;info\u0026#34; log.to = \u0026#34;/var/log/frps.log\u0026#34; log.maxDays = 3 log.disablePrintColor = true # ==================== 高级安全配置 ==================== # 限制每个代理的带宽（单位：MB） # bandwidthLimit = \u0026#34;10MB\u0026#34; # 子域名配置（如果使用子域名功能） subdomainHost = \u0026#34;example.com\u0026#34; # ==================== 性能优化 ==================== transport.quic.keepalivePeriod = 10 transport.quic.maxIdleTimeout = 30 transport.quic.maxIncomingStreams = 100000 💡 提示：bindPort(如7000)和vhostHTTPPort(如8082)需在云服务器控制台的安全组规则中开放。\n步骤 4: 配置 Nginx 反向代理 #此步骤通过Nginx提供HTTPS访问。假设你的域名是 example.com，子域名为 xxx.example.com。\n编辑Nginx配置文件（如 /etc/nginx/nginx.conf 或在 /etc/nginx/conf.d/ 下新建），添加以下 server 块配置：\n# .... # xxx 子域名 HTTP 重定向到 HTTPS server { listen 80; server_name xxx.example.com; return 301 https://$host$request_uri; } # .... # xxx 子域名 HTTPS 配置 server { listen 443 ssl; server_name xxx.example.com; # 使用同一证书（需证书支持通配符或包含该子域名） ssl_certificate /path/to/your/cacert/example.com.crt; ssl_certificate_key /path/to/your/cacert/example.com.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8082; # vhostHTTPPort配置的端口 client_max_body_size 10m; # 根据实际情况修改 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \u0026#34;upgrade\u0026#34;; proxy_max_temp_file_size 0; proxy_redirect off; proxy_read_timeout 240s; } } # .... 配置后，执行 nginx -t 测试配置，无误后 systemctl reload nginx 重载。\n步骤 5: 创建系统服务并启动 #将FRP服务端设置为系统服务，实现开机自启和便捷管理。\n创建服务文件：\nsudo vim /etc/systemd/system/frps.service 写入以下内容：\n[Unit] # 服务名称，可自定义 Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple # 启动frps的命令，需修改为您的frps的安装路径 ExecStart = /usr/local/frp/frps -c /usr/local/frp/frps.toml [Install] WantedBy = multi-user.target 启用并启动服务：\nsudo systemctl enable frps sudo systemctl start frps sudo systemctl status frps # 检查状态 💻 三、本地客户端配置 (frpc) #个人常用的主机是Debian和MacOS，所以下面以Debian为例进行说明，如果您使用的是Win和MacOS，请自行解决安装问题。配置文件可以参考下文步骤3的说明。\n以下部分在需要穿透的内网Linux主机上操作。\n步骤 1: 下载并准备 FRP #与服务器端类似，下载客户端软件包。\nmkdir -p ~/Software/frp cd ~/Software/frp wget \u0026#34;https://gh-proxy.org/https://github.com/fatedier/frp/releases/download/v0.67.0/frp_0.67.0_linux_amd64.tar.gz\u0026#34; tar -zxvf frp_0.67.0_linux_amd64.tar.gz cd frp_0.67.0_linux_amd64 步骤 2: 配置 FRP 客户端 #将客户端文件复制到系统位置。\nsudo mkdir -p /etc/frp sudo cp frpc /usr/local/bin/ sudo cp frpc.toml /etc/frp/ 步骤 3: 配置 frpc.toml 文件 #这是客户端的核心配置文件，需与服务器端配置对应。\nsudo nano /etc/frp/frpc.toml 写入以下配置：\n# 远程腾讯云服务器的公网IP serverAddr = \u0026#34;xxx.xxx.xxx.xxx\u0026#34; # 远程腾讯云服务器的frps监听端口 serverPort = 7000 # 鉴权方式 auth.method = \u0026#34;token\u0026#34; # 鉴权token，与frps的token必须相同 auth.token = \u0026#34;token_example\u0026#34; # 使用frps.toml中配置的auth.token # 代理配置 [[proxies]] # 代理本地的服务名称，名称根据服务来命名即可 name = \u0026#34;service_name\u0026#34; # 代理类型，以http类型的服务为例，这里填写http，更多类型请参考官方文档 type = \u0026#34;http\u0026#34; # 本地服务IP，默认为127.0.0.1 localIP = \u0026#34;127.0.0.1\u0026#34; # 本地服务端口 localPort = 8888 # frps的配置文件已经配置了二级域名subdomainHost = \u0026#34;example.com\u0026#34;，所以这里只需要配置三级域名的名称就可以了，会自动组合成xxx.example.com完整域名 subDomain = \u0026#34;xxx\u0026#34; ✅ 注意：serverAddr、serverPort、auth.token 必须与服务端配置完全匹配，subDomain 需与你在DNS和Nginx中配置的子域名前缀一致。\n步骤 4: 创建客户端服务并启动 #同样，将客户端设置为系统服务。\n创建服务文件：\nsudo vim /etc/systemd/system/frpc.service 写入以下内容：\n[Unit] Description=Frp Client Service After=network.target [Service] Type=simple User=nobody Restart=on-failure RestartSec=5s ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.toml [Install] WantedBy=multi-user.target 启用并启动服务：\nsudo systemctl enable frpc sudo systemctl start frpc sudo systemctl status frpc # 检查状态 🔍 四、验证配置 #全部配置完成后，打开浏览器，访问 https://xxx.example.com。如果一切正常，你将能访问到运行在内网主机 127.0.0.1:8888 上的服务。\n常用管理与排查命令 # 作用 服务器端命令 客户端命令 启动服务 sudo systemctl start frps sudo systemctl start frpc 查看状态 sudo systemctl status frps sudo systemctl status frpc 查看日志 tail -f /var/log/frps.log journalctl -u frpc -f 💎 五、总结与建议 #✅ 核心配置检查清单 #在最终验证前，请务必确认以下几点：\n云服务器安全组：已开放 7000 (FRP通信) 和 443 (HTTPS) 端口。 域名解析：xxx.example.com 已正确解析到云服务器的公网IP。 密码与令牌：服务端与客户端配置文件中 auth.token 完全一致。 端口对应：客户端 localPort 与本地实际运行的服务端口一致；Nginx中 proxy_pass 端口与服务端 vhostHTTPPort 一致。 🔧 后续优化建议 # 安全性提升：可考虑将FRP服务端的 webServer (管理面板) 也通过Nginx反代并设置更复杂的访问密码，或通过SSH隧道访问。 配置简化：可使用环境变量或分离的密钥文件来管理配置文件中的敏感信息（如token），避免明文硬编码。 协议选择：对于需要更高安全性的场景，可以在FRP配置中启用TLS加密传输。 ","date":"2026-06-11 19:26:11","permalink":"https://eatta.cn/posts/frp-nginx-intranet-penetration-guide/","section":"Posts","summary":"\u003ch3 id=\"-文章目录\" class=\"relative group\"\u003e\u003cstrong\u003e📖 文章目录\u003c/strong\u003e \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#-%e6%96%87%e7%ab%a0%e7%9b%ae%e5%bd%95\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h3\u003e\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e一、方案简介\u003c/strong\u003e：了解整体架构\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e二、云服务器端配置\u003c/strong\u003e：部署FRP服务端与Nginx\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e三、本地客户端配置\u003c/strong\u003e：在本地机器配置FRP客户端\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e四、配置验证\u003c/strong\u003e：测试服务是否成功穿透\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e五、总结与建议\u003c/strong\u003e：回顾关键点与后续步骤\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003ch2 id=\"-一方案简介\" class=\"relative group\"\u003e\u003cstrong\u003e✨ 一、方案简介\u003c/strong\u003e \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#-%e4%b8%80%e6%96%b9%e6%a1%88%e7%ae%80%e4%bb%8b\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e本文详细介绍一种利用 \u003cstrong\u003e云服务器\u003c/strong\u003e、\u003cstrong\u003eFRP\u003c/strong\u003e 及 \u003cstrong\u003eNginx\u003c/strong\u003e 实现内网穿透的稳定方案。其核心原理是：在具有公网IP的云服务器上部署FRP服务端（frps），在内网主机上部署FRP客户端（frpc）。客户端将内网服务的端口“映射”到服务器，再由Nginx提供安全的HTTPS反向代理，最终使外部用户可以通过域名安全访问内网服务。\u003c/p\u003e","title":"使用FRP和Nginx实现内网穿透的完整指南"},{"content":"你是否遇到过下载的杜比视界（Dolby Vision）视频播放时画面变成诡异的紫绿色？这是因为播放器没有正确处理杜比视界的色彩映射。目前最主流、最有效的解决方法是使用 mpv 播放器并搭配特定参数。即使你的显示器不支持杜比视界，mpv 也能将其动态映射到标准动态范围（SDR），让色彩回归正常。\n本文将带你一步步在 Linux 下配置并使用 mpv 流畅播放杜比视界视频。\n📦 准备工作 #在开始前，请确保你的系统满足以下基础条件。\n1. 安装依赖包 #打开终端，执行以下命令安装 mpv 播放器和 ffmpeg 编解码库：\nsudo apt update sudo apt install mpv ffmpeg 如果你的发行版不是 Debian/Ubuntu，请使用对应的包管理器（如 dnf、pacman）安装。\n2. 硬件与系统要求 #根据你的显示器情况，体验会有所不同：\n支持 HDR 的显示器\n如果你的显示器支持杜比视界，可以获得最佳效果。在 X11 环境下，可以尝试开启全色域 RGB 模式（可选）：\nxrandr --output \u0026lt;你的显示器名称\u0026gt; --set \u0026#34;Broadcast RGB\u0026#34; \u0026#34;Full\u0026#34; 另外，随着 KDE Plasma 6 和 GNOME 48 的发布，Linux 的 Wayland 显示服务器已开始原生支持 HDR，未来体验会更完善。\n不支持 HDR 的普通显示器\n没有 HDR 显示器也完全可用。mpv 会自动将杜比视界内容色调映射（tone-mapping）到标准动态范围（SDR），色彩显示正常，只是无法呈现真正的 HDR 高动态范围——这是绝大多数用户会遇到的情况。\n🚀 使用 mpv 播放杜比视界视频 #1. 确认 mpv 版本 #Debian 官方源中的 mpv 可能较旧，如果遇到兼容性问题，建议从 buster-backports 或 sid 源安装更新版本。你也可以用以下命令查看当前版本：\nmpv --version 2. 播放命令 #在终端中执行以下命令播放你的杜比视界视频：\nmpv --vo=gpu-next 你的杜比视界视频文件名.mkv 关键参数说明：\n--vo=gpu-next 是启用 Dolby Vision 正确色调映射的核心。根据社区反馈，该参数能有效处理杜比视界 Profile 5 格式的视频。\n3. 验证是否生效 # 如果你的显示器支持杜比视界：mpv 会尝试直通 HDR 元数据，显示效果由显示器自身决定。\n如果你的显示器不支持杜比视界：你会看到视频色彩正常（不再是紫绿色），说明视频已被成功映射到 SDR 色彩空间。\n💡 补充建议 # 将常用参数写入 mpv.conf 配置文件（位于 ~/.config/mpv/），避免每次手动输入：\nvo=gpu-next 如果遇到性能问题或画面闪烁，可尝试更新显卡驱动或切换至 --vo=gpu 参数（但不保证杜比视界映射效果）。\n对于杜比视界 Profile 8.1 或 Profile 7 等变体，--vo=gpu-next 通常也能较好兼容。\n📝 结语 #利用 mpv 的 gpu-next 视频输出驱动，Linux 用户可以轻松绕过杜比视界紫绿画面问题，即使在普通 SDR 显示器上也能获得色彩正确的观影体验。如果你追求更好的 HDR 效果，不妨关注 Wayland 下 HDR 支持的进展。\n希望这篇笔记能帮助你顺利播放杜比视界视频。如有问题，欢迎在评论区交流。\n","date":"2026-06-11 19:26:11","permalink":"https://eatta.cn/posts/mpv-linux-dolby-vision-playback-guide/","section":"Posts","summary":"\u003cp\u003e你是否遇到过下载的杜比视界（Dolby Vision）视频播放时画面变成诡异的紫绿色？这是因为播放器没有正确处理杜比视界的色彩映射。目前最主流、最有效的解决方法是使用 \u003cstrong\u003empv 播放器并搭配特定参数\u003c/strong\u003e。即使你的显示器不支持杜比视界，mpv 也能将其动态映射到标准动态范围（SDR），让色彩回归正常。\u003c/p\u003e\n\u003cp\u003e本文将带你一步步在 Linux 下配置并使用 mpv 流畅播放杜比视界视频。\u003c/p\u003e\n\u003ch2 id=\"-准备工作\" class=\"relative group\"\u003e\u003cstrong\u003e📦 准备工作\u003c/strong\u003e \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#-%e5%87%86%e5%a4%87%e5%b7%a5%e4%bd%9c\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e在开始前，请确保你的系统满足以下基础条件。\u003c/p\u003e\n\u003ch3 id=\"1-安装依赖包\" class=\"relative group\"\u003e\u003cstrong\u003e1. 安装依赖包\u003c/strong\u003e \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#1-%e5%ae%89%e8%a3%85%e4%be%9d%e8%b5%96%e5%8c%85\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h3\u003e\u003cp\u003e打开终端，执行以下命令安装 \u003ccode\u003empv\u003c/code\u003e 播放器和 \u003ccode\u003effmpeg\u003c/code\u003e 编解码库：\u003c/p\u003e","title":"使用mpv在Linux下播放杜比视界视频的配置指南"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/%E6%80%9D%E6%BA%90%E7%AC%94%E8%AE%B0/","section":"Tags","summary":"","title":"思源笔记"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/mesh/","section":"Tags","summary":"","title":"Mesh"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/network/","section":"Tags","summary":"","title":"Network"},{"content":"组网示意图 # 交换机配置参考 #以水星交换机为例，参考如下配置\n","date":"2026-06-11 17:22:28","permalink":"https://eatta.cn/posts/single-line-multiplexing-mesh-network/","section":"Posts","summary":"\u003ch1 id=\"组网示意图\" class=\"relative group\"\u003e组网示意图 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e7%bb%84%e7%bd%91%e7%a4%ba%e6%84%8f%e5%9b%be\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h1\u003e\u003cp\u003e\n\n\n\n\n\n\u003cfigure\u003e\n    \n    \n\n\n\n\n\n\n\n\n  \n    \u003cpicture\n      class=\"mx-auto my-0 rounded-md\"\n      \n    \u003e\n      \n      \n      \n      \n        \u003csource\n          \n            srcset=\"https://eatta.cn/posts/single-line-multiplexing-mesh-network/image_hu_237b3bfaf73baf70.webp 330w,https://eatta.cn/posts/single-line-multiplexing-mesh-network/image_hu_bd0c8bc57e9f1f3e.webp 660w\n            \n              \n                ,https://eatta.cn/posts/single-line-multiplexing-mesh-network/image_hu_73af0bb05705a742.webp 807w\n              \n            \n            \n              \n                ,https://eatta.cn/posts/single-line-multiplexing-mesh-network/image_hu_73af0bb05705a742.webp 807w\n              \n            \"\n          \n          sizes=\"100vw\"\n          type=\"image/webp\"\n        /\u003e\n      \n      \u003cimg\n        width=\"807\"\n        height=\"758\"\n        class=\"mx-auto my-0 rounded-md\"\n        \n        loading=\"lazy\" decoding=\"async\"\n        \n          src=\"https://eatta.cn/posts/single-line-multiplexing-mesh-network/image_hu_f2c65a35c9eabbc3.png\" srcset=\"https://eatta.cn/posts/single-line-multiplexing-mesh-network/image_hu_db1cdd275dc4cc6a.png 330w,https://eatta.cn/posts/single-line-multiplexing-mesh-network/image_hu_f2c65a35c9eabbc3.png 660w\n          \n            ,https://eatta.cn/posts/single-line-multiplexing-mesh-network/image.png 807w\n          \n          \n            ,https://eatta.cn/posts/single-line-multiplexing-mesh-network/image.png 807w\n          \"\n          sizes=\"100vw\"\n        \n      /\u003e\n    \u003c/picture\u003e\n  \n\n\n\u003c/figure\u003e\n\u003c/p\u003e","title":"家庭宽带使用交换机实现单线复用mesh组网示意图"},{"content":"","date":null,"permalink":"https://eatta.cn/pages/","section":"Pages","summary":"","title":"Pages"},{"content":"哈喽，欢迎来到我的小站。\n这里不是什么高精尖的技术博客，也没有华丽的文案包装，只是我个人用来沉淀日常、记录学习与生活的一方小天地。所有内容都是自己实操、踩坑、总结后的真实记录，没有照搬的套话，也没有堆砌的理论，纯粹是写给自己留存，也方便有需要的朋友参考。\n平时大部分时间，我都在和服务器、Linux 系统打交道。日常主力使用 Debian 系列系统，也会折腾各类服务器搭建、环境配置、自用服务部署、系统优化等实操内容。\n博客里的技术文章，基本都是我实操过程中踩过的坑、整理的步骤、避坑心得。没有晦涩的术语堆砌，尽量写得通俗、落地，步骤清晰，方便自己后续复盘，也能帮到同样在折腾 Linux 和服务器的小伙伴。\n当然，生活不止代码和服务器。\n除了技术内容，我也会在这里分享我的个人旅行计划、出行攻略、沿途见闻。相比于走马观花的打卡旅行，我更偏爱提前规划路线、梳理行程、适配节奏的慢旅行，认真记录每一次出发的期待与收获。工作和学习需要深耕，生活也需要奔赴山海，这也是我开设这个博客的初衷之一——既要精进技术，也要好好生活。\n我始终觉得，学习是循序渐进的积累，生活是慢慢体验的过程。写博客对我而言，既是强迫自己梳理知识、查漏补缺的方式，也是记录生活、留存美好的载体。所有文章均为原创手打，有错漏或者可以优化的地方，也欢迎大家随时交流指正。\n如果你也喜欢折腾 Linux、捣鼓服务器，或是偏爱认真规划的旅行，非常欢迎你常来。希望我们都能在深耕技术的同时，不辜负生活，不辜负热爱。\n前路漫漫，慢慢积累，慢慢热爱。\n本博客由 Hugo \u0026amp; Congo 强力驱动\n","date":"2026-06-11 14:55:26","permalink":"https://eatta.cn/pages/about/","section":"Pages","summary":"\u003cp\u003e哈喽，欢迎来到我的小站。\u003c/p\u003e\n\u003cp\u003e这里不是什么高精尖的技术博客，也没有华丽的文案包装，只是我个人用来沉淀日常、记录学习与生活的一方小天地。所有内容都是自己实操、踩坑、总结后的真实记录，没有照搬的套话，也没有堆砌的理论，纯粹是写给自己留存，也方便有需要的朋友参考。\u003c/p\u003e\n\u003cp\u003e平时大部分时间，我都在和服务器、Linux 系统打交道。日常主力使用 Debian 系列系统，也会折腾各类服务器搭建、环境配置、自用服务部署、系统优化等实操内容。\u003c/p\u003e\n\u003cp\u003e博客里的技术文章，基本都是我实操过程中踩过的坑、整理的步骤、避坑心得。没有晦涩的术语堆砌，尽量写得通俗、落地，步骤清晰，方便自己后续复盘，也能帮到同样在折腾 Linux 和服务器的小伙伴。\u003c/p\u003e\n\u003cp\u003e当然，生活不止代码和服务器。\u003c/p\u003e\n\u003cp\u003e除了技术内容，我也会在这里分享我的\u003cstrong\u003e个人旅行计划、出行攻略、沿途见闻\u003c/strong\u003e。相比于走马观花的打卡旅行，我更偏爱提前规划路线、梳理行程、适配节奏的慢旅行，认真记录每一次出发的期待与收获。工作和学习需要深耕，生活也需要奔赴山海，这也是我开设这个博客的初衷之一——既要精进技术，也要好好生活。\u003c/p\u003e\n\u003cp\u003e我始终觉得，学习是循序渐进的积累，生活是慢慢体验的过程。写博客对我而言，既是强迫自己梳理知识、查漏补缺的方式，也是记录生活、留存美好的载体。所有文章均为原创手打，有错漏或者可以优化的地方，也欢迎大家随时交流指正。\u003c/p\u003e\n\u003cp\u003e如果你也喜欢折腾 Linux、捣鼓服务器，或是偏爱认真规划的旅行，非常欢迎你常来。希望我们都能在深耕技术的同时，不辜负生活，不辜负热爱。\u003c/p\u003e\n\u003cp\u003e前路漫漫，慢慢积累，慢慢热爱。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e本博客由 \u003ca href=\"https://gohugo.io/\" target=\"_blank\" rel=\"noreferrer\"\u003eHugo\u003c/a\u003e \u0026amp; \u003ca href=\"https://github.com/jpanther/congo\" target=\"_blank\" rel=\"noreferrer\"\u003eCongo\u003c/a\u003e 强力驱动\u003c/p\u003e\n\u003c/blockquote\u003e","title":"关于"},{"content":"创建服务 #以CentOS为例，在/etc/systemd/system目录内创建nginx.service文件，并写入如下内容：\n[Unit] Description=The NGINX HTTP and reverse proxy server After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/bin/rm -f /usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=process PrivateTmp=true [Install] WantedBy=multi-user.target 重新加载systemd管理器配置 #sudo systemctl daemon-reload 启用nginx服务 #sudo systemctl enable nginx 启动nginx服务 #sudo systemctl start nginx ","date":"2026-06-11 12:01:28","permalink":"https://eatta.cn/posts/manually-linux-nginx-service/","section":"Posts","summary":"\u003ch2 id=\"创建服务\" class=\"relative group\"\u003e创建服务 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e5%88%9b%e5%bb%ba%e6%9c%8d%e5%8a%a1\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003e以CentOS为例，在\u003ccode\u003e/etc/systemd/system\u003c/code\u003e目录内创建\u003ccode\u003enginx.service\u003c/code\u003e文件，并写入如下内容：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-ini\" data-lang=\"ini\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e[Unit]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eDescription\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003eThe NGINX HTTP and reverse proxy server\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eAfter\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003enetwork-online.target remote-fs.target nss-lookup.target\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eWants\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003enetwork-online.target\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e[Service]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eType\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003eforking\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003ePIDFile\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003e/usr/local/nginx/logs/nginx.pid\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eExecStartPre\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003e/usr/bin/rm -f /usr/local/nginx/logs/nginx.pid\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eExecStartPre\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003e/usr/local/nginx/sbin/nginx -t\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eExecStart\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003e/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eExecReload\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003e/usr/local/nginx/sbin/nginx -s reload\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eExecStop\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003e/usr/local/nginx/sbin/nginx -s quit\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eKillSignal\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003eSIGQUIT\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eTimeoutStopSec\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003e5\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eKillMode\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003eprocess\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003ePrivateTmp\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003etrue\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e[Install]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"na\"\u003eWantedBy\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s\"\u003emulti-user.target\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"重新加载systemd管理器配置\" class=\"relative group\"\u003e重新加载\u003ccode\u003esystemd\u003c/code\u003e管理器配置 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e9%87%8d%e6%96%b0%e5%8a%a0%e8%bd%bdsystemd%e7%ae%a1%e7%90%86%e5%99%a8%e9%85%8d%e7%bd%ae\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo systemctl daemon-reload\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"启用nginx服务\" class=\"relative group\"\u003e启用\u003ccode\u003enginx\u003c/code\u003e服务 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e5%90%af%e7%94%a8nginx%e6%9c%8d%e5%8a%a1\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo systemctl \u003cspan class=\"nb\"\u003eenable\u003c/span\u003e nginx\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"启动nginx服务\" class=\"relative group\"\u003e启动\u003ccode\u003enginx\u003c/code\u003e服务 \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e5%90%af%e5%8a%a8nginx%e6%9c%8d%e5%8a%a1\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003esudo systemctl start nginx\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e","title":"Linux手动创建nginx服务"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/openlist/","section":"Tags","summary":"","title":"OpenList"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/rclone/","section":"Tags","summary":"","title":"Rclone"},{"content":"","date":null,"permalink":"https://eatta.cn/tags/webdav/","section":"Tags","summary":"","title":"WebDav"},{"content":"rclone 是一款强大的命令行云存储同步工具。我们可以通过 rclone 将支持 WebDAV 的网盘（如 openList、Nextcloud 等）挂载到本地目录，像操作本地文件一样使用。\n本文将介绍如何在 Linux 下安装 rclone、配置 WebDAV 连接、挂载网盘，并设置开机自动挂载。\n一、安装 rclone #rclone 可以通过官方脚本安装，也可以使用系统的包管理器。镜像安装需要额外处理路径映射，较为繁琐，因此本文采用 apt 直接安装。\n1. 安装依赖 fuse #sudo apt update # 查看是否已安装 fuse3 sudo apt search fuse3 # 若未安装，则执行（libfuse3-x 中的 x 替换为上一步搜索结果中的具体版本号） sudo apt install fuse3 libfuse3-x 2. 安装 rclone #sudo apt install rclone 3. 验证安装 #which rclone 如果输出 /usr/bin/rclone 等路径，说明安装成功。\n二、配置 rclone（以 WebDAV 为例） #有两种配置方式：交互式配置或直接编辑配置文件。\n方式一：使用 rclone config 交互配置 # 执行命令： rclone config 按提示操作（以下为关键步骤）： n) New remote # 选择 n 新建远程 name\u0026gt; your-remote # 输入自定义名称，下文以 your-remote 为例 Storage\u0026gt; webdav # 选择 webdav 类型 url\u0026gt; https://your-domain.com/dav # 填写 WebDAV 地址，如果你的openlist是本地内网安装，注意修改为http://ip:port/dav，必须包含 /dav vendor\u0026gt; other # 选择 other（不在预置列表中） user\u0026gt; your-username # 填写用户名 password: (输入密码) # 选择 y 手动输入 bearer_token\u0026gt; (直接回车) Edit advanced config? n y) Yes this is OK 完成后退出。 方式二：直接编辑配置文件 #配置文件位于 ~/.config/rclone/rclone.conf（若不存在则创建）：\n[your-remote] type = webdav url = https://your-domain.com/dav vendor = other user = your-username pass = your-encrypted-password 如果已有配置但需要更新密码，可以用命令：\nrclone config update your-remote pass \u0026#34;你的明文密码\u0026#34; 实际保存时 rclone 会自动加密密码，无需手动加密。\n三、测试配置是否成功 #rclone lsd your-remote: 如果正常返回远程目录列表（例如）：\n-1 2026-03-31 15:32:00 -1 115ND -1 2026-03-31 15:32:00 -1 localStorage -1 2026-03-31 15:32:00 -1 quark 则表示配置成功。否则请检查 URL、用户名和密码。\n四、挂载网盘到本地目录 #1. 创建挂载点 #mkdir -p ~/NetDisk/115 2. 执行挂载命令 #rclone mount your-remote:/115ND ~/NetDisk/115 \\ --copy-links \\ --no-gzip-encoding \\ --allow-non-empty \\ --umask 000 \\ --use-mmap \\ --daemon 参数说明：\n--daemon：后台运行，不会占用当前终端。\nyour-remote:/115ND：远程目录（可根据实际修改）。\n--allow-non-empty：允许挂载到非空目录。\n--umask 000：开放所有用户的读写权限（根据安全需求调整）。\n3. 检查挂载状态 #df -h 输出类似：\nyour-remote:115ND 1.0T 0 1.0T 0% /home/your-user/NetDisk/115 表示挂载成功。\n4. 解除挂载 #fusermount -qzu ~/NetDisk/115 五、设置开机自动挂载（systemd \u0026ndash;user） #手动挂载重启后会失效。我们可以通过 systemd 用户服务实现开机自动挂载。\n1. 创建服务文件 #mkdir -p ~/.config/systemd/user vim ~/.config/systemd/user/rclone-115.service 内容如下：\n[Unit] Description=Rclone Mount for 115ND After=network-online.target [Service] ExecStart=/usr/bin/rclone mount your-remote:/115ND /home/your-user/NetDisk/115 \\ --copy-links --no-gzip-encoding --allow-non-empty --umask 000 --use-mmap ExecStop=/usr/bin/fusermount -qzu /home/your-user/NetDisk/115 Restart=on-failure Type=simple [Install] WantedBy=default.target 注意：服务中不要加 --daemon，因为 systemd 会管理进程的前后台。\n2. 启用并启动服务 #systemctl --user daemon-reload systemctl --user enable rclone-115.service systemctl --user start rclone-115.service 3. 验证服务状态 #systemctl --user status rclone-115.service 之后每次开机，网盘都会自动挂载到指定目录。\n六、参考文档 # rclone 挂载网盘到本地（openList 篇）\nrclone 官方 WebDAV 文档\n","date":"2026-06-11 10:59:11","permalink":"https://eatta.cn/posts/rclone-webdav-openlist-115wangpan/","section":"Posts","summary":"\u003cp\u003erclone 是一款强大的命令行云存储同步工具。我们可以通过 rclone 将支持 WebDAV 的网盘（如 openList、Nextcloud 等）挂载到本地目录，像操作本地文件一样使用。\u003c/p\u003e\n\u003cp\u003e本文将介绍如何在 Linux 下安装 rclone、配置 WebDAV 连接、挂载网盘，并设置开机自动挂载。\u003c/p\u003e\n\u003ch2 id=\"一安装-rclone\" class=\"relative group\"\u003e\u003cstrong\u003e一、安装 rclone\u003c/strong\u003e \u003cspan class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100\"\u003e\u003ca class=\"group-hover:text-primary-300 dark:group-hover:text-neutral-700\" style=\"text-decoration-line: none !important;\" href=\"#%e4%b8%80%e5%ae%89%e8%a3%85-rclone\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\u003c/span\u003e\u003c/h2\u003e\u003cp\u003erclone 可以通过官方脚本安装，也可以使用系统的包管理器。镜像安装需要额外处理路径映射，较为繁琐，因此本文采用 \u003ccode\u003eapt\u003c/code\u003e 直接安装。\u003c/p\u003e","title":"使用 rclone 挂载 OpenList WebDAV 网盘"}]