Debian12安装与初始化

记录一下虚拟机或服务器系统安装与初始化应该做那些事。

镜像下载

从 Debian 官方下载:

链接:下载 Debian

image

下载下来的镜像名称为 debian-12.9.0-amd64-DVD-1.iso​ ,大小大概为 3.7 G 左右。

从兰州大学镜像站下载:

链接:兰州大学开源社区镜像站

image

虚拟机创建

ProxmoxVE

Virtual Environment 8.2.2

上传镜像:

image

创建虚拟机:

image

设置 VMID 和名称:

VMID 唯一,不可重复;名称自定义,可和集群的其他节点重复。

image

选择上传的镜像,操作系统不要动,默认即可:

image

控制系统全部默认:

image

磁盘设置存储位置与磁盘大小即可,其他默认:

image

CPU 按需进行分配,最好不要大于或等于物理机的线程数,要给物理机本身的系统留有一定的余量,类别选择 host 模式,损耗更小:

image

内存按需分配,最好不要大于或等于物理机的内存,要给物理机本身的系统留有一定的余量:

image

网卡选择需要桥接到的网卡,最好不要选择 PVE 的管理口,模型默认即可:

image

确认一下硬件配置是否正确:

image

或者在创建好的虚拟机-硬件中进行查看:

image

VMwareWorkstation

虚拟机下载链接:

ProductDownloads - Support Portal - Broadcom support portal

下载是免费的,但是需要注册一个博通的账户进行登录。

image

image

虚拟机安装过程不赘述。

创建虚拟机:

image

选择自定义模式:

image

硬件兼容性默认即可:

image

程序光盘文件选择上文中下载的镜像:

image

输入虚拟机名称和安装位置:

image

设置 CPU 数量,不要大于或等于物理机的线程数,给物理机的操作系统留有一点余量:

image

内存分配也一样,不要大于等于物理机的内存容量,给给物理机的操作系统留有一点余量:

image

网络推荐选择桥接,方便后续的 ssh 连接:

如果只是想测试虚拟机,或者想要虚拟机与物理机进行隔离,那么选择 NAT 模式或者仅主机模式。

image

IO 控制器默认即可:

image

磁盘类型默认即可:

image

创建新的磁盘:

image

设置磁盘容量,磁盘文件格式默认即可:

image

设置磁盘文件的名称:

image

检查硬件配置清单是否正确,取消勾选创建后开启此虚拟机:

image

虚拟机创建完成如图:

image

系统安装

无论是 PVE 还是 VMware,在创建好虚拟机之后 第一次打开 都是默认进入安装镜像的引导项:

选择第一项,图形化安装:

image

选择安装语言为英文:

不推荐选择中文,可能会导致一些未知的错误或风险。

image

选择为美国英语:

image

选择地区为 other - Asia - China:
image

选择键盘格式为美式英语:

image

设置网络主机名,自定义即可:

image

设置域名,留空即可:

image

设置 root 用户密码:

image

设置一个普通用户的昵称:(不推荐设置为中文)

image

设置该普通用户的用户名:

image

设置该普通用户的密码:

image

选择硬盘的分区模式:

推荐为第一个,使用整个硬盘。

image

选择要分区的目标硬盘:

本文创建虚拟机时只分配了一个硬盘,如果有多个则选择自己要安装的系统盘即可。

image

选择文件系统如何创建:

推荐使用默认第一个,全部分配给根目录。

image

确认分区情况:

image

选择 Yes 确认进行分区操作:

image

是否选择额外的安装介质,本文中的虚拟机只有一个安装介质,所以选择 No 即可:

image

是否使用网络镜像,前文中如果地区选择了 China,则这里会使用国内的一些镜像源,但是还是不推荐使用网络安装,会比较慢,所以选择 No 不使用网络镜像:

image

是否向开发人员发送一些软件包使用数据,选择 No 即可:

image

选择要安装的模块,本文这里在默认的基础上增加了一个 SSH server,这个推荐勾选,如果不想要桌面图形环境和界面,可以取消勾选前两个:

image

是否安装引导,选择 Yes 进行安装:

image

选择要安装引导的目标分区:

上文中本文选择了单分区安装模式,所以这里只有一个分区,如果是自定义安装,那么可以把引导安装到单独的 boot 分区中。

image

安装完成之后提示需要移除安装介质之后进行重启:

image

PVE 在如图所示的地方进行移除:

image

VMware 在如图所示的地方选择移除:

image

然后回到显示界面,点击 Continue 进行重启即可。

重装系统

PVE 在如图所示的位置,添加 CD/DVD 设备,选择好安装镜像之后,设置安装镜像为第一启动项:

image

VMware 则比较复杂一点,添加 CD/DVD 设备,选择好安装镜像之后,需要使用这个 打开电源时进入固件 的选项,开机之后进入 BIOS 选项,手动设置安装镜像设备为第一启动项:

image

然后就会进入到安装镜像的引导,按照上文中安装系统的方式进行重装即可。

软件源配置

在上文的系统安装过程中,本文选择了安装 SSH server 模块,所以直接使用 ssh 连接进行登录,

ssh 客户端推荐使用 MobaXterm 或者 Termius,

安装好的虚拟机的 IP 地址可以通过路由器的后台进行查看;或者通过图形界面中的设置进行查看:

image

如果没有安装图形界面,则可以通过登录终端,使用 ip a​ 命令进行查看:

