优化群晖 NAS 的 Shell 体验

优化群晖 NAS 的 Shell 体验

💡 原文中文,约11000字,阅读约需27分钟。
📝

内容提要

本文介绍了在群晖NAS上优化Shell使用体验的方法,包括启用家目录服务、安装Zsh和ohmyzsh、配置插件和autojump,以及优化Shell使用的一些技巧。文章提醒不要执行可能损坏系统的操作。

🔎

延伸解读

为何要在群晖 NAS 上优化 Shell

群晖 DSM 图形界面易用,但许多操作在 Shell 中更高效,例如安装 Docker 容器、执行 Linux 指令。然而 DSM 是魔改的 Linux,默认 Shell 难用且缺少 APT 等包管理工具,安装 Zsh、Git 都成问题。优化 Shell 能发挥其 Linux 本质,获得与网页端不同的体验,但需注意不要执行可能损坏系统的操作。

优化 Shell 的关键步骤与注意事项

优化过程包括启用家目录服务、安装 Zsh 和 ohmyzsh、配置插件和 autojump、设置 sudo 免密、使用密钥登录 SSH 以及创建 docker 用户组。其中启用家目录是前提,否则非 root 用户安装 ohmyzsh 会报错。手动安装 ohmyzsh 和插件时可能因网络问题失败,可使用镜像。配置 .zshrc 可修改主题和插件。这些步骤能提升 Shell 易用性和安全性。

DSM 的局限与学习 Linux 的建议

尽管优化后 Shell 更顺手,但 DSM 为专注存储缺失许多功能且限制较多,不适合用来学习 Linux。文章建议深度学习 Linux 应使用 Windows 的 WSL,而非直接在 DSM 上操作,以避免可能损坏系统的风险。这提醒用户明确 NAS 的定位,不要将其作为 Linux 学习平台。

❓

Q&A

群晖 NAS 上怎么安装 Zsh 和 ohmyzsh?

群晖无法用 apt 安装 Zsh,需在套件中心添加社群源 https://packages.synocommunity.com,搜索安装「Z shell (with modules)」。然后编辑 ~/.profile 加入切换代码,再手动克隆 ohmyzsh 仓库到 ~/.oh-my-zsh,复制模板生成 .zshrc 并重载配置。

群晖 NAS 如何配置 sudo 免密?

先确认用户名,然后 sudo vim /etc/sudoers,在文件末尾添加「用户名 ALL=(ALL) NOPASSWD: ALL」,强制保存即可。注意不要误删或错填。

群晖 NAS 怎么设置 SSH 密钥登录并禁用密码?

在电脑生成 ed25519 密钥,将公钥内容写入 NAS 的 ~/.ssh/authorized_keys 并设置权限 600。编辑 /etc/ssh/sshd_config 设置 PubkeyAuthentication yes,重启 sshd。确认密钥登录成功后,将 PasswordAuthentication 改为 no 并再次重启 sshd。

群晖 NAS 非 root 用户如何使用 Docker 命令?

创建 docker 用户组:sudo synogroup --add docker,将当前用户加入:sudo synogroup --member docker $USER,然后修改 docker.sock 权限:sudo chown root:docker /var/run/docker.sock。也可在 DSM 控制面板手动创建组并添加用户。

群晖 NAS 上 autojump 插件怎么安装和配置?

手动克隆 autojump 仓库,进入目录执行 ./install.py。安装后可在 .zshrc 的 plugins 中添加 autojump 来启用,无需手动添加 source 行。

优化群晖 Shell 后,DSM 适合用来学习 Linux 吗?

不适合。DSM 为了专注存储缺失很多功能且限制不少,即使优化了 Shell 也不建议用来学习 Linux。如果想深度学习 Linux,建议使用 Windows 的 WSL,避免在 DSM 上执行可能损坏系统的操作。

🏷️

标签

➡️

继续阅读