今天使用容器化软件singularity用沙盒方式创建一个了一个ArchLinux的沙盒。
为什么创建ArchLinux的沙盒呢?是因为使用AUR可以直接安装Geant4,非常方便
但是天下没有免费的午餐,也没有免费的晚餐,还没有免费的宵夜。首先安装ArchLinux就非常费劲,其次即使用容器化直接build这个ArchLinux,也非常难搞。
在安装yay(AUR管理程序)的时候,发现singularity容器内的root是个非常头疼的问题,以sudo进入沙盒,root身份无法安装AUR程序,非root身份进入沙盒,更是无法安装AUR。
解决办法只有一条:创建新用户,给它root权限。
刚刚已经说了思路,现在看具体实现:
1. 进入沙盒
sudo singularity shell -w archlinux
2. 创建用户
pacman -Sy
pacman -S sudo
pacman -S vim
EDITOR=vim visudo
## 修改打开的文件的第82行(目前是)
## 去掉%wheel ALL=(ALL)ALL的注释
useradd -m -G wheel archzhaoww
passwd archzhaoww
## 输入密码
## 切换到刚刚创建的目录
su archzhaoww
然后就能正常安装软件了,如果要你输入root权限密码,那就把刚passwd
设置的密码输入上去