You are not logged in.

#1 2024-06-19 18:32:56

fmc000
Member
Registered: 2020-05-12
Posts: 85

[SOLVED] Replacing sudo with run0

The latest two runs of systemd updates from 255 to 256 and then 256.1 were flawless as expected so the next step for me was to get rid of sudo and replacing it with run0. All my custom scripts were modified and continued to work without issues, all the commands that required the root privileges invoked the usual password window and so on, of course without any symlink or alias.

I even created a polkit rule so that my user could execute run0 without being asked for my password, worked first try. So far so good.

Next step was to invoke:

20:21][fmc000@tu45b-arch][~]
 ⤷ $ run0 pacman -Rcns sudo
checking dependencies...
:: pacman-contrib optionally requires fakeroot: for checkupdates
:: pacman-contrib optionally requires sudo: privilege elevation for several scripts
:: pciutils optionally requires which: for update-pciids

Package (12)  Old Version  Net Change

autoconf      2.72-1        -2.22 MiB
automake      1.16.5-2      -1.57 MiB
base-devel    1-1            0.00 MiB
bison         3.8.2-6       -2.54 MiB
debugedit     5.0-6         -0.10 MiB
fakeroot      1.35-1        -0.14 MiB
flex          2.6.4-5       -0.93 MiB
m4            1.4.19-3      -0.47 MiB
pkgconf       2.1.1-1       -0.16 MiB
texinfo       7.1-2         -9.96 MiB
which         2.21-6        -0.03 MiB
sudo          1.9.15.p5-1   -7.73 MiB

Total Removed Size:  25.86 MiB

:: Do you want to remove these packages? [Y/n] n
[20:21][fmc000@tu45b-arch][~]
 ⤷ $

I was really surprised to find out that base-devel requires sudo, I just can't figure out why. But, most important, now that systemd provides run0 I belive that this dependency can be removed entirely as systemd is always installed in Arch AFAIK.

Thoughts? Am I missing something?

Last edited by fmc000 (2024-06-20 07:31:24)


Linux user since 1996. Currently running Arch on an I7 11th gen laptop with root on zfs with zrepl.

Offline

#2 2024-06-19 20:39:03

seth
Member
Registered: 2012-09-03
Posts: 59,903

Re: [SOLVED] Replacing sudo with run0

1. base-devel is a meta package
2. be rather careful w/ -Rc
3. a lot of the marketing BS around run0 is BS

Online

#3 2024-06-19 20:58:03

fmc000
Member
Registered: 2020-05-12
Posts: 85

Re: [SOLVED] Replacing sudo with run0

1. I know that, I simply don't understand which package in the group needs sudo;
2. Thanks for the suggestion, I'm very careful when I run this command and double check the output every time;
3. I never claimed that run0 is better than sudo, only that it makes sudo redundant and therefore I should be able to remove it.

And BTW thanks for the link you posted, it makes more clear that run0 is way better than sudo, the last post explains it really well IMHO.

Last edited by fmc000 (2024-06-19 21:05:57)


Linux user since 1996. Currently running Arch on an I7 11th gen laptop with root on zfs with zrepl.

Offline

#4 2024-06-19 23:41:05

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,482
Website

Re: [SOLVED] Replacing sudo with run0

base-devel is a metapackage for building Arch packages.  The Arch devtools scripts use sudo  (and makepkg does too by default).

Offline

#5 2024-06-20 01:18:50

cmdrsweeper
Member
Registered: 2015-09-05
Posts: 13

Re: [SOLVED] Replacing sudo with run0

I find run0 to be badly documented, such as fine control over which user is root.
So my solution currently is a bit drastic, I just rm /usr/bin/run0 and get rid of it, if something calls it, I would rather it fail with a "Command not found" than strange behavior.

Offline

#6 2024-06-20 04:23:12

fmc000
Member
Registered: 2020-05-12
Posts: 85

Re: [SOLVED] Replacing sudo with run0

Allan wrote:

base-devel is a metapackage for building Arch packages.  The Arch devtools scripts use sudo  (and makepkg does too by default).

Thanks, this is the answer I needed, not all the anti-systemd stuff.

So my question is: as run0 can replace sudo, is it possibile in your opinion to make the sudo dependency optional? For example makepkg would use sudo if it's present on the system, otherwise if would use run0 that is always present. It will be a much cleaner solution IMHO.

Edit: solution provided a few posts after this one.

Last edited by fmc000 (2024-06-20 07:32:30)


Linux user since 1996. Currently running Arch on an I7 11th gen laptop with root on zfs with zrepl.

Offline

#7 2024-06-20 05:34:56

seth
Member
Registered: 2012-09-03
Posts: 59,903

Re: [SOLVED] Replacing sudo with run0

And BTW thanks for the link you posted, it makes more clear that run0 is way better than sudo, the last post explains it really well IMHO.

lol

I even created a polkit rule so that my user could execute run0 without being asked for my password

Sure, with that premise its "better" roll

So "advertise-systemd stuff" aside, you don't have to install base-devel at all, it's not a dependency for anything (but the multilib-devel meta-package, that doesn't count)
That was (one of the) the answer(s) you asked for.
https://bbs.archlinux.org/viewtopic.php … 7#p2171667
You can simply set PACMAN_AUTH and make makepkg use whatever you want:
https://man.archlinux.org/man/core/pacm … en#OPTIONS

Online

#8 2024-06-20 07:31:06

fmc000
Member
Registered: 2020-05-12
Posts: 85

Re: [SOLVED] Replacing sudo with run0

seth wrote:

you don't have to install base-devel at all, it's not a dependency for anything (but the multilib-devel meta-package, that doesn't count)

Yes, I always knew that and funnily enough that was the solution I was looking for from the start. I was able to remove the sudo package from my system uninstalling base-devel and reinstalling

autoconf      2.72-1        -2.22 MiB
automake      1.16.5-2      -1.57 MiB
bison         3.8.2-6       -2.54 MiB
debugedit     5.0-6         -0.10 MiB
fakeroot      1.35-1        -0.14 MiB
flex          2.6.4-5       -0.93 MiB
m4            1.4.19-3      -0.47 MiB
pkgconf       2.1.1-1       -0.16 MiB
texinfo       7.1-2         -9.96 MiB
which         2.21-6        -0.03 MiB
seth wrote:

You can simply set PACMAN_AUTH and make makepkg use whatever you want:
https://man.archlinux.org/man/core/pacm … en#OPTIONS

Very helpful, thank you very much. I'm marking this thread as SOLVED.


Linux user since 1996. Currently running Arch on an I7 11th gen laptop with root on zfs with zrepl.

Offline

#9 2024-06-22 04:49:56

amish
Member
Registered: 2014-05-10
Posts: 475

Re: [SOLVED] Replacing sudo with run0

fmc000 wrote:

I was able to remove the sudo package from my system uninstalling base-devel and reinstalling

autoconf      2.72-1        -2.22 MiB
automake      1.16.5-2      -1.57 MiB
...

This will remove sudo but in future if there is anything else added in base-devel meta package, then it will not get added automatically. And may break things.

Offline

#10 2024-06-22 07:03:00

fmc000
Member
Registered: 2020-05-12
Posts: 85

Re: [SOLVED] Replacing sudo with run0

No big deal honestly, I have the base-devel packages installed only because I need a couple of packages in the AUR.


Linux user since 1996. Currently running Arch on an I7 11th gen laptop with root on zfs with zrepl.

Offline

Board footer

Powered by FluxBB