1. 首页 > 软件安装教程 > 正文

Deepin安装配置-Deepin系统安装配置_升级迁移详细过程

1. Deepin概述与环境规划

Deepin(深度操作系统)是由武汉深之度科技有限公司开发的Linux发行版,基于Debian稳定版构建。Deepin以其美观的桌面环境DDE(Deepin Desktop Environment)和丰富的应用生态而闻名,是国内最受欢迎的Linux桌面发行版之一。更多学习教程www.fgedu.net.cn

1.1 Deepin版本说明

Deepin目前主要版本为Deepin 23,基于Debian 12 Bookworm构建。本教程以Deepin 23为例进行详细讲解。

# 查看系统版本
# cat /etc/os-release
PRETTY_NAME=”Deepin 23″
NAME=”Deepin”
VERSION_ID=”23″
VERSION=”23″
ID=deepin
HOME_URL=”https://www.deepin.org/”
SUPPORT_URL=”https://bbs.deepin.org/”
BUG_REPORT_URL=”https://bbs.deepin.org/”

# 查看内核版本
# uname -a
Linux fgedudb01 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux

# 查看系统架构
# arch
x86_64

# 查看Debian基础版本
# cat /etc/debian_version
12.4

1.2 环境规划

本次安装环境规划如下:

主机名:fgedudb01.fgedu.net.cn
IP地址:192.168.1.51
网关:192.168.1.1
DNS:192.168.1.1
磁盘分区:
/ 50GB (根文件系统)
/boot 1GB (引导分区)
/boot/efi 512MB (EFI引导分区)
/home 100GB (用户主目录)
/data 500GB (数据分区)
/backup 300GB (备份分区)
swap 32GB (交换分区)

1.3 Deepin特点

主要特点:
1. DDE桌面环境:美观易用的桌面环境
2. 深度应用商店:丰富的应用生态
3. 国产化支持:支持国产CPU和硬件
4. 兼容性好:基于Debian,软件兼容性强
5. 本地化完善:中文支持优秀
6. 安全可靠:符合国家安全标准

2. 硬件环境要求与检查

在安装Deepin之前,需要对服务器硬件环境进行全面检查。学习交流加群风哥微信: itpux-com

2.1 最低硬件要求

最低配置:
CPU:Intel Pentium 4或更高
内存:2GB
磁盘:20GB

推荐配置(生产环境):
CPU:8核心以上
内存:16GB以上
磁盘:500GB以上
网络:千兆网卡

2.2 硬件检查命令

# 检查CPU信息
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Vendor ID: GenuineIntel
BIOS Vendor ID: Intel
Model name: Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz
BIOS Model name: Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz
CPU family: 6
Model: 85
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
Stepping: 7
CPU max MHz: 4000.0000
CPU min MHz: 1000.0000

# 检查内存信息
# free -h
total used free shared buff/cache available
Mem: 62Gi 2.0Gi 58Gi 256Mi 2.0Gi 59Gi
Swap: 31Gi 0B 31Gi

# 查看内存详细信息
# dmidecode -t memory | head -30
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Single-bit ECC
Maximum Capacity: 1 TB
Error Information Handle: Not Provided
Number Of Devices: 8

# 检查磁盘信息
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 50G 0 part /
├─sda4 8:4 0 100G 0 part /home
├─sda5 8:5 0 500G 0 part /data
├─sda6 8:6 0 278G 0 part /backup
└─sda7 8:7 0 32G 0 part [SWAP]

# 查看磁盘分区
# fdisk -l /dev/sda
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 12345678-1234-1234-1234-123456789012

Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 3147775 2097152 1G Linux filesystem
/dev/sda3 3147776 107767807 104620032 50G Linux filesystem
/dev/sda4 107767808 317644799 209876992 100G Linux filesystem
/dev/sda5 317644800 1366716415 1049071616 500G Linux filesystem
/dev/sda6 1366716416 1949272063 582555648 278G Linux filesystem
/dev/sda7 1949272064 2016272383 67000320 32G Linux swap

