Ubuntu 24.04 LTS 从入门到精通 目录
Ubuntu 24.04 简介
系统安装
桌面环境概览
基础操作与命令行
软件管理
网络配置
系统管理
开发环境搭建
服务器配置
安全配置
故障排除
系统优化
小结
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 分辨率
网络
:互联网连接(推荐)
系统安装 系统准备
下载 Ubuntu 24.04 LTS ISO 文件
创建启动介质
1 2 3 4 # 使用 Rufus (Windows) # 或使用 Startup Disk Creator (Ubuntu) # 或使用命令行: sudo ddif=ubuntu-24.04-desktop-amd64.iso of=/dev/sdX bs=4M status=progress && sync
安装过程
安装过程
启动安装程序
从 USB 或 DVD 启动计算机
选择 “Try or Install Ubuntu”
语言选择
选择首选语言(建议选择 English 以便后续开发)
键盘布局
无线连接
更新和其他软件
Normal installation(常规安装)
Minimal installation(最小安装)
选择安装类型:
勾选 “Install third-party software”
安装类型
与现有系统双引导
:保留现有操作系统
擦除磁盘并安装 Ubuntu
:全新安装
其他选项
:手动分区
分区指南
EFI 系统分区
:512 MB(UEFI 模式必需)
根分区
:至少 20 GB(建议 30+ GB),ext4 文件系统
交换分区
:根据内存大小(RAM < 8GB: 等于 RAM;RAM ≥ 8GB: 4-8GB)
Home 分区
(可选):用于用户数据,便于系统重装时保留个人文件
位置设置
用户账户设置
高级安装选项 手动分区示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 假设使用 /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 1 2 3 4 5 # 安装扩展管理工具 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 组件添加模糊效果
主题和外观定制 1 2 3 4 5 6 7 8 9 10 11 # 安装主题引擎 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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 打开终端的多种方式 # 1. Ctrl + Alt + T # 2. Super + 输入 "Terminal" # 3. Applications -> Utilities -> Terminal # 基本命令 ls# 列出目录内容 pwd# 显示当前路径 cd# 切换目录 mkdir# 创建目录 touch# 创建空文件 cp# 复制文件 mv# 移动/重命名文件 rm# 删除文件 nano # 简单文本编辑器 vim # 高级文本编辑器 man # 查看命令手册 which# 查找命令位置 whereis # 查找文件位置
用户和权限管理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 用户管理 whoami# 显示当前用户名 id# 显示用户ID信息 groups# 显示用户所属组 sudo # 以超级用户权限执行命令 su # 切换用户 passwd # 更改密码 # 权限管理 chmod# 更改文件权限 chown# 更改文件所有者 chgrp# 更改文件组 umask# 设置默认权限掩码 # 示例 sudo chmod 755 script.sh # 设置脚本执行权限 sudo chown user:group file.txt # 更改文件所有者和组
文件系统操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 查看磁盘使用情况 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 文件
进程管理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 进程查看 ps aux # 显示所有进程 top # 实时进程监控 htop # 交互式进程监控 pgrep process_name # 按名称查找进程ID # 进程控制 kill PID # 终止进程 killall process_name # 终止所有同名进程 pkill process_name # 按名称终止进程 nohupcommand & # 后台运行命令 jobs# 查看后台任务 fg# 将后台任务转到前台 bg# 将暂停任务放到后台
Shell 脚本基础 创建简单脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #!/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
脚本执行 1 2 3 4 5 6 7 8 # 创建脚本文件 nano myscript.sh # 添加执行权限 chmod +x myscript.sh # 执行脚本 ./myscript.sh
软件管理 Ubuntu 24.04 提供了多种软件管理方式,包括 APT、Snap 和 Flatpak。
APT 包管理器 APT (Advanced Package Tool) 是 Ubuntu 的主要包管理器。
基本 APT 命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 # 更新软件包列表 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 高级用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 锁定软件包版本(防止更新) 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 基本命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # 安装 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 基本命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 安装 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) 1 2 3 4 5 6 7 8 9 10 11 # 添加 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
配置软件源 1 2 3 4 5 6 7 # 编辑软件源配置文件 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 配置示例 1 2 3 4 5 6 7 8 9 10 11 12 13 # /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 配置示例 1 2 3 4 5 6 7 8 # /etc/netplan/01-dhcp.yaml network: version:2 renderer:networkd ethernets: enp0s3: dhcp4:true dhcp6:false
应用 Netplan 配置 1 2 3 4 5 6 7 8 # 应用配置 sudo netplan apply # 测试配置语法 sudo netplan --debug apply # 获取当前网络状态 netplan status
网络命令工具 基本网络命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # 查看网络接口 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
高级网络配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 配置静态路由 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 基本命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 # 启用防火墙 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
系统管理 系统信息查看 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # 系统基本信息 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 基本命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # 服务管理 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 命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # 基本日志查看 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天日志
用户和组管理 用户管理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 创建用户 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 # 显示密码过期信息
组管理 1 2 3 4 5 6 7 8 9 10 11 12 # 创建组 sudo addgroup groupname # 删除组 sudo delgroup groupname # 修改组 sudo groupmod -n newname oldname # 重命名组 # 组成员管理 sudo gpasswd -a username groupname # 添加用户到组 sudo gpasswd -d username groupname # 从组中删除用户
系统更新和维护 系统更新 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 检查可用更新 apt list --upgradable # 安全更新 sudo apt update && sudo apt upgrade # 完整系统更新 sudo apt full-upgrade # 检查系统更新历史 cat /var/log/apt/history.log # 查看更新包信息 apt changelog package_name
系统清理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 清理包缓存 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 为开发者提供了丰富的工具和环境。
基础开发工具 1 2 3 4 5 6 7 8 # 安装基础开发工具 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 和包管理器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 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 1 2 3 4 5 6 7 8 9 # 安装 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 安装 1 2 3 4 5 6 7 8 9 10 11 # 安装 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 1 2 3 4 5 # 安装 Maven sudo apt install maven # 安装 Gradle sudo snap install gradle --classic
Web 开发环境 Node.js 环境 1 2 3 4 5 6 7 8 9 10 # 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
前端工具 1 2 3 4 5 # 安装前端构建工具 npm install -g @angular/cli npm install -g react npm install -g vue-cli npm install -g webpack
Docker 环境 Docker 安装和配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # 安装 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 安装 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 密钥认证 1 2 3 4 5 6 7 8 # 在客户端生成密钥对 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 服务器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # 安装 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 服务器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # 安装 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 安装 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 安装 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 邮件服务器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 安装 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
安全配置 系统安全加固 更新系统 1 2 3 4 5 6 # 定期更新系统 sudo apt update && sudo apt upgrade -y # 启用自动安全更新 sudo apt install unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades
配置 Fail2ban 1 2 3 4 5 6 7 8 9 10 11 # 安装 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 1 2 3 4 5 6 7 8 # 检查 AppArmor 状态 sudo aa-status # 启用 AppArmor 配置文件 sudo aa-enforce /path/to/profile # 检查 AppArmor 配置 sudo apparmor_status
用户认证安全 配置密码策略 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 安装密码强度检查 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 安全 1 2 3 4 5 6 7 8 9 10 11 12 13 # 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 # 最大保活次数
网络安全 配置防火墙 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 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 修复 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 从 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
内核问题 1 2 3 4 5 6 7 8 9 10 11 # 查看可用内核 ls /boot/vmlinuz* # 从 GRUB 菜单选择旧内核启动 # 安装新内核 sudo apt update sudo apt install linux-generic-hwe-24.04 # 删除旧内核 sudo apt autoremove
网络问题 网络连接故障排除 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 检查网络接口 ip addr show # 检查路由 ip route show # 测试 DNS nslookup google.com # 重启网络服务 sudo systemctl restart NetworkManager sudo systemctl restart systemd-networkd # 检查网络配置 cat /etc/netplan/*.yaml
硬件问题 硬件诊断 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 检查硬件信息 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 问题解决 1 2 3 4 5 6 7 8 9 10 11 12 13 # 修复 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
系统优化 性能优化 系统调优 1 2 3 4 5 6 7 8 9 10 11 # 创建系统优化配置 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
文件系统优化 1 2 3 4 5 6 # 检查当前挂载选项 mount | grep /dev/sda # 优化挂载选项 # 在 /etc/fstab 中添加 noatime,nodiratime 选项 /dev/sda1 / ext4 defaults,noatime,nodiratime 0 1
启动优化 服务管理 1 2 3 4 5 6 7 8 9 # 查看启动时间最长的服务 systemd-analyze blame # 查看启动图表 systemd-analyze critical-chain # 禁用不必要的服务 sudo systemctl disable service_name sudo systemctl mask service_name # 完全屏蔽服务
磁盘优化 清理系统 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 清理包缓存 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” 提供了一个强大、稳定且用户友好的操作系统环境。通过本指南,您已经学习了从系统安装到高级配置的各个方面:
系统安装
:了解了安装过程和分区策略
桌面环境
:熟悉了 GNOME 46 桌面和定制选项
命令行操作
:掌握了基本和高级的命令行技能
软件管理
:学会了使用 APT、Snap 和 Flatpak
网络配置
:理解了 Netplan 配置和网络管理
系统管理
:掌握了服务管理、用户管理和系统维护
开发环境
:学会了配置各种编程语言的开发环境
服务器配置
:了解了 Web 服务器、数据库和邮件服务器配置
安全配置
:学习了系统安全加固的方法
故障排除
:掌握了常见问题的诊断和解决方法
系统优化
:了解了性能调优的技巧
Ubuntu 24.04 以其强大的社区支持、丰富的软件生态和持续的更新维护,成为个人用户、开发者和企业的理想选择。随着经验的增长,您可以进一步探索更高级的主题,如容器化、云计算集成和自动化运维。
持续学习和实践是掌握 Ubuntu 的关键。祝您在 Ubuntu 24.04 的使用过程中获得愉快的体验!
https://mp.weixin.qq.com/s/6ymM1t1HIBt8GdONwFXJEA