unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Stuck installing guix package manager on Fedora with selinux
@ 2023-10-17 16:42 Alexis Simon
  2023-10-18 13:40 ` Markku Korkeala
  0 siblings, 1 reply; 8+ messages in thread
From: Alexis Simon @ 2023-10-17 16:42 UTC (permalink / raw)
  To: help-guix

Hi,

I'd like to try the guix package manager but am stuck installing it on 
Fedora 38 with selinux. I should say I don't know anything about the 
details of either guix or selinux.
I know a few other persons that also wanted to try guix but gave up due 
to issues with selinux, so I think solving this issue could help in 
adoption.

I've used the installer script which worked well, then was initially hit 
by this error
`guix install: error: remounting /gnu/store writable: Permission denied`

This was solved by doing
sudo semodule -i 
/gnu/store/5kj8lyybjrdl7xd0fx9g9vzkz8sklqsy-guix-1.4.0/share/selinux/guix-daemon.cil 

sudo mount -o remount,rw /gnu/store
sudo restorecon -R /gnu /var/guix
sudo systemctl restart guix-daemon.service

(note that the mount step was the missing part that was missing from all 
guides I've seen on the web, and I found it in a guix commit).

Now I have a different issue, guix-daemon doesn't seem to be able to 
access internet with errors of the type
`In procedure getaddrinfo: Temporary failure in name resolution`
(disabling selinux works in that case, but I want it enabled)

This is what I get from setroubleshoot:
```
SELinux is preventing guix substitute from search access on the 
directory systemd.
*****  Plugin catchall (100. confidence) suggests   *****
*********************
If you believe that guix substitute should be allowed sea
rch access on the systemd directory by default.
Then you should report this as a bug.
You can generate a local policy module to allow this acce
ss.
Do
allow this access for now by executing:
# ausearch -c 'guix substitute' --raw | audit2allow -M my
-guixsubstitute
# semodule -X 300 -i my-guixsubstitute.pp
```

Trying the suggested commands also errors in:
```
libsepol.hierarchy_add_type_callback: guix_daemon doesn't exist, 
guix_daemon.guix_daemon_t is an orphan
libsepol.hierarchy_add_bounds: 1 errors found while adding hierarchies
```

So I don't really know where to go from there, any help appreciated.
Thanks
Alexis


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Stuck installing guix package manager on Fedora with selinux
  2023-10-17 16:42 Stuck installing guix package manager on Fedora with selinux Alexis Simon
@ 2023-10-18 13:40 ` Markku Korkeala
  2023-10-18 17:06   ` Alexis Simon
  0 siblings, 1 reply; 8+ messages in thread
From: Markku Korkeala @ 2023-10-18 13:40 UTC (permalink / raw)
  To: Alexis Simon; +Cc: help-guix

Hi,

I haven't tried the official guix installation, but I was
able to get guix running on Fedora using rpm packages from copr:

https://copr.fedorainfracloud.org/coprs/lantw44/guix/

If you can't find solution to the SELinux problem, maybe
give those rpm packages a try.

Best regards,
Markku

On Tue, Oct 17, 2023 at 09:42:58AM -0700, Alexis Simon wrote:
> Hi,
> 
> I'd like to try the guix package manager but am stuck installing it on
> Fedora 38 with selinux. I should say I don't know anything about the details
> of either guix or selinux.
> I know a few other persons that also wanted to try guix but gave up due to
> issues with selinux, so I think solving this issue could help in adoption.
> 
> I've used the installer script which worked well, then was initially hit by
> this error
> `guix install: error: remounting /gnu/store writable: Permission denied`
> 
> This was solved by doing
> sudo semodule -i /gnu/store/5kj8lyybjrdl7xd0fx9g9vzkz8sklqsy-guix-1.4.0/share/selinux/guix-daemon.cil
> 
> sudo mount -o remount,rw /gnu/store
> sudo restorecon -R /gnu /var/guix
> sudo systemctl restart guix-daemon.service
> 
> (note that the mount step was the missing part that was missing from all
> guides I've seen on the web, and I found it in a guix commit).
> 
> Now I have a different issue, guix-daemon doesn't seem to be able to access
> internet with errors of the type
> `In procedure getaddrinfo: Temporary failure in name resolution`
> (disabling selinux works in that case, but I want it enabled)
> 
> This is what I get from setroubleshoot:
> ```
> SELinux is preventing guix substitute from search access on the directory
> systemd.
> *****  Plugin catchall (100. confidence) suggests   *****
> *********************
> If you believe that guix substitute should be allowed sea
> rch access on the systemd directory by default.
> Then you should report this as a bug.
> You can generate a local policy module to allow this acce
> ss.
> Do
> allow this access for now by executing:
> # ausearch -c 'guix substitute' --raw | audit2allow -M my
> -guixsubstitute
> # semodule -X 300 -i my-guixsubstitute.pp
> ```
> 
> Trying the suggested commands also errors in:
> ```
> libsepol.hierarchy_add_type_callback: guix_daemon doesn't exist,
> guix_daemon.guix_daemon_t is an orphan
> libsepol.hierarchy_add_bounds: 1 errors found while adding hierarchies
> ```
> 
> So I don't really know where to go from there, any help appreciated.
> Thanks
> Alexis
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Stuck installing guix package manager on Fedora with selinux
  2023-10-18 13:40 ` Markku Korkeala