# 检查网络接口
# ip link show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:12:34:56 brd ff:ff:ff:ff:ff:ff

# 查看网络接口配置
# ip addr show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens33: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.51/24 brd 192.168.1.255 scope global ens33
valid_lft forever preferred_lft forever

生产环境建议:Deepin对硬件要求相对较低,但对于生产服务器,建议配置足够的内存和高速网络接口。Deepin支持x86_64、龙芯、飞腾、申威等多种CPU架构。

3. Deepin系统安装步骤

本节详细介绍Deepin 23的安装过程。学习交流加群风哥QQ113257174

3.1 下载Deepin镜像

# 从官网下载Deepin 23 ISO
# wget https://cdimage.deepin.com/releases/23/deepin-23-amd64.iso

# 或使用国内镜像加速
# wget https://mirrors.tuna.tsinghua.edu.cn/deepin-cd/23/deepin-23-amd64.iso

# 验证ISO文件完整性
# sha256sum deepin-23-amd64.iso
abc123def456… deepin-23-amd64.iso

3.2 创建安装介质

# 使用dd命令创建USB安装盘
# dd if=deepin-23-amd64.iso of=/dev/sdX bs=4M status=progress && sync

# 输出示例:
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 480 s, 8.9 MB/s
1024+0 records in
1024+0 records out

3.3 图形化安装步骤

图形化安装步骤:

步骤1:启动安装程序 – 选择”Install Deepin” – 按Enter键

步骤2:选择语言 – 选择”简体中文”

步骤3:选择键盘布局 – 选择默认布局

步骤4:选择安装类型 – 选择”自定义安装”

步骤5:磁盘分区 – 选择”手动分区”

步骤6:创建分区 – 创建EFI、boot、根、home、data、backup、swap分区

步骤7:设置用户信息 – 输入用户名和密码

步骤8:确认安装 – 确认后开始安装

步骤9:等待安装完成 – 安装完成后重启

步骤10:完成配置 – 首次启动后进行初始配置

3.4 自动化安装配置

# 创建preseed自动应答文件
# vi preseed.cfg

# 添加以下内容
d-i debian-installer/locale string zh_CN.UTF-8
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/hostname string fgedudb01
d-i netcfg/domain string fgedu.net.cn
d-i netcfg/get_ipaddress string 192.168.1.51
d-i netcfg/get_netmask string 255.255.255.0
d-i netcfg/get_gateway string 192.168.1.1
d-i netcfg/get_nameservers string 192.168.1.1
d-i time/zone string Asia/Shanghai
d-i passwd/root-login boolean true
d-i passwd/root-password password your_password
d-i passwd/root-password-again password your_password
d-i passwd/user-fullname string Admin User
d-i passwd/username string admin
d-i passwd/user-password password your_password
d-i passwd/user-password-again password your_password
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-auto/expert_recipe string \
boot-root :: \
512 512 512 fat32 \
$primary{ } $bootable{ } \
method{ efi } format{ } \
. \
1024 1024 1024 ext4 \
$primary{ } $bootable{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /boot } \
. \
51200 51200 51200 ext4 \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
102400 102400 102400 ext4 \
$primary{ } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /home } \
. \
32768 32768 32768 linux-swap \
$primary{ } \
method{ swap } format{ } \
.
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note

3.5 初始系统配置

# 登录系统
Deepin 23 fgedudb01 tty1
fgedudb01 login: root
Password:

# 更新系统
# apt update

# 输出示例:
获取:1 https://community-packages.deepin.com/deepin apricot InRelease [4,096 B]
获取:2 https://community-packages.deepin.com/deepin apricot/main amd64 Packages [10.5 MB]
已下载 10.5 MB,耗时 30秒 (350 kB/s)
正在读取软件包列表… 完成

# 升级系统
# apt upgrade -y

