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 文件
-
访问官网:https://ubuntu.com/download/desktop -
验证 SHA256 校验和确保文件完整性
-
-
创建启动介质
# 使用 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 以便后续开发)
-
-
键盘布局
-
选择正确的键盘布局
-
-
无线连接
-
连接到 Wi-Fi 网络(可选)
-
-
更新和其他软件
-
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 分区
(可选):用于用户数据,便于系统重装时保留个人文件
- EFI 系统分区
-
位置设置
-
选择所在时区
-
-
用户账户设置
-
创建用户名和密码 -
选择是否启用自动登录
-
高级安装选项
手动分区示例
# 假设使用 /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" 提供了一个强大、稳定且用户友好的操作系统环境。通过本指南,您已经学习了从系统安装到高级配置的各个方面:
- 系统安装
:了解了安装过程和分区策略 - 桌面环境
:熟悉了 GNOME 46 桌面和定制选项 - 命令行操作
:掌握了基本和高级的命令行技能 - 软件管理
:学会了使用 APT、Snap 和 Flatpak - 网络配置
:理解了 Netplan 配置和网络管理 - 系统管理
:掌握了服务管理、用户管理和系统维护 - 开发环境
:学会了配置各种编程语言的开发环境 - 服务器配置
:了解了 Web 服务器、数据库和邮件服务器配置 - 安全配置
:学习了系统安全加固的方法 - 故障排除
:掌握了常见问题的诊断和解决方法 - 系统优化
:了解了性能调优的技巧
Ubuntu 24.04 以其强大的社区支持、丰富的软件生态和持续的更新维护,成为个人用户、开发者和企业的理想选择。随着经验的增长,您可以进一步探索更高级的主题,如容器化、云计算集成和自动化运维。
持续学习和实践是掌握 Ubuntu 的关键。祝您在 Ubuntu 24.04 的使用过程中获得愉快的体验!