Bug 831242

Summary: "\usr merge script failed" during preupgrade from f16 ro f17
Product: [Fedora] Fedora Reporter: Ben <waynaf>
Component: preupgradeAssignee: Richard Hughes <hughsient>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 17CC: flailios, gary, gkasica, hughsient, maurizio.antillon, waynaf
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-31 20:43:48 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:

Description Ben 2012-06-12 10:38:31 EDT
Description of problem:
When trying to upgrade from F16 to F17 using preupgrade, the boot sequence to the F17 option is stopped with the error "The \usr merge script failed..." etc.

Version-Release number of selected component (if applicable):
preupgrade from F16 to F17

How reproducible:
Always

Steps to Reproduce:
1. From within a F16 installation, run $yum update & $yum install preupgrade
2. reboot and select F17 option
3. the boot stop with the error "The \usr merge script failed..." with no explanation given or pointers on how to fix this.
  
Actual results:
The boot stop with the error "The \usr merge script failed..." with no explanation given or pointers on how to fix this.

Expected results:
the upgrade should complete

Additional info:
This is on Fedora 16 64bit installed on VirtualBox under Windows 2007


Which other information/log can I provide?
Comment 1 Gary Myers 2012-06-23 06:05:16 EDT
I have just experienced this on a server I am upgrading. I found a symlink in /usr/bin called 'java' pointing at /etc/alternatives/java. Deleting the symlink corrected the error and the upgrade is now proceeding.

HTH  :)
Comment 2 Gary Myers 2012-06-24 08:05:43 EDT
Run the command (from /usr): find . -type l | grep etc

...to check for symlinks going to /etc.
Comment 3 Ben 2012-06-28 13:04:19 EDT
Thanks Gary,

I have checked for symlink as you suggested and unlinked the ones I saw but the script /usr merge script still fails. Any other suggestions?

Thanks
Comment 4 Gary Myers 2012-06-28 14:10:58 EDT
Hi Ben,

I would check for NFS/CIFS mounts that might reference that directory and run the find command I mentioned in 'Comment 2' with a pipe through "more". I think you will need to check every symlink to ensure one is not going somewhere else.

Regards
Comment 5 George R. Kasica 2012-07-12 08:35:48 EDT
I've done the above search with the following results (doesn't look like any symlinks going to etc) and as far as I know I have no NFS/CIFS mounts for that directory eiter (just running Samba here). How do I proceed to fix this or get around it...or worst case back out what preupgrade has already done? I was able to reboot into the "old" FC16 setup manually and its working fine so I'm guessing remove the entries in the grub.conf files maybe but some direction there and what else to clean up would help if we can't resolve this.


# cd /usr
[root@saturn usr]# find . -type l | grep etc                                    
./lib/libkwalletclient.so.1
./lib/glusterfs/3.2.7/xlator/performance/stat-prefetch.so
./lib/glusterfs/3.2.7/xlator/performance/stat-prefetch.so.0
./lib/libkgetcore.so.4
./lib/libnetcf.so.1
./lib/openldap/retcode-2.4.so.2
./lib/libkwalletclient.so
./libexec/getconf/default
./share/man/man3/mvgetch.3x.gz
./share/man/man3/ungetch.3x.gz
./share/man/man3/setcchar.3x.gz
./share/man/man3/mvwgetch.3x.gz
./share/man/man3/getcury.3x.gz
./share/man/man3/getcurx.3x.gz
./share/man/man3/getch.3x.gz
./share/man/man3/wgetch.3x.gz
./share/man/man3/getcchar.3x.gz
./share/man/man3/ungetch_sp.3x.gz