# 输出示例:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树… 完成
正在读取状态信息… 完成
正在计算更新… 完成
下列软件包将被升级:
base-files deepin-system-settings
升级了 2 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 1,024 kB 的归档。
解压缩后会消耗 0 B 的额外空间。
获取:1 https://community-packages.deepin.com/deepin apricot/main amd64 base-files amd64 23.1 [64.0 kB]
获取:2 https://community-packages.deepin.com/deepin apricot/main amd64 deepin-system-settings amd64 5.0.1 [960 kB]
已下载 1,024 kB,耗时 2秒 (512 kB/s)
正在选中未选择的软件包 base-files。
(正在读取数据库 … 系统当前共安装有 150000 个文件和目录。)
准备解压 …/base-files_23.1_amd64.deb …
正在解压 base-files (23.1) 并覆盖 (23.0) …
正在设置 base-files (23.1) …
正在选中未选择的软件包 deepin-system-settings。
准备解压 …/deepin-system-settings_5.0.1_amd64.deb …
正在解压 deepin-system-settings (5.0.1) 并覆盖 (5.0.0) …
正在设置 deepin-system-settings (5.0.1) …

风哥提示:Deepin使用apt作为包管理工具,基于Debian的软件仓库。建议安装后立即更新系统以确保安全。Deepin也提供了图形化的软件中心用于软件管理。

4. 网络配置与优化

网络配置是系统安装后的重要环节,Deepin提供了完善的网络功能。更多学习教程公众号风哥教程itpux_com

4.1 配置网络接口

# 查看网络接口
# ip link show

# 配置静态IP地址(使用NetworkManager)
# nmcli connection modify “有线连接 1” ipv4.method manual ipv4.addresses 192.168.1.51/24 ipv4.gateway 192.168.1.1 ipv4.dns “192.168.1.1,8.8.8.8”

# 重启网络连接
# nmcli connection up “有线连接 1”

# 输出示例:
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/1)

# 或使用配置文件
# vi /etc/network/interfaces

# 添加以下配置
auto ens33
iface ens33 inet static
address 192.168.1.51
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1 8.8.8.8

# 重启网络服务
# systemctl restart networking

# 配置DNS
# vi /etc/resolv.conf
nameserver 192.168.1.1
nameserver 8.8.8.8
search fgedu.net.cn

# 验证网络配置
# ip addr show ens33
2: ens33: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.51/24 brd 192.168.1.255 scope global ens33
valid_lft forever preferred_lft forever

4.2 配置主机名

# 设置主机名
# hostnamectl set-hostname fgedudb01.fgedu.net.cn

# 验证主机名
# hostname
fgedudb01.fgedu.net.cn

# 配置hosts文件
# vi /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
192.168.1.51 fgedudb01.fgedu.net.cn fgedudb01

# 验证主机名解析
# hostname -f
fgedudb01.fgedu.net.cn

4.3 网络性能优化

# 查看网络缓冲区设置
# sysctl net.core.rmem_max net.core.wmem_max
net.core.rmem_max = 212992
net.core.wmem_max = 212992

# 增加网络缓冲区
# sysctl -w net.core.rmem_max=26214400
net.core.rmem_max = 212992 -> 26214400
# sysctl -w net.core.wmem_max=26214400
net.core.wmem_max = 212992 -> 26214400

# 查看TCP缓冲区设置
# sysctl net.ipv4.tcp_rmem net.ipv4.tcp_wmem
net.ipv4.tcp_rmem = 4096 131072 6291456
net.ipv4.tcp_wmem = 4096 16384 4194304

# 增加TCP缓冲区
# sysctl -w net.ipv4.tcp_rmem=”4096 262144 26214400″
# sysctl -w net.ipv4.tcp_wmem=”4096 262144 26214400″

# 永久配置
# vi /etc/sysctl.conf
net.core.rmem_max = 26214400
net.core.wmem_max = 26214400
net.ipv4.tcp_rmem = 4096 262144 26214400
net.ipv4.tcp_wmem = 4096 262144 26214400
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_max_syn_backlog = 8192

# 使配置生效
# sysctl -p

生产环境建议:Deepin的网络配置与Debian类似,建议使用NetworkManager进行网络管理。对于高负载网络环境,可以适当增加网络缓冲区和TCP参数。

5. 内核参数配置

