From nobody Mon Jan 29 00:02:43 2024 X-Original-To: questions@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TNT5l4vQ0z57bWR for ; Mon, 29 Jan 2024 00:03:07 +0000 (UTC) (envelope-from freebsd@gushi.org) Received: from prime.gushi.org (prime.gushi.org [IPv6:2620:137:6000:10::142]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "prime.gushi.org", Issuer "RapidSSL Global TLS RSA4096 SHA256 2022 CA1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TNT5k0xrGz4kZK for ; Mon, 29 Jan 2024 00:03:05 +0000 (UTC) (envelope-from freebsd@gushi.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gushi.org header.s=prime2014 header.b=EtkBeRWA; dmarc=pass (policy=none) header.from=gushi.org; spf=pass (mx1.freebsd.org: domain of freebsd@gushi.org designates 2620:137:6000:10::142 as permitted sender) smtp.mailfrom=freebsd@gushi.org Received: from smtpclient.apple ([IPv6:2601:602:87f:b05d:8571:3541:58d7:93d8]) (authenticated bits=0) by prime.gushi.org (8.17.2/8.17.2) with ESMTPSA id 40T02xt5040465 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 29 Jan 2024 00:03:00 GMT (envelope-from freebsd@gushi.org) DKIM-Filter: OpenDKIM Filter v2.10.3 prime.gushi.org 40T02xt5040465 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gushi.org; s=prime2014; t=1706486580; bh=ZGMNJnFlPRV48c6aAEX8DQbsiqPDqI5ogtuCvPSxI6E=; h=Subject:From:In-Reply-To:Date:Cc:References:To; z=Subject:=20Re:=20Upgrade=208.4-STABLE=20to=2014-STABLE|From:=20Da n=20Mahoney=20|In-Reply-To:=20|Date:=20Sun, =2028=20Jan=202024=2016:02:43=20-0800|Cc:=20questions=20|References:=20|To:=20Odhiambo=20Washington=20; b=EtkBeRWAoFEJX5dglDSWz6W2KAoEI22C0deZum1j7WFkFGlFaFm22VlpFszA1hLkJ H2xc4PuHrVTyHK81u00ufMFHyd2MXOyVk8OEmEFz3QGfXsuf0RBjPZEIzSdjWqy2Yw kgnruQ9bEG0jb1aEFUPO2yUYz4HeeEVpo3XZaUrEWx17cj8gkl3yAZ9ZrjgFsT5849 sbVMrhBmpRvOr/1WXLAtCoN8AU4NvgnzufWibYVBUTqEwNqaMUf/2LtQ63N0wVmm2G F6I7h7RTbkj3dZ5wj7efGfz9NF4rAJh/QZPXpWWcyQhpy7q2hnbsazO8amIOqn+A0F GjXZZnHKSydIA== X-Authentication-Warning: prime.gushi.org: Host [IPv6:2601:602:87f:b05d:8571:3541:58d7:93d8] claimed to be smtpclient.apple Content-Type: text/plain; charset=us-ascii List-Id: User questions List-Archive: https://lists.freebsd.org/archives/freebsd-questions List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.400.31\)) Subject: Re: Upgrade 8.4-STABLE to 14-STABLE From: Dan Mahoney In-Reply-To: Date: Sun, 28 Jan 2024 16:02:43 -0800 Cc: questions Content-Transfer-Encoding: quoted-printable Message-Id: <75DCCF1C-BA33-4917-988E-5B92955D1D17@gushi.org> References: To: Odhiambo Washington X-Mailer: Apple Mail (2.3774.400.31) X-Spamd-Bar: ------ X-Spamd-Result: default: False [-6.60 / 15.00]; DWL_DNSWL_MED(-2.00)[gushi.org:dkim]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gushi.org,none]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; R_SPF_ALLOW(-0.20)[+mx]; R_DKIM_ALLOW(-0.20)[gushi.org:s=prime2014]; RCVD_IN_DNSWL_MED(-0.20)[2620:137:6000:10::142:from]; MIME_GOOD(-0.10)[text/plain]; ONCE_RECEIVED(0.10)[]; ARC_NA(0.00)[]; RCVD_TLS_ALL(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; TO_DN_ALL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; DKIM_TRACE(0.00)[gushi.org:+]; RCVD_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:393507, ipnet:2620:137:6000::/44, country:US]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; MLMMJ_DEST(0.00)[questions@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_XAW(0.00)[] X-Rspamd-Queue-Id: 4TNT5k0xrGz4kZK > On Jan 26, 2024, at 23:55, Odhiambo Washington = wrote: >=20 > Is there a way to upgrade 8.4-STABLE to 14-STABLE, or even change it = to 14-RELEASE? Most people are saying what my own thought would be, but I do have a = "war story" to share. For us, preserving configuration did not matter, our configuration = management was done by a tool like Puppet or Chef or Ansible. Dayjob has several single machines in very remote places, that were = built with a too-small boot partition for FreeBSD-update to work (some = had been in place since 5.x). And we needed to do upgrades during a = global pandemic, when the normal "go on-site to upgrade" process would = not have worked. Maybe your own situation is the same. Some sites had remote consoles, some only remote serial consoles. = Availability of PXEboot was minimal, and bios access was even more = minimal. Where there *was* remote hands, they were much more comfortable = installing Linux. What worked for me was extracting the contents of an MFSBSD build over = into my /boot direclory, and pumping my existing ip addresses, netmask, = and gateway into /boot/loader.conf On reboot, I had the ability to SSH in, clear out my disks, and start = clean. It took me a long time to mentally reach that point, and I only got it = after I was sure all the other options (pxe boot an installer, = freebsd-update, make buildworld, get-a-rescue-shell and just extract = base.txz over my main filesystem). Thanks to this being the 21st = century, I was able to test a lot of my procedures on VMs of various = flavors like VirtualBox and VMware. If you're still on 8.x, you may still be at the point where you have = separate /usr, /var, and / partitions, and at some point, one of those = will grow beyond what you've done. So even if the upgrades all work, = you're in a situation that will burn you (kernels and /boot partitions = keep getting bigger, until modern BSD where it's all one partition). =3D=3D=3D=3D With modern FreeBSD *most* of your configuration comes down to what's in = /usr/local/etc, and /etc -- these tar up really easily, as well as = /usr/home or /home or whatever. If you have database stuff like postgres or mysql, obviously there's = that directory as well. Your base packages, you can list out without dependencies with "pkg = leaf". If pkg leaf doesn't work, copy a modern /usr/local/etc/pkg.conf = from another machine to get that command (or run the command it is = aliased do).=20 =3D=3D=3D=3D That said... If the disk sizes *are* good (freebsd-update doesn't check), I might = *try* to get there with freebsd-update, but with the knowledge that it's = going to take me like a dozen leap-of-faith reboots, and more often than = not, I have found that freebsd-update finds *some* chance to lose the = linker and run into a long string of "cp: invalid argument" shooting = itself in the foot. I've had this happen. If I were clever, I might = keep a copy of base.txz on the disk beforehand so I could unbreak = things. (It's for this reason that I put in a bug that put ssh/scp into = /rescue, where there's no copy of ftp.) Also, if I were going to go this way, I would grab the freebsd-update = script from a *modern* system, there are bugs in it that were fixed, = that were present in your version. Note well that I say what *I* might do in this case, not what you = *should* do. Hope this helps, or at least lends some perspective. -Dan