I've got a server about 50 miles away that failed to upgrade. I wanted to
end up at 12.3-RELEASE, but I figured going to 12.0 first would be a good
idea. I ran the usual:
Everything seems to go well, but right after merging syslog.conf, there's
one odd thing:
this goes on for a bit, then:
It all seems to go well after that, until:
I rebooted, and ran:
and then I looked away for a bit. When I came back, the screen is full of:
Odd, but it's in /usr/src, I don't care about that now. chflags goes on a
long time, eventually this pops up:
I looked in /lib, and sure enough, there's mostly libs from 11.4 and some from
12.0, and some that are just empty files:
But I've got the 12.0 kernel:
I'm pretty messed up now. I've got two windows into the system, neither of
them has root. It looks like nothing that isn't staticly compiled will run.
I can use everything in /rescue, but most of it requires root. sudo won't
run. I can't ssh in, so I can't copy files, and I can't reboot to the old
kernel. Even if I could, I'm guessing that not having /lib/libelf.so.* and
other libs would keep the system from booting.
Does anyone know how I might fix this remotely?
If I can't do it remotely, any hints on how to recover to 11.4 or finish the
12.0 upgrade without having to reinstall everything?
Does freebsd-update keep a log file anywhere? I'd like to see what happened.
I would have posted more output, the above is the useful bits I could get from
my scrollback.
Thanks!
- dave
end up at 12.3-RELEASE, but I figured going to 12.0 first would be a good
idea. I ran the usual:
Code:
sudo /usr/sbin/freebsd-update -r 12.0-RELEASE upgrade
dave@mail % sudo /usr/sbin/freebsd-update -r 12.0-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 11.4-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Everything seems to go well, but right after merging syslog.conf, there's
one odd thing:
Code:
local0.* /var/log/haproxy.log
local1.* /var/log/custom.log
Does this look reasonable (y/n)? y
look: INDEX-NEW: No such file or directory
look: INDEX-NEW: No such file or directory
look: INDEX-NEW: No such file or directory
this goes on for a bit, then:
Code:
comm: INDEX-NEW: No such file or directory
rm: modifiedfiles: No such file or directory
rm: INDEX-PRESENT: No such file or directory
It all seems to go well after that, until:
Code:
/boot/kernel/fade_saver.ko
Kernel updates have been installed. Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
I rebooted, and ran:
Code:
dave@mail % sudo /usr/sbin/freebsd-update install
Installing updates...
and then I looked away for a bit. When I came back, the screen is full of:
Code:
chflags: ///usr/src/tests/sys/cddl/zfs/include/libgnop.kshlib: No such file or directory
chflags: ///usr/src/tests/sys/cddl/zfs/include/libremote.kshlib: No such
file or directory
Odd, but it's in /usr/src, I don't care about that now. chflags goes on a
long time, eventually this pops up:
Code:
chflags: ///var/db/etcupdate/current/etc/syslog.d/ppp.conf: No such file or directory
ld-elf.so.1: /lib/libmd.so.6: invalid file format
ld-elf.so.1: /lib/libmd.so.6: invalid file format
ld-elf.so.1: /lib/libmd.so.6: invalid file format
ld-elf.so.1: /lib/libedit.so.7: invalid file format
ld-elf.so.1: /lib/libmd.so.6: invalid file format
ld-elf.so.1: /lib/libmd.so.6: invalid file format
ld-elf.so.1: /lib/libmd.so.6: invalid file format
ld-elf.so.1: ld-elf.so.1: /lib/libmd.so.6: invalid file format
/lib/libmd.so.6: invalid file format
ld-elf.so.1: /lib/libmd.so.6: invalid file format
ld-elf.so.1: ld-elf.so.1: /lib/libmd.so.6: invalid file format/lib/libmd.so.6: invalid file format
done.
2:38.36
dave@mail[~] % su -
su: pam_start: System error
dave@mail[~] % sudo reboot
sudo: unable to initialize PAM: Exec format error
I looked in /lib, and sure enough, there's mostly libs from 11.4 and some from
12.0, and some that are just empty files:
Code:
dave@mail[~] % man freebsd-update
ld-elf.so.1: /lib/libedit.so.7: invalid file format
dave@mail[~] % ll /lib
total 7081
drwxr-xr-x 2 root wheel 13B Aug 28 15:54 casper/
drwxr-xr-x 2 root wheel 18B May 26 14:50 geom/
-r--r--r-- 1 root wheel 23K Aug 28 15:54 lib80211.so.1
-r--r--r-- 1 root wheel 51K Aug 28 15:54 libalias.so.7
-r--r--r-- 1 root wheel 5.9K May 26 14:50 libalias_cuseeme.so
-r--r--r-- 1 root wheel 5.2K May 26 14:50 libalias_dummy.so
-r--r--r-- 1 root wheel 12K May 26 14:50 libalias_ftp.so
-r--r--r-- 1 root wheel 9.2K May 26 14:50 libalias_irc.so
-r--r--r-- 1 root wheel 7.9K May 26 14:50 libalias_nbt.so
-r--r--r-- 1 root wheel 8.3K May 26 14:50 libalias_pptp.so
-r--r--r-- 1 root wheel 5.9K May 26 14:50 libalias_skinny.so
-r--r--r-- 1 root wheel 9.4K May 26 14:50 libalias_smedia.so
-r--r--r-- 1 root wheel 15K Aug 28 15:54 libavl.so.2
-r--r--r-- 1 root wheel 35K Aug 28 15:54 libbe.so.1
-r--r--r-- 1 root wheel 19K Aug 28 15:54 libbegemot.so.4
-r--r--r-- 1 root wheel 178K Aug 28 15:54 libbsdxml.so.4
-r--r--r-- 1 root wheel 1.9M Aug 28 15:54 libc.so.7
-r--r--r-- 1 root wheel 183K Apr 6 2019 libcam.so.6
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libcam.so.7
-r--r--r-- 1 root wheel 22K Jul 20 15:33 libcasper.so.0
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libcasper.so.1
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libcrypt.so.5
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libcrypto.so.111
-r--r--r-- 1 root wheel 1.9M Apr 6 2019 libcrypto.so.7
-r--r--r-- 1 root wheel 2.4M Aug 26 16:19 libcrypto.so.8
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libctf.so.2
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libcxxrt.so.1
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libdevstat.so.7
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libdtrace.so.2
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libedit.so.7
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libelf.so.2
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libgcc_s.so.1
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libgeom.so.5
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libibverbs.so.1
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libipsec.so.4
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libipt.so.0
-r--r--r-- 1 root wheel 7.5K Apr 6 2019 libipx.so.5
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libjail.so.1
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libkiconv.so.4
-r--r--r-- 1 root wheel 34K Apr 6 2019 libkvm.so.6
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libkvm.so.7
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libm.so.5
-r--r--r-- 1 root wheel 0B Aug 28 15:54 libmd.so.6
-r--r--r-- 1 root wheel 98K May 26 14:50 libmlx5.so.1
-r--r--r-- 1 root wheel 21K May 26 14:50 libmt.so.5
-r--r--r-- 1 root wheel 339K May 26 14:50 libncurses.so.8
-r--r--r-- 1 root wheel 375K May 26 14:50 libncursesw.so.8
-r--r--r-- 1 root wheel 89K May 26 14:50 libnv.so.0
-r--r--r-- 1 root wheel 89K May 26 14:50 libnvpair.so.2
-r--r--r-- 1 root wheel 400K May 26 14:50 libpcap.so.8
-r--r--r-- 1 root wheel 16K May 26 14:50 libpjdlog.so.0
-r--r--r-- 1 root wheel 267K Apr 6 2019 libreadline.so.8
-r--r--r-- 1 root wheel 12K May 26 14:50 libsbuf.so.6
-r--r--r-- 1 root wheel 7.5K May 26 14:50 libssp.so.0
-r--r--r-- 1 root wheel 120K May 26 14:50 libthr.so.3
-r--r--r-- 1 root wheel 18K May 26 14:50 libufs.so.6
-r--r--r-- 1 root wheel 9.3K May 26 14:50 libulog.so.0
-r--r--r-- 1 root wheel 5.9K May 26 14:50 libumem.so.2
-r--r--r-- 1 root wheel 77K May 26 14:50 libutil.so.9
-r--r--r-- 1 root wheel 40K May 26 14:50 libuutil.so.2
-r--r--r-- 1 root wheel 117K May 26 14:50 libxo.so.0
-r--r--r-- 1 root wheel 101K May 26 14:50 libz.so.6
-r--r--r-- 1 root wheel 303K May 26 14:50 libzfs.so.2
-r--r--r-- 1 root wheel 33K May 26 14:50 libzfs_core.so.2
-r--r--r-- 1 root wheel 2.0M May 26 14:50 libzpool.so.2
But I've got the 12.0 kernel:
Code:
dave@mail[~] % uname -a
FreeBSD mail.foobar.com 12.0-RELEASE-p13 FreeBSD 12.0-RELEASE-p13 GENERIC amd64
dave@mail[~] % freebsd-version -ku
ld-elf.so.1: /lib/libedit.so.7: invalid file format
I'm pretty messed up now. I've got two windows into the system, neither of
them has root. It looks like nothing that isn't staticly compiled will run.
I can use everything in /rescue, but most of it requires root. sudo won't
run. I can't ssh in, so I can't copy files, and I can't reboot to the old
kernel. Even if I could, I'm guessing that not having /lib/libelf.so.* and
other libs would keep the system from booting.
Does anyone know how I might fix this remotely?
If I can't do it remotely, any hints on how to recover to 11.4 or finish the
12.0 upgrade without having to reinstall everything?
Does freebsd-update keep a log file anywhere? I'd like to see what happened.
I would have posted more output, the above is the useful bits I could get from
my scrollback.
Thanks!
- dave