内核参数对系统性能和稳定性至关重要,Deepin的内核参数配置与Debian类似。from:www.itpux.com

5.1 配置sysctl参数

# 编辑sysctl配置文件
# vi /etc/sysctl.conf

# 添加以下内核参数
# 文件描述符限制
fs.file-max = 6815744
fs.nr_open = 1048576

# 共享内存参数
kernel.shmmax = 34359738368
kernel.shmall = 8388608
kernel.shmmni = 4096

# 信号量参数
kernel.sem = 250 32000 100 128

# 网络参数
net.core.rmem_max = 26214400
net.core.wmem_max = 26214400
net.ipv4.tcp_rmem = 4096 262144 26214400
net.ipv4.tcp_wmem = 4096 262144 26214400
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

# 虚拟内存参数
vm.swappiness = 10
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5
vm.overcommit_memory = 2

# 使内核参数生效
# sysctl -p

# 输出示例:
fs.file-max = 6815744
fs.nr_open = 1048576
kernel.shmmax = 34359738368
kernel.shmall = 8388608
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128

5.2 配置用户资源限制

# 编辑limits配置文件
# vi /etc/security/limits.conf

# 添加以下配置
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
* soft memlock unlimited
* hard memlock unlimited
* soft stack unlimited
* hard stack unlimited

# 为特定用户配置
oracle soft nofile 65535
oracle hard nofile 65535
oracle soft nproc 65535
oracle hard nproc 65535

# 配置systemd用户限制
# vi /etc/systemd/system.conf
DefaultLimitNOFILE=65535
DefaultLimitNPROC=65535

# 验证配置
# ulimit -n
65535

# ulimit -u
65535

5.3 配置大内存页

# 查看当前大内存页配置
# cat /proc/meminfo | grep -i huge
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB

# 计算需要的大内存页数量
# 假设SGA为40GB,需要配置约16384个大页
# echo 16384 > /proc/sys/vm/nr_hugepages

# 永久配置
# vi /etc/sysctl.conf
vm.nr_hugepages = 16384

# 验证配置
# cat /proc/meminfo | grep -i huge
HugePages_Total: 16384
HugePages_Free: 16384
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB

# 配置透明大页
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag

# 永久配置
# vi /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

生产环境内核参数说明:kernel.shmmax设置为物理内存的一半或更大,用于单个共享内存段的最大大小;kernel.shmall设置为物理内存除以页面大小;对于数据库服务器,需要增加共享内存和信号量参数,并启用大内存页。

6. 存储配置与优化

存储配置直接影响系统性能,Deepin支持多种文件系统和存储技术。更多学习教程www.fgedu.net.cn

6.1 磁盘分区管理

# 查看磁盘分区
# fdisk -l

# 使用fdisk创建新分区
# fdisk /dev/sdb

# 输出示例:
欢迎使用 fdisk (util-linux 2.38.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助): n
分区类型
p 主分区 (0个主分区,0个扩展分区,4个空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p): p
分区号 (1-4, 默认 1): 1
第一个扇区 (2048-1953525167, 默认 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525167, 默认 1953525167): +500G

创建了一个新分区 1,类型为”Linux”,大小为 500 GiB。

命令(输入 m 获取帮助): w
分区表已调整。
正在同步磁盘。

# 格式化文件系统
# mkfs.ext4 /dev/sdb1

# 输出示例:
mke2fs 1.47.0 (5-Feb-2023)
创建含有 131072000 个块(每块 4k)和 32768000 个inode的文件系统
文件系统UUID:12345678-1234-1234-1234-123456789012
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000

正在分配组表: 完成
正在写入inode表: 完成
正在创建日志(262144 个块): 完成
正在写入超级块和文件系统统计信息: 已完成

# 挂载文件系统
# mkdir /data2
# mount /dev/sdb1 /data2

# 配置开机自动挂载
# vi /etc/fstab
/dev/sdb1 /data2 ext4 defaults,noatime 0 2

6.2 LVM逻辑卷管理

# 创建物理卷
# pvcreate /dev/sdb1

# 输出示例:
Physical volume “/dev/sdb1” successfully created.

