重新安装 Linux

经常发生

目录

需要有一个标准的安装后任务序列作为参考,因此在此记录下来。

非常空的 ubuntu 桌面

安装位置

我通常使用基于 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

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-using-native-package-management

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

开始之前,您需要:

  • 安装并运行最新版本的 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

https://learn.microsoft.com/en-gb/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2204

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

有用的链接