Ubuntu 服务器快速安装我常用的软件
适用于全新 Ubuntu 服务器(26.04),以国内网络环境为主。
主要是起到一个方便我复制粘贴的作用。
1. 切换 APT 镜像源
1 2
| sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list sudo apt update
|
2. 安装基础开发 + 运维工具
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| sudo apt update && sudo apt install -y \ python3-pip python3-venv python3-dev \ python3-full python-is-python3 \ python3-setuptools python3-wheel python3-build \ build-essential gfortran cmake ninja-build meson binutils pkg-config \ gcc g++ llvm clang clangd clang-format clang-tidy \ gdb lldb valgrind ltrace strace cppcheck shellcheck \ protobuf-compiler libprotobuf-dev \ ccache mold bear doxygen graphviz \ git curl wget rsync ca-certificates gnupg software-properties-common \ tmux zsh vim less tree man-db manpages \ bash-completion bat eza direnv \ parallel moreutils pv entr \ lmod \ git-lfs tig \ zstd lz4 pigz pbzip2 \ jq ripgrep fd-find unzip zip p7zip-full xz-utils \ lsof psmisc acl attr auditd logrotate \ iputils-ping traceroute netcat-openbsd socat \ tcpdump dnsutils mtr-tiny iperf3 ethtool \ btop htop atop iotop iftop nmon nvtop \ sysstat stress-ng sysbench fio \ ncdu duf chrony \ hwloc-nox numactl libnuma-dev \ likwid papi-tools libpapi-dev \ linux-tools-common linux-tools-$(uname -r) \ openmpi-bin libopenmpi-dev \ libfftw3-dev libfftw3-mpi-dev \ libopenblas-openmp-dev liblapacke-dev \ libhdf5-openmpi-dev libscalapack-openmpi-dev \ libjemalloc-dev libtbb-dev libeigen3-dev \ libbenchmark-dev libgtest-dev \ libssl-dev zlib1g-dev libbz2-dev liblzma-dev libzstd-dev \ libreadline-dev libffi-dev libsqlite3-dev \ libxml2-dev libyaml-dev \ libcurl4-openssl-dev \ libboost-all-dev \ smartmontools nvme-cli lm-sensors dmidecode pciutils usbutils ipmitool \ ansible clustershell \ nfs-common autofs openssh-server \ slurm-client \ autoconf automake libtool m4 flex bison gettext \ devscripts debhelper fakeroot dpkg-dev \ file patchelf elfutils pahole \ manpages-dev \ heaptrack \ time hyperfine \ bpftrace bpfcc-tools libbpf-tools \ trace-cmd blktrace \ needrestart unattended-upgrades \ buildah skopeo \ uidmap fuse-overlayfs \ sqlite3 postgresql-client redis-tools \ libpq-dev libmariadb-dev \ iproute2 nmap whois openssl # rdma-core ibverbs-utils infiniband-diags perftest
|
3. 安装 oh-my-zsh
1 2 3 4 5
| git clone https://gitcode.com/KaranocaVe/ohmyzsh.git "$HOME/.oh-my-zsh" cp "$HOME/.oh-my-zsh/templates/zshrc.zsh-template" "$HOME/.zshrc" echo 'export ZSH="$HOME/.oh-my-zsh"' >> "$HOME/.zshrc" chsh -s "$(command -v zsh)" exec zsh
|
或者
1 2 3
| git clone https://mirrors.cernet.edu.cn/ohmyzsh.git cd ohmyzsh/tools REMOTE=https://mirrors.cernet.edu.cn/ohmyzsh.git sh install.sh
|
为方便你应对各种乱七八糟的压缩格式,编辑~/.zshrc启用extract插件。
4. 配置 Python 镜像源(pip + uv)
1 2 3 4 5 6 7 8 9
| python3 -m pip install -i https://mirrors.ustc.edu.cn/pypi/simple -U pip pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/simple
mkdir -p ~/.config/uv cat <<'EOF' > ~/.config/uv/uv.toml [[index]] url = "https://mirrors.ustc.edu.cn/pypi/simple" default = true EOF
|
5. Python 工具链:pipx + uv
1 2 3 4 5 6 7
| sudo apt install -y pipx pipx ensurepath source ~/.zshrc
pipx install uv pipx install modelscope pipx install nvitop
|
6. 常用额外组件
6.1 NVIDIA 驱动(有显卡时)
1
| sudo ubuntu-drivers install
|
安装 NVIDIA 官方 CUDA 软件源,并只安装 Toolkit:
1 2 3 4 5 6 7
| sudo apt install -y build-essential linux-headers-$(uname -r) wget
cd /tmp wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update sudo apt install -y cuda-toolkit-13-3
|
配置环境变量:
1 2 3 4 5 6
| sudo tee /etc/profile.d/cuda.sh >/dev/null <<'EOF' export CUDA_HOME=/usr/local/cuda export PATH="$CUDA_HOME/bin:$PATH" EOF
sudo chmod 644 /etc/profile.d/cuda.sh
|
安装了多个 CUDA 版本时,可以用下面的命令切换 /usr/local/cuda 指向:
1
| sudo update-alternatives --config cuda
|
正确配置环境变量
1 2 3 4 5 6 7
| sudo tee -a /etc/zsh/zprofile >/dev/null <<'EOF'
for file in /etc/profile.d/*.sh; do [ -r "$file" ] && source "$file" done unset file EOF
|
6.3 OpenJDK
1
| sudo apt install -y openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk openjdk-21-jdk
|
如果你的系统仓库里有对应包,可按需追加 openjdk-18-jdk 或 openjdk-25-jdk。
6.4 fzf
1 2
| git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf ~/.fzf/install
|
6.5 nnn 文件管理器 + 实时预览
1 2 3 4
| sudo apt install -y \ nnn bat mediainfo poppler-utils \ ffmpegthumbnailer chafa imagemagick sh -c "$(curl -Ls https://raw.githubusercontent.com/jarun/nnn/master/plugins/getplugs)"
|
1 2 3 4
| if command -v batcat >/dev/null 2>&1 && ! command -v bat >/dev/null 2>&1; then mkdir -p ~/.local/bin ln -sf "$(command -v batcat)" ~/.local/bin/bat fi
|
写入 ~/.zshrc:
1 2
| export NNN_PLUG='p:preview-tui' alias n='nnn -a -e -d -P p'
|
7. 安装 Docker CE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| sudo apt update sudo apt install -y ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
cat <<EOF | sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null Types: deb URIs: https://download.docker.com/linux/ubuntu Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") Components: stable Signed-By: /etc/apt/keyrings/docker.asc EOF
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
嫌慢就
1 2
| curl -fsSL https://get.docker.com -o get-docker.sh sudo DOWNLOAD_URL=https://mirrors.ustc.edu.cn/docker-ce sh get-docker.sh
|
把当前用户加入 docker 组:
1 2
| sudo usermod -aG docker "$USER" newgrp docker
|
1 2 3 4 5 6 7 8 9
| sudo apt-get update sudo apt-get install -y --no-install-recommends curl gnupg2
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \ sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list >/dev/null
|
嫌慢就
1 2 3 4
| curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://mirrors.ustc.edu.cn/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://nvidia.github.io#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://mirrors.ustc.edu.cn#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
1 2 3 4
| sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker
|
9.配置git
安装lfs
1 2
| sudo apt install git-lfs git lfs install
|
配置身份信息
1 2
| git config --global user.name "你的用户名" git config --global user.email "你的邮箱@example.com"
|
配置代理
1 2
| git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890
|