Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.user > #261558 > unrolled thread
| Started by | Marco <lists@homerow.info> |
|---|---|
| First post | 2023-09-08 13:10 +0200 |
| Last post | 2023-09-08 18:50 +0200 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.debian.user
usrmerge on root NFS will not be run automatically Marco <lists@homerow.info> - 2023-09-08 13:10 +0200
Re: usrmerge on root NFS will not be run automatically zithro <slack@rabbit.lu> - 2023-09-08 17:00 +0200
Re: usrmerge on root NFS will not be run automatically Marco <lists@homerow.info> - 2023-09-08 18:10 +0200
Re: usrmerge on root NFS will not be run automatically Stefan Monnier <monnier@iro.umontreal.ca> - 2023-09-08 18:50 +0200
| From | Marco <lists@homerow.info> |
|---|---|
| Date | 2023-09-08 13:10 +0200 |
| Subject | usrmerge on root NFS will not be run automatically |
| Message-ID | <HbHx7-7yPN-1@gated-at.bofh.it> |
Hi, I'm in the process of upgrading my Debian stable hosts and run into a problem with usrmerge: Setting up usrmerge (35) ... Warning: NFS detected, /usr/lib/usrmerge/convert-usrmerge will not be run automatically. See #842145 for details. E: usrmerge failed. dpkg: error processing package usrmerge (--configure): installed usrmerge package post-installation script subprocess returned error exit status 1 Errors were encountered while processing: usrmerge E: Sub-process /usr/bin/dpkg returned an error code (1) True, root is mounted via NFS. So I ran usrmerge manually: root@foobar:~# /usr/lib/usrmerge/convert-usrmerge FATAL ERROR: Both /lib/udev/rules.d/60-libsane1.rules and /usr/lib/udev/rules.d/60-libsane1.rules exist. You can try correcting the errors reported and running again /usr/lib/usrmerge/convert-usrmerge until it will complete without errors. Do not install or update other Debian packages until the program has been run successfully. It instructs me to: You can try correcting the errors reported and running again But it's not mentioned anywhere *how* to correct those errors. It's true that both files exist. I've read https://wiki.debian.org/UsrMerge But the page doesn't cover the error I face. How to fix the error? Is there a command I can run (e.g. rsync?) to fix whatever usrmerge complains about? Like keeping only the newest file or deleting the old one? I feel there's very little info out there how to recover from this situation. Any tips are much appreciated. Marco Debian stable 6.1.0-11-amd64
[toc] | [next] | [standalone]
| From | zithro <slack@rabbit.lu> |
|---|---|
| Date | 2023-09-08 17:00 +0200 |
| Message-ID | <HbL7H-7API-3@gated-at.bofh.it> |
| In reply to | #261558 |
On 08 Sep 2023 12:54, Marco wrote:
> Warning: NFS detected, /usr/lib/usrmerge/convert-usrmerge will not be run
> automatically. See #842145 for details.
Read :
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842145
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039522
The solution would be :
"convert-usrmerge can be run in a chroot on the NFS server"
If your NFS server is not Linux-based, carefully copy the files over a
Linux machine, chroot+convert there, then move back to the NFS server.
Make backups ;)
Can help:
https://unix.stackexchange.com/questions/312218/chroot-from-freebsd-to-linux
As per the why, I don't know.
Maybe the symlink handling by NFS ?
Reading the script "/usr/lib/usrmerge/convert-usrmerge", you get the
reasons why it fails :
142 # The other cases are more complex and there are some corner
cases that
143 # we do not try to resolve automatically.
144
145 # both source and dest are links
[...]
168 # the source is a link
[...]
175 # the destination is a link
[...]
191 # both source and dest are directories
192 # this is the second most common case
You may change the script to detect where/why it fails, so edit
fatal("Both $n and /usr$n exist");
to
fatal("Both $n and /usr$n exist - err line 145");
fatal("Both $n and /usr$n exist - err line 168");
Also found this on
"https://en.opensuse.org/openSUSE:Usr_merge#Known_Problems" :
- "File systems that do not support RENAME_EXCHANGE such as ZFS or NFS
cannot perform live conversion (Bug 1186637)"
- "Conversion fails if there's a mount point below
(/usr)/{bin,sbin,lib,lib64}"
Good luck
--
++
zithro / Cyril
[toc] | [prev] | [next] | [standalone]
| From | Marco <lists@homerow.info> |
|---|---|
| Date | 2023-09-08 18:10 +0200 |
| Message-ID | <HbMdr-7BHI-1@gated-at.bofh.it> |
| In reply to | #261559 |
On Fri, 8 Sep 2023 16:55:23 +0200 zithro <slack@rabbit.lu> wrote: > On 08 Sep 2023 12:54, Marco wrote: > > Warning: NFS detected, /usr/lib/usrmerge/convert-usrmerge will > > not be run automatically. See #842145 for details. > > Read : > - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842145 “I repeated it a few times. I had to restart various services in between retries (I think I restarted everything by the end). Eventually it succeeded.” I tried it 30 times to no avail. The report doesn't offer another solution. > - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039522 “instead of converting the client, convert the server first.” I don't want to convert the server. The server is running fine and has no issues. I don't have a clue what this has to do with the server. “So there is a workaround when your NFS server is a Linux machine and you may use chroot on it, at least.” The server doesn't run Linux. So also no solution there. > carefully copy the files over a Linux machine, chroot+convert > there, then move back to the NFS server. That is quite an involved task. I didn't expect such fiddling for a simple OS update. I'm a bit worried that the permissions and owners go haywire when I copy stuff directly off the server onto a VM and back onto the server. Is there a recommended procedure or documentation available? > Can help: > https://unix.stackexchange.com/questions/312218/chroot-from-freebsd-to-linux I cannot install stuff on the server unfortunately. Thanks for your quick reply. Marco
[toc] | [prev] | [next] | [standalone]
| From | Stefan Monnier <monnier@iro.umontreal.ca> |
|---|---|
| Date | 2023-09-08 18:50 +0200 |
| Message-ID | <HbMQ9-7BUo-1@gated-at.bofh.it> |
| In reply to | #261558 |
> root@foobar:~# /usr/lib/usrmerge/convert-usrmerge
>
> FATAL ERROR:
> Both /lib/udev/rules.d/60-libsane1.rules and /usr/lib/udev/rules.d/60-libsane1.rules exist.
The problem is that "usrmerge" needs to unify those two and doesn't
know how. So you need to do it by hand.
E.g. get rid of one of those two (or maybe if you can make
them 100% identical `usrmerge` will be happy as well).
Stefan
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.user
csiph-web