开发环境搭建-Ubuntu进行以及NVIDIA Container Toolkit安装出现的问题 #54

Closed
opened 2024-09-11 10:53:32 +08:00 by 12390900721cs · 1 comment

这里使用的是Ubuntu22.04.3

  1. docker安装
    根据课件进行操作时,直接使用
    sudo apt install docker.io
    进行docker安装,出现如下问题:
    33ef019cc8c2b559bf84bf00a627c8b.png
  • 解决方案
    这里只需要使用
    sudo apt update
    进行更新即可。
  1. NVIDIA Container Toolkit安装
    docker安装完成后按照课件使用
    systemctl restart docker
    重启出现如下错误:
    4a57ea7dd51b8cc2b57c9c490389d58.png
    这个错误表明,你的 Ubuntu 系统没有使用 systemd 作为初始化系统(PID 1),因此不能通过 systemctl 来管理服务。
    一开始尝试跳过此问题,直接进行后续镜像安装。但是没有办法推进。发现是关于docker的设置不弄好就没法用,需回头尝试解决问题。
  • 解决方案
    查阅资料发现如果是在 WSL(Windows Subsystem for Linux)中运行 Ubuntu,那么默认情况下 WSL 不使用 systemd。可以通过以下方法来解决问题。
  1. 确认系统是否使用 systemd
    首先,确认系统是否使用了 systemd。你可以通过以下命令检查:
    ps -p 1 -o comm=
    如果输出是 systemd,那么系统是使用 systemd 的。
    如果输出是 init 或 other,说明你的系统不使用 systemd。
  2. 启用 systemd(如果是在 WSL 中)
    如果你在 WSL(Windows Subsystem for Linux)中运行 Ubuntu,可以启用对 systemd 的支持(默认 WSL 2 不支持 systemd)。从 WSL 2 之后的版本,可以通过以下步骤启用 systemd 支持。
    步骤:
    更新 WSL 到最新版本: 在 Windows PowerShell 中运行:
    wsl --update
    编辑 WSL 配置文件,启用 systemd: 在 WSL 终端中编辑 /etc/wsl.conf 文件:
    sudo nano /etc/wsl.conf
    添加以下内容:
    [boot] systemd=true
    重启 WSL: 保存配置文件后,重启 WSL:
    wsl --shutdown
    测试 systemctl: 重启后,检查是否可以使用 systemctl:
    systemctl list-units
    如果显示正在运行的服务列表,说明 systemd 已启用。

总结
主要还是最开始关于ubuntu中下载docker以及后续的配置问题,需要确认系统使用systemd而不是init。这样子改完systemd的配置后后续的toolkit以及镜像的安装都没有出现问题。

这里使用的是**Ubuntu22.04.3**。 1. docker安装 根据课件进行操作时,直接使用 `sudo apt install docker.io` 进行docker安装,出现如下问题: ![33ef019cc8c2b559bf84bf00a627c8b.png](/attachments/445c2f8f-6fa8-48a1-846e-fa1479cd3983) - 解决方案 这里只需要使用 `sudo apt update` 进行更新即可。 2. NVIDIA Container Toolkit安装 docker安装完成后按照课件使用 `systemctl restart docker` 重启出现如下错误: ![4a57ea7dd51b8cc2b57c9c490389d58.png](/attachments/71f5c4e8-6155-4959-9116-61b00c79e2de) 这个错误表明,你的 Ubuntu 系统没有使用 systemd 作为初始化系统(PID 1),因此不能通过 systemctl 来管理服务。 一开始尝试跳过此问题,直接进行后续镜像安装。但是没有办法推进。发现是关于docker的设置不弄好就没法用,需回头尝试解决问题。 - 解决方案 查阅资料发现如果是在 WSL(Windows Subsystem for Linux)中运行 Ubuntu,那么默认情况下 WSL 不使用 systemd。可以通过以下方法来解决问题。 1. 确认系统是否使用 systemd 首先,确认系统是否使用了 systemd。你可以通过以下命令检查: `ps -p 1 -o comm=` 如果输出是 systemd,那么系统是使用 systemd 的。 如果输出是 init 或 other,说明你的系统不使用 systemd。 2. 启用 systemd(如果是在 WSL 中) 如果你在 WSL(Windows Subsystem for Linux)中运行 Ubuntu,可以启用对 systemd 的支持(默认 WSL 2 不支持 systemd)。从 WSL 2 之后的版本,可以通过以下步骤启用 systemd 支持。 步骤: 更新 WSL 到最新版本: 在 Windows PowerShell 中运行: `wsl --update` 编辑 WSL 配置文件,启用 systemd: 在 WSL 终端中编辑 /etc/wsl.conf 文件: `sudo nano /etc/wsl.conf` 添加以下内容: `[boot] systemd=true ` 重启 WSL: 保存配置文件后,重启 WSL: `wsl --shutdown ` 测试 systemctl: 重启后,检查是否可以使用 systemctl: `systemctl list-units` 如果显示正在运行的服务列表,说明 systemd 已启用。 **总结** 主要还是最开始关于ubuntu中下载docker以及后续的配置问题,需要确认系统使用systemd而不是init。这样子改完systemd的配置后后续的toolkit以及镜像的安装都没有出现问题。
Author

非常好的文章,有深度的思考。

非常好的文章,有深度的思考。
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: HswOAuth/llm_course#54
No description provided.