17

Ubuntu软件包及其依赖包下载脚本

安装脚本

将安装脚本内容拷贝,并创建脚本文件,例如:down.sh

#!/bin/bash

# 已检查依赖的软件包
checked=()

# 定义下载软件包及其依赖函数
DownPKG(){
  if [ "$#" -eq 0 ]; then
      exit 1
  fi
  pkgName=$1
  # 将软件包加入已检查列表
  if ! printf '%s\n' "${checked[@]}" |grep -q -F "$pkgName"; then
      checked+=("$pkgName")
  fi
  # 查询依赖 Depends|Recommends|Suggests|依赖|推荐|建议
  echo "正在查询软件包(${pkgName})的依赖"
  for row in $(apt-cache depends $pkgName | grep -E 'Depends|依赖'); do
    # 获取每行中的依赖字符串
    text=$(echo $row | cut -d ":" -f 2 | sed -e s/'<'/''/ -e s/'>'/''/)
    if [[ "$text" == "$pkgName" ]]; then
      continue
    fi
    if [ -n "$text" ]; then
        # 以字符串创建数组
        list=($text)
        # 查询并下载依赖的依赖
        for name in ${list[@]}; do
          # 忽略已检查依赖的软件包,避免循环依赖
          if printf '%s\n' "${checked[@]}" |grep -q -F "$name"; then
              continue
          fi
          echo "正在下载依赖:${name}"
          apt-get download $name 2>>errors.txt
          DownPKG $name
        done
    fi
  done
}

if [ "$#" -eq 0  ]; then
    echo "请填写需要下载的软件包名称"
    exit 1
fi

# 创建下载目录,用于存放所有下载的包
mkdir $1 && cd $1

echo "正在下载软件包: $1"
apt-get download $1 2>>errors.txt
DownPKG $1

使用脚本

首先,需要赋予脚本执行权限

69

Ubuntu22.04 DockerCE 容器内使用GPU

注意只有DockerCE版本才能使用GPU

安装nvidia软件源

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update

安装

sudo apt install nvidia-container-toolkit

检查是否成功

sudo which nvidia-container-runtime-hook

如果找到nvidia-container-runtime-hook则安装成功了

重启Docker

sudo systemctl restart docker

测试使用

docker run --gpus all nvidia/cuda:latest nvidia-smi

显卡监控

docker run -d --gpus all -p 9200:9400 nvcr.io/nvidia/k8s/dcgm-exporter:3.3.5-3.4.0-ubuntu22.04
457

Ubuntu22.04安装桌面系统

以下代码在root下执行,或使用sudo执行

apt update
apt install ubuntu-desktop

启动桌面系统

# 设置为开机启动
systemctl enable gdm3

# 启动桌面
systemctl start gdm3

# 查找桌面服务状态
systemctl status gdm3
614

Ubuntu 22.04手动安装卸载NVIDIA驱动

下载驱动文件

官网地址:官方驱动 | NVIDIA
根据自己的显卡型号,选择驱动文件进行下载
(注意:选择系统的下拉框中如果没有ubuntu系统,可以点击全部系统,就能选择了)

更新系统软件

root账户下操作

apt update

apt install g++ gcc make

禁用默认驱动

安装Nvidia驱动前,需要禁用自带显卡驱动nouveau

vi /etc/modprobe.d/blacklist.conf

在文件末尾添加并保存:

blacklist nouveau
options nouveau modeset=0

更新initinitramfs,执行以下命令

update-initramfs -u
269

Ubuntu限制网络接口带宽

准备工作

确保你已经安装了tc命令。如果没有安装,可以使用以下命令进行安装:

sudo apt-get update
sudo apt-get install iproute2

创建网络接口限制

确定你要限制带宽的网络接口。你可以使用ifconfig或ip addr命令来查看可用的网络接口。例如,假设你要限制的接口是eth0

使用以下命令来创建一个新的网络队列(qdisc)并设置带宽限制: