Skip to Content
其他Linux 开发环境初始化指南

Linux 开发环境初始化指南

本文整理了 Manjaro 和 Ubuntu 两种主流 Linux 发行版的开发环境初始化步骤,帮助你快速搭建一套开箱即用的开发工作站。

Tip

为什么同时提供两种发行版的配置?

  • Manjaro:基于 Arch Linux,滚动更新,软件包最新,适合追求前沿技术的开发者
  • Ubuntu:生态成熟,文档丰富,企业级支持好,适合稳定优先的开发场景

根据你的发行版选择对应章节即可。


一、基础配置

1.1 DNS 配置

配置 DNS 可以解决某些域名解析慢或无法访问的问题。

Manjaro

sudo sed -i 's|#DNS=|DNS=8.8.8.8|g' /etc/systemd/resolved.conf

Ubuntu

  1. 编辑配置文件:
sudo nano /etc/systemd/resolved.conf
  1. 修改为以下内容:
[Resolve] DNS=8.8.8.8 8.8.4.4

1.2 环境变量管理

推荐使用 ~/.local_profile 集中管理环境变量,保持 .bashrc.zshrc 整洁。 Manjaro

# 将以下内容添加到 shell 配置文件 cat >> ~/.zshrc << 'EOF' # load local profile source ~/.local_profile EOF cat >> ~/.bashrc << 'EOF' # load local profile source ~/.local_profile EOF # 创建环境变量文件 touch ~/.local_profile

Ubuntu

# Ubuntu 默认使用 bash,编辑 ~/.bashrc 即可 nano ~/.bashrc # 添加环境变量后执行 source ~/.bashrc
Note

后续所有环境变量(Java、Rust、Node.js 等)都添加到 ~/.local_profile 中管理。

1.3 国内镜像源(加速下载)

Manjaro

# 交互式选择国内镜像源(会弹出窗口让你选择) sudo pacman-mirrors -i -c China -m rank # 刷新软件包缓存 sudo pacman -Syy --noconfirm # 系统更新 sudo pacman -Syyu --noconfirm # 清理旧缓存 sudo pacman -Sc --noconfirm # 清理孤立包 sudo pacman -Rns $(pacman -Qtdq) --noconfirm

Ubuntu

# 更新软件包列表 sudo apt update -y # 升级已安装的软件包 sudo apt upgrade -y

二、版本控制工具

2.1 Git

Manjaro

sudo pacman -Syu --noconfirm git

Ubuntu

sudo apt install -y git

配置用户信息(所有发行版通用):

git config --global user.name "你的名字" git config --global user.email "你的邮箱"

2.2 subversion (SVN)

Manjaro

sudo pacman -Syu --noconfirm subversion

Ubuntu

sudo apt install -y subversion

三、开发工具

3.1 VSCode

Manjaro Manjaro 通过 AUR 安装 VSCode:

# 安装 AUR 助手 yay sudo pacman -Syu --noconfirm yay # 通过 AUR 安装 VSCode yay -S --noconfirm vscode

UbuntuVSCode 官网  下载 .deb 包安装:

sudo dpkg -i code_*.deb sudo apt install -f # 修复依赖

3.2 远程桌面工具

Manjaro

sudo pacman -Syu --noconfirm remmina

Ubuntu

sudo apt install -y remmina

四、运行环境

4.1 Node.js

推荐使用版本管理器安装 Node.js,方便切换版本。Manjaro (fnm) fnm 是用 Rust 编写的 Node.js 版本管理器,速度极快。

# 创建目录 mkdir -p /gt/data/.fnm # 添加环境变量 cat >> ~/.local_profile << 'EOF' # fnm export FNM_NODE_DIST_MIRROR=https://mirrors.tuna.tsinghua.edu.cn/nodejs-release export FNM_DIR=/gt/data/.fnm eval "$(fnm env --use-on-cd)" EOF source ~/.local_profile # 安装编译工具 sudo pacman -Syu --noconfirm base-devel # 通过 cargo 安装 fnm(需要先安装 Rust) cargo install fnm # 安装 LTS 版本 source ~/.local_profile fnm install --lts

