就像virtualenv
在 python 中一样,是否有办法在主文件夹内创建自定义环境(至少用于安装 apt 包),并且不需要 sudo 权限,也不要求假设任何包已经由 root 安装?
我已经探索过docker,甚至docker-rootless,但即使 docker-rootless 仍然需要newuidmap
安装newgidmap
在系统中。即使可以安装,瓶颈也可能来自每个用户必须至少有 65536 个 UID/GID 这一事实。
某处chroot被推荐,但显然这也需要管理权限才能设置。
我注意到 Flatpak 有一些特征像这样,但是也存在两个问题。
- 需要 root 安装 flatpak
- 它没有最适合的软件包。
我问这个问题主要有两个原因。
- 在我的笔记本电脑上将软件包安装
apt
在我的主目录中,而不是 root 目录中(具有 sudo 权限) - 安装不需要 sudo 权限但仍需要
apt
安装的软件包。apt download
这不行,因为我们必须手动处理依赖关系和配置等。
virtualenv
为什么没有做类似的事情apt
?有什么原因吗?
答案1
您可以直接使用 apt 下载软件包,并使用 dpkg 提取文件,但对于大多数较大的程序,您必须手动调整大量配置文件以匹配不同的环境。
apt download <apt package name>
dpkg -x <package file name> <destination directory>
例如:
apt download x11-apps
dpkg -x x11-apps_7.7+7_amd64.deb ./