我孤身走在路上, 石子在雾中发亮,夜很安静,荒原面对太空,星星互诉衷肠
VMware添加Debian12的一个模板
VMware添加Debian12的一个模板

VMware添加Debian12的一个模板

公司需要添加一个debian的模板,记录一下制作的过程。



更新系统、安装常用工具(可根据需求添加或减少)

sudo apt update
sudo apt upgrade -y

sudo apt install -y vim wget curl htop net-tools iproute2 \
    lsb-release dnsutils sysstat rsyslog sudo tree jq ifstat



更换 Debian 12 国内源(我换的是清华源)

先备份源文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

替换内容

sudo tee /etc/apt/sources.list << 'EOF'
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
EOF

更新一下

sudo apt update



配置欢迎信息(自定义 MOTD)

Debian 使用 pam_motd + /etc/update-motd.d/ 动态生成 MOTD。

可以自定义一个脚本放进去。



创建自己的 MOTD 脚本(按需)

sudo vim /usr/local/bin/custom_motd.sh

写入内容

#!/bin/bash

# 时间
NOW=$(date "+%Y年 %m月 %d日 %A %H:%M:%S %Z")

# 登录用户数
LOGIN_USERS=$(who | wc -l)

# 系统运行时间
UPTIME_INFO=$(uptime -p | sed 's/up //')

# 负载情况
LOAD=$(uptime | awk -F'load average:' '{print $2}')

# 磁盘占用
DISK=$(df -h / | awk 'NR==2{print $5 " used (" $3 " of " $2 ")"}')

# 内存占用
MEM_USED=$(free -h | awk '/Mem:/{print $3}')
MEM_TOTAL=$(free -h | awk '/Mem:/{print $2}')

# CPU 占用率(1 秒采样)
CPU_IDLE=$(top -bn1 | grep "Cpu(s)" | awk '{print $8}')
CPU_USED=$(echo "scale=2; 100-$CPU_IDLE" | bc)

# 网络接口(自动获取主网卡)
NIC=$(ip route get 8.8.8.8 | grep -oP 'dev \K\w+')

# 网卡流量(开机以来累计)
RX=$(cat /sys/class/net/$NIC/statistics/rx_bytes)
TX=$(cat /sys/class/net/$NIC/statistics/tx_bytes)

RX_H=$(echo "scale=2; $RX/1024/1024" | bc)
TX_H=$(echo "scale=2; $TX/1024/1024" | bc)

# IP地址
IP=$(ip -o -4 addr show $NIC | awk '{print $4}' | cut -d/ -f1)

# 默认网关
GATEWAY=$(ip route | awk '/default/ {print $3}')

# DNS服务器
DNS=$(grep -E '^nameserver' /etc/resolv.conf | awk '{print $2}' | tr '\n' ',')

# 输出内容
cat <<EOF
====== 欢迎登录XXXXX服务 ======
当前时间: $NOW
当前登录用户数: $LOGIN_USERS
系统运行时间: $UPTIME_INFO
负载情况:$LOAD
磁盘占用(/): $DISK
内存占用: $MEM_USED used / $MEM_TOTAL
CPU 占用率: $CPU_USED% used
网络接收($NIC): ${RX_H} MB
网络发送($NIC): ${TX_H} MB
IP地址($NIC): $IP
默认网关: $GATEWAY
DNS服务器: $DNS
EOF

赋予执行权限

sudo vim /usr/local/bin/custom_motd.sh



在 update-motd 中调用

sudo tee /etc/update-motd.d/00-custom << 'EOF'
#!/bin/sh
/usr/local/bin/custom_motd.sh
EOF

sudo chmod +x /etc/update-motd.d/00-custom

弄好以后重新登录就可以看到效果了


文件句柄 、 进程数优化

编辑:

sudo vim /etc/security/limits.conf
尾部添加:
* soft nofile 1048576
* hard nofile 1048576
* soft nproc 655350
* hard nproc 655350
root soft nofile 1048576
root hard nofile 1048576



systemd 默认限制

systemd 会覆盖 limits.conf,因此需要设置:

sudo mkdir -p /etc/systemd/system.conf.d
sudo tee /etc/systemd/system.conf.d/99-limits.conf <<EOF
[Manager]
DefaultLimitNOFILE=1048576
DefaultLimitNPROC=655350
EOF


重启 systemd 组件(无需 reboot):

sudo systemctl daemon-reexec


检查是否生效:

ulimit -n
ulimit -u



网络 、 内核优化(sysctl.conf)


适用于高并发、VOIP、代理、API、Nginx等大量 TCP 连接等场景。

编辑:

sudo vim /etc/sysctl.conf


添加以下稳定参数:

###############################
# TCP 参数优化(适合服务器)
###############################

# 文件句柄
fs.file-max = 2097152

# 端口范围
net.ipv4.ip_local_port_range = 10000 65000

# TIME_WAIT 优化
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 15

# SYN 洪水保护
net.ipv4.tcp_syncookies = 1

# SYN backlog 队列
net.ipv4.tcp_max_syn_backlog = 8192

# TIME_WAIT bucket 数
net.ipv4.tcp_max_tw_buckets = 5000000

###############################
# Socket 优化
###############################
net.core.somaxconn = 8192
net.core.netdev_max_backlog = 32768

###############################
# 内存控制
###############################
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608

###############################
# 保持连接优化
###############################
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 10

###############################
# 连接追踪
###############################
net.netfilter.nf_conntrack_max = 262144

使其生效:

sudo sysctl -p



NetworkManager 优化(可选)

编辑:

sudo vim /etc/sysctl.conf

追加:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

生效:

sudo sysctl -p

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

20 − = 16