重新安装 Linux
经常发生
需要有一个标准的安装后任务序列作为参考,因此在此记录下来。
安装位置
我通常使用基于 ubuntu 的发行版。最近一次安装的是 Mint 21.3(基于 ubuntu 22.04)。
安装方法
一些有用的工具
sudo apt-get install git git-lfs gimp mc flameshot htop nvtop chkservice
# 如果有图形工作需求
sudo apt-get install imagemagick
git lfs install
# 如果需要处理 pdf
sudo apt-get install poppler-utils
JSON 处理
示例请参见 Bash 命令速查
sudo apt-get install jq jo
安装 NVidia 驱动
方法 1
删除本地 NVidia 驱动
sudo apt-get purge 'nvidia*'
sudo apt-get autoremove
sudo apt-get autoclean
添加 PPA 并更新本地软件包引用
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
检查 NVidia 推荐的驱动版本
ubuntu-drivers devices
安装驱动
sudo apt-get install nvidia-driver-535
sudo reboot
检查是否能看到 GPU 以及安装的版本
nvidia-smi
方法 2
请参见此处以获取您的操作系统版本:https://developer.nvidia.com/cuda-downloads
要安装开源内核模块版本:
sudo apt-get install -y nvidia-driver-555-open
sudo apt-get install -y cuda-drivers-555
安装 CUDA
请参见 NVIDIA 官方网站:https://developer.nvidia.com/cuda-downloads
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.9.0/local_installers/cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-9-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-9
Flatpak 应用
vlc, obsidian, nextcloud desktop, foliate, dbeaver
ungoogled-chromium
https://github.com/ungoogled-software/ungoogled-chromium
echo 'deb http://download.opensuse.org/repositories/home:/ungoogled_chromium/Ubuntu_Jammy/ /' | sudo tee /etc/apt/sources.list.d/home:ungoogled_chromium.list
curl -fsSL https://download.opensuse.org/repositories/home:ungoogled_chromium/Ubuntu_Jammy/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_ungoogled_chromium.gpg > /dev/null
sudo apt update
sudo apt install ungoogled-chromium
Go 语言
这个安装方法会安装一个较旧的版本,目前是 1.18
sudo apt-get install golang-go
所以,前往 https://go.dev/dl/ 并选择最新的版本,然后,
sudo bash
并执行以下命令:
wget https://go.dev/dl/go1.24.3.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.3.linux-amd64.tar.gz
然后添加到 $HOME/.profile
export PATH=$PATH:/usr/local/go/bin
然后执行以下命令:
source $HOME/.profile
go version
Visual Studio Code
https://code.visualstudio.com/docs/setup/linux
安装 deb 包(需要先下载)。 安装 .deb 包会自动安装 apt 仓库和签名密钥,以便使用系统包管理器进行自动更新。
或者手动执行以下操作:
sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
然后更新软件包缓存并安装软件包:
sudo apt install apt-transport-https
sudo apt update
sudo apt install code # 或 code-insiders
安装 VS Code 扩展:
Python, C#, Go, Hugohelper, Front Matter CMS, React*, Flutter
标准的 VS Code 有一些遥测功能 - 在设置中 user:application:telemetry=>off 可以部分关闭 … 但仍然存在
VSCodium flatpak 是一个无遥测版本,与标准版相差不大。
Python 和 Anaconda
安装 pip
sudo apt install python3-pip
https://www.anaconda.com/download/success
下载 Linux 版本,例如:
wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
并执行它:
bash Anaconda3-2024.06-1-Linux-x86_64.sh
注意最后:
如果您希望 conda 的 base 环境在启动时不被激活,
当 conda 激活时运行以下命令:
conda config --set auto_activate_base false
您可以通过运行 `conda init --reverse $SHELL` 来撤销此设置?[yes|no]
Hugo
https://gohugo.io/installation/linux/
例如这个:https://github.com/gohugoio/hugo/releases/tag/v0.124.1
下载并安装 hugo_extended_0.124.1_linux-amd64.deb
kubectl
sudo apt-get update
# apt-transport-https 可能是一个虚拟包;如果是,可以跳过该包
sudo apt-get install -y apt-transport-https ca-certificates curl
# 如果文件夹 `/etc/apt/keyrings` 不存在,应在 curl 命令之前创建该文件夹,阅读下面的说明。
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # 允许非特权 APT 程序读取此密钥环
# 这会覆盖 /etc/apt/sources.list.d/kubernetes.list 中的任何现有配置
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list # 帮助工具如 command-not-found 正确工作
sudo apt-get update
sudo apt-get install -y kubectl
SSH 密钥
将 SSH 密钥复制到 ~/.ssh
然后将密钥复制到实验室中的所有 IP 地址
ssh-copy-id username@ipaddr
Docker
sudo docker images
卸载现有版本
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
使用 apt 仓库安装
# 添加 Docker 官方 GPG 密钥:
sudo apt-get update
sudo apt-get install 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
# 将仓库添加到 Apt 源:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
如果您使用的是 Ubuntu 衍生版本,您需要使用 UBUNTU_CODENAME 而不是 VERSION_CODENAME,例如:
# 添加 Docker 官方 GPG 密钥:
sudo apt-get update
sudo apt-get install 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
# 将仓库添加到 Apt 源:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
安装最新版本:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
验证
sudo docker run hello-world
可选,将当前用户添加到 docker 组
usermod -aG docker $USER
Portainer
- https://www.portainer.io/install
- https://docs.portainer.io/start/install-ce
- https://docs.portainer.io/start/install-ce/server
- https://docs.portainer.io/start/install-ce/server/docker/linux
开始之前,您需要:
- 安装并运行最新版本的 Docker
- 在将托管 Portainer Server 实例的机器上具有 sudo 权限
- 默认情况下,Portainer Server 将通过端口 9443 暴露 UI,并通过端口 8000 暴露 TCP 隧道服务器。 后者是可选的,仅当您计划使用 Edge 计算功能与 Edge 代理时才需要。
要求:
- 在运行 Docker 的机器上禁用 SELinux。如果您需要 SELinux,您在部署 Portainer 时需要向 Docker 传递 –privileged 标志。
首先,创建 Portainer Server 将使用的卷以存储其数据库:
sudo docker volume create portainer_data
然后,下载并安装 Portainer Server 容器:
sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
检查
sudo docker ps
导航到:https://localhost:9443
用户名是 admin,在 UI 中设置密码
Kubernetes Portainer Agent
创建 k8s 环境,代理
kubectl apply -f https://downloads.portainer.io/ce2-19/portainer-agent-k8s-lb.yaml
kubectl get services --all-namespaces
然后将 portainer 服务的外部 IP 地址复制粘贴到 UI 中,不要忘记端口 9001
.NET Core SDK
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-8.0 aspnetcore-runtime-8.0
或者如果不需要 aspnet
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-8.0 dotnet-runtime-8.0
依赖项
当您使用包管理器安装时,这些库会为您安装。但是,如果您手动安装 .NET 或发布一个自包含的应用程序,您需要确保这些库已安装:
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu70
- liblttng-ust1
- libssl3
- libstdc++6
- libunwind8
- zlib1g
依赖项可以使用 apt install 命令安装。以下片段演示了安装 zlib1g 库:
sudo apt install zlib1g
AWS CLI
从 Ubuntu 仓库安装 AWS CLI(截至 2024 年 7 月,它会安装 v1.22.34-1):
sudo apt install awscli
检查安装在您电脑上的 AWS CLI 版本:
aws --version
或者获取由 Amazon 提供的最新版本(2.0): https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
目前:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
Terraform
Terraform 可以通过多种方式安装,详见: https://developer.hashicorp.com/terraform/install
我从 Hashicorp 的 Ubuntu 仓库安装:
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform
对于 Linux Mint,需要注意,Terraform 安装程序在某些情况下可能无法正确工作。 检查以下命令的输出:
lsb_release -cs
cat /etc/upstream-release/lsb-release
现在前往“软件源”并替换 Hashicorp 中的 ‘virginia’ 为 ‘Jammy’ 然后再次运行:
sudo apt update && sudo apt install terraform
要检查 Terraform 是否安装正确,请执行:
terraform version
Systemd 服务控制
可以使用
systemctl status
systemctl stop some-service
systemctl disable some-service
或者可以使用 chkservice
sudo apt-get install chkservice
sudo chkservice