logo

Ubuntu装机全攻略:从零到自动化脚本配置指南

作者:有好多问题2025.09.17 17:38浏览量:0

简介:本文详细介绍Ubuntu系统从安装到基础配置的完整流程,并附自动化脚本实现快速环境搭建,适合开发者及运维人员参考。

一、Ubuntu装机前准备

1.1 版本选择与镜像下载

Ubuntu官方提供桌面版(Desktop)和服务器版(Server)两种镜像,开发者需根据使用场景选择:

  • 桌面版:适合个人开发或图形化操作需求,推荐LTS(长期支持)版本如22.04 LTS,稳定性更优。
  • 服务器版:无图形界面,资源占用低,适合服务器或容器化部署。

下载地址:Ubuntu官网镜像,选择对应架构(x86_64或ARM64)的ISO文件。

1.2 制作启动盘

使用工具如Rufus(Windows)或dd命令(Linux/macOS)将ISO写入U盘:

  1. # Linux/macOS下使用dd命令(需替换/dev/sdX为实际设备)
  2. sudo dd if=ubuntu-22.04.3-live-server-amd64.iso of=/dev/sdX bs=4M status=progress && sync

注意事项:操作前确认设备路径,误操作可能导致数据丢失。

1.3 磁盘分区建议

  • 单系统安装:直接选择“清除整个磁盘并安装Ubuntu”。
  • 双系统共存
    • 预留至少50GB空间(建议100GB+)。
    • 创建独立分区(如/根目录40GB、/home剩余空间、swap交换分区为内存的1-2倍)。
    • 安装时选择“其他选项”,手动分配分区。

二、Ubuntu安装流程

2.1 启动安装程序

插入启动盘后重启,选择U盘启动,进入Ubuntu安装界面。

2.2 关键配置步骤

  1. 语言选择:推荐英文(避免本地化问题),或根据需求选择中文。
  2. 键盘布局:默认“English (US)”即可。
  3. 网络连接:建议有线连接或稳定Wi-Fi,后续可通过nmcli管理网络。
  4. 磁盘分区
    • 勾选“加密LVM”(可选,增强安全性)。
    • 确认分区方案后点击“安装”。
  5. 用户与权限
    • 创建用户时勾选“需要密码登录”。
    • 避免使用root用户日常操作,推荐通过sudo提权。

2.3 安装后首次配置

登录系统后,执行以下操作:

  1. # 更新软件包索引
  2. sudo apt update && sudo apt upgrade -y
  3. # 安装常用工具
  4. sudo apt install -y curl wget git vim tmux htop

三、Ubuntu装机脚本:自动化环境配置

3.1 脚本设计目标

  • 快速完成开发环境初始化(如Java、Python、Docker等)。
  • 支持自定义配置(通过参数传递)。
  • 错误处理与日志记录。

3.2 完整脚本示例

  1. #!/bin/bash
  2. # Ubuntu环境初始化脚本
  3. # 用法:./setup.sh [选项]
  4. # 选项:--java --python --docker --all
  5. LOG_FILE="/var/log/ubuntu_setup.log"
  6. exec > >(tee -a "$LOG_FILE") 2>&1
  7. # 安装基础工具
  8. install_base() {
  9. echo "更新软件包..."
  10. sudo apt update && sudo apt upgrade -y
  11. sudo apt install -y curl wget git vim tmux htop
  12. }
  13. # 安装Java
  14. install_java() {
  15. echo "安装OpenJDK 17..."
  16. sudo apt install -y openjdk-17-jdk
  17. java -version && echo "Java安装成功" || echo "Java安装失败"
  18. }
  19. # 安装Python
  20. install_python() {
  21. echo "安装Python 3.10及pip..."
  22. sudo apt install -y python3.10 python3-pip
  23. python3 --version && pip3 --version && echo "Python安装成功" || echo "Python安装失败"
  24. }
  25. # 安装Docker
  26. install_docker() {
  27. echo "安装Docker..."
  28. sudo apt install -y docker.io
  29. sudo systemctl enable --now docker
  30. sudo usermod -aG docker $USER
  31. docker --version && echo "Docker安装成功" || echo "Docker安装失败"
  32. }
  33. # 主逻辑
  34. case "$1" in
  35. --java) install_java ;;
  36. --python) install_python ;;
  37. --docker) install_docker ;;
  38. --all)
  39. install_base
  40. install_java
  41. install_python
  42. install_docker
  43. ;;
  44. *) echo "用法: $0 [--java|--python|--docker|--all]"; exit 1 ;;
  45. esac
  46. echo "配置完成,日志见:$LOG_FILE"

3.3 脚本使用说明

  1. 将脚本保存为setup.sh,赋予执行权限:
    1. chmod +x setup.sh
  2. 运行脚本(示例安装全部组件):
    1. ./setup.sh --all
  3. 查看日志排查问题:
    1. cat /var/log/ubuntu_setup.log

四、进阶优化建议

4.1 系统性能调优

  • 交换分区优化:编辑/etc/sysctl.conf,添加:
    1. vm.swappiness=10 # 减少交换分区使用频率
  • 文件系统选择:对SSD建议使用ext4xfs,避免journal模式。

4.2 安全加固

  • 禁用SSH密码登录,改用密钥认证:
    1. sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
    2. sudo systemctl restart sshd
  • 安装防火墙工具ufw
    1. sudo apt install -y ufw
    2. sudo ufw allow 22/tcp # 仅允许SSH
    3. sudo ufw enable

4.3 开发环境定制

  • VS Code安装
    1. sudo apt install -y wget
    2. wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/vscode.gpg
    3. echo "deb [arch=amd64 signed-by=/usr/share/keyrings/vscode.gpg] https://packages.microsoft.com/repos/vscode stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
    4. sudo apt update && sudo apt install -y code

五、常见问题解决

  1. Wi-Fi无法连接

    • 安装firmware-iwlwifi(Intel网卡):
      1. sudo apt install -y firmware-iwlwifi
    • 重启网络服务:
      1. sudo systemctl restart NetworkManager
  2. 软件源速度慢

    • 替换为国内镜像(如阿里云):
      1. sudo sed -i 's|archive.ubuntu.com|mirrors.aliyun.com|g' /etc/apt/sources.list
      2. sudo apt update
  3. 脚本执行报错

    • 检查日志文件定位错误。
    • 确保以普通用户身份运行(避免root直接操作)。

六、总结

本文从Ubuntu安装前的准备、详细安装流程,到自动化脚本的编写与使用,提供了完整的解决方案。通过脚本化配置,开发者可节省大量重复劳动,同时保证环境的一致性。建议根据实际需求调整脚本参数,并定期备份重要数据。

相关文章推荐

发表评论