[SOLVED] kernel-headers - upgradepkg or installpkg?
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
The kernel-headers package will almost completely replace the previous headers in the system (in reality, they are more of glibc-headers and aren't used for almost all programs -- the kernel headers that are used by almost all programs and all modules are in the kernel source tree, /usr/src/linux-4.19.x/include/, whereas the kernel-headers headers are in /usr/include/). Various kernel-headers don't coexist like kernel-{generic,huge,modules,source} do. installpkg will only overwrite any existing headers with the ones from the current package and will likely leave older, stale headers that could potentially cause issues.
You can always double check by running the following and seeing how many files it would overwrite:
The kernel-headers package will almost completely replace the previous headers in the system (in reality, they are more of glibc-headers and aren't used for almost all programs -- the kernel headers that are used by almost all programs and all modules are in the kernel source tree, /usr/src/linux-4.19.x/include/, whereas the kernel-headers headers are in /usr/include/). Various kernel-headers don't coexist like kernel-{generic,huge,modules,source} do. installpkg will only overwrite any existing headers with the ones from the current package and will likely leave older, stale headers that could potentially cause issues.
You can always double check by running the following and seeing how many files it would overwrite:
So, just keep doing the process you have listed above. installpkg for everything but kernel-headers and kernel-firmware and use upgradepkg on those.
Thanks, bass. So I'll use exactly the same procedure. In which I'll just upgradepkg on those headers I've already installed for 4.19.37.
EDIT: after running slackpkg upgrade-all I got the following notification:
Code:
Checking local integrity... DONE
You have a broken /var/log/packages/ - with two versions of the same package.
The list of packages duplicated in your machine are shown below, but don't
worry about this list - when you select your action, slackpkg will show a
better list:
kernel-headers-4.19.34-x86-1
kernel-headers-4.19.37-x86-1
So you were right [of course]. I removed the older headers.
Last edited by Lysander666; 04-30-2019 at 05:27 AM.
EDIT: after running slackpkg upgrade-all I got the following notification:
Code:
Checking local integrity... DONE
You have a broken /var/log/packages/ - with two versions of the same package.
The list of packages duplicated in your machine are shown below, but don't
worry about this list - when you select your action, slackpkg will show a
better list:
kernel-headers-4.19.34-x86-1
kernel-headers-4.19.37-x86-1
So you were right [of course]. I removed the older headers.
All this means is at some point you did an installpkg on a second kernel-headers package, but you didn't have it blacklisted in slackpkg. If you removed the other kernel entries from your blacklist, you'd see the same thing. This does not indicate that a package conflicts with itself, just that you have two or more of the same packages installed on the system.
You would need to either run a comparison of both the entries or run installpkg --warn /location/to/package.t?z to find out how much a package will conflict with another package.
Last edited by bassmadrigal; 04-30-2019 at 10:36 AM.
With slackpkg I use upgradepkg on kernel-headers, the list of files installed in this package would probably conflict with other versions easily and you are likely overwriting them with installpkg. I would guess this defeats the point of installing two different versions of the package.
Most likely, it won't hurt anything. The only chance is if a program checks for a header that should no longer exist and then it enables functionality that doesn't exist in the rest of the headers. But very few programs actually build against the headers in /usr/include/, so the chances of that happening are likely very slim.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.