This is doable but caution is advised:
cargo install sudo-rs
Updating crates.io index
Installing sudo-rs v0.2.6
Updating crates.io index
Locking 3 packages to latest compatible versions
Compiling libc v0.2.174
Compiling sudo-rs v0.2.6
Compiling log v0.4.27
Compiling glob v0.3.2
Finished `release` profile [optimized] target(s) in 8.50s
Installing /home/me/.cargo/bin/su
Installing /home/me/.cargo/bin/sudo
Installing /home/me/.cargo/bin/visudo
Installed package `sudo-rs v0.2.6` (executables `su`, `sudo`, `visudo`)
sudo-rs --list
User me may run the following commands on me-Legion-5-15ACH6-zfs:
(ALL : ALL) ALL
sudo-rs su
root@me-Legion-5-15ACH6-zfs:/home/me#
Ran into a similar problem on Lubuntu in QEMU VM
I removed ubuntu-minimal
$ sudo apt full-upgrade
[sudo: authenticate] Password:
The following packages were automatically installed and are no longer required:
iputils-ping liba52-0.7.4 libabsl20230802 libclang-cpp18 libdca0 libfuse2t64 libfuse3-3 libllvm18 libmpeg2-4 libsigsegv2 netcat-openbsd
Use 'sudo apt autoremove' to remove them.
Upgrading:
apparmor initramfs-tools-core libgcc-s1 libkf6configcore6 libkf6idletime6 libkf6peoplebackend6 libkf6wallet-data libpython3.13-minimal pipewire-bin rfkill
apt iputils-ping libgdk-pixbuf-2.0-0 libkf6configgui6 libkf6itemmodels6 libkf6prison6 libkf6wallet6 libpython3.13-stdlib pipewire-pulse rust-coreutils
apt-utils iputils-tracepath libgdk-pixbuf2.0-bin libkf6configqml6 libkf6itemviews-data libkf6prisonscanner6 libkf6walletbackend6 libquadmath0 psmisc samba-libs
bash kded6 libgdk-pixbuf2.0-common libkf6configwidgets-data libkf6itemviews6 libkf6pty-data libkf6widgetsaddons-data libsmartcols1 pyqt6-dev-tools sddm
bpfcc-tools kio-fuse libgfortran5 libkf6configwidgets6 libkf6jobwidgets-data libkf6pty6 libkf6widgetsaddons6 libsmbclient0 python3-bpfcc snapd
bsdextrautils kio6 libglib2.0-0t64 libkf6contacts-data libkf6jobwidgets6 libkf6purpose-bin libkf6windowsystem-data libspa-0.2-bluetooth python3-dbus.mainloop.pyqt6 sonnet6-plugins
bsdutils kmod libglib2.0-bin libkf6contacts6 libkf6kcmutils-bin libkf6purpose-data libkf6windowsystem6 libspa-0.2-modules python3-distupgrade sshfs
catdoc konsole-kpart libglib2.0-data libkf6coreaddons-data libkf6kcmutils-data libkf6purpose6 libkf6xmlgui-data libsquashfuse0 python3-pyqt6 ubuntu-release-upgrader-core
dhcpcd-base kpackagetool6 libgomp1 libkf6coreaddons6 libkf6kcmutils6 libkf6purposewidgets6 libkf6xmlgui6 libss2 python3-pyqt6.qtqml ubuntu-release-upgrader-qt
e2fsprogs kwallet6 libhwasan0 libkf6crash6 libkf6kcmutilscore6 libkf6qqc2desktopstyle-data libkirigami-data libssl3t64 python3-pyqt6.qtquick udisks2
eject libapparmor1 libitm1 libkf6dbusaddons-bin libkf6kcmutilsquick6 libkf6runner6 libkirigami6 libstdc++6 python3.13 util-linux
fastfetch libapt-pkg7.0 libkf6archive-data libkf6dbusaddons-data libkf6kiocore6 libkf6service-bin libkirigamidelegates6 libtalloc2 python3.13-gdbm util-linux-extra
fdisk libasan8 libkf6archive6 libkf6dbusaddons6 libkf6kiofilewidgets6 libkf6service-data libkirigamidialogs6 libtdb1 python3.13-minimal uuid-runtime
flatpak libatomic1 libkf6attica6 libkf6doctools6 libkf6kiogui6 libkf6service6 libkirigamilayouts6 libtevent0t64 qemu-guest-agent x11-common
fuse3 libblkid1 libkf6auth-data libkf6filemetadata-bin libkf6kiowidgets6 libkf6solid-data libkirigamilayoutsprivate6 libtsan2 qml6-module-org-kde-bluezqt xdg-desktop-portal
gcc-15-base libblockdev-crypto3 libkf6authcore6 libkf6filemetadata-data libkf6modemmanagerqt6 libkf6solid6 libkirigamiplatform6 libubsan1 qml6-module-org-kde-config xdg-desktop-portal-gtk
gir1.2-gdkpixbuf-2.0 libblockdev-fs3 libkf6bluezqt-data libkf6filemetadata3 libkf6networkmanagerqt6 libkf6sonnet-data libkirigamiprimitives6 libudisks2-0 qml6-module-org-kde-coreaddons xorg
gir1.2-glib-2.0 libblockdev-loop3 libkf6bluezqt6 libkf6globalaccel-data libkf6newstuff-data libkf6sonnetcore6 libkirigamiprivate6 libuuid1 qml6-module-org-kde-desktop xserver-xorg
gir1.2-udisks-2.0 libblockdev-mdraid3 libkf6bookmarks-data libkf6globalaccel6 libkf6newstuffcore6 libkf6sonnetui6 libkmod2 libwbclient0 qml6-module-org-kde-iconthemes xserver-xorg-input-all
grub-common libblockdev-nvme3 libkf6bookmarks6 libkf6guiaddons-bin libkf6newstuffwidgets6 libkf6statusnotifieritem-data libldb2 linux-base qml6-module-org-kde-kcmutils xserver-xorg-video-all
grub-pc-bin libblockdev-part3 libkf6bookmarkswidgets6 libkf6guiaddons-data libkf6notifications-data libkf6statusnotifieritem6 liblsan0 linux-sysctl-defaults qml6-module-org-kde-kirigami xserver-xorg-video-vesa
grub2-common libblockdev-swap3 libkf6breezeicons6 libkf6guiaddons6 libkf6notifications6 libkf6style6 libmount1 login qml6-module-org-kde-kitemmodels
gstreamer1.0-pipewire libblockdev-utils3 libkf6codecs-data libkf6i18n-data libkf6notifyconfig-data libkf6svg6 libnss3 logsave qml6-module-org-kde-kquickcontrolsaddons
gvfs libblockdev3 libkf6codecs6 libkf6i18n6 libkf6notifyconfig6 libkf6syndication6 libobjc4 mount qml6-module-org-kde-ksvg
gvfs-backends libbpfcc libkf6colorscheme-data libkf6i18nlocaledata6 libkf6package-data libkf6textwidgets-data libostree-1-1 openssl qml6-module-org-kde-newstuff
gvfs-common libcc1-0 libkf6colorscheme6 libkf6i18nqml6 libkf6package6 libkf6textwidgets6 libpipewire-0.3-0t64 openssl-provider-legacy qml6-module-org-kde-people
gvfs-daemons libcjson1 libkf6completion-data libkf6iconthemes-bin libkf6parts-data libkf6threadweaver6 libpipewire-0.3-common pci.ids qml6-module-org-kde-prison
gvfs-fuse libcom-err2 libkf6completion6 libkf6iconthemes-data libkf6parts6 libkf6userfeedback-data libpipewire-0.3-modules pipewire qml6-module-org-kde-purpose
gvfs-libs libext2fs2t64 libkf6config-bin libkf6iconthemes6 libkf6people-data libkf6userfeedback-doc libpng16-16t64 pipewire-alsa qml6-module-org-kde-sonnet
initramfs-tools-bin libfdisk1 libkf6config-data libkf6iconwidgets6 libkf6people6 libkf6userfeedbackcore6 libpython3.13 pipewire-audio qml6-module-org-kde-userfeedback
Installing dependencies:
libclang-cpp20 libfuse3-4 libkirigamipolyfill6 liblastlog2-2
Not upgrading:
sudo-rs
Summary:
Upgrading: 291, Installing: 4, Removing: 0, Not Upgrading: 1
Download size: 141 MB
Space needed: 92.3 MB / 46.6 GB available
Continue? [Y/n]
yamiyukisenpai@Lubuntu-KVM:~$ sudo apt install sudo-rs
The following packages were automatically installed and are no longer required:
iputils-ping liba52-0.7.4 libabsl20230802 libdca0 libfuse2t64 libmpeg2-4 libsigsegv2 netcat-openbsd
Use 'sudo apt autoremove' to remove them.
Upgrading:
sudo-rs
Installing dependencies:
doas opendoas
REMOVING:
sudo
Summary:
Upgrading: 1, Installing: 2, Removing: 1, Not Upgrading: 291
Download size: 575 kB
Freed space: 3,675 kB
Continue? [Y/n]
Is it supposed to install doas
as well?