@sjackman could you please look into my solution to that problem and tell me, could we do that?
Or may be you have a more elegant suggestion.
Given: an immutable container with linuxbrew, only nano installed by brew
What we would like to get: install permanently for example, 'vim', inside the container.
My solution:
Dockerfile (tmozgacheva/orca-a):
FROM linuxbrew/linuxbrew
RUN brew install nano
USER root
RUN chmod -R 777 /home/linuxbrew/.linuxbrew
The problem: We can not run brew as linuxbrew user using sudo -u linuxbrew brew as we did it before for Hackseq! When I add the following line %orca_users ALL=(linuxbrew) NOPASSWD:ALL in sudoers, inside the container, I get the following error when I run brew:
sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
And we can not to do anything, singularity prevents run command as sudo.
Only one way that I see, it is to make /home/linuxbrew/.linuxbrew folder writable for everyone! (e,g, RUN chmod -R 777 /home/linuxbrew/.linuxbrew)
However, I am in doubt that it is good solution but in that way, it work!
What do you think about it?
We shouldn't need to use sudo with Singularity. I'm hoping that the directory /home/linuxbrew and all its subdirectories can be owned by your own user and primary group, with permissions 0775.
@sjackman could you please look into my solution to that problem and tell me, could we do that? Or may be you have a more elegant suggestion.
Given: an immutable container with linuxbrew, only
nano
installed by brew What we would like to get: install permanently for example, 'vim', inside the container. My solution: Dockerfile (tmozgacheva/orca-a):The problem: We can not run
brew
as linuxbrew user usingsudo -u linuxbrew brew
as we did it before for Hackseq! When I add the following line%orca_users ALL=(linuxbrew) NOPASSWD:ALL
insudoers
, inside the container, I get the following error when I runbrew
:And we can not to do anything, singularity prevents run command as sudo. Only one way that I see, it is to make
/home/linuxbrew/.linuxbrew
folder writable for everyone! (e,g,RUN chmod -R 777 /home/linuxbrew/.linuxbrew
) However, I am in doubt that it is good solution but in that way, it work! What do you think about it?