Ubuntu 24.04 LTS 从入门到精通

目录

  1. Ubuntu 24.04 简介
  2. 系统安装
  3. 桌面环境概览
  4. 基础操作与命令行
  5. 软件管理
  6. 网络配置
  7. 系统管理
  8. 开发环境搭建
  9. 服务器配置
  10. 安全配置
  11. 故障排除
  12. 系统优化
  13. 小结

Ubuntu 24.04 简介

Ubuntu 24.04 LTS (Noble Numbat) 是 Canonical 公司发布的一个长期支持版本,代号为 "Noble Numbat"。这个版本基于 Linux 内核 6.8,提供长达 5 年的支持,直到 2029 年 4 月。

主要特性

  • GNOME 46 桌面环境
    :提供现代化的用户界面和增强的用户体验
  • Python 3.12
    :默认 Python 版本,带来性能改进和新特性
  • GCC 13
    :最新的 GNU 编译器集合
  • LLVM 17
    :增强的编译器基础设施
  • systemd 255
    :改进的系统和服务管理器
  • WireGuard 1.0.0
    :集成的 VPN 解决方案

系统要求

  • 处理器
    :2 GHz 双核处理器或更高
  • 内存
    :4 GB RAM(推荐 8 GB)
  • 存储
    :25 GB 可用硬盘空间
  • 显卡
    :支持 1024×768 分辨率
  • 网络
    :互联网连接(推荐)

系统安装

系统准备

  1. 下载 Ubuntu 24.04 LTS ISO 文件

    • 访问官网:https://ubuntu.com/download/desktop
    • 验证 SHA256 校验和确保文件完整性
  2. 创建启动介质

    # 使用 Rufus (Windows)
    # 或使用 Startup Disk Creator (Ubuntu)
    # 或使用命令行:
    sudo ddif=ubuntu-24.04-desktop-amd64.iso of=/dev/sdX bs=4M status=progress && sync
    

安装过程

  1. 启动安装程序

    • 从 USB 或 DVD 启动计算机
    • 选择 "Try or Install Ubuntu"
  2. 语言选择

    • 选择首选语言(建议选择 English 以便后续开发)
  3. 键盘布局

    • 选择正确的键盘布局
  4. 无线连接

    • 连接到 Wi-Fi 网络(可选)
  5. 更新和其他软件

    • Normal installation(常规安装)
    • Minimal installation(最小安装)
    • 选择安装类型:
    • 勾选 "Install third-party software"
  6. 安装类型

    • 与现有系统双引导
      :保留现有操作系统
    • 擦除磁盘并安装 Ubuntu
      :全新安装
    • 其他选项
      :手动分区
  7. 分区指南

    • EFI 系统分区
      :512 MB(UEFI 模式必需)
    • 根分区
      :至少 20 GB(建议 30+ GB),ext4 文件系统
    • 交换分区
      :根据内存大小(RAM < 8GB: 等于 RAM;RAM ≥ 8GB: 4-8GB)
    • Home 分区
      (可选):用于用户数据,便于系统重装时保留个人文件
  8. 位置设置

    • 选择所在时区
  9. 用户账户设置

    • 创建用户名和密码
    • 选择是否启用自动登录

高级安装选项

手动分区示例

# 假设使用 /dev/sda 作为目标磁盘
# EFI 分区(UEFI 模式)
sudo mkfs.fat -F32 /dev/sda1

# 根分区
sudo mkfs.ext4 /dev/sda2

# 交换分区
sudo mkfs.swap /dev/sda3

# Home 分区
sudo mkfs.ext4 /dev/sda4

# 挂载分区
sudo mount /dev/sda2 /target
sudo mkdir /target/boot/efi
sudo mount /dev/sda1 /target/boot/efi
sudo mkdir /target/home
sudo mount /dev/sda4 /target/home

桌面环境概览

Ubuntu 24.04 使用 GNOME 46 作为默认桌面环境,提供了现代化的用户体验。

GNOME 桌面组件

  • Activities Overview
    :应用程序启动器和工作区切换
  • Dash
    :常用应用程序快捷方式
  • Top Bar
    :系统状态指示器和时间
  • Workspaces
    :虚拟桌面管理
  • Applications Menu
    :所有应用程序列表

桌面定制

安装 GNOME Extensions

# 安装扩展管理工具
sudo apt update
sudo apt install gnome-shell-extensions chrome-gnome-shell

# 通过浏览器访问 extensions.gnome.org 安装扩展

常用扩展推荐

  • Dash to Panel
    :将 Dash 转换为传统面板
  • User Themes
    :支持自定义 Shell 主题
  • Arc Menu
    :提供类似 Windows 的开始菜单
  • NetSpeed
    :显示网络速度
  • Blur my Shell
    :为 Shell 组件添加模糊效果

主题和外观定制

# 安装主题引擎
sudo apt install gtk2-engines-murrine gtk2-engines-pixbuf

# 安装图标主题
sudo apt install papirus-icon-theme

# 安装主题
sudo apt install gnome-themes-extra

# 使用 GNOME Tweaks 应用自定义
sudo apt install gnome-tweaks

基础操作与命令行

图形界面操作

  • Super 键
    :打开 Activities Overview
  • Super + A
    :打开应用程序菜单
  • Super + D
    :显示桌面
  • Super + Tab
    :应用程序切换
  • Ctrl + Alt + T
    :打开终端

命令行基础

终端使用

# 打开终端的多种方式
# 1. Ctrl + Alt + T
# 2. Super + 输入 "Terminal"
# 3. Applications -> Utilities -> Terminal

# 基本命令
ls# 列出目录内容
pwd# 显示当前路径
cd# 切换目录
mkdir# 创建目录
touch# 创建空文件
cp# 复制文件
mv# 移动/重命名文件
rm# 删除文件
nano            # 简单文本编辑器
vim             # 高级文本编辑器
man             # 查看命令手册
which# 查找命令位置
whereis         # 查找文件位置

用户和权限管理

# 用户管理
whoami# 显示当前用户名
id# 显示用户ID信息
groups# 显示用户所属组
sudo            # 以超级用户权限执行命令
su              # 切换用户
passwd          # 更改密码

# 权限管理
chmod# 更改文件权限
chown# 更改文件所有者
chgrp# 更改文件组
umask# 设置默认权限掩码

# 示例
sudo chmod 755 script.sh        # 设置脚本执行权限
sudo chown user:group file.txt  # 更改文件所有者和组

文件系统操作

# 查看磁盘使用情况
df -h                           # 显示磁盘使用情况
du -sh /path/to/directory       # 显示目录大小
tree                            # 以树状图显示目录结构

# 搜索文件
find /path -name "filename"# 按名称查找
locate filename                 # 快速查找文件(需更新数据库)
grep -r "pattern" /path         # 在文件内容中搜索

# 文件压缩和解压
tar -czf archive.tar.gz folder/ # 创建压缩归档
tar -xzf archive.tar.gz         # 解压归档
zip -r archive.zip folder/      # 创建 ZIP 压缩
unzip archive.zip               # 解压 ZIP 文件

进程管理

# 进程查看
ps aux                          # 显示所有进程
top                             # 实时进程监控
htop                            # 交互式进程监控
pgrep process_name              # 按名称查找进程ID

# 进程控制
kill PID                        # 终止进程
killall process_name            # 终止所有同名进程
pkill process_name              # 按名称终止进程
nohupcommand &                 # 后台运行命令
jobs# 查看后台任务
fg# 将后台任务转到前台
bg# 将暂停任务放到后台

Shell 脚本基础

创建简单脚本

#!/bin/bash
# 这是一个简单的脚本示例

# 变量定义
USERNAME=$(whoami)
DATE=$(date)

# 输出信息
echo"Hello $USERNAME!"
echo"Today is $DATE"

# 条件判断
if [ -d "/home/$USERNAME/Documents" ]; then
echo"Documents directory exists"
cd"/home/$USERNAME/Documents"
echo"Current directory: $(pwd)"
else
echo"Documents directory does not exist"
fi

# 循环示例
for i in {1..5}; do
echo"Iteration: $i"
done

脚本执行

# 创建脚本文件
nano myscript.sh

# 添加执行权限
chmod +x myscript.sh

# 执行脚本
./myscript.sh

软件管理

