Debian 初始化 ☞ 入门
2024-09-30 08:00:49 # Technical # Linux

一直以来都是使用的 Ubuntu,近期准备弄一个虚拟机集群,发现 Ubuntu 实在是有点重,恰好发现 Ubuntu 之父 Debian,十分简洁,简洁也会与之带来一些问题,就此记录下

修改 hostname

查看当前主机名

1
hostname

修改主机名

1
sudo vim /etc/hostname

修改 hosts

1
sudo vim /etc/hosts

应用新主机名

1
sudo hostnamectl set-hostname <newhostname>

重启

1
sudo reboot

或者,重新加载 systemd-hostnamed 服务

1
sudo systemctl restart system-hostnamed

验证新的主机名

1
hostname

创建新用户/修改用户名

创建新用户

1
sudo useradd -m -s /bin/bash <newusername>

设置密码

1
sudo passwd <newusername>

复制旧用户的文件到新用户

1
sudo rsync -a /home/<oldusername>/ /home/<newusername>/

更改文件权限

1
sudo chown -R <newusername>:<newusername> /home/<newusername>

修改用户组

1
sudo usermod -g <newusername> <newusername>

重启,用新用户登录

删除旧用户

1
sudo userdel -r <oldusername>

注:如果执行 rsync 报错:rsync command not found,需要先安装 rsyncsudo apt-get install rsync

安装并配置 sudo

切到 root

1
su -

安装 sudo

1
apt install sudo

添加用户到 sudo 组

1
adduser [yourusername] sudo

编辑 sudo 配置文件

1
vim /etc/sudoers

允许 「yourusername」执行所有 sudo 命令

1
yourusername    ALL=(ALL:ALL) ALL

使用 ufw 管理防火墙

安装 ufw

1
2
sudo apt update
sudo apt install ufw

关闭防火墙

1
sudo ufw disable

查看防火墙状态

1
sudo ufw status

安装 OpenSSH

安装 OpenSSH 服务器

1
2
sudo apt update
sudo apt install openssh-server

启动 SSH 服务

1
sudo systemctl start ssh

配置 SSH 防火墙规则

1
sudo ufw allow 22/tcp

设置开启自启

1
sudo systemctl enable ssh

检查 SSH 服务状态

1
sudo systemctl status ssh

卸载 Gnome

精简到极致,彻底卸载 Gnomes 桌面

关闭 Gnome 会话

1
pkill gnome-session

卸载 Gnome 桌面环境及其组件

1
sudo apt remove gnome-shell gnome-session gnome-control-center gnome-terminal

删除 Gnome 相关的配置文件和数据

1
sudo apt purge gnome-shell gnome-session gnome-control-center gnome-terminal

清理未使用的依赖项

1
sudo apt autoremove

安装 Docker

安装依赖

1
sudo apt install apt-transport-https ca-certificates curl software-properties-common

添加 Docker 官方存储库的 GPG 密钥

1
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加 Docker 官方存储库

  • 对于Debian 10(Buster):
1
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list
  • 对于Debian 11(Bullseye):
1
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable" | sudo tee /etc/apt/sources.list.d/docker.list
  • 对于Debian 12(Bookworm):
1
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list

安装 Docker Engine

1
2
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

启动 Docker 服务

1
sudo systemctl start docker

开机自启 Docker

1
sudo systemctl enable docker

验证安装

1
sudo docker --version

安装 docker-compose

下载 Docker Compose 二进制文件

1
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

添加执行权限

1
sudo chmod +x /usr/local/bin/docker-compose

验证安装

1
docker-compose --version

安装 Wireguard

安装 Wireguard

1
sudo apt install wireguard

加载 Wireguard 内核模块

1
sudo modprobe wireguard

配置 Wireguard 接口

1
sudo nano /etc/wireguard/wg0.conf

配置示例:

1
2
3
4
5
6
7
8
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <您的私钥>

[Peer]
PublicKey = <对等方的公钥>
AllowedIPs = 10.0.0.2/32

启动 Wireguard 接口

1
sudo wg-quick up wg0

检查接口状态

1
sudo wg show

注:如果 sudo wg-quick up wg0 执行报错:/usr/bin/wg-quick:line 32: resolvconf: command not found 表明系统缺少 resolvconf 命令用来解析 DNS,需要执行 sudo apt install resolvconf 安装 resolvconf

重启 Wireguard

1
sudo systemctl restart wg-quick@wg0

禁用 swap

查看 swap 是否启用

1
sudo swapon --show

如果有输出则说明启用了 swap

禁用 swap

1
sudo swapoff -a

永久禁用

1
vim /etc/fstab

注释掉所有 swap 行

开启 BBR

查看是否启用 BBR

1
lsmod |grep bbr

无输出则说明尚未开启

开启 BBR

1
2
3
echo net.core.default_qdisc=fq >> /etc/sysctl.conf
echo net.ipv4.tcp_congestion_control=bbr >> /etc/sysctl.conf
sysctl -p