image

然后通过上文系统安装过程中设置的普通用户用户名和密码进行登录,ssh 的默认安装端口为 22,登录后如图所示:

image

使用 su​ 命令切换到 root 用户,密码为上文系统安装过程中设置的 root 用户密码,然后执行:

nano /etc/apt/sources.list

Debian 12 默认没有安装 vim,所以使用 nano。

先删除原有的 DVD 镜像安装源,然后复制粘贴如下软件源:

# Debian 12.6
deb https://mirrors.cernet.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.cernet.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.cernet.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.cernet.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.cernet.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://mirrors.cernet.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.cernet.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src https://mirrors.cernet.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

image

Ctrl+O​ 保存,按 Enter​ 确认写入,按 Ctrl+X​ 退出。

是 Ctrl + 字母 O,不是数字 0。

关于高校联合镜像源的使用说明,可以参见:Debian 软件仓库镜像使用帮助 - MirrorZ Help

关于 Debian 的官方软件源,可以参见:Debian -- Debian 全球镜像站

执行一下 apt update​ 拉取一下新的镜像列表,然后安装 vim 和 curl 工具:

apt install vim curl -y

SSH配置

使用普通用户登录 ssh 或者直接在显示器终端中登录,使用 su​ 切换到 root 用户,编辑 SSH 的配置文件:

vim /etc/ssh/sshd_config

在配置文件中找到下列两行开头的,修改为:

PermitRootLogin yes    # 允许 root 用户通过 ssh 登录
PasswordAuthentication yes    # 允许 root 用户通过密码进行身份验证

使用 wq!​ 保存退出之后,使用 systemctl restart sshd​ 重启 ssh 服务即可生效。

需要注意的是,如果还是不行,请检查 Selinux 和 Firewalld 是否允许 root 用户进行远程连接。

!允许 root 用户使用密码进行 ssh 登录是很不安全的操作,请务必确认自己是否需要。

配置代理(可选)

前提条件:虚拟机与物理机之前网卡连接模式是桥接,并且处于同一网段下,互相可以访问到。

物理机安装了 v2rayN,并且开启了 允许局域网的连接,如图所示:

image

那么下文中的代理地址就是物理机的 IP 地址,端口则为该局域网代理端口。

或者通过软路由-旁路由直接全局代理也可以,就不需要配置下面这些配置文件了。

终端临时代理

直接使用 root 用户登录 ssh,

这种代理仅当前终端对话生效,如果要长期生效,请写入 .bashrc​ 文件中。直接在终端执行:

export http_proxy=http://proxy_address:port
export https_proxy=https://proxy_address:port
export ALL_PROXY=socks://proxy_address:port

不能省略 http://​ 。

APT代理

设置守护进程的代理,让所有命令(包括 apt​ )都走代理:

需要注意的是,这种代理方式虽然是守护进程,但是并不是所有命令都会走,比如 docker pull​ ,docker 的代理是另一个守护进程,需要单独设置。

直接使用 root 用户登录 ssh,编辑配置文件:

mkdir -p /etc/apt/apt.conf.d/
vim /etc/apt/apt.conf.d/proxy.conf

写入:

Acquire {
  http::Proxy "http://proxy_address:port";
  https::Proxy "http://proxy_address:port";
}

不能省略 http://​ 。

Docker代理

Docker的 docker pull​ 命令是由单独的守护程序来执行的,只配置简单的环境变量 http/s_proxy​ 是没有用的,需要给 Docker 单独设置。

直接使用 root 用户登录 ssh,编辑配置文件:

mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/proxy.conf

写入:

[Service]
Environment="HTTP_PROXY=http://proxy_address:port"
Environment="HTTPS_PROXY=http://proxy_address:port"
Environment="NO_PROXY=localhost,127.0.0.1,example.com"

不能省略 http://​ 。

重启 docker 服务: systemctl restart docker​ ,查看是否生效: docker info | grep Proxy​ 。

测试代理

可以通过 curl google.com​ 来测试代理是否生效,输出:

root@pve103-debian12:~# curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
root@pve103-debian12:~# 

建议还是通过路由层面(旁路由)直接让虚拟机全局走代理,局部代理可能存在一些未知原因。

安装面板(可选)

前提条件:已设置好网络和代理,可以访问到 git 和 docker、软件源。

直接使用 root 用户登录 ssh,然后执行:

安装 1Panel:在线安装 - 1Panel 文档

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

安装 BT:宝塔面板下载,免费全能的服务器运维软件

wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec

基本上按照提示一路默认安装即可,这里不赘述。

安装防火墙(可选)

如果是安装了 BT 面板,那么可能已经自带了防火墙,如果没有自带,那么也能按照如下步骤进行安装,

本文选择的是安装 1Panel,面板安装好之后还需要单独安装防火墙。

直接使用 root 用户登录 ssh,先使用 apt update​ 更新一下软件源,然后安装防火墙:

apt install ufw

安装完成之后先进行配置,放行 ssh 默认端口:

ufw allow 22/tcp

如果更改了 ssh 的连接端口,那么放行对应的端口即可。

放行 1Panel 或 BT 面板的安装端口:

ufw allow 23841/tcp

按照实际对应的端口放行即可,这不是默认或唯一的。

启动防火墙:

ufw enable

执行该命令之后会提示是否加入开机自启,输入 y 回车即可。

打开 1Panel 面板,查看防火墙状态:

image