[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30728: guix-install.sh doesn't work if run with "sudo"
From: |
Chris Marusich |
Subject: |
bug#30728: guix-install.sh doesn't work if run with "sudo" |
Date: |
Sun, 25 Mar 2018 07:16:58 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Clément Lassieur <address@hidden> writes:
> Clément Lassieur <address@hidden> writes:
>
>> Hi,
>>
>> My system is Ubuntu 16.04.
>>
>> I ran './guix-install.sh' and got the message: "This script must be run
>> as root.". So I ran 'sudo ./guix-install.sh' and got an error message
>> saying that:
>>
>> GUIX_PROFILE="${HOME}/.guix-profile"
>> source "${GUIX_PROFILE}/etc/profile"
>>
>> the 'source' command doesn't work because ${GUIX_PROFILE} was never
>> created, ${HOME} being /home/clement, not /root.
>>
>> To recover from this I had to manually delete /var/guix and /gnu, log as
>> root with 'su', and start again.
>>
>> Clément
>
> I believe the script should install Guix in the user's home directory,
> not in ~root.
The manual says (see: (guix) Binary Installation):
3. Make ‘root’’s profile available under ‘~/.guix-profile’:
# ln -sf /var/guix/profiles/per-user/root/guix-profile \
~root/.guix-profile
Source ‘etc/profile’ to augment ‘PATH’ and other relevant
environment variables:
# GUIX_PROFILE=$HOME/.guix-profile ; \
source $GUIX_PROFILE/etc/profile
I believe the expectation here is that $HOME will expand to root's home
directory. Look at the previous ln invocation: we set up a symlink for
the .guix-profile in root's home directory, so it's pretty clear that
$HOME/.guix-profile is supposed to point to that profile.
I think there is a tacit assumption in the manual and the
guix-install.sh script that the HOME environment variable will refer to
root's home directory, which is not always true. For example, on
current Ubuntu, if you run sudo with no arguments, you will find that
the HOME environment variable still points to your unprivileged user's
home directory, not to root's home directory. This is because sudo can
be configured in many ways, and on Ubuntu, they have chosen to configure
it in that way. On other systems, it might behave differently.
I've attached a patch which should fix this. Can you confirm whether it
works?
--
Chris
0001-guix-install.sh-Explicitly-set-root-s-home-directory.patch
Description: Text Data
signature.asc
Description: PGP signature
- bug#30728: guix-install.sh doesn't work if run with "sudo", Clément Lassieur, 2018/03/06
- bug#30728: guix-install.sh doesn't work if run with "sudo", Clément Lassieur, 2018/03/23
- bug#30728: guix-install.sh doesn't work if run with "sudo",
Chris Marusich <=
- bug#30728: guix-install.sh doesn't work if run with "sudo", Clément Lassieur, 2018/03/26
- bug#30728: guix-install.sh doesn't work if run with "sudo", Marius Bakke, 2018/03/26
- bug#30728: guix-install.sh doesn't work if run with "sudo", Ricardo Wurmus, 2018/03/27
- bug#30728: guix-install.sh doesn't work if run with "sudo", Clément Lassieur, 2018/03/27
- bug#30728: guix-install.sh doesn't work if run with "sudo", Chris Marusich, 2018/03/27
- bug#30728: guix-install.sh doesn't work if run with "sudo", Ricardo Wurmus, 2018/03/28
- bug#30728: guix-install.sh doesn't work if run with "sudo", Chris Marusich, 2018/03/29
- bug#30728: guix-install.sh doesn't work if run with "sudo", Clément Lassieur, 2018/03/29
- bug#30728: guix-install.sh doesn't work if run with "sudo", Clément Lassieur, 2018/03/29
- bug#30728: guix-install.sh doesn't work if run with "sudo", Ricardo Wurmus, 2018/03/29