
一、安装准备
近期博主在群辉虚拟机安装了Debian系统,也踩了不少坑与问题,在此记录一下
首先,准备Debian系统镜像--博主安装版本是Dabian 12,下载链接如下:
二、安装步骤
下载完毕后解压会得到一个ISO镜像文件,接下来进入DSM系统--点击虚拟机--映像--新增,如图所示:

从计算机上传ISO文件,如下图:

上传文件后,点击虚拟机-新增
选择linux-下一步,配置常用规格:2G即可,存储空间按照自己需求自定义
启动ISO文件选择刚才上传好的Dabian镜像,分配电源管理权限选择当前群辉登录的用户即可

一切准备就绪,点击完成即可自动安装系统,启动并连接进入系统安装界面
三、问题与注意事项
1.系统界面选择

2.操作选择



3.安装时间

4.root登录
Debian桌面系统,默认不允许root用户登录
首先,使用我们安装debian系统时创建的普通用户登录到系统的桌面,打开终端-切换到root用户 su root 输入密码
修改文件权限,执行以下命令:
sudo chmod 777 /etc/gdm3/daemon.conf
sudo chmod 777 /etc/pam.d/gdm-password点击activities 找到 files 点击other locations,修改/etc/gdm3/deamon.conf配置文件,在[security]字段后面追加 AllowRoot = ture 一行,注意大小写
修改gdm3--pam文件:/etc/pam.d/gdm-password 将auth required pam_succeed_if.so user != root quiet_success注释掉 //本行前加#
重启系统,恭喜,root用户登录成功
但此时只是设置为系统root可以登录,想要使用shell登录还要继续操作
若不懂可以查看作者原文链接: 虚拟机安装debian
5.SSH登录
由于虚拟机操作过于繁琐与卡顿,博主建议各位采用SSH工具登录后台进行操作
如何打开Debian系统支持SSH,按照作者原文操作会发现系统根本没有sshd.config文件,这就是此处的坑之一:
如何解决:根源是系统没有安装SSH服务器--输入如下命令进行安装即可:
sudo apt-get install openssh-server安装完毕后你会发现sshd.config文件有了,然后在继续按照原文作者的方法继续执行即可实现SSH登录
6.更换系统源
原因:若不更换系统源会报如下错--
E: Package 'pkg-config' has no installation candidate
如何做:按顺序执行如下代码---
sudo nano /etc/apt/sources.list注意事项二:将编辑器中内容全部删除,然后粘贴下边国内镜像源。粘贴完成后,按Ctrl+X,然后按Y确认保存,最后按Enter键退出编辑器。
备份/etc/apt/sources.list文件:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
更换镜像源:
deb [https://mirrors.aliyun.com/debian/](https://mirrors.aliyun.com/debian/) bookworm main non-free non-free-firmware contrib
deb-src [https://mirrors.aliyun.com/debian/](https://mirrors.aliyun.com/debian/) bookworm main non-free non-free-firmware contrib
deb [https://mirrors.aliyun.com/debian-security/](https://mirrors.aliyun.com/debian-security/) bookworm-security main
deb-src [https://mirrors.aliyun.com/debian-security/](https://mirrors.aliyun.com/debian-security/) bookworm-security main
deb [https://mirrors.aliyun.com/debian/](https://mirrors.aliyun.com/debian/) bookworm-updates main non-free non-free-firmware contrib
deb-src [https://mirrors.aliyun.com/debian/](https://mirrors.aliyun.com/debian/) bookworm-updates main non-free non-free-firmware contrib
deb [https://mirrors.aliyun.com/debian/](https://mirrors.aliyun.com/debian/) bookworm-backports main non-free non-free-firmware contrib
deb-src [https://mirrors.aliyun.com/debian/](https://mirrors.aliyun.com/debian/) bookworm-backports main non-free non-free-firmware contrib更新升级系统:
sudo apt update
sudo apt upgrade四、总结
Synology虚拟机安装Debian系统很费时间,需要耐心操作
五、进阶系统级优化:压榨群晖VMM极致性能
很多新手在完成上述安装后,就以为万事大吉,直接开始部署业务了。但实际上,此时的 Debian 跑在群晖 VMM 中,性能损耗极其严重,且无法与宿主机(群晖)进行深度的硬件级联动。为了让虚拟机达到“裸机”般的丝滑体验,我们必须进行底层优化。
1. 安装 QEMU Guest Agent (QGA) —— 打通宿主机通信的任督二脉
痛点现象:在群晖 VMM 面板中,你会发现虚拟机的 IP 地址经常显示为“未知”;且当你点击 VMM 面板的“关机”按钮时,Debian 毫无反应,只能强制拔电源(强制关机),这极易导致文件系统损坏。
解决方案:安装 QEMU Guest Agent。这是一款守护进程,能让虚拟机系统与宿主机群晖进行底层通信。
# 安装 QGA
sudo apt-get install qemu-guest-agent -y
# 设置开机自启并立刻运行
sudo systemctl enable --now qemu-guest-agent效果验证:回到群晖 VMM 界面,你会惊奇地发现原本未知的 IP 地址已经实时显示,并且现在你可以优雅地在群晖面板上点击“关机”或“重启”,Debian 会完美响应软指令。
2. 突破 I/O 瓶颈:切换 VirtIO 虚拟化半驱动
痛点现象:默认情况下,群晖为了兼容所有老旧系统,会模拟出 SATA 硬盘和 e1000(千兆 Intel)网卡。这些全模拟硬件每次读写都需要经过复杂的 CPU 指令翻译,导致磁盘 IOPS 极低,网络吞吐量严重受限。
解决方案:切换为 KVM 原生的 VirtIO 驱动。Debian 12 内核已自带该驱动。
- 操作方法:先在 Debian 中输入
sudo poweroff关机。 - 打开群晖 VMM -> 选中虚拟机 -> 编辑 -> 【存储空间】选项卡,将“虚拟盘控制器”从 SATA 改为 VirtIO。
- 进入 【网络】选项卡,将网卡型号从 e1000 改为 VirtIO。
- 保存后重新开机。输入
lsblk命令,如果看到硬盘名称从sda变成了vda,说明磁盘 I/O 加速已全面开启。
六、网络与安全高阶防御体系
既然我们已经把 Debian 作为一台正规的服务器来使用了,就不能再用普通桌面电脑的思维来管理,否则一旦暴露端口,极易被黑客黑掉。
1. 配置静态 IP 地址(告别 IP 乱跳)
如果路由器重启,DHCP 分配的 IP 变了,你的 SSH 连接、Web 服务端口映射都会全部失效。
在 GUI 环境下(或通过纯命令行),最简单的修改方式是借助 NetworkManager 自带的伪图形化工具 nmtui。
sudo nmtui- 选择 Edit a connection。
- 选中当前连接的网卡。
- 将 IPv4 Configuration 从
<Automatic>(自动获取) 改为<Manual>(手动配置)。 点击
<Show>,依次填入:- Addresses:
192.168.x.x/24(你的静态 IP,注意后面的 /24 代表子网掩码) - Gateway:
192.168.x.1(路由器地址) - DNS servers:
223.5.5.5和8.8.8.8
- Addresses:
- 保存退出后,执行
sudo systemctl restart NetworkManager重启网络生效。
2. SSH 密钥登录:封杀爆破扫描
开启了外网访问后,你的 22 端口每天会遭受几万次的密码破解扫描。
第一步:生成并上传密钥
在你的个人电脑(Win/Mac 的终端)上执行:
ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-copy-id -p 22 root@192.168.x.x第二步:禁用密码登录
验证可以使用密钥直接免密登录后,我们必须彻底堵死密码登录的渠道。
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config找到以下字段,去掉注释 #,并严格修改为 no:
PermitRootLogin prohibit-password
PasswordAuthentication no保存后重启服务:sudo systemctl restart ssh。至此,即使黑客知道了你的 root 密码,没有你电脑里的专属私钥文件,也是绝对无法入侵的。
3. 部署 UFW 极简防火墙
Debian 默认自带 iptables,但配置过于反人类。我们可以安装 UFW (Uncomplicated Firewall) 来管理端口。
sudo apt install ufw
# 默认拒绝所有外部连入
sudo ufw default deny incoming
# 默认允许所有内部连出
sudo ufw default allow outgoing
# 放行 SSH 端口(极其重要,否则自己也被锁在外面)
sudo ufw allow ssh
# 放行 Web 端口
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 启用防火墙
sudo ufw enable七、生产力环境搭建:原生 Docker 引擎注入
为什么不直接用群晖套件里的 Container Manager?
群晖的底层系统内核极其陈旧(往往是 3.x 或 4.x),且阉割了大量网络模块。而在虚拟机里的 Debian 12 拥有原汁原味的 Linux 6.x 完整内核,网络隔离(macvlan)、资源分配调度将变得无比顺滑,是折腾复杂微服务和旁路网关的最佳试验田。
请摒弃 apt install docker.io 这种安装老旧残缺版本的方法,严格按照 Docker 官方指南部署最新版:
# 1. 安装基础依赖
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
# 2. 导入阿里云 Docker 镜像 GPG 密钥(解决国内被墙无法下载的问题)
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL [https://mirrors.aliyun.com/docker-ce/linux/debian/gpg](https://mirrors.aliyun.com/docker-ce/linux/debian/gpg) | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 3. 写入阿里云软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] [https://mirrors.aliyun.com/docker-ce/linux/debian](https://mirrors.aliyun.com/docker-ce/linux/debian) \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 4. 更新软件库并安装最新版 Docker 引擎与 Compose 插件
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y验证安装:输入 docker -v 与 docker compose version,如果输出版本号,则代表安装完美成功。
八、存储桥梁:打通 Debian 与群晖物理数据的任督二脉
虚拟机分配的硬盘通常很小(比如 20G),如果你要在里面跑下载机或者媒体库,很快就会塞满。最高级的玩法是:让 Debian 直接挂载群晖宿主机里的海量存储空间。
实战:通过 NFS 挂载群晖文件夹
- 群晖端设置:打开群晖控制面板 -> 文件服务 -> 启用 NFS 服务。
进入群晖“共享文件夹”,选择你需要共享的文件夹(例如
/volume1/downloads),点击编辑 -> NFS 权限 -> 新增。- 服务器名称或 IP 地址:填写你刚才给 Debian 设置的静态 IP(例如
192.168.x.x)。 - 权限:读写。
- Squash:映射所有用户为 admin。保存。
- 服务器名称或 IP 地址:填写你刚才给 Debian 设置的静态 IP(例如
Debian 端设置:
安装 NFS 客户端支持包:sudo apt install nfs-common -y创建一个本地挂载点:
sudo mkdir -p /mnt/synology_downloads执行挂载命令(注意替换群晖的 IP 和路径):
sudo mount -t nfs 192.168.x.x:/volume1/downloads /mnt/synology_downloads实现开机自动挂载:
编辑/etc/fstab文件:sudo nano /etc/fstab在最末尾追加一行:
192.168.x.x:/volume1/downloads /mnt/synology_downloads nfs defaults 0 0现在,你在 Debian 虚拟机的
/mnt/synology_downloads目录里进行读写,就等同于直接在群晖的物理硬盘上读写,实现了计算资源(虚拟机)与存储资源(NAS)的完美剥离与融合!
九、高阶排障篇:虚拟机硬盘扩容不迷路
如果某天你连虚拟机本身的 20G 系统盘都塞满了,如何在不重装系统的情况下扩容?
- 首先在群晖 VMM 面板中关闭虚拟机,编辑配置,把虚拟硬盘从 20G 改为 50G,开机。
- 进入 Debian 后,系统虽然看到了 50G 硬盘,但现有的文件系统仍然被困在旧的 20G 边界内。
安装扩容工具套件:
sudo apt-get install cloud-guest-utils查看块设备(确定你的盘是
vda,分区是1还是3):lsblk热拉伸分区边界(注意设备名和数字中间有空格,这里以 vda1 为例):
sudo growpart /dev/vda 1刷新 ext4 文件系统容量:
sudo resize2fs /dev/vda1再次输入
df -h,你会发现根目录/的可用空间瞬间变大,且全过程业务无需中断,数据毫发无伤。
十、写在最后
折腾群晖虚拟机的终点,绝不仅仅是“能开机、能装上”而已。从替换国内镜像源解决最初的依赖地狱,到深入底层拥抱 VirtIO 与 QGA 的性能优化;从严防死守的 SSH 密钥加固,到搭建正统血脉的 Docker 引擎;再到通过 NFS 打通计算与存储的边界,这背后涵盖了极为广阔的 Linux 运维知识面。
每一次在黑框框(终端)里敲下回车解决一个 Error,都是我们在探索开源世界里迈出的坚实一步。希望这篇万字超详尽的踩坑与进阶优化指南,能成为大家折腾家庭实验室(Homelab)道路上最硬核的参考手册。
- 版权说明:本站资源博主亲自踩坑记录实践,仅供学习交流,严禁商用。
- 服务说明:本站提供技术资料分享,请教问题请评论区咨询博主。
- 引用规范:转载本文请务必注明原文链接,尊重博主劳动成果。
- 关于隐私:请查看隐私政策。
评论 (0)