# 创建卷组
# vgcreate datavg /dev/sdb1

# 输出示例:
Volume group “datavg” successfully created

# 查看卷组
# vgdisplay datavg
— Volume group —
VG Name datavg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 500.00 GiB
PE Size 4.00 MiB
Total PE 127999
Alloc PE / Size 0 / 0
Free PE / Size 127999 / 500.00 GiB
VG UUID abc123-def4-ghi5-jkl6-mno7-pqr8-stu9

# 创建逻辑卷
# lvcreate -L 400G -n lvdata datavg

# 输出示例:
Logical volume “lvdata” created.

# 格式化逻辑卷
# mkfs.ext4 /dev/datavg/lvdata

# 挂载逻辑卷
# mkdir /data
# mount /dev/datavg/lvdata /data

# 配置开机自动挂载
# vi /etc/fstab
/dev/datavg/lvdata /data ext4 defaults,noatime 0 2

6.3 文件系统优化

# 查看文件系统信息
# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 ext4 50G 2.5G 45G 6% /
/dev/sda2 ext4 1014M 150M 865M 15% /boot
/dev/sda1 vfat 512M 6.1M 506M 2% /boot/efi
/dev/sda4 ext4 98G 1.0G 92G 2% /home
/dev/sda5 ext4 492G 10G 457G 3% /data
/dev/sda6 ext4 273G 5.0G 254G 2% /backup

# 查看磁盘I/O性能
# iostat -x 1 5
Linux 6.1.0-17-amd64 (fgedudb01) 04/04/26 _x86_64_ (32 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
2.50 0.00 1.20 0.10 0.00 96.20

Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda 5.00 10.00 256.00 512.00 0.00 0.00 0.00 0.00 1.00 0.50 0.01 51.20 51.20 0.50 0.75

# 调整文件系统参数
# tune2fs -o journal_data_writeback /dev/sda3

# 查看文件系统参数
# tune2fs -l /dev/sda3 | grep -i “mount options”
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum

风哥提示:Deepin默认使用ext4文件系统,稳定可靠。对于生产环境,建议使用LVM进行存储管理,便于扩展和管理。对于数据库服务器,建议使用XFS文件系统以获得更好的性能。

7. 安全配置与防火墙

安全配置是生产环境的重要环节,Deepin提供了多种安全机制。学习交流加群风哥微信: itpux-com

7.1 配置UFW防火墙

# 安装UFW防火墙
# apt install ufw -y

# 输出示例:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树… 完成
正在读取状态信息… 完成
下列【新】软件包将被安装:
ufw
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 150 kB 的归档。
解压缩后会消耗 1,024 kB 的额外空间。
获取:1 https://community-packages.deepin.com/deepin apricot/main amd64 ufw all 0.36.1 [150 kB]
已下载 150 kB,耗时 1秒 (150 kB/s)
正在选中未选择的软件包 ufw。
(正在读取数据库 … 系统当前共安装有 150000 个文件和目录。)
准备解压 …/archives/ufw_0.36.1_all.deb …
正在解压 ufw (0.36.1) …
正在设置 ufw (0.36.1) …
正在处理用于 man-db (2.11.2-2) 的触发器 …
正在处理用于 systemd (252.19-1) 的触发器 …

# 设置默认策略
# ufw default deny incoming
# ufw default allow outgoing

# 允许SSH
# ufw allow 22/tcp

# 输出示例:
规则已添加
规则已添加 (v6)

# 允许Web服务
# ufw allow 80/tcp
# ufw allow 443/tcp

# 允许数据库服务
# ufw allow from 192.168.1.0/24 to any port 3306
# ufw allow from 192.168.1.0/24 to any port 5432

# 启用防火墙
# ufw enable

# 输出示例:
命令可能会中断现有的 ssh 连接。要继续吗?(y|n) y
在系统启动时启用和激活防火墙

# 查看防火墙状态
# ufw status verbose
状态: 激活
日志: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
新配置: skip

到 动作 来自
— —- —-
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
3306 ALLOW IN 192.168.1.0/24
5432 ALLOW IN 192.168.1.0/24
22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6)