@ 2023-10-18 17:06   ` Alexis Simon
  2023-10-18 18:16     ` Alexis Simon
  2023-10-20 11:32     ` Markku Korkeala
  0 siblings, 2 replies; 8+ messages in thread
From: Alexis Simon @ 2023-10-18 17:06 UTC (permalink / raw)
  To: Markku Korkeala; +Cc: help-guix

Hi, Thanks for the suggestion.

I stumbled on this guix rpm but it seems also that selinux needs to be 
disabled with that one.
I think the maintainer initially wanted to apply selinux policies but in 
the end commented out all those parts. (There's also a hint in the 
changelog that it doesn't work with selinux, see here [0]).

As someone else suggested, yes I could set selinux to permissive but I 
don't find that an acceptable solution. I don't want to disable a 
security feature of my system.

Also an update on my initial email: after a reboot, I'm back at square 
one with the remount error. So the solution wasn't really one.

Best regards,
Alexis

[0] 
https://copr-dist-git.fedorainfracloud.org/cgit/lantw44/guix/guix.git/tree/guix.spec?h=f38#n556

On 18/10/2023 06:40, Markku Korkeala wrote:
> Hi,
> 
> I haven't tried the official guix installation, but I was
> able to get guix running on Fedora using rpm packages from copr:
> 
> https://copr.fedorainfracloud.org/coprs/lantw44/guix/
> 
> If you can't find solution to the SELinux problem, maybe
> give those rpm packages a try.
> 
> Best regards,
> Markku
> 
> On Tue, Oct 17, 2023 at 09:42:58AM -0700, Alexis Simon wrote:
>> Hi,
>>
>> I'd like to try the guix package manager but am stuck installing it on
>> Fedora 38 with selinux. I should say I don't know anything about the details
>> of either guix or selinux.
>> I know a few other persons that also wanted to try guix but gave up due to
>> issues with selinux, so I think solving this issue could help in adoption.
>>
>> I've used the installer script which worked well, then was initially hit by
>> this error
>> `guix install: error: remounting /gnu/store writable: Permission denied`
>>
>> This was solved by doing
>> sudo semodule -i /gnu/store/5kj8lyybjrdl7xd0fx9g9vzkz8sklqsy-guix-1.4.0/share/selinux/guix-daemon.cil
>>
>> sudo mount -o remount,rw /gnu/store
>> sudo restorecon -R /gnu /var/guix
>> sudo systemctl restart guix-daemon.service
>>
>> (note that the mount step was the missing part that was missing from all
>> guides I've seen on the web, and I found it in a guix commit).
>>
>> Now I have a different issue, guix-daemon doesn't seem to be able to access
>> internet with errors of the type
>> `In procedure getaddrinfo: Temporary failure in name resolution`
>> (disabling selinux works in that case, but I want it enabled)
>>
>> This is what I get from setroubleshoot:
>> ```
>> SELinux is preventing guix substitute from search access on the directory
>> systemd.
>> *****  Plugin catchall (100. confidence) suggests   *****
>> *********************
>> If you believe that guix substitute should be allowed sea
>> rch access on the systemd directory by default.
>> Then you should report this as a bug.
>> You can generate a local policy module to allow this acce
>> ss.
>> Do
>> allow this access for now by executing:
>> # ausearch -c 'guix substitute' --raw | audit2allow -M my
>> -guixsubstitute
>> # semodule -X 300 -i my-guixsubstitute.pp
>> ```
>>
>> Trying the suggested commands also errors in:
>> ```
>> libsepol.hierarchy_add_type_callback: guix_daemon doesn't exist,
>> guix_daemon.guix_daemon_t is an orphan
>> libsepol.hierarchy_add_bounds: 1 errors found while adding hierarchies
>> ```
>>
>> So I don't really know where to go from there, any help appreciated.
>> Thanks
>> Alexis
>>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Stuck installing guix package manager on Fedora with selinux
  2023-10-18 17:06   ` Alexis Simon
