开发环境搭建-Ubuntu进行以及NVIDIA Container Toolkit安装出现的问题 #54
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: HswOAuth/llm_course#54
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
这里使用的是Ubuntu22.04.3。
根据课件进行操作时,直接使用
sudo apt install docker.io
进行docker安装,出现如下问题:
这里只需要使用
sudo apt update
进行更新即可。
docker安装完成后按照课件使用
systemctl restart docker
重启出现如下错误:
这个错误表明,你的 Ubuntu 系统没有使用 systemd 作为初始化系统(PID 1),因此不能通过 systemctl 来管理服务。
一开始尝试跳过此问题,直接进行后续镜像安装。但是没有办法推进。发现是关于docker的设置不弄好就没法用,需回头尝试解决问题。
查阅资料发现如果是在 WSL(Windows Subsystem for Linux)中运行 Ubuntu,那么默认情况下 WSL 不使用 systemd。可以通过以下方法来解决问题。
首先,确认系统是否使用了 systemd。你可以通过以下命令检查:
ps -p 1 -o comm=
如果输出是 systemd,那么系统是使用 systemd 的。
如果输出是 init 或 other,说明你的系统不使用 systemd。
如果你在 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以及镜像的安装都没有出现问题。
非常好的文章,有深度的思考。