7.2 配置SSH安全

# 编辑SSH配置文件
# vi /etc/ssh/sshd_config

# 修改以下配置
Port 22
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers admin@192.168.1.0/24

# 重启SSH服务
# systemctl restart sshd

# 输出示例:
# systemctl status sshd
● ssh.service – OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-04-04 10:00:00 CST; 5s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 12345 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 12346 (sshd)
Tasks: 1 (limit: 4915)
Memory: 1.5M
CPU: 50ms
CGroup: /system.slice/ssh.service
└─12346 “sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups”

# 验证SSH配置
# sshd -t

7.3 配置系统安全

# 安装fail2ban防止暴力破解
# apt install fail2ban -y

# 配置fail2ban
# vi /etc/fail2ban/jail.local

# 添加以下配置
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

# 启动fail2ban
# systemctl enable fail2ban
# systemctl start fail2ban

# 查看fail2ban状态
# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:

# 配置密码策略
# vi /etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 1
PASS_MIN_LEN 8
PASS_WARN_AGE 7

生产环境建议:建议启用UFW防火墙并配置严格的规则,禁用root用户直接SSH登录,使用密钥认证替代密码认证。安装fail2ban防止暴力破解。

8. 系统升级与迁移

系统升级和迁移是运维工作中的重要环节,Deepin提供了便捷的升级工具。更多学习教程公众号风哥教程itpux_com

8.1 系统版本升级

# 更新软件包索引
# apt update

# 升级所有软件包
# apt upgrade -y

# 输出示例:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树… 完成
正在读取状态信息… 完成
正在计算更新… 完成
下列软件包将被升级:
base-files deepin-system-settings
升级了 2 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。

# 完整升级
# apt full-upgrade -y

# 跨版本升级
# vi /etc/apt/sources.list
# 将旧版本源替换为新版本源

# apt update
# apt upgrade -y
# apt full-upgrade -y

# 重启系统
# reboot

8.2 系统迁移

# 使用rsync迁移数据
# rsync -avz –progress /data/ target-server:/data/

# 输出示例:
sending incremental file list
./
file1.txt
file2.txt
dir1/
dir1/file3.txt

sent 1.5G bytes received 12.3K bytes 25.6M bytes/sec
total size is 50.0G speedup is 33.33

# 使用tar备份
# tar -czvf /backup/system-backup.tar.gz –exclude=/proc –exclude=/sys –exclude=/dev –exclude=/tmp /

# 输出示例:
./
./bin/
./bin/ls
./bin/cat

./var/
./var/log/
./var/log/syslog

# 使用dd克隆磁盘
# dd if=/dev/sda of=/backup/sda-backup.img bs=4M status=progress

# 输出示例:
1000204886016 bytes (1.0 TB, 931 GiB) copied, 3600 s, 278 MB/s
238475+1 records in
238475+1 records out

8.3 使用Timeshift备份

# 安装Timeshift
# apt install timeshift -y

# 创建备份
# timeshift –create –comments “Before upgrade”

# 输出示例:
First run mode (config file not found)
Selected default snapshot type: RSYNC
Mounted ‘/dev/sda3’ at ‘/run/timeshift/backup’
Created new snapshot: 2026-04-04_10-00-00
Enabled cron job for scheduled snapshots

# 查看备份列表
# timeshift –list

# 输出示例:
Device : /dev/sda3
UUID : 12345678-1234-1234-1234-123456789012
Path : /run/timeshift/backup
Mode : RSYNC
Status : OK
1 snapshots, 10.0 GB free

Num Name Tags Description
0 > 2026-04-04_10-00-00 O Before upgrade

# 恢复备份
# timeshift –restore –snapshot ‘2026-04-04_10-00-00’

风哥提示:Deepin提供了图形化的系统更新工具,建议定期更新系统以确保安全。使用Timeshift可以方便地创建系统快照,便于回滚。

9. 生产环境实战案例

本节提供一个完整的生产环境配置案例,帮助读者更好地理解Deepin的实际应用。from:www.itpux.com

