Re: user problems when upgrading to v15
Over the last week or so, stable/13, stable/14 and current have improved. Finally, I can make it through a build and install with a password on the root account and a user in the wheel group without having it fail. Brian On 9/9/2023 9:02 AM, John Baldwin wrote: On 9/2/23 7:11 AM, Dimitry Andric wrote: On 1 Sep 2023, at 03:42, brian whalen wrote: Repeating the entire process: I created a 13.2 vm with 6 cores and 8GB of ram. Ran freebsd-update fetch and install. Ran pkg install git bash ccache open-vm-tools-nox11 Used git clone to get current and ports source files. Edited /etc/make.conf to use ccache Ran make -j6 buildworld && make -j6 kernel I then rebooted in single user mode and did the next steps saving output to a file with > filename. etcupdate -p was pretty uneventful. It did show the below and did not prompt to edit. root@f15:~ # less etcupdatep C /etc/group C /etc/master.passwd This is a problem: the "C" characters mean there were conflicts, and it's indeed very unfortunate that etcupdate does not immediately force you to resolve them. Because now you basically have mangled group and master.passwd files, with conflict markers in them! No, the conflicted files are in /var/db/etcupdate/conflicts, the files in /etc are still the old ones at this point and won't be updated until you run 'etcupdate resolve' to fix them. I suspect what happened here is that Brian chose the 'tf' (theirs-full) option for 'etcupdate resolve' when he really wanted to do 'e' to edit the conflicted version. Immediately after this, you should run "etcupdate resolve", and fix any conflicts that it has found. Note that recently there was a lot of churn due to the removal of $FreeBSD$ keywords, and this almost always creates conflicts in the group and passwd files. For lots of other files in /etc, the conflicts are resolved automatically, but unfortunately not for the files that are essential to log in! make installworld seemed mostly error free though I did see a nonzero status for a man page failed inn the man4 directory. etcupdate -B only showed the below. This was my first build after install. root@f15:~ # less etcupdateB Conflicts remain from previous update, aborting. Yes, that is indeed the problem. You must first resolve conflicts from any previous etcupdate run, before doing anything else. As to why it does not immediately forces you to do so, and delegates this to a separate step, which can easily be forgotten, I have no idea. So that if you are doing scripted upgrades, you don't hang forever in a script. The intention is that after doing a bunch of scripted installworld + etcupdate's on various hosts you can use 'etcupdate status' to see if there are any remaining steps requiring manual intervention. There could be an option to request batched vs interactivate updates perhaps. If I type exit in single user mode to go multi user mode, the local user still works. After a reboot the local user still works. This local user can also sudo as expected. This wasn't the case for the previous build when I first reported this. However, if I run etcupdate resolve it is still presenting /etc/group and /etc/master/passwd as problems. If this is is expected behavior for current then no big deal. I just wasn't sure. The conflicts themselves are expected, alas. But you _must_ resolve them, otherwise you can end up with a mostly-bricked system. No, the conflict markers are not placed in the versions in /etc. However, etucpdate does refuse to do a "new" upgrade until you resolve all the conflicts from your previous upgrade to ensure that conflicted upgrades aren't missed.
Re: user problems when upgrading to v15
Repeating the entire process: I created a 13.2 vm with 6 cores and 8GB of ram. Ran freebsd-update fetch and install. Ran pkg install git bash ccache open-vm-tools-nox11 Used git clone to get current and ports source files. Edited /etc/make.conf to use ccache Ran make -j6 buildworld && make -j6 kernel I then rebooted in single user mode and did the next steps saving output to a file with > filename. etcupdate -p was pretty uneventful. It did show the below and did not prompt to edit. root@f15:~ # less etcupdatep C /etc/group C /etc/master.passwd make installworld seemed mostly error free though I did see a nonzero status for a man page failed inn the man4 directory. etcupdate -B only showed the below. This was my first build after install. root@f15:~ # less etcupdateB Conflicts remain from previous update, aborting. If I type exit in single user mode to go multi user mode, the local user still works. After a reboot the local user still works. This local user can also sudo as expected. This wasn't the case for the previous build when I first reported this. However, if I run etcupdate resolve it is still presenting /etc/group and /etc/master/passwd as problems. If this is is expected behavior for current then no big deal. I just wasn't sure. Brian On 8/30/2023 7:35 PM, Graham Perrin wrote: On 31/08/2023 03:31, brian whalen wrote: Understood. I guess I was expecting the update process of etcupdate -p && make installworld && etcupdate -B to not whack existing users or delete an existing root user's password. I accepted the remote and then recreated users and reset passwords and am retrying this. BW Thanks. For clarity: did the routine /not/ prompt you to edit the file (in which, you would have seen conflict markers etc.)? On 8/30/2023 7:21 PM, Graham Perrin wrote: On 31/08/2023 03:00, brian whalen wrote: … I ran etcupdate resolve accepting the remote option and saw 2 issues. The root user's password was deleted. The non root user no longer existed. Logically, remote does not include things such as your root user's password.
Re: user problems when upgrading to v15
Understood. I guess I was expecting the update process of etcupdate -p && make installworld && etcupdate -B to not whack existing users or delete an existing root user's password. I accepted the remote and then recreated users and reset passwords and am retrying this. BW On 8/30/2023 7:21 PM, Graham Perrin wrote: On 31/08/2023 03:00, brian whalen wrote: … I ran etcupdate resolve accepting the remote option and saw 2 issues. The root user's password was deleted. The non root user no longer existed. Logically, remote does not include things such as your root user's password.
Re: user problems when upgrading to v15
I have seen this twice. Once when going from 13.2 to current 14.0 alpha1 and then to 15, and a 2nd time when going from 13.2 to 15. I have a user that is a member of the wheel group. After I upgraded and ran the post reboot commands in single user mode I was alerted to merge conflicts. I ran etcupdate resolve accepting the remote option and saw 2 issues. The root user's password was deleted. The non root user no longer existed.
pkg problems with v15
root@f15:~ # pkg update pkg: Warning: Major OS version upgrade detected. Running "pkg bootstrap -f" recommended Updating FreeBSD repository catalogue... pkg: http://pkgmir.geo.freebsd.org/FreeBSD:15:amd64/quarterly/meta.txz: Not Found repository FreeBSD has no meta file, using default settings pkg: http://pkgmir.geo.freebsd.org/FreeBSD:15:amd64/quarterly/packagesite.pkg: Not Found pkg: http://pkgmir.geo.freebsd.org/FreeBSD:15:amd64/quarterly/packagesite.txz: Not Found Unable to update repository FreeBSD Error updating repositories! root@f15:~ # pkg bootstrap -f The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: y Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:15:amd64/quarterly, please wait... pkg: Error fetching http://pkg.FreeBSD.org/FreeBSD:15:amd64/quarterly/Latest/pkg.txz: Operation timed out A pre-built version of pkg could not be found for your system. Consider changing PACKAGESITE or installing it from ports: 'ports-mgmt/pkg'. The pkg package is installed; I put it there while the system was at 13.2 root@f15:~ # pkg info pkg: Warning: Major OS version upgrade detected. Running "pkg bootstrap -f" recommended bash-5.2.15 GNU Project's Bourne Again SHell ca_root_nss-3.89.1 Root certificate bundle from the Mozilla Project ccache-3.7.12_4 Tool to minimize the compile time of C/C++ programs curl-8.1.2 Command line tool and library for transferring data with URLs expat-2.5.0 XML 1.0 parser written in C fusefs-libs-2.9.9_2 FUSE allows filesystem implementation in userspace gettext-runtime-0.21.1 GNU gettext runtime libraries and programs git-2.41.0 Distributed source code management tool glib-2.76.4_1,2 Some useful routines of C programming (current stable version) indexinfo-0.3.1 Utility to regenerate the GNU info page index libdnet-1.13_3 Simple interface to low level networking routines libffi-3.4.4 Foreign Function Interface libiconv-1.17 Character set conversion library libidn2-2.3.4 Implementation of IDNA2008 internationalized domain names libmspack-0.11alpha Library for Microsoft compression formats libnghttp2-1.53.0 HTTP/2.0 C Library libpsl-0.21.2_3 C library to handle the Public Suffix List libssh2-1.11.0,3 Library implementing the SSH2 protocol libunistring-1.1 Unicode string library libxml2-2.10.4 XML parser library for GNOME mpdecimal-2.5.1 C/C++ arbitrary precision decimal floating point libraries open-vm-tools-nox11-12.2.5,2 Open VMware tools for FreeBSD VMware guests (without X11) p5-Authen-SASL-2.16_1 Perl5 module for SASL authentication p5-CGI-4.57 Handle Common Gateway Interface requests and responses p5-Clone-0.46 Recursively copy Perl datatypes p5-Digest-HMAC-1.04 Perl5 interface to HMAC Message-Digest Algorithms p5-Encode-Locale-1.05 Determine the locale encoding p5-Error-0.17029 Error/exception handling in object-oriented programming style p5-GSSAPI-0.28_2 Perl extension providing access to the GSSAPIv2 library p5-HTML-Parser-3.81 Perl5 module for parsing HTML documents p5-HTML-Tagset-3.20_1 Some useful data table in parsing HTML p5-HTTP-Date-6.05 Conversion routines for the HTTP protocol date formats p5-HTTP-Message-6.44 Representation of HTTP style messages p5-IO-HTML-1.004 Open an HTML file with automatic charset detection p5-IO-Socket-IP-0.41 Drop-in replacement for IO::Socket::INET supporting IPv4 and IPv6 p5-IO-Socket-SSL-2.083_1 Perl5 interface to SSL sockets p5-LWP-MediaTypes-6.04 Guess media type for a file or a URL p5-Mozilla-CA-20221114 Perl extension for Mozilla CA cert bundle in PEM format p5-Net-SSLeay-1.92 Perl5 interface to SSL p5-TimeDate-2.33,1 Perl5 module containing a better/faster date parser for absolute dates p5-URI-5.19 Perl5 interface to Uniform Resource Identifier (URI) references pcre2-10.42 Perl Compatible Regular Expressions library, version 2 perl5-5.32.1_3 Practical Extraction and Report Language pkg-1.19.2 Package manager python39-3.9.17 Interpreted object-oriented programming language readline-8.2.1 Library for editing command lines as they are typed