# ll ./lib/libkwalletclient.so.1
lrwxrwxrwx 1 root root 25 Nov 19  2011 ./lib/libkwalletclient.so.1 -> libkwalletclient.so.1.0.1
# ll ./lib/glusterfs/3.2.7/xlator/performance/stat-prefetch.so
lrwxrwxrwx 1 root root 22 Jun 22 06:36 ./lib/glusterfs/3.2.7/xlator/performance/
stat-prefetch.so -> stat-prefetch.so.0.0.0 
# ll ./lib/glusterfs/3.2.7/xlator/performance/stat-prefetch.so.0
lrwxrwxrwx 1 root root 22 Jun 22 06:36 ./lib/glusterfs/3.2.7/xlator/performance/
stat-prefetch.so.0 -> stat-prefetch.so.0.0.0 
# ll ./lib/libkgetcore.so.4
lrwxrwxrwx 1 root root 20 Jun 30 19:01 ./lib/libkgetcore.so.4 -> libkgetcore.so.4.8.0
# ll ./lib/libnetcf.so.1
lrwxrwxrwx. 1 root root 17 Nov 11  2011 ./lib/libnetcf.so.1 -> libnetcf.so.1.4.0
# ll ./lib/openldap/retcode-2.4.so.2
lrwxrwxrwx 1 root root 20 Apr 18 21:52 ./lib/openldap/retcode-2.4.so.2 -> retcode-2.4.so.2.7.1
# ll ./lib/libkwalletclient.so
lrwxrwxrwx 1 root root 25 Nov 19  2011 ./lib/libkwalletclient.so -> libkwalletclient.so.1.0.1
# ll ./libexec/getconf/default
lrwxrwxrwx 1 root root 20 Mar 22 03:44 ./libexec/getconf/default -> POSIX_V6_ILP32_OFF32
# ll ./share/man/man3/mvgetch.3x.gz
lrwxrwxrwx. 1 root root 16 Nov 11  2011 ./share/man/man3/mvgetch.3x.gz -> curs_getch.3x.gz
# ll ./share/man/man3/ungetch.3x.gz
lrwxrwxrwx. 1 root root 16 Nov 11  2011 ./share/man/man3/ungetch.3x.gz -> curs_getch.3x.gz
# ll ./share/man/man3/setcchar.3x.gz
lrwxrwxrwx. 1 root root 19 Nov 11  2011 ./share/man/man3/setcchar.3x.gz -> curs_getcchar.3x.gz
# ll ./share/man/man3/mvwgetch.3x.gz
lrwxrwxrwx. 1 root root 16 Nov 11  2011 ./share/man/man3/mvwgetch.3x.gz -> curs_getch.3x.gz
# ll ./share/man/man3/getcury.3x.gz
lrwxrwxrwx. 1 root root 17 Nov 11  2011 ./share/man/man3/getcury.3x.gz -> curs_legacy.3x.gz
# ll ./share/man/man3/getcurx.3x.gz
lrwxrwxrwx. 1 root root 17 Nov 11  2011 ./share/man/man3/getcurx.3x.gz -> curs_legacy.3x.gz
# ll ./share/man/man3/getch.3x.gz
lrwxrwxrwx. 1 root root 16 Nov 11  2011 ./share/man/man3/getch.3x.gz -> curs_getch.3x.gz
# ll ./share/man/man3/wgetch.3x.gz
lrwxrwxrwx. 1 root root 16 Nov 11  2011 ./share/man/man3/wgetch.3x.gz -> curs_getch.3x.gz
# ll ./share/man/man3/getcchar.3x.gz
lrwxrwxrwx. 1 root root 19 Nov 11  2011 ./share/man/man3/getcchar.3x.gz -> curs_getcchar.3x.gz
# ll ./share/man/man3/ungetch_sp.3x.gz
lrwxrwxrwx. 1 root root 19 Nov 11  2011 ./share/man/man3/ungetch_sp.3x.gz -> curs_sp_funcs.3x.gz

