Merge-problem Freebsd 12.1->12.2 Upgrade

Hello,

I´ve a big Problem with the Upgrade form Freebsd 12.1 to 12.2.

First, i´ve a own Build-Server/Update-Server an compile the 12.2-Release and uploaded to my own Webserver

Now I want to Upgrade my client, but every time I run #freebsd-update upgrade -r 12.2-RELEASE (my clients are 12.1p10) the System wants to merge my /etc/passwd , groups, master.passwd, freebsd-update.conf and some more file (the upgrade starts normally). But instead to merge the files, the Upgrade replace this with the files under /var/db/freebsd-update/merge/new/.
In the directoy /var/db/freebsd-update/merge I can see my old files and the new files. I think, my system can´t merge correctly, but I´ve no idea why.

Is there anyone how has the same problem or have a solution for that issue?
 
I have upgraded dozens of servers to 12.2 now and I haven't had an issue with the merges. You do need to pay close attention when freebsd-update(8) asks how to handle them.

In the directoy /var/db/freebsd-update/merge I can see my old files and the new files.
Take a look at both, compare them with diff(1) for example. Besides the obvious (your user account, root's password, things like that) what else is different?
 
That is the issue. The old file ind /var/freebsd-update/merge/old/etc/passwd is the sameone as the passwd in /etc/passwd. But the new one in ../merge/new/etc/passwd is wrong. There are only the standard-user off freebsd. This issue is in all other files. The other files are (full ist from tomerge):
Code:
/etc/crontab
/etc/freebsd-update.conf
/etc/group
/etc/master.passwd
/etc/motd
/etc/nsswitch.conf
/etc/ntp.conf
/etc/pam.d/sshd
/etc/pam.d/system
/etc/passwd
/etc/pkg/FreeBSD.conf
/etc/pwd.db
/etc/services
/etc/spwd.db
/etc/ssh/sshd_config
/etc/sysctl.conf
/etc/syslog.conf

Here is the output (summary), when i run the Upgrade:

Code:
-www:*:80:user
+www:*:80:
ntpd:*:123:
_ypldap:*:160:
hast:*:845:
+tests:*:977:
nogroup:*:65533:
nobody:*:65534:
-user:*:1009:
-bacula:*:910:
-nslcd:*:928:
-users:*:10001:user1,user2,user3,user4,user5,user6,user7
-pgsql:*:70:
-_tss:*:601:
-zabbix:*:122:
-postgres:*:770:
-user10:*:10023:
 
When update runs and does a merge, it eventually puts you into an editor to hand-check the merge. Could it be that your root setup is such that editing is impossible? What if $EDITOR points at a non-existing program or some problem like that?

I did the 12.2 update a few weeks ago (directly from 11.3), and had to merge a half dozen files (including passwd), and there was no problem, it was just boring and tedious.
 
No, I've no chance no edit the mergefiles during the update process. But I think, I have a solution for that issue. First I delete the content from /var/db/freebsdupdate/
and compile with my updateserver the Release 12.1p10 again. After finishing the build-process and upload to a webserver, I start freebsd-update upgrade -r 12.2-RELEASE but I get no merge-infos, however...Also, there are no files like "tomerge" and "tomerge-paths" in /var/db/freebsd-update/. But it works after reboot, all looks fine. I think my during the upgrade process, the client merge the different between 12.1 and 12.2 an my 12.1-Release was damaged.

Thanks to the guys who try to help me!! Maybe Someone has an idea what how that issue could happened.
 
and compile with my updateserver the Release 12.1p10 again. After finishing the build-process and upload to a webserver
Just to be clear here, you are building your own updates? Because that's a rather important detail. What's the reason you're not using the official update.freebsd.org?


Also, there are no files like "tomerge" and "tomerge-paths" in /var/db/freebsd-update/. But it works after reboot, all looks fine. I think my during the upgrade process, the client merge the different between 12.1 and 12.2 an my 12.1-Release was damaged.
I suspect you have made some mistakes while building your own updates.
 
Just to be clear here, you are building your own updates? Because that's a rather important detail. What's the reason you're not using the official update.freebsd.org?
Yes i do, because i have many freebsd-server who has no connection to the internet (check the top-comment). Normaly it's a easy way to get freebsd updates/upgrades in my offline-network.
I suspect you have made some mistakes while building your own updates.
Yes, i think too. But i don't no the reason for that issue. If i found somethink, i would write it here
 
Yes i do, because i have many freebsd-server who has no connection to the internet (check the top-comment).
It's quite easy to set up a caching proxy for this. That might be a better/easier solution.
But i don't no the reason for that issue.
I honestly have zero experience building my own update server. Everything I use is connected and it's quite easy to proxy (and cache) the updates. Caching is definitely recommended if you have to update/upgrade several machines. Only the first machine will download the updates from the FreeBSD servers, all consecutive machines get them from the local cache, which is a lot faster to download.
 
That might be a better/easier solution.
No, not for my situation. My freebsd-server are running in a closed network. So i need the updates/upgrades on a external hdd, to bring it in my "special" networks. Or do you think, ther is a easy way to put the caching files on a external hdd, so i can copy it in my closed networks?

I honestly have zero experience building my own update server. Everything I use is connected and it's quite easy to proxy (and cache) the updates. Caching is definitely recommended if you have to update/upgrade several machines. Only the first machine will download the updates from the FreeBSD servers, all consecutive machines get them from the local cache, which is a lot faster to download.
yeah, thats sounds much easier
 
Back
Top