本文说明如何通过现有的 Unix 或 Linux 系统来安装 Debian GNU/Linux,而非使用由菜单驱动的安装程序。
在本文中,假设对于输入命令以及在文件系统中穿梭移动并不生疏。
一旦根据自己的要求配置好了新的 Debian 系统,就可以将来系统中的用户数据悉数迁移到新系统里去。
一言以蔽之,这是一次“不停机”的 Debian GNU/Linux 安装。
同时,这也是处理那些因为硬件原因不能通过任何引导或者安装介质完成安装的权宜之计。
注意:
由于绝大多数操作都是手动进行,应该记住这将需要自己对系统做大量地基本配置,并且要具有比常规安装更多的 Debian 和 Linux 知识。
不要期望这种执行的结果与常规安装完全相同。
还应该明白这一过程只是建立一个系统的基本步骤。
可能还需要额外的安装、或者配置步骤。
确保有至少一台可以正常使用且能连接互联网的电脑
下载 LiveCD 系统
写入 LiveCD 到 U 盘
安装系统
1、 获取安装映像
打开镜像地址,下载相应的安装系统的任意镜像。
注意:
镜像地址是可以自由选择的,可以选择更靠近的镜像服务器,
为了保险起见,下载好的文件需要校验其完整性。
若安装映像是从镜像站点下载,而非从官网下载的话,则签名是可以被伪造的。
在这种情况下,请确保用来解码签名的公钥是被另一个可信的密钥签署的。
gpg
命令将会输出公钥的指纹。
2、 准备安装介质
安装映像可以通过 U 盘、光盘和带 PXE 的网络提供给目标机器。
请按照合适的文章,使用所选映像为自己准备安装介质。
3、 启动到 Live 环境
注意:
若安装镜像不支持安全启动(Secure Boot)。
要引导安装介质,需要禁用安全启动。
若需要,可在完成安装后重新配置安全启动。
将准备好的 U 盘插上需要安装系统的电脑后重启/开启该电脑,通过按键(Esc/Del/F2/F10/F12)进入启动选项,选择后进入到 U 盘内的 LiveCD 环境。
如需配置 UEFI 启动,务必同样以 UEFI 方式启动 U 盘内的系统(选择时会有带 [U]EFI 和不带 [U]EFI 字样的两种 U 盘启动选项)。
注意:
根据主板不同,开机时选择启动项的方式也不同,一般可以按下 F12 来进行选择,若无效则可以通过 F2 进入到 BIOS 操作界面,找到 boot 相关的选项选择对应的 U 盘来启动,这里无法一一说明。
若不知道 UEFI 是什么,那这里也先不用去查,看到有 UEFI 启动先以 UEFI 启动即可。
简而言之,是一个替代了老式 BIOS 新的固件接口,可用于引导系统的启动,且更适配 GPT 分区表(无需使用额外的 boot 分区)。
扩展阅读请自行查阅。
启动时,请注意提示信息, BIOS 模式下会多一个手动启动的提示,需要在 15s 内选择,否则会正常启动硬盘下的系统。
4、 控制台键盘布局
控制台键盘布局默认为 us
(美式键盘)。
列出所有可用的键盘布局,可以使用:
# ls /usr/share/kbd/keymaps/**/*.map.gz
若想要更改键盘布局,可以将相应文件名添加进 loadkeys,但请省略路径和扩展名。
比如,要添加德语键盘布局:
# loadkeys de-latin1
控制台字体位于 /usr/share/kbd/consolefonts/
目录中。
5、 验证引导模式
要验证引导模式,请用下列命令行出 efivars
目录:
# ls /sys/firmware/efi/efivars
若命令结果显示了目录且没有报告错误,则系统以 UEFI 模式引导。
若目录不存在,则系统可能以 BIOS 模式 (或 CSM 模式) 引导。
若系统未以想要的模式引导启动,请参考主板说明书。
要在 Live 环境中配置网络连接,请跟随以下步骤:
确保系统已经启用了网络接口,用 ip-link 检查:
# ip link
对于无线局域网(Wi-Fi)和无线广域网(WWAN),请确保网卡未被 rfkill 禁用。
要连接到网络:
配置网络连接:
用 ping 检查网络连接:
# ping baidu.com
在 Live 环境中 systemd-timesyncd
默认启用,创建互联网连接后,时间将自动同步。
使用 timedatectl
确保系统时间是准确的:
# timedatectl set-ntp true
可使用 timedatectl status
检查服务状态。
系统若识别到磁盘,就会将其分配为一个块设备,如 /dev/sda
、/dev/nvme0n1
或 /dev/mmcblk0
。可使用 lsblk
或者 fdisk
查看:
# fdisk -l
结果中以 rom
、loop
或者 airoot
结尾的设备可被忽略。
对于一个选定的设备,以下分区是必须要有的:
/
;若需要创建多级存储例如 LVM、disk encryption 或 RAID,请在此时完成。
请使用 fdisk 或 parted 修改分区表。例如:
# fdisk /dev/
注意:
若想要的磁盘没有显示出来, 确保磁盘控制器未处于RAID模式.
若要启动的磁盘已经有一个EFI系统分区,不要新建
EFI
分区,请使用现有的分区。若文件系统支持,交换空间 可通过 交换文件 实现。
亦可使用更为简单的cfdisk
对磁盘进行分区处理,使用命令如下:
# cfdisk /dev/
注意:
若在此处误将
GPT
分区与MBR
分区弄错,可使用如下命令进行转换:
GPT
分区转MBR
分区:使用
parted
工具转换,若系统未含有该工具,请先安装后再执行如下命令:# parted -s /dev/
mklabel msdos
UEFI 与 GPT |
|||
---|---|---|---|
挂载点 | 分区 | 分区类型 | 建议大小 |
/mnt/boot 1 |
/dev/*efi_system_partition* |
EFI 系统分区 | 至少 300 MiB |
[SWAP] |
/dev/*swap_partition* |
Linux swap (交换空间) | 大于 512 MiB |
/mnt |
/dev/*root_partition* |
Linux x86-64 根目录 (/) | 剩余空间 |
若使用的引导加载程序能够从根磁盘卷中加载内核和 initramfs
映像,则可使用其他挂载点(例如 /mnt/efi
)。
BIOS 与 MBR |
|||
---|---|---|---|
挂载点 | 分区 | 分区类型 | 建议大小 |
[SWAP] |
/dev/*swap_partition* |
Linux swap (交换空间) | 大于 512 MiB |
/mnt |
/dev/*root_partition* |
Linux | 剩余空间 |
创建分区后,必须使用合适的文件系统对每个新创建的分区进行格式化。
例如,要在根分区 /dev/*root_partition*
上创建一个 Ext4 文件系统,请运行:
# mkfs.ext4 /dev/*root_partition(根分区)*
若创建了交换分区,请使用 mkswap 将其初始化:
# mkswap /dev/*swap_partition(交换空间分区)*
注意:
对于堆叠式块设备(stacked block devices)请使用恰当的块设备路径替换上文中的
/dev/**_partition*
处。
若要创建一个 EFI
系统分区,使用 mkfs.fat
将其格式化为 Fat32
。
警告:
只有在分区步骤中创建 EFI 系统分区时才需要格式化。
若这个磁盘上已经有一个 EFI 系统分区了,重新格式化会破坏其他已安装操作系统的引导加载程序。
# mkfs.fat -F 32 /dev/*efi_system_partition*
注意:
除了上述所述的
ext4
文件系统、fat32
文件系统以外,其它文件系统还有xfs
、BtrFS
、zfs
等。当然
zfs
需要额外编译内核模块,新手安装不建议考虑。
BtrFS
文件系统,有写时复制,子卷,快照,透明压缩等一系列功能,对 SSD 也有额外优化,但也有碎片严重等问题。若考虑采用BtrFS
,建议先了解清楚。BtrFS
文件系统现在是openSUSE
和Fedora
桌面变体的默认文件系统。
xfs
是Red Hat Enterprise Linux
的默认文件系统。
将根磁盘卷挂载到 /mnt
,例如:
# mount /dev/*root_partition(根分区)* /mnt
使用 mkdir
创建其他剩余的挂载点(比如 /mnt/efi
)并挂载其相应的磁盘卷。
提示:
使用
--mkdir
选项运行 mount 来创建指定的挂载点。或者,先使用 mkdir 创建挂载点再挂载。
注意:
挂载分区一定要遵循顺序,先挂载根(root)分区(到
/mnt
),再挂载引导(boot)分区(到/mnt/boot
或/mnt/efi
,若单独分出来了的话),最后再挂载其他分区。否则可能遇到安装完成后无法启动系统的问题。
对于 UEFI
系统,挂载 EFI 系统分区:
# mount /dev/*efi_system_partition* /mnt/boot
若创建了交换空间卷,请使用 swapon 启用:
# swapon /dev/*swap_partition(交换空间分区)*
debootstrap
是Debian 安装程序使用的工具,同时也作为安装 Debian 基本系统的正式方法。
debootstrap
调用了 wget
和 ar
,而其他的仅依赖 /bin/sh
和基本的 Unix/Linux 工具。
提示:
基本的 Unix/Linux 工具包括 GNU core 工具和命令,
像
sed
、grep
、tar
和gzip
。
若系统里还没有 wget
和 ar
,首先安装 wget
和 ar
,再使用相应系统的软件包安装工具下载并安装 debootstrap
。
若系统的软件包安装工具中没有debootstrap
,也可以通过下面的步骤手动安装。
① 新建一个 work
目录,用于解压 .deb
文件:
# mkdir work
# cd work
② 下载 debootstrap .deb
,其位于 pool
,把软件包拷贝到 work
目录,并解压该文件。
debootstrap
的二进制文件位于 Debian archive 。请确保选择了合适的架构文件。
要将这些文件安装到系统,需要
root
权限。
# ar -x debootstrap_0.X.X_all.deb
# cd /
# zcat /full-path-to-work/work/data.tar.gz | tar xv
运行 debootstrap
后,会从 archive
直接下载所需的文件。
在下面的命令示例中,可以根据自己的网络情况,选择一个较近的 Debian archive 镜像,替换 http.us.debian.org/debian
。
镜像列表位于这里。
若已经把一张 Debian GNU/Linux 安装映像挂载到 /cdrom
,那么也可以把 http URL 替换成 file URL,即:file:/cdrom/debian/
# /usr/sbin/debootstrap --arch ARCH bullseye \
/mnt/debinst http://ftp.us.debian.org/debian
注意:
① 用下面其中一个架构替换
debootstrap
命令中的ARCH
:
amd64
arm64
armel
armhf
i386
mips64el
mipsel
ppc64el
s390x
② 若目的架构与主机不同,那么应该添加
--foreign
选项。
若需要安装一些软件包,亦可将软件包添加进命令之中,示例命令如下:
debootstrap --arch=amd64 --include=linux-image-amd64,systemd,systemd-coredump,grub-pc,makedev,locales,,man,sudo,bash-completion bullseye /mnt https://mirrors.bfsu.edu.cn/debian/
debootstrap
执行成功后会显示如下提示:
I: Base system installed successfully.
注意:
① 该下载过程或许很漫长,具体情况与网速挂钩。
② 若为UEFI的电脑,安装时可将
grub-pc
软件包更换为grub-efi-amd64
软件包,并在/boot
文件夹下创建EFI
挂载点且挂载。
使用blkid
命令查看分区ID
,并在/etc/fstab
文件中,添加挂载点配置,配置格式如下所示:
# UNCONFIGURED FSTAB FOR BASE SYSTEM
#
注意:
①
#
开头的为注释,为后续添加挂载点方便,最好添加一个格式注释。② 其中,
为要挂载的分区或存储设备,即相应的
UUID
为挂载点
为文件系统类型
为挂载时使用的参数
为是否做备份
为需要检查的文件系统的检查顺序
样板如下,可以根据自己的情况对其进行修改:
# /etc/fstab: static file system information.
#
# UNCONFIGURED FSTAB FOR BASE SYSTEM
# file system mount point type options dump pass
/dev/XXX / ext3 defaults 0 1
/dev/XXX /boot ext3 ro,nosuid,nodev 0 2
/dev/XXX none swap sw 0 0
proc /proc proc defaults 0 0
/dev/cdrom /media/cdrom iso9660 noauto,ro,user,exec 0 0
/dev/XXX /tmp ext3 rw,nosuid,nodev 0 2
/dev/XXX /var ext3 rw,nosuid,nodev 0 2
/dev/XXX /usr ext3 rw,nodev 0 2
/dev/XXX /home ext3 rw,nosuid,nodev 0 2
以下为实机的其中一行,亦可作为参照:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 rw,relatime 0 2
亦可使用Arch Linux中的genfstab
工具进行一键配置,下载Arch Linux中的genfstab
工具后,执行如下命令:
# genfstab -U /mnt >> /mnt/etc/fstab
同时,可使用MX Linux中的make-fstab
工具进行一键配置,下载MX Linux中的make-fstab
工具后,执行如下命令:
# make-fstab --install=/mnt
注意:
genfstab
工具,可使用-U
或-L
选项设置 UUID 或卷标。
make-fstab
工具,可使用make-fstab --swap-only
命令,仅为fstab
增加swap
分区。强烈建议在执行完以上命令后,检查一下生成的
/mnt/etc/fstab
文件是否正确。
使用mount
命令挂载必要的文件系统
/proc
是一个由内核暴露信息到环境下的伪文件系统
# mount --types proc /proc /mnt/proc
/sys
是类似 /proc
但比其更结构化的伪文件系统
# mount --rbind /sys /mnt/sys
/dev
是由 udev
管理,包含所有设备文件的普通文件系统
# mount --rbind /dev /mnt/dev
可以通过 mount -a
来挂载 /etc/fstab
中所标明的所有文件系统,也可以逐个分别地挂载这些文件系统,例如:
# mount /path # e.g.: mount /usr
额外进行二次挂载:
# mount --make-rslave /mnt/sys
# mount --make-rslave /mnt/dev
# mount -t proc proc /mnt/proc
# mount none /proc -t proc
# mount -t sysfs sysfs /mnt/sys
现在磁盘上已经有了一个功能虽弱但却是真正的 Debian 系统。
键入 chroot
命令进入:
# LANG=C.UTF-8 chroot /mnt /bin/bash
进入Chroot
后,或许会出现无法使用某些工具的情况,该情况一般为权限不足,可使用如下命令进行权限提升:
# su
使用 makedev
软件包,创建并更新默认的静态设备文件:
# cd /dev
# MAKEDEV generic
手动创建指定的设备文件,使用 MAKEDEV
将 host
系统上加载的 /dev
绑定到 target
系统的 /dev
注意:
有些软件包的
postinst
脚本会创建设备文件,因此,要小心使用改选项。
使用以下命令进行时区的设置:
# ln -sf /usr/share/zoneinfo/*Region(地区名)*/*City(城市名)* /etc/localtime
提示:
以要设置为上海时区为例,请运行
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
然后运行 hwclock
以生成 /etc/adjtime
:
# hwclock --systohc
这个命令假定已设置硬件时间为 UTC 时间。
程序和库若需要本地化文本,都依赖区域设置,后者明确规定了地域、货币、时区日期的格式、字符排列方式和其他本地化标准。
需在这两个文件设置:locale.gen
与 locale.conf
。
编辑 /etc/locale.gen
,并取消掉 en_US.UTF-8 UTF-8
和其他需要的 区域设置 前的注释(#
)。
接着执行 locale-gen
以生成 locale
信息:
# locale-gen
创建 locale.conf
文件,并 编辑设定 LANG 变量,比如:
# editor /etc/locale.conf
LANG="en_US.UTF-8""
提示:
用户可自行设置
locale
;将系统 locale 设置为
en_US.UTF-8
,系统的log
就会用英文显示,这样更容易判断和处理问题;
亦可设置为
en_GB.UTF-8
或en_SG.UTF-8
,附带以下优点:
- 进入桌面环境后以 24 小时制显示时间;
- LibreOffice 等办公软件的纸张尺寸会默认为
A4
而非Letter(US)
;- 可尽量避免不必要且可能造成处理麻烦的英制单位。
设置的 LANG 变量需与 locale 设置一致,否则会出现以下错误:
- `Cannot set LC_CTYPE to default locale: No such file or directory`
警告:
不推荐在此设置任何中文
locale
,会导致tty
乱码。
亦可使用的locales
支持软件包,进行配置:
# apt install locales
# dpkg-reconfigure locales
若需要修改 控制台键盘布局,可编辑 vconsole.conf
使其长期生效,例如:
# editor /etc/vconsole.conf
KEYMAP=*de-latin1*
若需修改键盘布局,亦可使用console-setup
软件包,进行配置:
# apt install console-setup
# dpkg-reconfigure keyboard-configuration
要配置网络,编辑 /etc/network/interfaces
、/etc/resolv.conf
、/etc/hostname
和 /etc/hosts
。
# editor /etc/network/interfaces
以下的简单例子来自 /usr/share/doc/ifupdown/examples
:
######################################################################
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# See the interfaces(5) manpage for information on what options are
# available.
######################################################################
# The loopback interface isn't really required any longer, but can be used
# if needed.
#
# auto lo
# iface lo inet loopback
# To use dhcp:
#
# auto eth0
# iface eth0 inet dhcp
# An example static IP setup: (network, broadcast and gateway are optional)
#
# auto eth0
# iface eth0 inet static
# address 192.168.0.42
# network 192.168.0.0
# netmask 255.255.255.0
# broadcast 192.168.0.255
# gateway 192.168.0.1
在 /etc/resolv.conf
输入名称服务器和搜索域:
# editor /etc/resolv.conf
来自 /etc/resolv.conf
的简单示例:
search example.com
nameserver 10.1.1.36
nameserver 192.168.9.100
创建 hostname
文件,输入系统的主机名(2到63个字符):
# editor /etc/hostname
myhostname(主机名)
简单的带 IPv6 支持的 /etc/hosts
:
127.0.0.1 localhost
127.0.1.1 DebianHostName
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
若有多张网卡,该在 /etc/modules
文件内以适当的顺序排列驱动程序模块名。
在启动期间,每张卡将会获得期望的接口名称(eth0
,eth1
,等等)。
请接着完成新安装的环境的网络配置,配置过程中可能需要安装合适的网络管理软件。
Apt
debootstrap
会创建一个非常基本的 /etc/apt/sources.list
文件用于安装额外的软件包。
但还可以增加一些其他的源,比如源码包和安全更新:
deb-src http://ftp.us.debian.org/debian bullseye main
deb http://security.debian.org/ bullseye-security main
deb-src http://security.debian.org/ bullseye-security main
注意:
① 修改源列表之后一定要执行
apt update
。② 亦可使用其他镜像源的源码包和安全更新源。
要想启动这个系统,还需要一个 Linux 内核和一个启动加载程序。
可以用下面指令找到那些预先打包的内核:
# apt search linux-image
根据所选取的软件包名称安装内核软件包。
# apt install linux-image-
Boot Loader
设置要让 Debian GNU/Linux 系统能够启动,还要创建 boot loader,以便让加载安装的内核并用上新的根分区。
注意 debootstrap
不会安装 boot loader
,因此要在 Debian 的 chroot
中使用 apt
完成。
通过查阅 info grub
可以得到一些有关设置 bootloader
的提示。
若希望继续保留曾经安装 Debian 的系统,安装到现有的 grub2
grub.cfg
中。
使用如下命令,安装和建立 grub2
:
BIOS
系统引导安装:# apt install grub-pc
# grub-install --target=i386-pc
其中 /dev/sdX
是要安装 GRUB
的磁盘(不是分区),
比如磁盘 /dev/sda
、/dev/nvme0n1
或者/dev/mmcblk0
,而 不是 分区 /dev/sda1
。
UEFI
系统引导安装:注意:
不同硬件厂商的 UEFI 实现方式不一样,下面描述的步骤应该可在大部分 UEFI 系统上面正常应用。
对于用了下面的方法却遇到问题的用户,请将在特定的硬件上所遇到的问题的细节,以及可能的解决办法分享出来。
这些案例可添加到页面 GRUB/EFI examples (简体中文) 上面。
本节假设正在 x86_64 系统上安装 GRUB。
- 对于 IA32 (32 位) UEFI 系统(不要和 32 位 CPU 相混淆), 将
x86_64-efi
替换成i386-efi
。
根据如上步骤安装软件包 grub
和 efibootmgr
。
其中“GRUB
”是启动引导器,“efibootmgr
”被 GRUB
脚本用来将启动项写入 NVRAM
。
按照下列步骤将GRUB
安装到硬盘上:
EFI
系统分区。需要注意的是在本节的内容里,把 *esp*
替换成ESP
分区挂载点;GRUB
。这将在 *esp*/EFI/
中创建一个与标识同名的目录来储存 EFI 二进制文件,而且这个名字还会用于在 UEFI 启动菜单中区分 GRUB
启动项;grubx64.efi
安装到 *esp*/EFI/GRUB/
,并将其模块安装到 /boot/grub/x86_64-efi/
。注意:
确保安装
GRUB
软件包和运行命令的系统是想用GRUB
引导的系统。即,若是通过安装介质引导,则需要
chroot
之后再运行grub-install
。若因某些原因不得不在安装的系统之外运行
grub-install
,则在后面加上--boot-directory=
选项来指定挂载/boot
目录的路径,如--boot-directory=/mnt/boot
。
# grub-install --target=x86_64-efi --efi-directory=*esp* --bootloader-id=GRUB
上述安装完成后 GRUB
的主目录将位于 /boot/grub/
。
注意上述例子中,grub-install
还将在固件启动管理器中创建一个条目,名叫 GRUB
。
若启动项已满,这个命令会执行失败。
需要使用 efibootmgr 来删除不必要的条目。
在配置完成后,记得#生成主配置文件。
提示:
若使用了
--removable
选项,GRUB
将被安装到*esp*/EFI/BOOT/BOOTX64.EFI
(当使用i386-efi
时是*esp*/EFI/BOOT/BOOTIA32.EFI
),此时即使EFI
变量被重设或该驱动器接到其他电脑上,仍可从该驱动器上启动。通常来说,只要像操作
BIOS
设备一样在启动时选择这个驱动器即可。若设备是同时安装了
Windows
的多引导启动,注意Windows
通常会在这里安装一个EFI
可执行程序,该程序的目的是仅重建Windows
的UEFI
启动项。若想在Mac上安装
GRUB
,则必须要使用该选项。
注意:
--efi-directory
和--bootloader-id
是GRUB UEFI
特有的。
--efi-directory
替代了已经废弃的--root-directory
。可能注意到在
grub-install
命令中没有 device_path 选项(如/dev/sda
)。
- 事实上即使提供了 device_path,也会被
GRUB UEFI
安装脚本忽略,因为UEFI
启动加载器不使用MBR
启动代码或启动扇区。
完成安装之后,GRUB 在每次启动的时候载入配置文件 /boot/grub/grub.cfg
。
可使用工具来#生成 grub.cfg,或者可可动#定制 grub.cfg。
Note:
请记住,每当修改
/etc/default/grub
或者/etc/grub.d/
中的文件之后,都需要再次生成主配置文件。
安装后,需要生成主配置文件 /boot/grub/grub.cfg
。
配置文件的生成过程受到 /etc/default/grub
中的选项和 /etc/grub.d/
下脚本的影响。
若未进行额外配置,自动生成程序会在当前启动的系统的根文件系统中侦测配置文件。
所以请确保系统已经启动或者已经通过 chroot
进入。
注意:
默认的文件路径是
/boot/grub/grub.cfg
,而非/boot/grub/i386-pc/grub.cfg
。若在
chroot
或者systemd-nspawn
容器中运行grub-mkconfig
,可能会报grub-probe
无法获取 “canonical path of /dev/sdaX
” 错误而无法正常执行。此时可尝试使用chroot
。若在使用了
LVM
的chroot
环境中安装GRUB
,grub-mkconfig
会无限期挂起。
使用 grub-mkconfig
工具来生成 /boot/grub/grub.cfg
:
# grub-mkconfig -o /boot/grub/grub.cfg
自动生成脚本默认将在生成的配置文件中为所有已安装的 内核添加条目。
Root
密码默认禁用 root
登录密码,因此可以通过设置密码来设置访问权限,并用密码重新启用 root
登录:
# passwd
使用如下命令,新建一个非root
的个人用户,以提高安全性:
# useradd -m -s /bin/bash <用户名>
使用如下命令,设置个人用户的账号密码:
# passwd <用户名>
若使用vim
,可使用如下命令进行简单设置:
# EDITOR=vim visudo
若使用nano
,则需要修改sudoers
文件,命令如下:
# nano /etc/sudoers
在root
下添加如下内容,以使得个人用户可以提权:
<用户名> ALL=(ALL) ALL
如前所述,安装的是很基本的系统。
若想更成熟一些,有一个简单的方法,使用 “standard” 优先级来安装所有的软件包:
# tasksel install standard
当然,也可以用 apt
来安装单独的软件包。
安装之后,/var/cache/apt/archives/
里面会有大量下载的软件包。
可以运行下面命令释放空间:
# apt clean
为防止开机后没有网络可用而导致很多功能无法使用,在
LiveCD
的Chroot
环境下先设置好网络环境。使用
systemd
将网络设置为开机自启动:# systemctl enable Network-Manager
使用如下命令卸载之前挂载的文件系统:
# chroot退出前
sync
umount /proc
umount /sys
umount /boot
exit
# 退出后
cd /
umount -R /mnt
输入 exit
或按 Ctrl+d
退出 chroot 环境。
可选用 umount -R /mnt
手动卸载被挂载的分区:
这有助于发现任何“繁忙”的分区,并通过 fuser 查找原因。
通过执行 reboot
重启系统,systemd
将自动卸载仍然挂载的任何分区。
不要忘记移除安装介质,使用 root
帐户或创建的新账户登录到新系统。
D.3. 通过 Unix/Linux 系统来安装 Debian GNU/Linux
安装指南 - Arch Linux 中文维基
Gentoo Linux 安装及使用指南 - bitbili.net
通过debootstrap安装debian系统笔记