在 VirtualBox 中构建 Debian11 虚拟电脑


前言

介绍在 VirtualBox 中安装 debian11 操作系统,以及安装后常常需要的几个初始配置工作。作者力图在介绍安装过程的同时,多做一些相关知识的搜集和概述,让作者和读者在某些方面能知然也知其所以然。


一、准备工作和Debian简介

  • 安装 Oracle VM VirtualBox
  • 下载 Debian 11

安装 Oracle VM VirtualBox 的过程,本文略过。

简单介绍一下 Debian。Debian 既是一个操作系统的名称,也是致力于创建此自由操作系统的合作组织的名称。

操作系统是使计算机运行的基本程序和工具的集合,其最主要的部分称为内核。内核是计算机中最重要的程序,负责一切基本的调度工作,并让您运行其他程序。

Debian 系统目前采用 Linux 内核或者 FreeBSD 内核,支持其他内核的工作(主要是Hurd)也在进行中。Debian操作系统中的大部分基本工具来自于 GNU 工程;因此它们被命名为 GNU/Linux、GNU/kFreeBSD 和 GNU/Hurd。这些工具同样都是自由的。

Debian 拥有超过 59000 个软件包,涵盖从文档编辑到电子商务、游戏娱乐和软件开发等各个方面,而且这些软件包全都是自由软件。Debian 具有卓越的稳定性、安全性、终多的架构和设备支持、公开的缺陷跟踪系统、平滑的升级过程、广泛使用的软硬件开发工具、LTS版本和云镜像支持等优点,对用户、开发者或者企业环境,它都是很不错的一个选择。

官方地址:https://www.debian.org/

我们选择下面的下载方式:

通过 HTTP/FTP 下载 Debian CD/DVD 映像

选择的镜像站为:

中国大陆: mirrors.163.com: HTTP

最终的链接为: debian-11.3.0-amd64-DVD-1.iso

amd64,又称“x86-64”或“x64”,是64位的电脑处理器架构,是我们现在的常用电脑 CPU 架构 。

二、新建虚拟电脑

安装好 Oracle VM VirtualBox (演示版本为 6.1.34)后, 桌面上会创建有一个 Oracle VM VirtualBox 图标,双击后打开 VirtualBox 管理器,进行当前主机下的虚拟机管理。

点击界面右侧的新建按钮,或菜单项【控制 - 新建】,打开新建虚拟电脑对话框,按界面提示依次设定虚拟电脑相关参数。示例参数设定如下:

  • 名称:debian_11
  • 文件夹:E:\V_Machines\VirtualBox
  • 类型:Linux
  • 版本:Debian(64-bit)
  • 内存:1024M
  • 虚拟硬盘:现在创建
  • 虚拟硬盘文件类型:VDI
  • 存储在物理硬盘上:动态分配
  • 文件位置:E:\V_Machines\VirtualBox\debian_11\debian_11.vdi
  • 文件大小:20GB

新建了虚拟电脑后,点击右侧工具栏的设置按钮,进行虚拟电脑配置。
在设置的系统项目中,注意一下启动顺序。因为后面安装要从镜像文件启动安装,所以启动顺序应该是光驱先于硬盘。
在这里插入图片描述
在设置的存储项目中,点击界面最右侧的蓝色光盘,选择后文将介绍下载的 debian11 镜像文件。
在这里插入图片描述
在设置的网络项目中,示例选择网络连接方式为桥接网卡
在这里插入图片描述

三、安装 Debian11

按上文设置好新建的虚拟机后,就可以启动它开始 debian 的安装了。
点击 VirtualBox 管理器右侧的启动按钮,启动虚拟机。正常的话,过一会后会显示如下界面

在这里插入图片描述
选择 Graphical install (图形化界面安装),回车,继续安装。

在安装过程中,点击鼠标进入虚拟机窗口后,如果移动鼠标超出虚拟机窗口后不能脱离虚拟机控制,可按电脑键盘右侧的 Ctrl 按键,由主机系统接管鼠标。

继续 Debian 的安装, 后续过程和选择的选项或说明简单罗列如下:

  • select a language (安装过程使用的语言,及已安装系统的默认语言):中文(简体)
  • 区域(系统时区、区域等):中国
  • 键盘:汉语
  • 配置网络主机名:debian11
  • 域名:不填,留空
  • 设置系统管理员 root 用户密码:自定
  • 设置普通用户账号和密码:自定
  • 磁盘分区 - 分区方法:使用整个磁盘
  • 磁盘分区 - 选择磁盘:SCSI3(0,0,0) - sda
  • 磁盘分区 - 方案:将所有文件放在一个分区中
  • 磁盘分区 - 将改动写入磁盘:是。此时可以断开网络连接了,否则后面的安装非常慢
  • 安装基本系统:这步要花点时间,耐心等一小会
  • 配置软件包管理器 - 扫描额外的安装介质:否
  • 配置软件包管理器 - 使用网络镜像:否。
  • 正在设定 popularity-contest : 否
  • 软件选择:只选择一个 ssh server , 或全不选
  • 安装 GRUB 启动引导器: 是
  • 安装 GRUB 启动引导器:/dev/sda

