我需要在我的虚拟机上安装python 3(我有python2.7),但是我无法从我的虚拟机访问互联网。有没有办法不使用互联网就能做到这一点?我可以访问一个私人的gitlab存储库和一个私有的dokcer中心。
发布于 2022-05-11 22:41:39
使用GitLab
最终,您可以将安装Python3所需的任何资源直接放在GitLab中。
例如,您可以使用通用包注册表上传所需的文件,并从VM中的GitLab下载它们。例如,您可以以这种方式重新分发来自Python.org/的文件。
如果您使用的是像Ubuntu这样基于debian的Linux发行版,您甚至可以在GitLab debian注册表中提供必要的包(默认禁用,但可以由管理员启用),并且在配置apt列表指向gitlab之后,只需使用您的包管理器(如apt install python3-dev )。
使用码头
如果您可以访问dockerhub,技术上您也可以从docker映像中访问文件。在这里,我假设您使用的是ubuntu或一些基于debian的发行版,但对于任何操作系统都适用同样的原则。
假设您构建了一个映像:
FROM ubuntu:<a tag that matches your VM version>
# downloads all the `.deb` files you need to install python3
RUN apt update && apt install --download-only python3-dev您可以将此映像推送到您的停靠服务器注册表,然后在VM上,您可以从映像中的/var/cache/apt/archives/*.deb中提取必要的安装文件,然后使用dpkg进行安装。
从图像中提取文件(在本例中,将文件解压缩到临时目录)
image=myprivateregistry.example.com/myrepo/myimage
source_path=/var/cache/apt/archives
destination_path=$(mktemp -d)
docker pull "$image"
container_id=$(docker create "$image")
docker cp "$container_id:$source_path" "$destination_path"
docker rm "$container_id"使用dpkg安装python3:
dpkg --force-all -i "${destination_path}/*.deb"https://stackoverflow.com/questions/72202152
复制相似问题