0%

Debian 安装&配置

Debian 12 已经发布, 全速跟进!

# 从 11 升级到 12
sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list
sudo apt update
sudo apt full-upgrade

这两天准备全面从 CentOS 切换到 Debian, 记录一下 Debian 安装过程, 安装镜像用的 DVD 镜像. 为了能让 Debian 兼具 CentOS 服务器的稳定和 Ubuntu 桌面环境的便捷, 这几天各种尝试再重装不下于几十次, 总算摸索调教出比较满意的效果, 而且 Debian 本来也是一个通用操作系统, 以后走哪都可以 Debian 一把梭.

安装建议

  1. 无论有无安装桌面环境, 都建议都把 SSH server 选上;
  2. 安装时建议不要设置 root 账号密码, 即设置 root 账号密码步骤时将密码留空, 使用时可以通过 sudo -i 来切换为 root 用户;
  3. 如果需要桌面环境推荐安装 GNOME, 相比之下个人感觉比较漂亮和协调(并且还有丰富的扩展可以安装, 轻松装扮成成和 Ubuntu 一样的效果);
  4. 安装时尽量联网并 使用网络镜像嘛? 选择 , 或者选择完全断网安装, 安装完成再设置 apt 镜像源并更新系统;

配置网络

安装时如果选择了 暂不配置网络 但又没有安装桌面环境, 在安装完成后是连不上网的, 需要手动配置网络(如果安装了桌面环境, 插上网线后能自动配置, 配置不在 /etc/network/interfaces 当中):

  1. 首先确定网卡名字, 可以通过 ip addr 找到, 比如 eth0 什么的, 我的是 ens192;

  2. 然后编辑 /etc/network/interfaces 文件, 添加以下内容:

    • 如果需要使用 DHCP:
    # The primary network interface
    allow-hotplug ens192
    iface ens192 inet dhcp
    
    • 如果需要使用 静态地址:
    # The primary network interface
    allow-hotplug ens224
    iface ens224 inet static
    address 10.0.0.13
    netmask 255.255.255.0
    gateway 10.0.0.1
    
    • 如果是双网卡(配置文件全文, 主外网DHCP + 次内网静态):
    # 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 ens192
    iface ens192 inet dhcp
    
    # The secondary network interface
    allow-hotplug ens224
    iface ens224 inet static
    address 10.0.0.13
    netmask 255.255.255.0
    # gateway 10.0.0.1
    
  3. 最后重启网络服务: systemctl restart networking, 必要时可能需要重启系统.

设置 apt 镜像源

使用 su 命令输入 root 账号密码之后登录 root 账号, 然后执行下面的操作:

sed \
-e 's|deb.debian.org|mirrors.tuna.tsinghua.edu.cn|g' \
-e 's|ftp.debian.org|mirrors.tuna.tsinghua.edu.cn|g' \
-e 's|security.debian.org|mirrors.tuna.tsinghua.edu.cn|g' \
-i.bak \
/etc/apt/sources.list
apt update
apt upgrade -y

镜像信息: https://mirrors.tuna.tsinghua.edu.cn/help/debian/
用这个命令会导致 /etc/apt/sources.list 还存在 cdrom 的配置, 在安装软件包的时候会提示插入光盘.

安装并配置 sudo

如果安装时 Debian 的时候不设置 root 密码,就能自动装上 sudo; 如果是无 root 密码方式安装则可以跳过此步骤.

使用 su 命令输入 root 账号密码之后登录 root 账号, 然后执行下面的操作:

如果系统还没有 sudo 得先安装(装了桌面环境会一起装上, 否则需要自行安装):

apt install -y sudo

接着使用命令 visudo 编辑 sudoers 文件, 在 root ALL=(ALL:ALL) ALL 后增加一句(其中 ${UESR} 为实际用户名):

${USER}	ALL=(ALL:ALL) ALL

您不应通过在文本编辑器中打开来直接编辑 sudoers。相反,使用 visudo 对其进行编辑,这将在将更改保存到磁盘之前验证其有效性。

完成之后 /etc/sudoers 应该形如这样:

...
# User privilege specification
root	ALL=(ALL:ALL) ALL
user	ALL=(ALL:ALL) ALL
...

安装常用软件

sudo apt install -y \
wget curl net-tools lrzsz zip unzip p7zip screen vim bash-completion

桌面环境可以考虑装一个 dconf-editor 便于配置系统

安装扩展软件(可选)

sudo apt install -y \
ntfs-3g \
exfat-fuse exfat-utils \
smbclient \
samba \
cifs-utils \
nfs-common

设置别名

tee ~/.bash_aliases <<EOF
alias cp='cp'
alias mv='mv'
alias rm='rm'
alias ll='ls -lh -F --color=auto --time-style=long-iso'
alias la='ls -lhA -F --color=auto --time-style=long-iso'
alias lt='ls -lht -F --color=auto --time-style=long-iso'
alias lat='ls -lhAt -F --color=auto --time-style=long-iso'
EOF
source ~/.bash_aliases

开启密钥登陆

mkdir ~/.ssh/
tee ~/.ssh/authorized_keys << EOF
(公钥内容)
EOF

安装 x11 Client (可选)

对于需要 x11 支持的可视化程序, 这里提供一个最小化支持的选项(仅安装 x11 Client 必要组件, 不会安装 X Window Manager, 也没有桌面系统):

sudo apt install xauth xbitmaps x11-utils

装完之后就可以使用图形化程序了, 当然需要使用方有 X Server 支持.

GNOME 美化

上面的配置搞定之后, 对于服务器环境基本已经够了, 但我还有几台机器 安装的 DebianGNOME 桌面环境, 装完感觉光秃秃的, 和之前使用过的 UbuntuGNOME 桌面环境差距不是一般大, 让我一直以为装了个假的 GNOME, 后面还试过 KDEXfce 等桌面环境, 效果都不满意, 折腾来折腾去最终还是选择了 GNOME, 颜值即正义! 现在经过几天的摸索, 终于找到了 "为啥同样是 GNOME, 差距还这么大?" 的原因, 就是因为没有美化啊!

先决条件

GNOME 美化的途径主要是通过安装扩展和主题, 所以要求系统已经安装了支撑的软件包:

  • gnome-tweaks
    GNOME Tweaks 可以调整 GNOME 的高级选项。
  • gnome-shell-extension
    GNOME 扩展程序可用于升级扩展,配置扩展首选项和移除、禁用不想要的扩展。

上面两个软件包正常的话默认已经安装了, 如果没有安装,请通过 软件 -> 搜索 搜索 gnome-tweaksgnome-shell-extension, 然后进行安装, 或者使用命令行:

sudo apt install gnome-tweaks gnome-shell-extensions

再或者使用桌面环境 新立得包管理器 -> GNOME桌面环境 选择 gnome-tweaksgnome-shell-extensions 进行安装.

安装扩展插件

装好 gnome-tweaksgnome-shell-extension 之后就可以安装扩展插件了, GNOME 的扩展插件可以通过浏览器安装, 插件仓库地址如下:

https://extensions.gnome.org/

但通过这个网站装扩展插件需要浏览器先安装一个浏览器的插件, 进入网站如果浏览器没有安装浏览器插件,会提示你进行安装(Chrome 需要考虑是否能进入扩展商店):

To control GNOME Shell extensions using this site you must install GNOME Shell integration that consists of two parts: browser extension and native host messaging application. Click here to install browser extension. See wiki page for native host connector installation instructions.

浏览器插件没问题之后就可以直接在网站操作安装 GNOME 的扩展插件了, 这里列举一些必备的扩展插件, 装完之后基本就能得到一个类似 Ubuntu 的桌面环境效果了:

事实上上面提到的大部分插件也能通过 apt 安装, 桌面环境也可以使用 新立得包管理器 -> GNOME桌面环境 选择 gnome-shell-extensions 系列的扩展插件包进行安装.

安装主题