安装结束后,虚拟机自动重启,进入 debian ,等待用户登录。


四、Debian11系统环境配置

为方便后面的使用,下面进行一些系统的配置和几个工具的安装。

继续之前,用 root 登录进虚拟机,修改 /etc/default/local 文件内容 :

nano /etc/default/local

打开后,注释所有行

#  File generated by update-locale
# LANG="zh_CN.UTF-8"
# LANGUAGE="zh_CN:zh"

修改好后,分别按 Ctrl-X 组合键、y 和回车键,保存并退出 nano。使用 date 命令,查看当前时间,能看到年月日中夹杂着菱形乱码。 重启系统:

date

reboot

重启后,再次使用 date 命令显示当前时间,可看到输出结果为正常的英文时间表达。

配置光盘软件镜像源

(尽管下载的 是DVD 镜像,但需要的软件还是不全,所以建议直接使用下面一节介绍的镜像源。此节只就为需要光盘安装的时被查)
先在虚拟机的设备分配光驱中指定 debian11 的镜像文件
在这里插入图片描述
登录debian后,查看光驱设备名

cat  /proc/sys/dev/cdrom/info

系统显示光驱信息:
在这里插入图片描述可知光驱设备名称为 sr0

手动挂载光盘到 /media/cdrom 目录

mount /dev/sr0 /media/cdrom

查看 /media/cdrom , 能看到镜像光盘的内容。

修改指定挂载点为软件源

nano /etc/apt/sources.list

添加刚挂载的光盘(ISO)挂载点为软件源。

deb [trusted=yes] file:/media/cdrom/ bullseye contrib main

其中 /media/cdrom 为上一步挂载点,路径后面的 bullseye contrib main 可参照使用 apt-cdrom add 命令自动生成的信息填写,[trusted=yes] 告诉 APT 该源是可信的。详细说明参考官方文档 SOURCES.LIST(5).

配置国内镜像软件源

以阿里云镜像站配置(官方说明)为例:
编辑/etc/apt/sources.list文件(需要使用sudo), 在文件最前面添加以下条目(操作前请做好相应备份)

nano /etc/apt/sources.list

替换内容为

deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb http://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main
deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib

更新软件源列表

apt update

也可以使用清华大学的开源镜像站,具体详见 Debian 镜像使用帮助(清华大学)

控制台鼠标支持 / 安装虚拟机增强功能

延续上一小节的方法,使用光盘镜像源,挂载镜像文件,然后安装虚拟机增强功能需要的前置软件 bzip2

挂载光驱
mount /dev/sr0 /media/cdrom

apt update
apt install bzip2

安装成功后,卸载光驱
umount  /media/cdrom

打开i虚拟机的设备菜单,选择分配光驱子菜单下的镜像文件 VBoxGuestAdditions.iso

mount /dev/sr0 /media/cdrom

sh /media/cdrom/VBoxLinuxAdditions.run

重启系统 
reboot -h now

SSH 接入

如果上面安装系统的时候,已经选择安装了 ssh server , 可跳过本节前半部分的安装内容。

apt update

安装 OpenSSH SSH server

apt install openssh-server

systemctl enable ssh 

systemctl start ssh 

systemctl status ssh 

默认情况下,您将无法以 root 身份访问 OpenSSH SSH 服务器。 如果您需要以 root 用户身份登录 SSH 服务器,则必须从 sshd_config 文件中启用它。

nano /etc/ssh/sshd_config

将 #PermitRootLogin prohibit-password修改为 PermitRootLogin yes

#PermitRootLogin prohibit-password
PermitRootLogin yes

修改好后,分别按 Ctrl-X 组合键、y 和回车键,保存并退出 nano

重启 ssh 服务

systemctl restart ssh

我们通过 ssh 客户端软件,如 XShell,就能连接到虚拟机的 ssh 服务。

国际化和本地化

用虚拟机登录 debian 控制台,输入 date 命令查看当前时间,会看到有菱形乱码。这是由于安装过程中安装过程语言选择了简体中文,它同时也是安装后系统的默认语言。但由于系统内核没有默认安装中文字库,所以在终端窗口以默认中文语言显示提示信息时,中文字符就显示成了菱形乱码。

下面我们先安装中文字体包,再作一些相关解释。

apt install xfonts-intl-chinese

更多的字体软件包信息,可访问
https://packages.debian.org/bullseye/fonts/

如果安装失败,则需要修改 apt 源

nano  /etc/apt/sources.list

注释光盘源,替换默认源为国内的源

