Install Debian, the Arch Way – debootstrap使用指南
本文最后更新于 217 天前,其中的信息可能已经有所发展或是发生改变。

Debian Installer确实很好用,但是在某些地方却不是很好用。比如当我们要为Debian安装的目标分区使用BTRFS文件系统时,Debian Installer却缺失了更加精细的子卷控制功能(默认只会把所有文件全部扔到@rootfs子卷当中)。以及在安装结束之后,我还发现有些不需要的包也被同时安装上去了(普通的虚拟机几乎不需要任何firmware包和任何microcode包)。

学习完Arch Linux的安装之后,实际上我在想,如果能以类似Arch Linux的安装方式安装Debian就好了。

然后,就发现了debootstrap。名字看起来和pacstrap很像,对吧。确实,两者的操作之间有很多相似的地方。

提醒

本文建议有较多Linux使用经验,以及对Debian的操作方法比较熟悉的读者进行阅读。除非有必要(比如更细致的btrfs子卷配置),否则通通建议使用Debian官方的安装镜像,以免去大量配置的烦恼。

如果你正在准备用这种方法往实体机上安装Debian,建议先弄清楚你的实体机的硬件配置情况,以确定稍后需要安装什么驱动。

你问我最近为什么研究Debian?还不是被Ubuntu劝退过来的。Ubuntu的Snap包的的确确恶心到我了(但是最近很喜欢Flatpak)。

准备一张Live CD

这里推荐使用Debian最新版本的Live CD(如果可以,选一个带桌面环境的版本,会方便很多操作)。

一个比较有意思的事实:Debian Live CD下安装了一些需要的包后,你甚至可以在Debian Live CD里使用pacstrap安装Arch Linux。

当然,你也可以用archiso。

进入Live环境

使用你的Live CD引导系统,进入Live环境。接下来的步骤将使用VMware Workstation进行演示。

在进入Live环境后,根据需要完成分区操作(具体操作可阅读这篇博文:xxx)。

在分区完成后,将所有需要的分区都挂载至/mnt。需要注意的是,如果你正在使用UEFI,则必须将EFI分区挂载至/mnt/boot/efi,否则稍后grub-install将无法正常安装。

在完成上述操作之后,根据使用的Live环境不同:

archiso

pacman -Sy archlinux-keyring
pacman -S debootstrap debian-archive-keyring

Debian Live CD

sudo apt install debootstrap arch-install-scripts

别的发行版Live CD

确保arch-install-scriptsdebootstrap均有安装。

开始安装

debootstrap

# 把bookworm换成你想装的Debian版本
# 根据你的喜好,更换镜像站
sudo debootstrap debian /mnt https://mirrors.ustc.edu.cn/debian

之后等待debootstrap执行完成,你就拥有了一个最小的Debian环境。

# 生成fstab内容,如果有需要,在生成完后可以编辑/mnt/etc/fstab的内容
genfstab -U /mnt >> /mnt/etc/fstab
# 做完上述操作后使用arch-chroot,进入刚刚配置好的Debian环境
arch-chroot /mnt

apt repo配置

首先配置一下apt的repo,不然有些包可能找不到。编辑/etc/apt/sources.list,下方的镜像站请根据你的需要自行替换。

如果你不需要使用非自由固件(non-free-firmware,一般虚拟机不需要非自由固件),则下面的non-free-firmware不需要。

deb http://mirrors.ustc.edu.cn/debian bookworm main contrib non-free-firmware
deb http://mirrors.ustc.edu.cn/debian bookworm-updates main contrib non-free-firmware
deb http://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib non-free-firmware

做完上述repo配置后,执行一遍apt update,如果有包可以更新,则执行apt upgrade

简易配置

在进行接下来的配置之前,先建议安装一下sudoconsole-setupapt install sudo console-setup)。

编辑/etc/hostname以修改hostname(主机名称)。

在编辑完hostname之后,需要编辑/etc/hosts,在hosts文件中将你设置的hostname指向127.0.0.1::1。若不做这一步则Debian的sudo命令可能会出现长时间无响应的问题。

下面假定hostname为debian-test

127.0.0.1       debian-test localhost
::1             debian-test localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

配置本地化信息和时区。

apt install locales
# 按顺序配置本地化信息和时区
sudo dpkg-reconfigure locales tzdata

安装软件包

安装一些常用的软件包。

如果你使用了btrfs文件系统,则需要安装btrfs-progs。如果使用了xfs则需要安装xfs-progs

# 安装常用软件包
tasksel install standard
# 安装一些你需要的软件包
apt install curl wget vim htop network-manager firewalld console-setup
# 安装内核
apt install linux-image-amd64
# 之后单独执行一次tasksel,通过tasksel界面选择需要安装的包
tasksel

实体机的固件包安装

如果是实体机安装,则还需要加装固件包(请确认是否在上面的步骤中开启non-free-firmware)。通常安装firmware-linux包就足够,如果还发现缺少别的固件,可以去Debian官方源中搜索并安装相关的固件包。

对于笔记本,为保证之后的无线网卡能正常工作,建议现在安装相关的固件包。对于Realtek的无线网卡,需要安装firmware-realtek。对于Intel的无线网卡则需要安装firmware-iwlwifi

另外还需要安装相应的微码更新文件。对于Intel平台,则需要安装intel-microcode。对于AMD平台,则需要安装amd64-microcode

GRUB

安装GRUB引导程序并安装。

# 对于Legacy BIOS+MBR的配置
apt install grub-pc
# 对于UEFI+GPT的配置
apt install grub-efi
# 安装GRUB并更新配置,grub-install后面跟Debian所在硬盘的块文件名
sudo grub-install /dev/nvme0n1
sudo update-grub

新建用户

sudo useradd -m -G sudo,adm -s /bin/bash user
sudo passwd user
# 如果可以,你可以给root用户设置一个密码
sudo passwd

结束

完成上述操作后,即可退出arch-chroot环境,并重启电脑。此时,你就安装好Debian了。

评论

  1. island443
    7 月前
    2023-10-04 14:19:44

    膜拜大佬

  2. 7 月前
    2023-10-04 15:12:37

    一个活跃的个人网站!

  3. LYOfficial
    6 月前
    2023-11-13 17:11:13

    神!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