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
101

MacOS Catalina 手动安装openssl@3

前言

mac catalina 通过homebrew 安装 openssl 失败,被嫌弃系统太老,make test 测试不通过

I manually installed openssl@3 with the following commands

下载openssl,并解压

注意:brew安装软件时,看他下载的是什么版本,就手动下载什么版本

下载地址:

https://www.openssl.org/source/openssl-3.3.0.tar.gz

配置openssl

进入解压的目录,执行命令

175

MacOS使用Brew安装多个不同版本nodejs

卸载pkg安装的nodejs

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

更新brew软件库

brew update

安装node16

brew install node@16
457

Ubuntu22.04安装桌面系统

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

apt update
apt install ubuntu-desktop

启动桌面系统

# 设置为开机启动
systemctl enable gdm3

# 启动桌面
systemctl start gdm3

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