Ubuntu 24.04 提供了多种软件管理方式,包括 APT、Snap 和 Flatpak。

APT 包管理器

APT (Advanced Package Tool) 是 Ubuntu 的主要包管理器。

基本 APT 命令

# 更新软件包列表
sudo apt update

# 升级已安装的软件包
sudo apt upgrade

# 升级系统(包括内核和关键组件)
sudo apt full-upgrade

# 安装软件包
sudo apt install package_name

# 安装多个软件包
sudo apt install package1 package2 package3

# 搜索软件包
apt search keyword

# 显示软件包信息
apt show package_name

# 删除软件包(保留配置文件)
sudo apt remove package_name

# 完全删除软件包(包括配置文件)
sudo apt purge package_name

# 清理不再需要的依赖包
sudo apt autoremove

# 清理下载的软件包缓存
sudo apt autoclean

# 检查依赖关系错误
sudo apt check

APT 高级用法

# 锁定软件包版本(防止更新)
sudo apt-mark hold package_name

# 解锁软件包版本
sudo apt-mark unhold package_name

# 查看锁定的软件包
apt-mark showhold

# 下载软件包但不安装
apt download package_name

# 安装本地 .deb 文件
sudo dpkg -i package_file.deb

# 修复依赖关系
sudo apt -f install

# 查看软件包变更日志
apt changelog package_name

Snap 软件包

Snap 是 Canonical 开发的软件包格式,提供应用沙箱和自动更新。

Snap 基本命令

# 安装 Snap 应用
sudo snap install app_name

# 搜索 Snap 应用
snap find keyword

# 列出已安装的 Snap 应用
snap list

# 更新 Snap 应用
sudo snap refresh app_name

# 更新所有 Snap 应用
sudo snap refresh

# 查看 Snap 应用信息
snap info app_name

# 删除 Snap 应用
sudo snap remove app_name

# 检查 Snap 更新
snap refresh --list

# 查看 Snap 版本历史
snap changes

Flatpak 软件包

Flatpak 是另一种应用分发格式,提供更好的隔离性。

Flatpak 基本命令

# 安装 Flatpak
sudo apt install flatpak

# 添加 Flathub 仓库
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# 安装 Flatpak 应用
flatpak install flathub com.company.AppName

# 列出已安装的 Flatpak 应用
flatpak list

# 更新 Flatpak 应用
flatpak update

# 卸载 Flatpak 应用
flatpak uninstall com.company.AppName

# 运行 Flatpak 应用
flatpak run com.company.AppName

软件源管理

添加 PPA (Personal Package Archive)

# 添加 PPA
sudo add-apt-repository ppa:repository-name/ppa-name

# 更新软件包列表
sudo apt update

# 安装来自 PPA 的软件包
sudo apt install package_name

# 删除 PPA
sudo add-apt-repository --remove ppa:repository-name/ppa-name

配置软件源

# 编辑软件源配置文件
sudo nano /etc/apt/sources.list

# 添加国内镜像源(例如阿里云)
# deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
# deb http://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe multiverse
# deb http://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe multiverse

网络配置

Ubuntu 24.04 使用 Netplan 进行网络配置。

Netplan 配置

Netplan 配置文件位于 /etc/netplan/ 目录下。

静态 IP 配置示例

# /etc/netplan/01-static-ip.yaml
network:
version:2
renderer:networkd
ethernets:
enp0s3:
dhcp4:false
addresses:
-192.168.1.100/24
gateway4:192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
search: [localdomain]

DHCP 配置示例

# /etc/netplan/01-dhcp.yaml
network:
version:2
renderer:networkd
ethernets:
enp0s3:
dhcp4:true
dhcp6:false

应用 Netplan 配置

# 应用配置
sudo netplan apply

# 测试配置语法
sudo netplan --debug apply

# 获取当前网络状态
netplan status

网络命令工具

基本网络命令

# 查看网络接口
ip addr show
# 或
ifconfig

# 查看路由表
ip route show
# 或
route -n

# 测试网络连接
ping google.com

# DNS 查询
nslookup google.com
dig google.com
host google.com

# 查看网络连接
ss -tuln
netstat -tuln

高级网络配置

# 配置静态路由
sudo ip route add 10.0.0.0/24 via 192.168.1.1

# 配置网络别名
sudo ip addr add 192.168.1.101/24 dev enp0s3

# 网络接口启用/禁用
sudo ip linkset enp0s3 up
sudo ip linkset enp0s3 down

# 网络流量监控
sudo apt install nethogs iftop
nethogs
iftop

防火墙配置

Ubuntu 24.04 默认使用 UFW (Uncomplicated Firewall)。

UFW 基本命令

# 启用防火墙
sudo ufw enable

# 禁用防火墙
sudo ufw disable

# 查看防火墙状态
sudo ufw status

# 查看详细状态
sudo ufw status verbose

# 允许服务
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 'Nginx Full'

# 允许特定端口
sudo ufw allow 8080
sudo ufw allow 3000/tcp
sudo ufw allow from 192.168.1.0/24

# 拒绝连接
sudo ufw deny 2375
sudo ufw reject smtp

# 删除规则
sudo ufw delete allow ssh
sudo ufw delete allow 8080

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

系统管理

系统信息查看

# 系统基本信息
uname -a                      # 内核版本信息
lsb_release -a               # 发行版信息
hostnamectl                  # 系统主机名信息
cat /etc/os-release         # 发行版详情
cat /proc/version           # 内核版本

# 硬件信息
lscpu                       # CPU 信息
lsmem                       # 内存信息
lspci                       # PCI 设备信息
lsusb                       # USB 设备信息
sudo lshw                   # 硬件详细信息
dmidecode                   # 系统固件信息(需 root 权限)

# 系统资源监控
top                         # 实时系统监控
htop                        # 增强版系统监控
vmstat                      # 虚拟内存统计
iostat                      # I/O 统计
free -h                     # 内存使用情况
df -h                       # 磁盘使用情况
du -sh /path               # 目录大小

服务管理

Ubuntu 24.04 使用 systemd 作为服务管理器。

Systemd 基本命令

# 服务管理
sudo systemctl start service_name     # 启动服务
sudo systemctl stop service_name      # 停止服务
sudo systemctl restart service_name   # 重启服务
sudo systemctl reload service_name    # 重新加载配置
sudo systemctl status service_name    # 查看服务状态

# 服务启用/禁用
sudo systemctl enable service_name    # 开机自启
sudo systemctl disable service_name   # 禁用开机自启
sudo systemctl is-enabled service_name # 检查是否启用

# 查看服务信息
systemctl list-units --type=service   # 列出所有服务
systemctl list-units --state=running  # 列出运行的服务
systemctl cat service_name            # 显示服务配置
systemctl show service_name           # 显示服务属性

# 系统控制
sudo systemctl reboot                # 重启系统
sudo systemctl poweroff              # 关闭系统
sudo systemctl suspend# 挂起系统
sudo systemctl hibernate             # 休眠系统

日志管理

Ubuntu 使用 journald 进行日志管理。

Journalctl 命令

# 基本日志查看
journalctl                    # 查看所有日志
journalctl -f                # 实时查看日志
journalctl -n 50             # 查看最近 50 条日志

# 按时间筛选
journalctl --since yesterday
journalctl --since "2024-04-01" --until"2024-04-02"
journalctl --since "2 hours ago"

# 按服务筛选
journalctl -u service_name
journalctl -u ssh.service
journalctl -u apache2.service

# 按优先级筛选
journalctl -p err            # 错误级别日志
journalctl -p warning        # 警告级别日志
journalctl -p info           # 信息级别日志

# 日志管理
journalctl --disk-usage      # 查看日志占用空间
sudo journalctl --vacuum-size=100M  # 限制日志大小
sudo journalctl --vacuum-time=30d   # 保留30天日志

用户和组管理

用户管理

# 创建用户
sudo adduser username
sudo useradd -m -s /bin/bash username  # 创建用户并家目录

# 删除用户
sudo deluser username
sudo deluser --remove-home username    # 同时删除家目录

# 修改用户信息
sudo usermod -aG groupname username    # 添加用户到组
sudo usermod -c "Full Name" username   # 设置用户描述
sudo usermod -l newname oldname        # 重命名用户

# 用户信息查看
id username                # 显示用户信息
finger username            # 显示用户详细信息
passwd -S username         # 显示密码状态
chage -l username          # 显示密码过期信息