上一步中安装并启用 User Themes 后就可以安装主题了: GNOME 的主题存放在 /usr/share/themes/ 目录与 ~/.themes 两个目录下, 前者为公共主题, 而后者为用户个人主题. 只要下载主题包然后解压到主题目录, 然后去 优化 -> 外观 当中切换新的主题就可以了.

关于主题资源在哪比较容易找到, 也有一个网站:

https://www.gnome-look.org/browse/

远程桌面

上面已经有了漂亮的桌面了, 可以考虑搞个远程桌面玩玩了, 远控桌面协议主流的就是 RDPVNC, VNC 在我尝试多次之后还是不能实现冷启动, 就搞个 RDP 玩玩.

GNOME 自带的 gnome-remote-desktop 也是采用的 VNC 协议, 并且也只能在登陆帐户之后才能工作, 不能冷启动.

安装

由于 GNOME3 不能支持 xrdpxorg 模式, 所以还需要搞个 vnc 服务中转一下. 目前 Debian 自带的 xrdp 版本和 GNOME 存在问题, 导致无法使用 XOrg 模式, 最新结论是只需要安装新版本的 XrdpXorg 就行了.

实测只有 GNOME3 不支持 xrdpxorg 模式, 像 KDE 就能开箱即能用 xorg 模式.

wget https://snapshot.debian.org/archive/debian/20210302T032219Z/pool/main/x/xorgxrdp/xorgxrdp_0.2.15-1_amd64.deb
wget https://snapshot.debian.org/archive/debian/20210302T032219Z/pool/main/x/xrdp/xrdp_0.9.15-1_amd64.deb
sudo apt install -y ./xorgxrdp_0.2.15-1_amd64.deb ./xrdp_0.9.15-1_amd64.deb
rm -rf ./xorgxrdp_0.2.15-1_amd64.deb ./xrdp_0.9.15-1_amd64.deb

配置

下面是完善 XRDP 的一些配置:

# 生成并配置 X.509 证书
sudo openssl req -x509 -newkey rsa:2048 -nodes -keyout /etc/xrdp/key.pem -out /etc/xrdp/cert.pem -days 365 -subj "/CN=Debian"
sudo sed \
-e 's|^[#\s]*certificate=$|certificate=/etc/xrdp/cert.pem|g' \
-e 's|^[#\s]*key_file=$|key_file=/etc/xrdp/key.pem|g' \
-i.bak \
/etc/xrdp/xrdp.ini
sudo adduser xrdp ssl-cert

# 移除非 `Xvnc` 配置
sudo sed -i "207,213 s/^/#/" /etc/xrdp/xrdp.ini
sudo sed -i "221,227 s/^/#/" /etc/xrdp/xrdp.ini
sudo sed -i "233,239 s/^/#/" /etc/xrdp/xrdp.ini

# 解决二次连接黑屏
sudo sed -i '4aunset DBUS_SESSION_BUS_ADDRESS' /etc/xrdp/startwm.sh
sudo sed -i '4aunset XDG_RUNTIME_DIR' /etc/xrdp/startwm.sh

# 最后重启服务
sudo systemctl restart xrdp

声音修复

完成之后理论上已经可以连接上远程桌面了, 但是发现没有声音, 机器的声卡是存在的, Google 一番发现 Xrdp 它默认确实不支持声音, 只能自行编译库文件:

我这也贴一份我编译的库文件, 基于 Debian 11.0.0pulseaudio 14.2, 版本一致的情况下解包应该就能用了.

下载地址: pulse-14.2-xrdp-modules-by-debian-11.0.0.tar.gz

# 下载之后解压到相应路径(需要参数 `P` 参照根目录)
sudo tar zxvfP pulse-14.2-xrdp-modules-by-debian-11.0.0.tar.gz

安装软件

安装 Chrome

# 添加密钥
curl -sSL https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
# 添加安装源
echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
# 安装
sudo apt update
sudo apt install -y google-chrome-stable
# 修正可能出现的 Chrome 图标不显示问题
sudo apt -f install
  • google-chrome-stable 正式版
  • google-chrome-beta 测试版
  • google-chrome-unstable