Appearance
Debian 虚拟机
why
在更偏向生产的环境中,debian 非滚动更新带来的稳定性更加可靠。
本文主要包含命令行版 debian 虚拟机使用记录,用于 ssh 连接远程开发,以及未来 docker 部署。
how
○ 下载镜像
○ 创建虚拟机
sh
# 创建虚拟系统文件
sudo qemu-img create -f qcow2 debian_base.qcow2 80G
# 安装虚拟系统
sudo qemu-system-x86_64 \
-enable-kvm \
-cpu host \
-smp 8 \
-m 16G \
-usb \
-device usb-tablet \
-drive file=./debian_base.qcow2 \
-cdrom ./debian-12.10.0-amd64-DVD-1.iso \
-boot order=d
○ 运行
sh
# 启动虚拟系统
# 非 spice 虚拟机中,无法粘贴,输入命令体验差。改为 ssh 连接虚拟机来提升粘贴输入体验
# hostfwd 端口转发,宿主 60022 端口映射访客 22 端口,后续用于 ssh 连接
sudo qemu-system-x86_64 \
-enable-kvm \
-cpu host \
-smp 8 \
-m 16G \
-net nic \
-net user,hostfwd=tcp::60022-:22 \
-vga qxl \
-drive file=./debian_base.qcow2
# 指定 vnc,后台静默运行,推荐👍
sudo qemu-system-x86_64 \
-enable-kvm \
-cpu host \
-smp 8 \
-m 16G \
-vga qxl \
-net nic \
-net user,hostfwd=tcp::60022-:22 \
-vnc :0\
-drive file=./debian_base.qcow2
# 关机
shutdown -h now
○ 准备系统
sh
# root 登录
# 编辑镜像源,取消光盘镜像源
nano /etc/apt/sources.list
apt-get update
apt-get upgrade -y
dpkg -l
apt-get install sudo vim build-essential
# 检查 ssh 状态,无则安装
service sshd status
systemctl status ssh
apt-get install openssh-server
systemctl enable ssh
# ssh 连接虚拟机,已开启端口转发
ssh -p 60022 $user@127.0.0.1
# 用户权限
su root
vim /etc/sudoers
# root 下面添加行:
$user ALL=(ALL:ALL) NOPASSWD: ALL
○ Docker
sh
# docker
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl status docker
sudo docker run hello-world
○ Starship
sh
apt-get install fontconfig
apt-get install fonts-noto/stable fonts-noto-cjk/stable fonts-noto-color-emoji/stable
# guest
mkdir -p ~/.local/share/fonts
mkdir -p ~/.config/fontconfig
# host 下载 nerd fonts
# 字体和配置文件传输到 guest
scp -P 60022 -r ~/Downloads/JetBrainsMono/* aubur@127.0.0.1:/home/aubur/.local/share/fonts
scp -P 60022 ~/Downloads/fonts.conf aubur@127.0.0.1:/home/aubur/.config/fontconfig/
# guest,执行后重新登录
fc-cache -fv
cp ./fonts.conf ~/.config/fontconfig/
curl -sS https://starship.rs/install.sh | sh
# 编辑,添加:eval "$(starship init bash)"
sudo vim /etc/bash.bashrc
○ Go
sh
mkdir -p ~/work
cd ~/work
curl -LO https://go.dev/dl/go1.24.2.linux-amd64.tar.gz
file go1.24.2.linux-amd64.tar.gz
sudo tar -xzvf ~/work/go1.24.2.linux-amd64.tar.gz -C /opt
# 添加环境变量:export PATH=$PATH:/opt/go/bin
sudo vim /etc/bash.bashrc
source /etc/bash.bashrc
what
由此,得到了 Debian 虚拟机系统,安装好后建议立即备份 qcow2,便于后续其他用途。