Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
LatOffline
Post subject: dkms says I'm not root  PostPosted: 22.01.2017, 00:33



Joined: 2010-09-19
Posts: 205

Status: Offline
Modules for new kernels aren't built because there was an error saying I am not root.

      Code:
Selecting previously unselected package linux-headers-4.9.0-4.slh.1-aptosid-amd64.
(Reading database ... 440868 files and directories currently installed.)
Preparing to unpack .../linux-headers-4.9.0-4.slh.1-aptosid-amd64_4.9-8_amd64.deb ...
Unpacking linux-headers-4.9.0-4.slh.1-aptosid-amd64 (4.9-8) ...
Selecting previously unselected package linux-image-4.9.0-4.slh.1-aptosid-amd64.
Preparing to unpack .../linux-image-4.9.0-4.slh.1-aptosid-amd64_4.9-8_amd64.deb ...
Unpacking linux-image-4.9.0-4.slh.1-aptosid-amd64 (4.9-8) ...
Setting up linux-headers-4.9.0-4.slh.1-aptosid-amd64 (4.9-8) ...
/etc/kernel/header_postinst.d/dkms:
Error! You must be root to use this command.
run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 1
Failed to process /etc/kernel/header_postinst.d at /var/lib/dpkg/info/linux-headers-4.9.0-4.slh.1-aptosid-amd64.postinst line 11.
dpkg: error processing package linux-headers-4.9.0-4.slh.1-aptosid-amd64 (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up linux-image-4.9.0-4.slh.1-aptosid-amd64 (4.9-8) ...
/etc/kernel-img.conf:6: W: ignoring unknown parameter relative_links
I: /vmlinuz.old is now a symlink to boot/vmlinuz-4.9.0-0.slh.1-aptosid-amd64
I: /initrd.img.old is now a symlink to boot/initrd.img-4.9.0-0.slh.1-aptosid-amd64
I: /vmlinuz is now a symlink to boot/vmlinuz-4.9.0-4.slh.1-aptosid-amd64
I: /initrd.img is now a symlink to boot/initrd.img-4.9.0-4.slh.1-aptosid-amd64
/etc/kernel/postinst.d/dkms:
Error! You must be root to use this command.
run-parts: /etc/kernel/postinst.d/dkms exited with return code 1
dpkg: error processing package linux-image-4.9.0-4.slh.1-aptosid-amd64 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 linux-headers-4.9.0-4.slh.1-aptosid-amd64
 linux-image-4.9.0-4.slh.1-aptosid-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

After digging a bit, /usr/sbin/dkms never initializes the variable UID

      Code:
grep UID /usr/sbin/dkms
    if ((UID != 0)); then
    ((UID == 0)) && return
        if ((UID != 0)) && [[ $force = true ]]; then


Adding the line below somewhere at top the script fixes it:
      Code:
UID=$(id -u)
 
 View user's profile Send private message  
Reply with quote Back to top
LatOffline
Post subject: RE: dkms says I  PostPosted: 19.02.2017, 02:56



Joined: 2010-09-19
Posts: 205

Status: Offline
Same behavior in dkms 2.3-3
 
 View user's profile Send private message  
Reply with quote Back to top
slhOffline
Post subject: RE: dkms says I  PostPosted: 19.02.2017, 07:01



Joined: 2010-08-25
Posts: 962

Status: Offline
Without having dug into it deeper (I don't really like the way dkms works), the situation is a bit weird. While $UID is not a variable mandated by POSIX shells, it is defined by bash and - and /usr/sbin/dkms does explicitly use #!/bin/bash as shebang. At least the 'normal' ways dkms appears to be invoked, is via exec, which in turn should use bash to execute the script (thereby defining $UID), but apparently it isn't executed rather than sourced on your system somehow (which would be the only way to end up with your error condition). Unfortunately I don't really see how this would happen (assuming that /bin/bash is indeed provided by bash, check "/bin/bash --version", which it really should be).

In order to debug this further, it would probably make sense to run "debsums -as" on your system, to check for eventual disk corruption and/ or modified conffiles (there typically are several under /etc/, so that isn't a problem per se, but it might hint at potential problems). Furthermore you apparently still have /etc/kernel-img.conf on your system, which isn't supposed to be present anymore (while it shouldn't exactly break havoc, it has the potential to do so - it is safe to remove it).
 
 View user's profile Send private message  
Reply with quote Back to top
LatOffline
Post subject: RE: dkms says I  PostPosted: 21.02.2017, 01:10



Joined: 2010-09-19
Posts: 205

Status: Offline
Ok, this is the bash command
      Code:
 /bin/bash --version ; apt-cache policy bash
GNU bash, version 4.4.11(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
bash:
  Installed: 4.4-4
  Candidate: 4.4-4
  Version table:
 *** 4.4-4 500
        500 http://httpredir.debian.org/debian testing/main amd64 Packages
        500 http://httpredir.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status


and this is kernel-img.conf
      Code:
cat /etc/kernel-img.conf
# Kernel Image management overrides
# See kernel-img.conf(5) for details
do_symlinks = Yes
do_bootloader = no
do_initrd = Yes
relative_links = Yes

I'll run debsums -as, too

Thanks slh,
Lat
 
 View user's profile Send private message  
Reply with quote Back to top
LatOffline
Post subject: RE: dkms says I  PostPosted: 21.02.2017, 01:24



Joined: 2010-09-19
Posts: 205

Status: Offline
I decided to dist-upgrade before running debsums -as. During that I saw "/usr/sbin/dkms: line 40: UID: readonly variable" which is where I put my work around. Could it be that it got fixed?

      Code:
...
Building initial module for 4.9.0-0.slh.1-aptosid-amd64
/usr/sbin/dkms: line 40: UID: readonly variable
Done.
/usr/sbin/dkms: line 40: UID: readonly variable
/usr/sbin/dkms: line 40: UID: readonly variable
..

sed -n '40 p' < /usr/sbin/dkms
UID=$(id -u)
 
 View user's profile Send private message  
Reply with quote Back to top
slhOffline
Post subject: RE: dkms says I  PostPosted: 21.02.2017, 01:46



Joined: 2010-08-25
Posts: 962

Status: Offline
As mentioned, /etc/kernel-img.conf should be removed and doesn't contain any required/ useful content (anymore).

"UID: readonly variable" does make sense, if the script is executed under bash (given that bash itself sets this variable and overriding it would be problematic under normal circumstances).
 
 View user's profile Send private message  
Reply with quote Back to top
LatOffline
Post subject: RE: dkms says I  PostPosted: 18.03.2017, 22:44



Joined: 2010-09-19
Posts: 205

Status: Offline
This was fixed already, but today came back again

      Code:
Setting up linux-image-4.10.0-3.slh.1-aptosid-amd64 (4.10-7) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-4.10.0-1.slh.2-aptosid-amd64
I: /initrd.img.old is now a symlink to boot/initrd.img-4.10.0-1.slh.2-aptosid-amd64
I: /vmlinuz is now a symlink to boot/vmlinuz-4.10.0-3.slh.1-aptosid-amd64
I: /initrd.img is now a symlink to boot/initrd.img-4.10.0-3.slh.1-aptosid-amd64
/etc/kernel/postinst.d/dkms:
Error! You must be root to use this command.
run-parts: /etc/kernel/postinst.d/dkms exited with return code 1
dpkg: error processing package linux-image-4.10.0-3.slh.1-aptosid-amd64 (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up linux-headers-4.10.0-3.slh.1-aptosid-amd64 (4.10-7) ...
/etc/kernel/header_postinst.d/dkms:
Error! You must be root to use this command.
run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 1
Failed to process /etc/kernel/header_postinst.d at /var/lib/dpkg/info/linux-headers-4.10.0-3.slh.1-aptosid-amd64.postinst line 11.
dpkg: error processing package linux-headers-4.10.0-3.slh.1-aptosid-amd64 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 linux-image-4.10.0-3.slh.1-aptosid-amd64
 linux-headers-4.10.0-3.slh.1-aptosid-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
 
 View user's profile Send private message  
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT - 12 Hours
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by Zafenio