Re: Cannot upgrade circular udev dependency
On 2/16/22 9:26 AM, Greg Wooledge wrote: On Wed, Feb 16, 2022 at 08:24:57AM -0800, David Liontooth wrote: Still, where in pool is udev? unicorn:~$ apt-get --reinstall --print-uris install udev Reading package lists... Done Building dependency tree... Done Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded. Need to get 1,464 kB of archives. After this operation, 0 B of additional disk space will be used. 'http://ftp.us.debian.org/debian/pool/main/s/systemd/udev_247.3-6_amd64.deb' udev_247.3-6_amd64.deb 1463624 MD5Sum:2e6e11d7cfd3069201b3ea65853c5a61 Under s for systemd, apparently. Or at least, that's where it is *now*. Who knows where it was in your version. Very nice. I didn't know how to query the repository for location; thanks!
Re: Cannot upgrade circular udev dependency
On 2/16/22 9:03 AM, Andy Smith wrote: On Wed, Feb 16, 2022 at 07:19:34AM -0800, David Liontooth wrote: Hi -- I have a machine, Linux ancient 2.6.36.2 #1 SMP Sun Dec 26 06:19:57 PST 2010 x86_64 GNU/Linux. […] Since release 198, udev requires support for the following features in the running kernel: - inotify(2) (CONFIG_INOTIFY_USER) - signalfd(2) (CONFIG_SIGNALFD) - accept4(2) - open_by_handle_at(2) (CONFIG_FHANDLE) - timerfd_create(2) (CONFIG_TIMERFD) - epoll_create(2) (CONFIG_EPOLL) dpkg: error processing archive /var/cache/apt/archives/udev_232-25+deb9u13_amd64.deb (--unpack): subprocess new pre-installation script returned error exit status 1 update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Errors were encountered while processing: /var/cache/apt/archives/udev_232-25+deb9u13_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) […] There are clearly lots of barriers put in to keep people from making mistakes, but it's also keeping me from upgrading. Is there a solution? To have ended up trying to run Debian stretch software on a 2.6.32 kernel you have made some pretty extreme decisions far outside what Debian supports. You have got to get onto a more modern kernel so you can upgrade udev. If you somehow force udev to get installed while still running that 2.6.32 kernel you will be in a world of pain because it just won't work and you very likely won't complete another boot. You haven't elaborated as to why any of the newer kernels you have installed won't boot. Cheers, Andy Thanks, Andy. I didn't have physical access to the machine, so I didn't know why the kernels didn't boot. But I revered to jesse in sources.list and was able to install a new kernel, which is now booting fine. So in spite of my extreme decisions, Debian handled the upgrade well. Dave
Re: Cannot upgrade circular udev dependency
On Wed, Feb 16, 2022 at 08:24:57AM -0800, David Liontooth wrote: > Still, where in pool is udev? unicorn:~$ apt-get --reinstall --print-uris install udev Reading package lists... Done Building dependency tree... Done Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded. Need to get 1,464 kB of archives. After this operation, 0 B of additional disk space will be used. 'http://ftp.us.debian.org/debian/pool/main/s/systemd/udev_247.3-6_amd64.deb' udev_247.3-6_amd64.deb 1463624 MD5Sum:2e6e11d7cfd3069201b3ea65853c5a61 Under s for systemd, apparently. Or at least, that's where it is *now*. Who knows where it was in your version.
Re: Cannot upgrade circular udev dependency
On Wed, Feb 16, 2022 at 07:19:34AM -0800, David Liontooth wrote: > Hi -- I have a machine, Linux ancient 2.6.36.2 #1 SMP Sun Dec 26 06:19:57 > PST 2010 x86_64 GNU/Linux. […] > Since release 198, udev requires support for the following features in > the running kernel: > > - inotify(2) (CONFIG_INOTIFY_USER) > - signalfd(2) (CONFIG_SIGNALFD) > - accept4(2) > - open_by_handle_at(2) (CONFIG_FHANDLE) > - timerfd_create(2) (CONFIG_TIMERFD) > - epoll_create(2) (CONFIG_EPOLL) > dpkg: error processing archive > /var/cache/apt/archives/udev_232-25+deb9u13_amd64.deb (--unpack): > subprocess new pre-installation script returned error exit status 1 > update-rc.d: warning: start and stop actions are no longer supported; > falling back to defaults > update-rc.d: warning: start and stop actions are no longer supported; > falling back to defaults > Errors were encountered while processing: > /var/cache/apt/archives/udev_232-25+deb9u13_amd64.deb > E: Sub-process /usr/bin/dpkg returned an error code (1) […] > There are clearly lots of barriers put in to keep people from making > mistakes, but it's also keeping me from upgrading. Is there a solution? To have ended up trying to run Debian stretch software on a 2.6.32 kernel you have made some pretty extreme decisions far outside what Debian supports. You have got to get onto a more modern kernel so you can upgrade udev. If you somehow force udev to get installed while still running that 2.6.32 kernel you will be in a world of pain because it just won't work and you very likely won't complete another boot. You haven't elaborated as to why any of the newer kernels you have installed won't boot. Cheers, Andy -- https://bitfolk.com/ -- No-nonsense VPS hosting
Re: Cannot upgrade circular udev dependency
On 2/16/22 7:48 AM, Greg Wooledge wrote: On Wed, Feb 16, 2022 at 07:19:34AM -0800, David Liontooth wrote: Hi -- I have a machine, Linux ancient 2.6.36.2 #1 SMP Sun Dec 26 06:19:57 PST 2010 x86_64 GNU/Linux. This is not a Debian kernel. You either built it yourself, or you got it from some foreign Linux distribution. True -- I used to compile my own kernels, though in this case, there's no particular need to. I just want a vanilla system at this point. I can install a new kernel, but it won't boot into any of the new kernels: root@ancient:~# update-grub Generating grub.cfg ... Found linux image: /boot/vmlinuz-4.9.0-16-amd64 Found initrd image: /boot/initrd.img-4.9.0-16-amd64 Found linux image: /boot/vmlinuz-3.16.0-6-amd64 Found initrd image: /boot/initrd.img-3.16.0-6-amd64 Found linux image: /boot/vmlinuz-2.6.36.2 Found linux image: /boot/vmlinuz-2.6.36.1 Why not? What happens when you try to boot one of them? Are they missing whatever features you needed to build a custom kernel to support? I've only tried remotely, so I don't see what's happening. If I force it and the udev is wrong, won't the kernel fail? I also cannot upgrade udev: root@ancient:~# apt --fix-broken install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done ... The following additional packages will be installed: udev The following packages will be upgraded: udev 1 upgraded, 0 newly installed, 0 to remove and 476 not upgraded. Need to get 0 B/1,112 kB of archives. After this operation, 6,381 kB of additional disk space will be used. Do you want to continue? [Y/n] Reading database ... 64907 files and directories currently installed.) Preparing to unpack .../udev_232-25+deb9u13_amd64.deb ... Since release 198, udev requires support for the following features in the running kernel: - inotify(2) (CONFIG_INOTIFY_USER) - signalfd(2) (CONFIG_SIGNALFD) - accept4(2) - open_by_handle_at(2) (CONFIG_FHANDLE) - timerfd_create(2) (CONFIG_TIMERFD) - epoll_create(2) (CONFIG_EPOLL) You could rebuild your custom kernel to include those features. Assuming they existed in 2.6.36. But... that says deb9. That's a *whole* lot newer than your running system. Did you honestly expect a Debian 9 package to work on your Debian 6 (or whatever it is) system? I'm trying to upgrade from jesse to stretch. Maybe I should downgrade to jesse again and see if I can install a debian kernel first -- I'll try that! I'm not finding udev packages in pool. Where are they located in the repository tree? Is there an intermediate udev package that would allow me for instance to boot linux 3.16.0-6-amd64? You're running a version that's so old that I wouldn't expect to find its packages in the normal locations. You'd be better off using snapshot.debian.org and downloading the obsolete versions that you require by hand. OK, very helpful, I'd forgotten about snapshots, that's great. Still, where in pool is udev? Finally. I tried using another machine to download udev 215-17+deb8u7 -- it lets me download libudev 215-17+deb8u7, but even just downloading the udev package is blocked by the dependency check. apt-get install --download-only udev=215-17+deb8u7 <== fails apt-get install --nodeps --download-only udev=215-17+deb8u7 E: Command line option --nodeps is not understood in combination with the other options And this one says deb8. I was just trying to find something that would install, so I went back to a jesse repository for this. Use dpkg -i to install individual Debian package files in these old versions. "apt-get install ./filename" didn't exist back then. The old way was to use dpkg -i, which led you to an incomplete state, and then use "apt-get -f install" with no package names to let apt-get try to fix the incomplete state. OK, cool, thanks! Or... you could install a newer version of Debian from scratch. It might be simpler than trying to salvage this Frankendebian installation. (You've got mixed up versions all over the place. I don't think this is fixable in any sane way.) You may be right, but the machine is old and I'm not entirely confident I can get it to boot from a USB stick. I'm still curious why you needed a custom kernel, though. You'll want to solve that mystery. If there's something *unique* about this machine, which would prevent a clean installation of Debian 11, you'll need to address it, whatever it may be. I just used to compile my own kernels as a matter of course -- maybe from way back; I first installed potato. I don't think it means there's anything unusual about this Supermicro machine, I see nothing in my ancient notes that would suggest it needs anything special. Cheers, Dave
Re: Cannot upgrade circular udev dependency
On Wed, Feb 16, 2022 at 07:19:34AM -0800, David Liontooth wrote: > > Hi -- I have a machine, Linux ancient 2.6.36.2 #1 SMP Sun Dec 26 06:19:57 > PST 2010 x86_64 GNU/Linux. This is not a Debian kernel. You either built it yourself, or you got it from some foreign Linux distribution. > I can install a new kernel, but it won't boot into any of the new kernels: > > root@ancient:~# update-grub > Generating grub.cfg ... > Found linux image: /boot/vmlinuz-4.9.0-16-amd64 > Found initrd image: /boot/initrd.img-4.9.0-16-amd64 > Found linux image: /boot/vmlinuz-3.16.0-6-amd64 > Found initrd image: /boot/initrd.img-3.16.0-6-amd64 > Found linux image: /boot/vmlinuz-2.6.36.2 > Found linux image: /boot/vmlinuz-2.6.36.1 Why not? What happens when you try to boot one of them? Are they missing whatever features you needed to build a custom kernel to support? > I also cannot upgrade udev: > > root@ancient:~# apt --fix-broken install > Reading package lists... Done > Building dependency tree > Reading state information... Done > Correcting dependencies... Done > ... > The following additional packages will be installed: > udev > The following packages will be upgraded: > udev > 1 upgraded, 0 newly installed, 0 to remove and 476 not upgraded. > Need to get 0 B/1,112 kB of archives. > After this operation, 6,381 kB of additional disk space will be used. > Do you want to continue? [Y/n] > Reading database ... 64907 files and directories currently installed.) > Preparing to unpack .../udev_232-25+deb9u13_amd64.deb ... > Since release 198, udev requires support for the following features in > the running kernel: > > - inotify(2) (CONFIG_INOTIFY_USER) > - signalfd(2) (CONFIG_SIGNALFD) > - accept4(2) > - open_by_handle_at(2) (CONFIG_FHANDLE) > - timerfd_create(2) (CONFIG_TIMERFD) > - epoll_create(2) (CONFIG_EPOLL) You could rebuild your custom kernel to include those features. Assuming they existed in 2.6.36. But... that says deb9. That's a *whole* lot newer than your running system. Did you honestly expect a Debian 9 package to work on your Debian 6 (or whatever it is) system? > I'm not finding udev packages in pool. Where are they located in the > repository tree? Is there an intermediate udev package that would allow me > for instance to boot linux 3.16.0-6-amd64? You're running a version that's so old that I wouldn't expect to find its packages in the normal locations. You'd be better off using snapshot.debian.org and downloading the obsolete versions that you require by hand. > Finally. I tried using another machine to download udev 215-17+deb8u7 -- it > lets me download libudev 215-17+deb8u7, but even just downloading the udev > package is blocked by the dependency check. > > apt-get install --download-only udev=215-17+deb8u7 <== fails > apt-get install --nodeps --download-only udev=215-17+deb8u7 > E: Command line option --nodeps is not understood in combination with the > other options And this one says deb8. Use dpkg -i to install individual Debian package files in these old versions. "apt-get install ./filename" didn't exist back then. The old way was to use dpkg -i, which led you to an incomplete state, and then use "apt-get -f install" with no package names to let apt-get try to fix the incomplete state. Or... you could install a newer version of Debian from scratch. It might be simpler than trying to salvage this Frankendebian installation. (You've got mixed up versions all over the place. I don't think this is fixable in any sane way.) I'm still curious why you needed a custom kernel, though. You'll want to solve that mystery. If there's something *unique* about this machine, which would prevent a clean installation of Debian 11, you'll need to address it, whatever it may be.