Ubuntu (nvm) nvm 是最流行的 Node.js 版本管理器。```bash

使用国内镜像安装 nvm

curl -o- https://gitee.com/cardone/nvm/raw/master/install.sh  | bash

重新加载配置

source ~/.bashrc

安装 node.js 20

nvm install 20

设置 npm 淘宝镜像

npm config set registry http://registry.npmmirror.com 

**配置 npm 和 pnpm 镜像**(通用) ```bash # npm 镜像 npm config set registry http://registry.npmmirror.com npm config get registry # 安装 pnpm npm install pnpm -g # pnpm 镜像和存储路径 mkdir -p /gt/data/.pnpm # Manjaro # 或 mkdir -p /es/stores/.pnpm-store # Ubuntu pnpm config set store-dir /gt/data/.pnpm pnpm config set registry http://registry.npmmirror.com/ pnpm config get registry

4.2 Docker

Docker 是容器化开发的基础设施。Manjaro

# 清理旧数据(如有) sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd sudo rm -rf /gt/docker/data-root # 创建数据目录 sudo mkdir -p /gt/docker/data-root sudo chmod -R 777 /gt/docker sudo mkdir -p /etc/docker # 配置 Docker daemon sudo tee /etc/docker/daemon.json <<-'EOF' { "data-root": "/gt/docker/data-root", "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io", "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ], "log-opts": { "max-size": "10m", "max-file": "3" } } EOF # 安装 Docker sudo pacman -Syu --noconfirm docker docker-compose # 启动并设置开机自启 sudo systemctl start docker.service sudo systemctl enable docker.service # 验证安装 sudo docker info # 将当前用户加入 docker 组(免 sudo) sudo usermod -aG docker $USER

Ubuntu

# 清理旧版本 sudo apt purge -y docker* sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd sudo apt autoremove -y # 创建数据目录 sudo mkdir -p /es/docker sudo chmod -R 777 /es/docker sudo mkdir -p /etc/docker sudo rm -rf /es/docker/data-root # 配置 Docker daemon sudo tee /etc/docker/daemon.json <<-'EOF' { "data-root": "/es/docker/data-root", "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io", "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ], "log-opts": { "max-size": "10m", "max-file": "3" } } EOF # 安装 Docker 官方脚本 sudo apt install -y curl sudo curl -fsSL https://test.docker.com -o install-docker.sh sudo sh install-docker.sh # 将当前用户加入 docker 组 sudo usermod -aG docker $USER
Note

添加用户到 docker 组后,需要重新登录才能生效。

4.3 Java

Manjaro

# 添加环境变量 cat >> ~/.local_profile << 'EOF' # java export JAVA_HOME=/gt/middlewares/graalvm-jdk-23_linux-x64_bin/graalvm-jdk-23.0.1+11.1 export CLASSPATH={JAVA_HOME}/lib export PATH=${PATH}:${JAVA_HOME}/bin EOF source ~/.local_profile java -version

Ubuntu

# 创建目录 mkdir -p /es/middlewares # 解压 JDK(假设已下载) tar -zxvf /es/tmp/graalvm-jdk-22_linux-x64_bin.tar.gz -C /es/middlewares # 添加环境变量 cat >> ~/.bashrc << 'EOF' export JAVA_HOME="/es/middlewares/graalvm-jdk-22.0.1+8.1" export GRAALVM_HOME="/es/middlewares/graalvm-jdk-22.0.1+8.1" EOF source ~/.bashrc java -version
Tip

推荐使用 GraalVM ,它是 Oracle 的高性能 JDK,支持多语言运行时。

4.4 Rust

Manjaro