9.1 数据库服务器配置案例

# 环境信息
主机名:fgedudb01.fgedu.net.cn
IP地址:192.168.1.51
内存:64GB
磁盘:500GB SSD
用途:MySQL数据库服务器

# 1. 配置内核参数
# vi /etc/sysctl.conf
kernel.shmmax = 34359738368
kernel.shmall = 8388608
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
vm.swappiness = 10
vm.nr_hugepages = 16384

# sysctl -p

# 2. 配置用户资源限制
# vi /etc/security/limits.conf
mysql soft nofile 65535
mysql hard nofile 65535
mysql soft nproc 65535
mysql hard nproc 65535

# 3. 安装MySQL
# apt install mysql-server -y

# 输出示例:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树… 完成
正在读取状态信息… 完成
下列【新】软件包将被安装:
mysql-server
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 50.0 MB 的归档。
解压缩后会消耗 200 MB 的额外空间。
获取:1 https://community-packages.deepin.com/deepin apricot/main amd64 mysql-server all 8.0.35-1 [50.0 MB]
已下载 50.0 MB,耗时 30秒 (1.7 MB/s)
正在选中未选择的软件包 mysql-server。
(正在读取数据库 … 系统当前共安装有 150000 个文件和目录。)
准备解压 …/mysql-server_8.0.35-1_all.deb …
正在解压 mysql-server (8.0.35-1) …
正在设置 mysql-server (8.0.35-1) …

# 4. 配置MySQL
# vi /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
datadir = /data/mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
innodb_buffer_pool_size = 32G
innodb_log_file_size = 1G
max_connections = 1000

# 5. 启动MySQL服务
# systemctl enable mysql
# systemctl start mysql

# 输出示例:
# systemctl status mysql
● mysql.service – MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-04-04 10:00:00 CST; 5s ago
Process: 12345 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 12346 (mysqld)
Status: “Server is operational”
Tasks: 38 (limit: 4915)
Memory: 32.5G
CPU: 5.000s
CGroup: /system.slice/mysql.service
└─12346 /usr/sbin/mysqld

# 6. 配置UFW防火墙
# ufw allow from 192.168.1.0/24 to any port 3306

9.2 Web服务器配置案例

# 环境信息
主机名:fgeduweb01.fgedu.net.cn
IP地址:192.168.1.52
内存:16GB
磁盘:200GB SSD
用途:Nginx Web服务器

# 1. 安装Nginx
# apt install nginx -y

# 输出示例:
正在读取软件包列表… 完成
正在分析软件包的依赖关系树… 完成
正在读取状态信息… 完成
下列【新】软件包将被安装:
nginx
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 500 kB 的归档。
解压缩后会消耗 1.5 MB 的额外空间。
获取:1 https://community-packages.deepin.com/deepin apricot/main amd64 nginx amd64 1.22.1-4 [500 kB]
已下载 500 kB,耗时 1秒 (500 kB/s)
正在选中未选择的软件包 nginx。
(正在读取数据库 … 系统当前共安装有 150000 个文件和目录。)
准备解压 …/nginx_1.22.1-4_amd64.deb …
正在解压 nginx (1.22.1-4) …
正在设置 nginx (1.22.1-4) …

# 2. 配置Nginx
# vi /etc/nginx/nginx.conf

# 修改以下配置
worker_processes auto;
worker_rlimit_nofile 65535;

events {
worker_connections 65535;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;

server {
listen 80;
server_name localhost;

location / {
root /var/www/html;
index index.html index.htm;
}
}
}

# 3. 启动Nginx服务
# systemctl enable nginx
# systemctl start nginx

# 输出示例:
# systemctl status nginx
● nginx.service – A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-04-04 10:00:00 CST; 5s ago
Docs: man:nginx(8)
Process: 12345 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 12346 (nginx)
Tasks: 3 (limit: 4915)
Memory: 5.0M
CPU: 50ms
CGroup: /system.slice/nginx.service
├─12346 “nginx: master process /usr/sbin/nginx -g daemon on; master_process on;”
├─12347 “nginx: worker process”
└─12348 “nginx: worker process”

