Skip to content

Ubuntu 服务器快速安装我常用的软件

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

6.2 CUDA Toolkit(保留现有驱动)

安装 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-jdkopenjdk-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

8. 安装 NVIDIA Container Toolkit(Docker GPU 容器)

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

About this Post

This post is written by KaranocaVe.

#Python #Linux #Ubuntu #服务器 #Docker #zsh #NVIDIA #CUDA