Ubuntu 做开发
Ubuntu 是当今进行软件开发最强大、最高效且最受欢迎的操作系统平台之一,其开源本质、庞大的软件仓库、强大的社区支持和出色的稳定性,使其成为从初学者到资深工程师的首选开发环境,无论是进行 Web 开发、移动应用开发、数据科学、人工智能、嵌入式系统还是云原生应用构建,Ubuntu 都提供了坚实且灵活的基石。

打造高效开发环境:基础配置
-
系统更新与升级:
开发前确保系统是最新的,打开终端 (Ctrl+Alt+T) 执行:sudo apt update && sudo apt upgrade -y sudo apt dist-upgrade -y # 处理更复杂的依赖更新 sudo apt autoremove --purge -y # 清理无用包
-
安装核心构建工具链:
这是编译代码的基础:sudo apt install build-essential -y # 包含 gcc, g++, make, libc-dev 等 sudo apt install manpages-dev glibc-doc -y # 重要的开发文档
-
管理多版本语言运行时:
- Python: 优先使用
python3,系统自带 Python 3,但推荐通过pyenv管理多版本,安装pip和venv:sudo apt install python3-pip python3-venv -y
- Node.js: 避免使用过旧的系统仓库版本,推荐通过
nvm(Node Version Manager) 安装和管理多个 Node.js 版本:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 安装后重启终端或运行 source ~/.bashrc (或 ~/.zshrc) nvm install --lts # 安装最新LTS版本 nvm use --lts # 使用它
- Java: OpenJDK 是首选,安装特定版本:
sudo apt install openjdk-17-jdk -y # 例如安装 JDK 17 sudo update-alternatives --config java # 管理多个JDK版本
- Python: 优先使用
-
版本控制系统 (Git):
现代开发的标配:sudo apt install git -y git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
核心开发工具链安装与配置
-
数据库系统:
- PostgreSQL:
sudo apt install postgresql postgresql-contrib -y sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'your_secure_password';" # 修改默认用户密码(可选)
- MySQL / MariaDB:
sudo apt install mysql-server -y # 或 mariadb-server sudo mysql_secure_installation # 运行安全配置向导
- Redis:
sudo apt install redis-server -y sudo systemctl enable redis-server
- PostgreSQL:
-
容器化开发 (Docker):
Ubuntu 是运行 Docker 的绝佳平台:sudo apt install apt-transport-https ca-certificates curl software-properties-common -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y sudo usermod -aG docker $USER # 将当前用户加入docker组,避免每次用sudo newgrp docker # 立即生效或注销后重新登录
-
必备命令行工具:

sudo apt install curl wget tmux htop net-tools zip unzip tree jq ncdu -y
选择与配置集成开发环境 (IDE)
-
Visual Studio Code (VS Code):
微软官方提供.deb包,下载安装后,通过其强大的扩展市场 (Ctrl+Shift+X) 安装所需语言支持 (Python, Java, Go, Rust, C/C++, JavaScript/TypeScript 等)、Docker、GitLens、Remote – SSH/Containers/WSL 等必备插件。 -
JetBrains 全家桶 (IntelliJ IDEA, PyCharm, WebStorm, CLion 等):
提供功能强大的商业 IDE,对特定语言支持深度极高,可通过 Toolbox App 管理安装和更新,或直接下载 tar.gz 包解压运行,社区版是优秀的免费选择。 -
轻量级编辑器:
- Vim / Neovim: 强大的终端编辑器,高度可定制 (
sudo apt install vim neovim -y),适合追求效率的用户。 - Nano: 简单易用的终端编辑器 (
sudo apt install nano -y)。
- Vim / Neovim: 强大的终端编辑器,高度可定制 (
提升开发效率与舒适度
-
Shell 强化 (Zsh + Oh My Zsh):
比默认 Bash 更强大、更美观:sudo apt install zsh -y chsh -s $(which zsh) # 将 Zsh 设为默认 shell (注销后生效) # 安装 Oh My Zsh (安装前确保已安装 curl 或 wget) sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # 常用插件:git, z, docker, kubectl, autosuggestions, syntax-highlighting
-
终端复用器 (tmux):
在单个终端窗口内管理多个会话、窗口和面板,防止 SSH 断开导致任务中断,配置文件 (~/.tmux.conf) 可极大提升体验。 -
硬件加速与图形驱动:
- 对于 NVIDIA 显卡,使用官方驱动通常能获得最佳性能(尤其对 CUDA 开发):
sudo ubuntu-drivers autoinstall # 通常推荐安装最新专有驱动 # 或访问 NVIDIA 官网下载驱动包手动安装
- 使用
prime-select管理 NVIDIA Optimus 笔记本的双显卡切换。
- 对于 NVIDIA 显卡,使用官方驱动通常能获得最佳性能(尤其对 CUDA 开发):
-
文件系统监控 (inotify):
开发服务器 (如 Node.js, Django) 常需监听文件变化重启,Ubuntu 默认的inotify监控数可能不足,提升限制:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
处理跨平台与特定需求
-
Windows 兼容层 (Wine):
运行部分必要的 Windows 开发工具或测试环境,优先使用Winetricks管理。sudo apt install wine64 winetricks -y # 64位系统
-
运行 Windows 应用/游戏 (Steam Play/Proton):
通过 Steam 客户端启用 Proton,或使用 Lutris 管理游戏和应用程序。 -
虚拟机 (VirtualBox / KVM):
需要运行其他操作系统(如 macOS 用于 iOS 开发测试、特定 Windows 版本)时:sudo apt install virtualbox -y # 或启用 KVM (通常性能更好) sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager -y sudo adduser $USER libvirt; sudo adduser $USER kvm
长期维护与最佳实践
- 定期更新与清理: 坚持执行
sudo apt update && sudo apt upgrade -y和sudo apt autoremove --purge -y。 - 使用 Timeshift 备份: 安装
timeshift,定期创建系统快照,在遇到严重问题时可以快速回滚。 - 文档化环境配置: 将关键的安装命令、配置步骤写成脚本 (如
setup_dev_env.sh),方便在新机器或重装时快速恢复环境,Dockerfile 也是描述环境的绝佳方式。 - 拥抱容器化: 尽可能将项目及其依赖 (数据库、缓存等) 容器化 (Docker Compose),确保环境一致性,降低“在我机器上能跑”的问题。
- 利用 Snap/Flatpak: 对于需要沙盒隔离或获取绝对最新版本的应用程序 (如某些 IDE 或工具),Snap 或 Flatpak 包是很好的补充,但优先考虑原生
apt包以获得最佳集成。
Ubuntu 作为开发平台的优势远不止于预装的软件包,其核心在于开放、可控的环境和庞大的知识库,赋予开发者构建复杂、高效且可靠解决方案的能力,从配置一个高生产力的本地环境到部署到云端 Ubuntu 服务器,它提供了无缝的体验,持续探索其丰富的工具链和社区资源,是提升开发效能的关键。
你在使用 Ubuntu 开发时,遇到过最具挑战性的问题是什么?又是如何解决的?或者,你有哪些独家的效率提升技巧想分享给大家?欢迎在评论区交流你的经验!
原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/31886.html
评论列表(2条)
这篇文章总结Ubuntu作为开发环境的优点确实挺到位,开源、仓库全、社区强这些点都同意。不过呢,我觉得在“全攻略”这个说法上可能稍微有点过于乐观了哈。 Ubuntu做开发起点是挺好,尤其是对新手,软件中心和一票apt命令确实省心。但说到“最强大高效”,这个得看具体场景。比如搞高性能计算或者追求极致精简的容器开发,可能像Fedora或者Arch系会更贴合某些人的需求?至少内核更新啥的快一点。 另外,文章提到依赖解决方便,这没错,但有时候不同项目依赖冲突起来也挺让人头大的,特别是当你需要同时维护多个老项目的时候,光靠apt可能不够,conda或者容器方案可能才是真正省心的“攻略”。还有硬件兼容性,特别是某些新笔记本的显卡或Wi-Fi驱动,在Ubuntu上开箱即用的体验偶尔还是会小翻车一下,新手第一次碰到可能得折腾一阵子。 总的来说,Ubuntu绝对是个优秀的开发起点,但“全攻略”可能还是得提醒读者,根据自己做的开发类型(比如是搞Python数据、嵌入式还是AOSP这种大项目),最好再查查有没有更垂直的环境配置建议,或者早点拥抱容器化,能少踩不少依赖的坑。
@山山7947:山山你说得对,Ubuntu确实不是万能钥匙,但换个角度看,它对新手的友好度和社区资源,让依赖冲突这些坑也能快速爬出来,倒