# 4. 配置UFW防火墙
# ufw allow 80/tcp
# ufw allow 443/tcp

9.3 系统监控配置

# 安装监控工具
# apt install htop iotop nethogs -y

# 查看系统性能
# htop

# 输出示例:
CPU[ 2.5%] Tasks: 128, 5 thr; 1 running
Mem[|||||||||| 2.0G/64G] Load average: 0.50 0.45 0.40
Swp[ 0K/32G] Uptime: 2 days, 10:00:00

PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
12345 mysql 20 0 32.5G 8.0G 512M S 5.0 12.5 10:00.00 /usr/sbin/mysqld
12346 root 20 0 1500M 500M 100M S 2.0 0.8 5:00.00 /usr/sbin/nginx

# 查看磁盘I/O
# iotop -o

# 输出示例:
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
Current DISK READ: 0.00 B/s | Current DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
12345 be/4 mysql 0.00 B/s 0.00 B/s 0.00 % 0.00 % mysqld

# 查看网络流量
# nethogs

# 输出示例:
Ethernet link detected
PID USER PROGRAM DEV SENT RECEIVED
12345 mysql mysqld ens33 0.000 0.500 KB/sec
12346 root nginx ens33 0.500 0.000 KB/sec
? root unknown TCP 0.000 0.000 KB/sec

# 查看系统日志
# journalctl -f
— Logs begin at Fri 2026-04-04 08:00:00 CST. —
Apr 04 10:00:00 fgedudb01 systemd[1]: Started MySQL Community Server.
Apr 04 10:00:00 fgedudb01 systemd[1]: Started A high performance web server and a reverse proxy server.

生产环境建议:建议在生产环境中配置完善的监控系统,包括CPU、内存、磁盘、网络等关键指标的监控。Deepin提供了丰富的系统监控工具。

9.4 系统备份配置

# 创建备份目录
# mkdir -p /backup/{system,database}

# 创建系统备份脚本
# vi /backup/system_backup.sh
#!/bin/bash

DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR=”/backup/system”

# 备份系统配置
tar -czf ${BACKUP_DIR}/etc_${DATE}.tar.gz /etc

# 备份已安装软件包列表
dpkg –get-selections > ${BACKUP_DIR}/packages_${DATE}.txt

# 备份用户信息
tar -czf ${BACKUP_DIR}/home_${DATE}.tar.gz /home

# 使用Timeshift创建快照
timeshift –create –comments “Daily backup ${DATE}”

# 清理30天前的备份
find ${BACKUP_DIR} -type f -mtime +30 -delete

echo “System backup completed at $(date)”

# 设置脚本权限
# chmod +x /backup/system_backup.sh

# 配置定时任务
# crontab -e
0 2 * * * /backup/system_backup.sh >> /var/log/backup.log 2>&1

# 验证定时任务
# crontab -l
0 2 * * * /backup/system_backup.sh >> /var/log/backup.log 2>&1

# 手动执行备份测试
# /backup/system_backup.sh

# 输出示例:
tar: Removing leading ‘/’ from member names
/etc/
/etc/passwd
/etc/shadow

First run mode (config file not found)
Selected default snapshot type: RSYNC
Mounted ‘/dev/sda3’ at ‘/run/timeshift/backup’
Created new snapshot: 2026-04-04_02-00-00
System backup completed at Fri Apr 4 02:05:00 CST 2026

# 验证备份文件
# ls -lh /backup/system/
total 50M
-rw-r–r– 1 root root 1.2M Apr 4 02:00 etc_20260404_020000.tar.gz
-rw-r–r– 1 root root 12K Apr 4 02:00 packages_20260404_020000.txt
-rw-r–r– 1 root root 4.0M Apr 4 02:00 home_20260404_020000.tar.gz

风哥提示:Deepin提供了图形化的备份工具,建议生产环境配置自动化备份策略,并定期验证备份数据的可恢复性。使用Timeshift可以方便地创建系统快照。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息