@ 2023-10-18 18:16     ` Alexis Simon
  2023-10-19  2:02       ` Maxim Cournoyer
  2023-10-20 11:32     ` Markku Korkeala
  1 sibling, 1 reply; 8+ messages in thread
From: Alexis Simon @ 2023-10-18 18:16 UTC (permalink / raw)
  To: help-guix

Ok I think I'm starting to get somewhere

those are the changes that were needed in the selinux policy to be able 
to start installing a package

==============================================
diff --git a/guix-daemon.cil b/guix-daemon.cil
index 3994e62..c26ed1a 100644
--- a/guix-daemon.cil
+++ b/guix-daemon.cil
@@ -202,7 +202,7 @@
                        sys_admin)))
    (allow guix_daemon_t
           fs_t
-         (filesystem (unmount)))
+         (filesystem (unmount remount)))
    (allow guix_daemon_t
           devpts_t
           (dir (search)))
@@ -308,6 +308,8 @@
           (lnk_file (read)))
    (allow guix_daemon_t NetworkManager_var_run_t
           (dir (search)))
+  (allow guix_daemon_t init_var_run_t
+         (dir (search)))

    ;; Access to profiles
    (allow guix_daemon_t
=============================================

I'll try it out more and update as I go along.

Alexis

On 18/10/2023 10:06, Alexis Simon wrote:
> Hi, Thanks for the suggestion.
> 
> I stumbled on this guix rpm but it seems also that selinux needs to be 
> disabled with that one.
> I think the maintainer initially wanted to apply selinux policies but in 
> the end commented out all those parts. (There's also a hint in the 
> changelog that it doesn't work with selinux, see here [0]).
> 
> As someone else suggested, yes I could set selinux to permissive but I 
> don't find that an acceptable solution. I don't want to disable a 
> security feature of my system.
> 
> Also an update on my initial email: after a reboot, I'm back at square 
> one with the remount error. So the solution wasn't really one.
> 
> Best regards,
> Alexis
> 
> [0] 
> https://copr-dist-git.fedorainfracloud.org/cgit/lantw44/guix/guix.git/tree/guix.spec?h=f38#n556
> 
> On 18/10/2023 06:40, Markku Korkeala wrote:
>> Hi,
>>
>> I haven't tried the official guix installation, but I was
>> able to get guix running on Fedora using rpm packages from copr:
>>
>> https://copr.fedorainfracloud.org/coprs/lantw44/guix/
>>
>> If you can't find solution to the SELinux problem, maybe
>> give those rpm packages a try.
>>
>> Best regards,
>> Markku
>>
>> On Tue, Oct 17, 2023 at 09:42:58AM -0700, Alexis Simon wrote:
>>> Hi,
>>>
>>> I'd like to try the guix package manager but am stuck installing it on
>>> Fedora 38 with selinux. I should say I don't know anything about the 
>>> details
>>> of either guix or selinux.
>>> I know a few other persons that also wanted to try guix but gave up 
>>> due to
>>> issues with selinux, so I think solving this issue could help in 
>>> adoption.
>>>
>>> I've used the installer script which worked well, then was initially 
>>> hit by
>>> this error
>>> `guix install: error: remounting /gnu/store writable: Permission denied`
>>>
>>> This was solved by doing
>>> sudo semodule -i 
>>> /gnu/store/5kj8lyybjrdl7xd0fx9g9vzkz8sklqsy-guix-1.4.0/share/selinux/guix-daemon.cil
>>>
>>> sudo mount -o remount,rw /gnu/store
>>> sudo restorecon -R /gnu /var/guix
>>> sudo systemctl restart guix-daemon.service
>>>
>>> (note that the mount step was the missing part that was missing from all
>>> guides I've seen on the web, and I found it in a guix commit).
>>>
>>> Now I have a different issue, guix-daemon doesn't seem to be able to 
>>> access
>>> internet with errors of the type
>>> `In procedure getaddrinfo: Temporary failure in name resolution`
>>> (disabling selinux works in that case, but I want it enabled)
>>>
>>> This is what I get from setroubleshoot:
>>> ```
>>> SELinux is preventing guix substitute from search access on the 
>>> directory
>>> systemd.
>>> *****  Plugin catchall (100. confidence) suggests   *****
>>> *********************
>>> If you believe that guix substitute should be allowed sea
>>> rch access on the systemd directory by default.
>>> Then you should report this as a bug.
>>> You can generate a local policy module to allow this acce
>>> ss.
>>> Do
>>> allow this access for now by executing:
>>> # ausearch -c 'guix substitute' --raw | audit2allow -M my
>>> -guixsubstitute
>>> # semodule -X 300 -i my-guixsubstitute.pp
>>> ```
>>>
>>> Trying the suggested commands also errors in:
>>> ```
>>> libsepol.hierarchy_add_type_callback: guix_daemon doesn't exist,
>>> guix_daemon.guix_daemon_t is an orphan
>>> libsepol.hierarchy_add_bounds: 1 errors found while adding hierarchies
>>> ```
>>>
>>> So I don't really know where to go from there, any help appreciated.
>>> Thanks
>>> Alexis
>>>
> 


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: Stuck installing guix package manager on Fedora with selinux
  2023-10-18 18:16     ` Alexis Simon