# 添加环境变量(使用国内镜像加速) cat >> ~/.local_profile << 'EOF' # rustup export RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup export RUSTUP_DIST_SERVER=https://rsproxy.cn # rust . "$HOME/.cargo/env" EOF source ~/.local_profile # 安装 Rust curl https://sh.rustup.rs -sSf | sh # 配置 crates.io 镜像 cat >> $HOME/.cargo/config.toml << 'EOF' [source.crates-io] registry = "https://github.com/rust-lang/crates.io-index" replace-with = 'rsproxy-sparse' [source.rsproxy-sparse] registry = "sparse+https://rsproxy.cn/index/" [net] git-fetch-with-cli = true EOF # 安装镜像源切换工具 cargo install crm

Ubuntu

# 使用国内镜像安装 export RUSTUP_DIST_SERVER=https://rsproxy.cn export RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup curl https://sh.rustup.rs -sSf | sh source ~/.cargo/env

4.5 C++ 开发环境

Manjaro

sudo pacman -Syu --noconfirm clang base-devel gcc gdb cmake pkg-config

Ubuntu

sudo apt install -y build-essential gcc g++ gdb cmake

五、桌面环境

5.1 中文输入法(Manjaro)

# 安装 fcitx5 输入法框架 sudo pacman -S --noconfirm fcitx5 fcitx5-configtool fcitx5-qt fcitx5-gtk fcitx5-chinese-addons fcitx5-rime fcitx5-material-color # 添加环境变量 cat >> ~/.local_profile << 'EOF' # fcitx5 export GTK_IM_MODULE=fcitx5 export QT_IM_MODULE=fcitx5 export XMODIFIERS="@im=fcitx5" EOF source ~/.local_profile # 打开输入法配置工具 fcitx5-configtool

5.2 蓝牙修复

如果蓝牙无法正常工作,尝试重载驱动:

sudo rmmod btusb && sleep 1 && sudo modprobe btusb

六、桌面应用开发

6.1 Tauri 环境(Manjaro)

Tauri 是用 Rust 构建桌面应用的框架。```bash sudo pacman -Syu —noconfirm sudo pacman -S —needed —noconfirm
webkit2gtk
base-devel
curl
wget
file
openssl
appmenu-gtk-module
gtk3
libappindicator-gtk3
librsvg

--- ## 七、AI 工具 ### 7.1 ollama(本地运行大模型) ollama 让在本地运行大语言模型。```bash # 创建模型存储目录 mkdir -p /gt/data/.ollama/model # 添加环境变量 cat >> ~/.local_profile << 'EOF' # ollama export OLLAMA_MODELS=/gt/data/.ollama/model EOF source ~/.local_profile # 安装 ollama curl -fsSL https://ollama.com/install.sh | sh # 下载常用编程模型 ollama pull qwen2.5-coder:3b ollama pull qwen2.5-coder:7b ollama pull deepseek-r1:8b
Tip
  • qwen2.5-coder:3b — 轻量级,适合日常代码补全
  • qwen2.5-coder:7b — 平衡版,代码能力更强
  • deepseek-r1:8b — 推理模型,适合复杂逻辑分析

八、快速检查清单

完成以上配置后,运行以下命令验证安装:

# 版本控制 git --version svn --version # 运行环境 node --version npm --version pnpm --version docker --version java -version rustc --version cargo --version gcc --version # 工具 code --version # VSCode

九、常见问题

Q: 为什么推荐使用国内镜像?

a: 国内访问国外服务器速度慢且不稳定,镜像可以显著提升下载速度。常用镜像:

工具镜像地址
npmhttp://registry.npmmirror.com 
Dockerhttps://docker.m.daocloud.io 
Rusthttps://rsproxy.cn 
Node.jshttps://mirrors.tuna.tsinghua.edu.cn/nodejs-release 

q: Docker 提示权限不足怎么办?

a: 确保已将用户加入 docker 组,并重新登录:

sudo usermod -aG docker $USER # 重新登录或重启

q: 如何更新所有软件?

Manjaro

sudo pacman -Syu

Ubuntu

sudo apt update && sudo apt upgrade

参考资料