# more /etc/fstab
LABEL=/root     /                       ext4    defaults        1 1
LABEL=/boot     /boot                   ext3    defaults        1 2
devpts          /dev/pts                devpts  gid=5,mode=620  0 0
tmpfs           /dev/shm                tmpfs   defaults        0 0
LABEL=/home     /home                   ext4    defaults        1 2
LABEL=/home2    /home2                  ext4    defaults        1 2
proc            /proc                   proc    defaults        0 0
sysfs           /sys                    sysfs   defaults        0 0
/dev/scd0       /mnt/cdrom/             iso9660 ro,user,noauto  0 0
LABEL=/tmp      /tmp                    ext4    defaults        1 2
LABEL=/SWAP-hda2 swap                   swap    defaults        0 0
#
# Loopback mount of Samba Share
/home2/DAWS     /var/www/html/DAWS      none    bind            0 0

# df -kh
Filesystem      Size  Used Avail Use% Mounted on
rootfs          289G   25G  251G   9% /
devtmpfs        969M     0  969M   0% /dev
tmpfs           977M   72K  977M   1% /dev/shm
/dev/sda3       289G   25G  251G   9% /
tmpfs           977M   42M  935M   5% /run
tmpfs           977M     0  977M   0% /sys/fs/cgroup
tmpfs           977M     0  977M   0% /media
/dev/sda1       485M  236M  249M  49% /boot
/dev/sdb1       294G  1.7G  277G   1% /home
/dev/sdc1        37G  136M   35G   1% /tmp
/dev/sdc2       257G   20G  225G   9% /home2
/dev/sdc2       257G   20G  225G   9% /var/www/html/DAWS
/dev/sda3       289G   25G  251G   9% /var/named/chroot/etc/named
/dev/sda3       289G   25G  251G   9% /var/named/chroot/etc/pki/dnssec-keys
/dev/sda3       289G   25G  251G   9% /var/named/chroot/usr/lib/bind
/dev/sda3       289G   25G  251G   9% /var/named/chroot/etc/named.iscdlv.key
/dev/sda3       289G   25G  251G   9% /var/named/chroot/etc/named.root.key
Comment 6 George R. Kasica 2012-07-18 18:06:10 EDT
The following find run from /usr will locate symlinks to /etc that you need to remove:

cd /usr
find ./ -mount  -lname /etc/\*
Comment 7 Gary Myers 2012-07-29 07:07:13 EDT
Upgraded another server in the week and I can confirm:

find ./ -mount  -lname /etc/\* -delete

sorts the problem.
Comment 8 Kent Reynolds 2012-11-01 20:47:53 EDT
I would NOT advise anyone randomly perform these commands. It's a great way to break your OS. However, all of the comments appear to aim roughly into the ballpark. I don't mean to be negative. Here is a method which can pin-point "your" issue when receiving this error, as there seems to be a few.

The idea is to use dracut as a simulation & then read the logs when it fails in the same way the script does from the installation dvd. This process will not damage your image. You're expecting it to fail.

1) sudo yum update dracut
2) sudo dracut --force --add convertfs
3) uname -r
4) sudo init 6 ### Reboot & select kernel (grub)from step 3
5) sudo dmesg|grep -i dracut

The last line should say something like "failed for some reason". Just above, it should say what the issue is.

What stopped mine was a dead simlink /usr/lib/dbus-1.

6) Find the file & delete it. In the dracut log it describes the file path as /sysroot/path/to/file. Be aware of that when deleting your file. :-)

7) Upgrade Fedora 16 to 17 from the DVD as suggested by the Fedora people. Here is a read if you still want to use Yum.

https://fedoraproject.org/wiki/Upgrading_Fedora_using_yum?rd=YumUpgradeFaq#Fedora_16_-.3E_Fedora_17

8) Enjoy!
Comment 9 Fedora End Of Life 2013-07-03 18:40:56 EDT
This message is a reminder that Fedora 17 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 17. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '17'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 17's end of life.

Bug Reporter:  Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 17 is end of life. If you 
would still like  to see this bug fixed and are able to reproduce it 
against a later version  of Fedora, you are encouraged  change the 
'version' to a later Fedora version prior to Fedora 17's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 10 Fedora End Of Life 2013-07-31 20:43:52 EDT
Fedora 17 changed to end-of-life (EOL) status on 2013-07-30. Fedora 17 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.