@ 2023-10-19  2:02       ` Maxim Cournoyer
  2023-10-19  3:22         ` Alexis Simon
  0 siblings, 1 reply; 8+ messages in thread
From: Maxim Cournoyer @ 2023-10-19  2:02 UTC (permalink / raw)
  To: Alexis Simon; +Cc: help-guix

Hello,

Alexis Simon <alexis.simon@runbox.com> writes:

> Ok I think I'm starting to get somewhere
>
> those are the changes that were needed in the selinux policy to be
> able to start installing a package
>
> ==============================================
> diff --git a/guix-daemon.cil b/guix-daemon.cil
> index 3994e62..c26ed1a 100644
> --- a/guix-daemon.cil
> +++ b/guix-daemon.cil
> @@ -202,7 +202,7 @@
>                        sys_admin)))
>    (allow guix_daemon_t
>           fs_t
> -         (filesystem (unmount)))
> +         (filesystem (unmount remount)))
>    (allow guix_daemon_t
>           devpts_t
>           (dir (search)))
> @@ -308,6 +308,8 @@
>           (lnk_file (read)))
>    (allow guix_daemon_t NetworkManager_var_run_t
>           (dir (search)))
> +  (allow guix_daemon_t init_var_run_t
> +         (dir (search)))
>
>    ;; Access to profiles
>    (allow guix_daemon_t
> =============================================
>
> I'll try it out more and update as I go along.

Sounds good, keep us posted!  When you have reached a point you are
satisfied with, please email your patch to guix-patches@gnu.org.

-- 
Thanks,
Maxim


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Stuck installing guix package manager on Fedora with selinux
  2023-10-19  2:02       ` Maxim Cournoyer
@ 2023-10-19  3:22         ` Alexis Simon
  2023-10-19  3:36           ` Maxim Cournoyer
  0 siblings, 1 reply; 8+ messages in thread
From: Alexis Simon @ 2023-10-19  3:22 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: help-guix

Hi,

So trying to prepare a patch, I realized those changes are already in 
master. So that's the reason I didn't get them in the normal stable 
release install.

Alexis

On 18/10/2023 19:02, Maxim Cournoyer wrote:
> Hello,
> 
> Alexis Simon <alexis.simon@runbox.com> writes:
> 
>> Ok I think I'm starting to get somewhere
>>
>> those are the changes that were needed in the selinux policy to be
>> able to start installing a package
>>
>> ==============================================
>> diff --git a/guix-daemon.cil b/guix-daemon.cil
>> index 3994e62..c26ed1a 100644
>> --- a/guix-daemon.cil
>> +++ b/guix-daemon.cil
>> @@ -202,7 +202,7 @@
>>                         sys_admin)))
>>     (allow guix_daemon_t
>>            fs_t
>> -         (filesystem (unmount)))
>> +         (filesystem (unmount remount)))
>>     (allow guix_daemon_t
>>            devpts_t
>>            (dir (search)))
>> @@ -308,6 +308,8 @@
>>            (lnk_file (read)))
>>     (allow guix_daemon_t NetworkManager_var_run_t
>>            (dir (search)))
>> +  (allow guix_daemon_t init_var_run_t
>> +         (dir (search)))
>>
>>     ;; Access to profiles
>>     (allow guix_daemon_t
>> =============================================
>>
>> I'll try it out more and update as I go along.
> 
> Sounds good, keep us posted!  When you have reached a point you are
> satisfied with, please email your patch to guix-patches@gnu.org.
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Stuck installing guix package manager on Fedora with selinux
  2023-10-19  3:22         ` Alexis Simon
@ 2023-10-19  3:36           ` Maxim Cournoyer
  0 siblings, 0 replies; 8+ messages in thread
From: Maxim Cournoyer @ 2023-10-19  3:36 UTC (permalink / raw)
  To: Alexis Simon; +Cc: help-guix

Hi,

Alexis Simon <alexis.simon@runbox.com> writes:

> Hi,
>
> So trying to prepare a patch, I realized those changes are already in
> master. So that's the reason I didn't get them in the normal stable
> release install.

Ah!  You could try installing from a development snapshot instead.

-- 
Thanks,
Maxim


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Stuck installing guix package manager on Fedora with selinux
  2023-10-18 17:06   ` Alexis Simon
  2023-10-18 18:16     ` Alexis Simon
@ 2023-10-20 11:32     ` Markku Korkeala
  1 sibling, 0 replies; 8+ messages in thread
From: Markku Korkeala @ 2023-10-20 11:32 UTC (permalink / raw)
  To: Alexis Simon; +Cc: help-guix

Hi,

actually you do not need to have selinux disabled with the rpm packages,
I'm running SELinux in enforcing mode. That is something I do not want
disable either :) Some selinux-stuff is also included in the package:

rpm -ql guix | grep selinux
/usr/lib64/guile/3.0/site-ccache/gnu/packages/selinux.go
/usr/share/guile/site/3.0/gnu/packages/selinux.scm
/usr/share/selinux/packages/guix-daemon.cil

Best regards,
Markku

On Wed, Oct 18, 2023 at 10:06:07AM -0700, Alexis Simon wrote:
> Hi, Thanks for the suggestion.
> 
> I stumbled on this guix rpm but it seems also that selinux needs to be
> disabled with that one.
> I think the maintainer initially wanted to apply selinux policies but in the
> end commented out all those parts. (There's also a hint in the changelog
> that it doesn't work with selinux, see here [0]).
> 
> As someone else suggested, yes I could set selinux to permissive but I don't
> find that an acceptable solution. I don't want to disable a security feature
> of my system.
> 
> Also an update on my initial email: after a reboot, I'm back at square one
> with the remount error. So the solution wasn't really one.
> 
> Best regards,
> Alexis
> 
> [0] https://copr-dist-git.fedorainfracloud.org/cgit/lantw44/guix/guix.git/tree/guix.spec?h=f38#n556
> 
> On 18/10/2023 06:40, Markku Korkeala wrote:
> > Hi,
> > 
> > I haven't tried the official guix installation, but I was
> > able to get guix running on Fedora using rpm packages from copr:
> > 
> > https://copr.fedorainfracloud.org/coprs/lantw44/guix/
> > 
> > If you can't find solution to the SELinux problem, maybe
> > give those rpm packages a try.
> > 
> > Best regards,
> > Markku
> > 
> > On Tue, Oct 17, 2023 at 09:42:58AM -0700, Alexis Simon wrote:
> > > Hi,
> > > 
> > > I'd like to try the guix package manager but am stuck installing it on
> > > Fedora 38 with selinux. I should say I don't know anything about the details
> > > of either guix or selinux.
> > > I know a few other persons that also wanted to try guix but gave up due to
> > > issues with selinux, so I think solving this issue could help in adoption.
> > > 
> > > I've used the installer script which worked well, then was initially hit by
> > > this error
> > > `guix install: error: remounting /gnu/store writable: Permission denied`
> > > 
> > > This was solved by doing
> > > sudo semodule -i /gnu/store/5kj8lyybjrdl7xd0fx9g9vzkz8sklqsy-guix-1.4.0/share/selinux/guix-daemon.cil
> > > 
> > > sudo mount -o remount,rw /gnu/store
> > > sudo restorecon -R /gnu /var/guix
> > > sudo systemctl restart guix-daemon.service
> > > 
> > > (note that the mount step was the missing part that was missing from all
> > > guides I've seen on the web, and I found it in a guix commit).
> > > 
> > > Now I have a different issue, guix-daemon doesn't seem to be able to access
> > > internet with errors of the type
> > > `In procedure getaddrinfo: Temporary failure in name resolution`
> > > (disabling selinux works in that case, but I want it enabled)
> > > 
> > > This is what I get from setroubleshoot:
> > > ```
> > > SELinux is preventing guix substitute from search access on the directory
> > > systemd.
> > > *****  Plugin catchall (100. confidence) suggests   *****
> > > *********************
> > > If you believe that guix substitute should be allowed sea
> > > rch access on the systemd directory by default.
> > > Then you should report this as a bug.
> > > You can generate a local policy module to allow this acce
> > > ss.
> > > Do
> > > allow this access for now by executing:
> > > # ausearch -c 'guix substitute' --raw | audit2allow -M my
> > > -guixsubstitute
> > > # semodule -X 300 -i my-guixsubstitute.pp
> > > ```
> > > 
> > > Trying the suggested commands also errors in:
> > > ```
> > > libsepol.hierarchy_add_type_callback: guix_daemon doesn't exist,
> > > guix_daemon.guix_daemon_t is an orphan
> > > libsepol.hierarchy_add_bounds: 1 errors found while adding hierarchies
> > > ```
> > > 
> > > So I don't really know where to go from there, any help appreciated.
> > > Thanks
> > > Alexis
> > > 


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-10-20 11:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-17 16:42 Stuck installing guix package manager on Fedora with selinux Alexis Simon
2023-10-18 13:40 ` Markku Korkeala
2023-10-18 17:06   ` Alexis Simon
2023-10-18 18:16     ` Alexis Simon
2023-10-19  2:02       ` Maxim Cournoyer
2023-10-19  3:22         ` Alexis Simon
2023-10-19  3:36           ` Maxim Cournoyer
2023-10-20 11:32     ` Markku Korkeala

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).