组管理

# 创建组
sudo addgroup groupname

# 删除组
sudo delgroup groupname

# 修改组
sudo groupmod -n newname oldname    # 重命名组

# 组成员管理
sudo gpasswd -a username groupname  # 添加用户到组
sudo gpasswd -d username groupname  # 从组中删除用户

系统更新和维护

系统更新

# 检查可用更新
apt list --upgradable

# 安全更新
sudo apt update && sudo apt upgrade

# 完整系统更新
sudo apt full-upgrade

# 检查系统更新历史
cat /var/log/apt/history.log

# 查看更新包信息
apt changelog package_name

系统清理

# 清理包缓存
sudo apt autoclean
sudo apt clean

# 删除不需要的包
sudo apt autoremove

# 清理旧内核
sudo apt autoremove --purge

# 清理临时文件
sudo rm -rf /tmp/*
sudo journalctl --vacuum-time=7d

# 检查系统完整性
sudo apt check

开发环境搭建

Ubuntu 24.04 为开发者提供了丰富的工具和环境。

基础开发工具

# 安装基础开发工具
sudo apt update
sudo apt install build-essential
sudo apt install gcc g++ make cmake
sudo apt install git curl wget vim nano
sudo apt install python3 python3-pip
sudo apt install openjdk-17-jdk
sudo apt install nodejs npm

Python 开发环境

安装 Python 和包管理器

# Ubuntu 24.04 默认包含 Python 3.12
python3 --version

# 安装 pip
sudo apt install python3-pip

# 安装虚拟环境工具
pip3 install virtualenv

# 创建虚拟环境
python3 -m venv myproject_env
source myproject_env/bin/activate

# 安装常用包
pip install django flask numpy pandas matplotlib

Python IDE

# 安装 Visual Studio Code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code

# 安装 PyCharm
sudo snap install pycharm-community --classic

Java 开发环境

OpenJDK 安装

# 安装 OpenJDK 17
sudo apt update
sudo apt install openjdk-17-jdk

# 设置 JAVA_HOME
echo'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
source ~/.bashrc

# 验证安装
java -version
javac -version

Maven 和 Gradle

# 安装 Maven
sudo apt install maven

# 安装 Gradle
sudo snap install gradle --classic

Web 开发环境

Node.js 环境

# Ubuntu 24.04 包含 Node.js
nodejs --version

# 或使用 NodeSource 仓库安装最新版本
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

# 验证安装
node --version
npm --version

前端工具

# 安装前端构建工具
npm install -g @angular/cli
npm install -g react
npm install -g vue-cli
npm install -g webpack

Docker 环境

Docker 安装和配置

# 安装 Docker
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

# 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置 Docker 仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker 引擎
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

# 将用户添加到 Docker 组
sudo usermod -aG docker $USER

# 验证安装
docker run hello-world

服务器配置

Ubuntu 24.04 也是优秀的服务器操作系统。

SSH 服务器配置

安装和配置 SSH

# 安装 SSH 服务器
sudo apt update
sudo apt install openssh-server

# 启动 SSH 服务
sudo systemctl start ssh
sudo systemctl enable ssh

# 查看 SSH 服务状态
sudo systemctl status ssh

# 编辑 SSH 配置
sudo nano /etc/ssh/sshd_config

# 常用 SSH 配置选项
# Port 2222                 # 更改默认端口
# PermitRootLogin no        # 禁止 root 登录
# PasswordAuthentication no # 禁用密码认证,使用密钥认证
# AllowUsers username       # 限制允许登录的用户
# DenyUsers root           # 拒绝特定用户登录

SSH 密钥认证

# 在客户端生成密钥对
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# 复制公钥到服务器
ssh-copy-id username@server_ip

# 或手动复制
cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Web 服务器配置

Apache Web 服务器

# 安装 Apache
sudo apt update
sudo apt install apache2

# 启动 Apache 服务
sudo systemctl start apache2
sudo systemctl enable apache2

# 配置防火墙允许 HTTP/HTTPS
sudo ufw allow 'Apache Full'

# 配置虚拟主机
sudo nano /etc/apache2/sites-available/example.com.conf

# 示例虚拟主机配置
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

# 启用站点
sudo a2ensite example.com.conf
sudo systemctl reload apache2

Nginx Web 服务器

# 安装 Nginx
sudo apt update
sudo apt install nginx

# 启动 Nginx 服务
sudo systemctl start nginx
sudo systemctl enable nginx

# 配置防火墙
sudo ufw allow 'Nginx Full'

# 配置虚拟主机
sudo nano /etc/nginx/sites-available/example.com

# 示例 Nginx 配置
server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com;
    index index.html index.htm index.php;

    location / {
        try_files $uri$uri/ =404;
    }
}

# 启用站点
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

数据库服务器

MySQL/MariaDB

# 安装 MySQL
sudo apt update
sudo apt install mysql-server

# 安全配置
sudo mysql_secure_installation

# 启动 MySQL 服务
sudo systemctl start mysql
sudo systemctl enable mysql

# 登录 MySQL
sudo mysql -u root -p

# 创建数据库和用户
CREATE DATABASE example_db;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;

PostgreSQL

# 安装 PostgreSQL
sudo apt update
sudo apt install postgresql postgresql-contrib

# 启动 PostgreSQL 服务
sudo systemctl start postgresql
sudo systemctl enable postgresql

# 切换到 postgres 用户
sudo -i -u postgres

# 进入 PostgreSQL 命令行
psql

# 创建数据库和用户
CREATE DATABASE example_db;
CREATE USER example_user WITH ENCRYPTED PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE example_db TO example_user;

邮件服务器

Postfix 邮件服务器

# 安装 Postfix
sudo apt update
sudo apt install postfix mailutils

# 配置 Postfix(交互式配置向导)
sudo dpkg-reconfigure postfix

# 配置选项示例:
# General type of mail configuration: Internet Site
# System mail name: your-domain.com
# Root and postmaster mail recipient: your-username
# Other destinations to accept mail: $myhostname, localhost.$mydomain, localhost, $mydomain
# Force synchronous updates on mail queue?: No
# Local networks: 127.0.0.0/8 [::1]/128
# Mailbox size limit: 0
# Local address extension character: +
# Internet protocols to use: all

安全配置

系统安全加固

更新系统

# 定期更新系统
sudo apt update && sudo apt upgrade -y

# 启用自动安全更新
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

配置 Fail2ban

# 安装 Fail2ban
sudo apt update
sudo apt install fail2ban

# 配置 Fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

# 启动 Fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban

配置 AppArmor

# 检查 AppArmor 状态
sudo aa-status

# 启用 AppArmor 配置文件
sudo aa-enforce /path/to/profile

# 检查 AppArmor 配置
sudo apparmor_status

用户认证安全

配置密码策略

# 安装密码强度检查
sudo apt install libpam-pwquality

# 配置密码策略
sudo nano /etc/pam.d/common-password

# 添加密码质量要求
password requisite pam_pwquality.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

# 配置密码过期策略
sudo nano /etc/login.defs

# 设置密码策略
PASS_MAX_DAYS   90
PASS_MIN_DAYS   7
PASS_WARN_AGE   7

配置 SSH 安全

# SSH 安全配置示例
sudo nano /etc/ssh/sshd_config

# 安全配置选项
Port 2222                    # 更改默认端口
Protocol 2                   # 仅使用 SSH2
PermitRootLogin no          # 禁止 root 登录
PubkeyAuthentication yes# 启用公钥认证
PasswordAuthentication no   # 禁用密码认证
AllowUsers specific_user    # 限制允许登录的用户
MaxAuthTries 3              # 最大认证尝试次数
ClientAliveInterval 300     # 客户端保活间隔
ClientAliveCountMax 2       # 最大保活次数

网络安全

配置防火墙

# UFW 高级配置
sudo ufw default deny incoming
sudo ufw default allow outgoing

# 允许特定服务
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow from 192.168.1.0/24 to any port 22

# 限制连接频率
sudo ufw limit ssh

# 自定义规则
sudo ufw insert 1 allow proto tcp from 10.0.0.0/8 to any port 80

故障排除

系统启动问题

GRUB 修复

# 从 Live CD 启动系统
# 挂载根分区
sudo mount /dev/sdaX /mnt
sudo mount /dev/sdaY /boot  # 如果 boot 是独立分区
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

# 进入系统并重新安装 GRUB
sudo chroot /mnt
grub-install /dev/sda
update-grub
exit

# 卸载并重启
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt
sudo reboot

内核问题

# 查看可用内核
ls /boot/vmlinuz*

# 从 GRUB 菜单选择旧内核启动

# 安装新内核
sudo apt update
sudo apt install linux-generic-hwe-24.04

# 删除旧内核
sudo apt autoremove

网络问题

网络连接故障排除

# 检查网络接口
ip addr show

# 检查路由
ip route show

# 测试 DNS
nslookup google.com

# 重启网络服务
sudo systemctl restart NetworkManager
sudo systemctl restart systemd-networkd

# 检查网络配置
cat /etc/netplan/*.yaml

硬件问题

硬件诊断

# 检查硬件信息
lshw
dmidecode
lspci
lsusb

# 检查硬盘健康
sudo apt install smartmontools
sudo smartctl -a /dev/sda

# 检查内存
sudo apt install memtester
sudo memtester 1G 3

# 检查温度
sudo apt install lm-sensors
sudo sensors-detect
sensors

软件问题

APT 问题解决

# 修复 APT 问题
sudo apt update --fix-missing
sudo apt --fix-broken install
sudo apt clean
sudo apt autoclean

# 重新配置软件包
sudo dpkg --configure -a

# 强制重新安装软件包
sudo apt remove --purge package_name
sudo apt autoremove
sudo apt install package_name

系统优化

性能优化

系统调优

# 创建系统优化配置
sudo nano /etc/sysctl.d/99-custom-performance.conf

# 性能优化参数
vm.swappiness=10
vm.vfs_cache_pressure=50
vm.dirty_ratio=15
vm.dirty_background_ratio=5

# 应用配置
sudo sysctl -p /etc/sysctl.d/99-custom-performance.conf

文件系统优化

# 检查当前挂载选项
mount | grep /dev/sda

# 优化挂载选项
# 在 /etc/fstab 中添加 noatime,nodiratime 选项
/dev/sda1 / ext4 defaults,noatime,nodiratime 0 1

启动优化

服务管理

# 查看启动时间最长的服务
systemd-analyze blame

# 查看启动图表
systemd-analyze critical-chain

# 禁用不必要的服务
sudo systemctl disable service_name
sudo systemctl mask service_name  # 完全屏蔽服务

磁盘优化

清理系统

# 清理包缓存
sudo apt autoclean
sudo apt clean

# 清理日志
sudo journalctl --vacuum-time=7d

# 清理临时文件
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*

# 清理浏览器缓存
rm -rf ~/.cache/chromium/*
rm -rf ~/.mozilla/firefox/*/Cache/*

小结

Ubuntu 24.04 LTS "Noble Numbat" 提供了一个强大、稳定且用户友好的操作系统环境。通过本指南,您已经学习了从系统安装到高级配置的各个方面:

  1. 系统安装
    :了解了安装过程和分区策略
  2. 桌面环境
    :熟悉了 GNOME 46 桌面和定制选项
  3. 命令行操作
    :掌握了基本和高级的命令行技能
  4. 软件管理
    :学会了使用 APT、Snap 和 Flatpak
  5. 网络配置
    :理解了 Netplan 配置和网络管理
  6. 系统管理
    :掌握了服务管理、用户管理和系统维护
  7. 开发环境
    :学会了配置各种编程语言的开发环境
  8. 服务器配置
    :了解了 Web 服务器、数据库和邮件服务器配置
  9. 安全配置
    :学习了系统安全加固的方法
  10. 故障排除
    :掌握了常见问题的诊断和解决方法
  11. 系统优化
    :了解了性能调优的技巧

Ubuntu 24.04 以其强大的社区支持、丰富的软件生态和持续的更新维护,成为个人用户、开发者和企业的理想选择。随着经验的增长,您可以进一步探索更高级的主题,如容器化、云计算集成和自动化运维。

持续学习和实践是掌握 Ubuntu 的关键。祝您在 Ubuntu 24.04 的使用过程中获得愉快的体验!

阅读剩余
THE END