Ubuntu 服务器基础操作

Ubuntu 服务器基础操作

用了多年 Ubuntu Server,从 16.04 到现在的 24.04 LTS,再到即将到来的 26.04 LTS(预计 2026 年 4 月发布),积累了一些日常最常使用的操作方式。这些内容聚焦命令行环境下的核心任务,结合实际生产场景,加入一些理论背景和容易忽略的细节,帮助快速建立可靠的操作习惯。

Ubuntu 24.04 LTS 目前仍是生产主力(支持至 2029 年,可通过 Ubuntu Pro 延长至 2036 年左右),内核基于 6.8 系列,包管理器 apt 继续优化,systemd 深度集成,安全特性如 AppArmor 默认更严格,unattended-upgrades 更智能。26.04 LTS 将带来进一步的现代化,例如更多 Rust 组件替换传统工具、增强的 TPM 加密支持,以及对 Wayland 和现代硬件的更好适配(服务器端主要受益于内核和安全栈升级)。

1. 初次登录后的快速定位与基础环境感知

登录后第一时间运行以下命令,建立对系统的直观认知:

  • whoami 与 id:确认当前用户身份及所属组,避免在错误权限下操作。
  • hostnamectl 与 hostname -I:查看主机名、内核版本、架构及所有 IP 地址(云厂商常把公网 IP 放在 metadata 中,内网 IP 更可靠用于内部通信)。
  • uptime 与 w:了解运行时长、负载平均值及当前登录用户(负载过高往往是第一个报警信号)。

理论上,Linux 的多用户模型依赖用户和组来实现权限隔离。初次登录推荐立即创建非 root 普通用户并配置 sudo,避免直接用 root 操作带来的风险(root 权限无限制,误操作后果严重)。

推荐立即执行的初始化: 创建新用户、禁用 root SSH 登录、启用密钥认证、配置 UFW 防火墙,这些是现代 Ubuntu 服务器安全基线的起点。

2. 包管理与系统维护的核心逻辑

Ubuntu 使用 apt(底层是 dpkg)管理软件包,Main 仓库享有 Canonical 官方安全维护,Universe 仓库依赖社区(Ubuntu Pro 可为 Universe 提供官方补丁)。

日常最稳的操作序列:

  1. sudo apt update —— 刷新包索引(每次操作前必做,避免使用过期元数据)。
  2. sudo apt upgrade -y —— 升级已安装包(安全补丁最重要)。
  3. sudo apt full-upgrade —— 处理依赖变更时更彻底(内核升级常需此命令)。
  4. sudo apt autoremove –purge + autoclean —— 清理无用依赖和旧缓存,防止 /var 膨胀。

自动安全更新:启用 unattended-upgrades(默认已装),编辑 /etc/apt/apt.conf.d/50unattended-upgrades 只允许安全源自动安装,生产环境建议配置邮件通知或结合监控告警。

升级后检查:安装 needrestart,运行 sudo needrestart 查看哪些服务因库更新需要重启(尤其是共享库如 libc、openssl),避免服务运行旧版本代码带来的安全隐患。

3. 系统资源监控与瓶颈定位

理解 Linux 资源模型:CPU(调度器 CFS)、内存(页面缓存 + swap)、IO(CFQ / mq-deadline 调度器)、网络(TCP 拥塞控制)。

常用一屏概览:

  • free -h + vmstat 1 5:内存使用 + 系统整体统计(si/so 列高表示 swap 频繁)。
  • df -hT + df -i:磁盘空间与 inode(日志/邮件系统常耗尽 inode 而非空间)。
  • top / htop:进程视图(按 M 内存排序、1 显示多核)。
  • iotop 或 iostat -x 1 5:磁盘 IO 瓶颈(%util 接近 100% 表示饱和)。
  • sar(需 sysstat 包):历史数据分析(CPU、内存、IO、网络)。

高级提示:使用 systemd-analyze blame 查看开机慢的服务;systemd-cgtop 监控 cgroup 资源消耗(容器时代常用)。

4. 日志系统与故障排查原理

Ubuntu 默认使用 systemd-journald + rsyslog。

journald 特点:二进制存储、旋转策略、支持结构化查询。

常用定位方式:

  • journalctl -u 服务名 -xe:最近错误 + 上下文(-e 跳到末尾,-x 加解释)。
  • journalctl –since “2026-02-20” –until “2026-02-25″:时间范围过滤。
  • journalctl -p err -b:本次启动的所有错误级日志。
  • tail -f /var/log/应用日志:传统文件日志实时跟踪。
  • grep -iE “error|warn|fail|denied” /var/log/syslog | tail:关键词快速筛查。

生产建议:配置 journald 持久化(/var/log/journal),设置 SystemMaxUse=10G 限制占用;定期 journalctl –vacuum-time=4weeks 清理旧日志。

5. 权限模型与文件系统安全

Linux 使用 DAC(自主访问控制)+ MAC(AppArmor/SELinux)。

八进制权限速记:

  • 7 = rwx,6 = rw-,5 = r-x,4 = r–。
  • 文件常用 644/640,目录 755/750,可执行脚本 755。
  • 谨慎使用 setuid/setgid/sticky bit(chmod u+s、g+s、+t)。

常用修复:

  • Web 目录:chown -R www-data:www-data /var/www + chmod -R 755 /var/www。
  • 配置文件:chmod 640 sensitive.conf + chown root:服务组。
  • 避免 777,尤其 /tmp(建议 mount noexec,nodev,nosuid)。

AppArmor 默认启用,查看 /etc/apparmor.d/ 策略,aa-status 检查加载状态,异常时可临时 aa-complain 切换日志模式排查。

6. 网络诊断与基本安全

网络栈:iproute2 工具族(取代 net-tools)。

快速链路:

  • ping -c4 8.8.8.8 + ping6 ipv6.google.com:IPv4/IPv6 通达性。
  • ss -ltnp:监听端口 + 进程(取代 netstat)。
  • ss -ant state established:当前连接。
  • ufw status verbose:防火墙规则。
  • fail2ban-client status sshd:检查入侵防御(推荐安装)。

高级:tcpdump 抓包、nft 或 iptables 精细规则、sysctl 调优网络参数(如增大 somaxconn、tcp_max_syn_backlog 防 SYN flood)。

7. 生产环境生存技巧

  • 配置前备份:cp -a file{,.$(date +%F)}。
  • 防误删:alias rm=’rm -i’,或用 trash-cli。
  • 断线续航:tmux / screen + tmux new -s work。
  • 进程顽固:lsof -i:端口 → kill -9 PID。
  • 内核参数持久化:/etc/sysctl.d/99-custom.conf。
  • 定期任务:crontab 或 systemd timer(更现代)。

这些操作覆盖了 Ubuntu 服务器 80%+ 的日常工作。结合监控(Prometheus/Node Exporter)、日志聚合(Loki/ELK)、配置管理(Ansible),才能构建真正可靠的生产环境。遇到具体应用栈时,再针对性深化即可。

Telegram
Telegram服务器销售@IDCSELL