# deb [trusted=yes] file:/media/cdrom bullseye contrib main
# deb http://security.debian.org/debian-security bullseye-security main contrib
# deb-src http://security.debian.org/debian-security bullseye-security main contrib
deb http://mirrors.163.com/debian/ bullseye main non-free contrib
deb http://mirrors.163.com/debian/ bullseye-updates main non-free contrib
deb http://mirrors.163.com/debian/ bullseye-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ bullseye main non-free contrib
deb-src http://mirrors.163.com/debian/ bullseye-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ bullseye-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ bullseye/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ bullseye/updates main non-free contrib

应用软件的多语言化或本地语言的支持,通过2个步骤完成:先是国际化,使得软件能够处理多个语言环境;然后是本地化。国际化的单词是Internationalization,字母 I 开头,N结尾,中间有18个字母,所以缩写成 I18N。同理,本地化 Localization 缩写为 L10N,多语言化 multilingualization 缩写为 M17N。

本地化语言环境一般是反映一个国家或文化的性质和惯例的一组值,它们存储为一组环境变量,代表语言、字符编码、日期和时间格式、默认纸张大小、国家/地区的货币以及一周的第一天等。

使用 locale 命令查看语言环境:

root@debian:~# locale
LANG=zh_CN.UTF-8
LANGUAGE=
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

如果安装时语言选择中文,区域选择香港,locale 命令的返回结果除了 LC_ALL,其他语言环境变量的值都会是 zh_HK.UTF-8

我们可通过重新配置 Debian 语言环境包来调整系统的语言环境,这由命令 dpkg-reconfigure 实现:

dpkg-reconfigure locales

命令提示:区域设置(locale)是一种在多种语言之间切换的框架,用户可以通过它来设定自己的语言、国家、字符集、字符串排序方式等。请选择需要生成的区域设置。通常应当选择 UTF-8 字符集的区域设置,特别是对于新安装的系统。其他的字符集一般用于兼容旧系统和旧软件。

在区域设置列表中,课通过上下箭头选择区域,通过空格键切换选中状态。我们选择 en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8 两项。 确定,继续选择一项缺省的区域设置。此时选择 en_US.UTF-8 。确定,保存执行。这会更改 /etc/default/locale 和 /etc/locale.gen 文件的内容。重新登录系统,再执行 date 和 locale 命令,将看到默认语言成了英文。

nano /etc/default/locale

注释掉下面两行

LANG=”zh_CN.UTF-8″
LANGUAGE=”zh_CN:zh”
export LANG=zh_CN-UTF-8
export LANG=en_US-UTF-8
export LANG=zh_CN.UTF-8
date
2022年 06月 17日 星期五 14:17:43 CST

export LANG=en_US.UTF-8
date
Fri 17 Jun 2022 02:17:56 PM CST

切换设置 LANG环境变量,调用 date 命令,可分别看到汉语和英文显示的当前日期。

配置网卡

默认情况下,系统网络接口会请求 dhcp 服务动态分配 ip 地址,这样每次启动后,获取的 ip 地址可能是动态变化的,这对需要特定 ip 的应用(比如 ssh 连接)造成麻烦。

检查网络接口

ip -c link

输出结果如下:
在这里插入图片描述命令 ip 可获取系统可用网络接口的详细信息,是 Internet Protocol 的缩写。子命令 link 查看和修改网络接口。

命令结果显示,系统有两个网络接口: lo 和 enp0s3

lo代表本地环路接口,是 local 的缩写。lo 是一个系统虚拟的环回接口,代表设备的本地虚拟接口,IP地址是 127.0.0.1,利用这个接口可以实现系统内部发送和接收数据。通常在不安装网卡前就可以ping通这个本地回环地址。所以 lo 接口不是我们的所关心的。

另一个接口是 enp0s3,en 标识 ethernet,en后面的p 代表独立网卡、PCI网卡。p3s0代表PCI接口的物理位置为(3, 0), 其中横座标代表bus,纵座标代表slot 。

下表是网络接口命名的具体解释:

/*
 * Two character prefixes based on the type of interface:
 *   en — Ethernet
 *   sl — serial line IP (slip)
 *   wl — wlan
 *   ww — wwan
 *
 * Type of names:
 *   b<number>                             — BCMA bus core number
 *   c<bus_id>                             — CCW bus group name, without leading zeros [s390]
 *   o<index>[d<dev_port>]                 — on-board device index number
 *   s<slot>[f<function>][d<dev_port>]     — hotplug slot index number
 *   x<MAC>                                — MAC address
 *   [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]
 *                                         — PCI geographical location
 *   [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]
 *                                         — USB port number chain
 */

由上可见,enp0s3 是我们将为其设置静态 IP 的网络接口

使用 nano 编辑器中打开网络接口配置文件/etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug enp0s3
# iface enp0s3 inet dhcp
auto enp0s3
iface enp0s3 inet static
address 192.168.1.113
netmask 255.255.255.0
gateway 192.168.1.1

重启和查看网络服务, 查看网络接口新分配的 ip 地址

systemctl restart networking
systemctl status networking
ip -c addr show enp0s3

结语

安装相对简单,初始配置还是有点麻烦。万事开头难,咬咬牙,也就过来了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ForestK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值