Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 May 2026 20:03:27 -0700
From:      Paul Vixie <paul@redbarn.org>
To:        "Dan Mahoney (Ports)" <freebsd@gushi.org>
Cc:        "Ronald F. Guilmette" <rfg@tristatelogic.com>, freebsd-questions@freebsd.org
Subject:   Re: Using dump/restore to combine partitions?
Message-ID:  <a3ede9ee-df53-4713-beab-37cd4f9aef65@redbarn.org>
In-Reply-To: <40A6FD3F-162A-442A-91A5-BCE5C64FB867@gushi.org>
References:  <36211.1779411091@segfault.tristatelogic.com> <40A6FD3F-162A-442A-91A5-BCE5C64FB867@gushi.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
<<because a prior coworker had made / and /var too small to take a freebsd-update to a modern OS.>>

Sorry about that!
Paul Vixie

May 21, 2026 18:20:50 Dan Mahoney (Ports) <freebsd@gushi.org>:

> 
> 
>> On May 21, 2026, at 5:51 PM, Ronald F. Guilmette <rfg@tristatelogic.com> wrote:
>> 
>> I have a bootable FreeBSD system that was partitioned in a way that I dislike,
>> and that I would like to now change.  The current system contains the following
>> partitions, which I would like to copy to a fresh new drive while consolidating
>> all of these partitions into a new _single_ partition on the new drive.  (The
>> new drive will end up being my new bootable drive.):
>> 
>> Filesystem      1M-blocks    Used  Avail Capacity  Mounted on
>> /dev/ada0p2           991     618    293    68%    /
>> devfs                   0       0      0   100%    /dev
>> /dev/ada0p4          2973    1357   1378    50%    /var
>> /dev/ada0p5          1983      16   1808     1%    /var/ftp
>> /dev/ada0p6           991      14    897     2%    /tmp
>> /dev/ada0p7         15853   12749   1835    87%    /usr
>> /dev/ada0p8         31726   27545   1642    94%    /home
>> procfs                  0       0      0   100%    /proc
>> 
>> My question is:  How do I accomplish this using dump/restore?
>> 
>> My current plan is to boot the system in question from a removable device
>> that will itself contain a full FreeBSD 15.1-STABLE system, mount the target
>> filesystem, perform all of the necessary dump and restore operations,
>> power-off, remove the removable drive, remove the old boot drive and then
>> boot from the new drive.
>> 
>> I need to know the exact set of commands necessary to accomplish all this.
>> 
>> Assuming that the new (single) bootable partition on the new drive will be
>> pre-formatted (UFS) and mounted as /mnt and that the source partitions
>> described above will end up having all of the same /dev names as listed
>> above, but with "ada0" changed to "ada1", then will the following set of
>> commands accomplish my goal?
> 
> In a talk at BSDCan I posted a slide that I titled "here goes nothing" where during a pandemic where smart hands was literally not allowed to come to the office, on a faraway system running Critical Things, that I had no out of band access to, I would copy mfsbsd over /boot, reboot and hope for the best, which would give me a memory-resident booted OS that would suspend me, mission-impossible-style, over the disk so I could reformat and reinstall, because a prior coworker had made / and /var too small to take a freebsd-update to a modern OS.
> 
> I mean, maybe, but....first off, you're going to be copying /usr over, which contains /usr/lib and /usr/bin and also /usr/local (so thus, all your installed binaries) with whatever shared libs (both base and from ports) that you had at the time.  This feels like a great way to induce pain.  Just reinstall your packages clean.  `pkg leaf` should show you the minimal install requirements.  From there, it *should* just be choice bits in /etc, most of /usr/local/etc, /home (wherever that is) and maybe /var (but again, you don't want to stomp your new pkg database).  What's in /tmp that you really care about after a reboot?
> 
> And second, dump is an interesting solution for streaming a partition/mountpoint to either a tape device, or over a pipe, but it's very block-level, which you don't really need.  Yes, there are some filesystem flags like noschg and stuff that a plain-vanilla `cp -pR` won't capture, but tar should absolutely suffice here.  Or Rsync.
> 
> -Dan

[-- Attachment #2 --]
<html>
 <head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
 </head>
 <body>
  <span dir="ltr" style="margin-top:0; margin-bottom:0;">&lt;&lt;because a prior coworker had made / and /var too small to take a freebsd-update to a modern OS.&gt;&gt;</span>
  <br>
  <br><span dir="ltr" style="margin-top:0; margin-bottom:0;">Sorry about that!</span>
  <br>
  <div class="fairemail_signature">
   <span dir="ltr" style="margin-top:0; margin-bottom:0;">Paul Vixie</span>
   <br>
  </div>
  <div class="fairemail_quote">
   <div dir="ltr">
    <p>May 21, 2026 18:20:50 Dan Mahoney (Ports) &lt;freebsd@gushi.org&gt;:</p>
   </div>
   <blockquote style="margin:0;border-left:3px solid #ccc; padding-left:10px;">
    <div>
     <br>
     <br>
     <blockquote style="margin:0;border-left:3px solid #ccc; padding-left:10px;">
      On May 21, 2026, at 5:51 PM, Ronald F. Guilmette &lt;rfg@tristatelogic.com&gt; wrote: 
      <br>
      <br>
       I have a bootable FreeBSD system that was partitioned in a way that I dislike, 
      <br>
       and that I would like to now change.&nbsp; The current system contains the following 
      <br>
       partitions, which I would like to copy to a fresh new drive while consolidating 
      <br>
       all of these partitions into a new _single_ partition on the new drive.&nbsp; (The 
      <br>
       new drive will end up being my new bootable drive.): 
      <br>
      <br>
       Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1M-blocks&nbsp;&nbsp;&nbsp; Used&nbsp; Avail Capacity&nbsp; Mounted on 
      <br>
       /dev/ada0p2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 991&nbsp;&nbsp;&nbsp;&nbsp; 618&nbsp;&nbsp;&nbsp; 293&nbsp;&nbsp;&nbsp; 68%&nbsp;&nbsp;&nbsp; / 
      <br>
       devfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; 100%&nbsp;&nbsp;&nbsp; /dev 
      <br>
       /dev/ada0p4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2973&nbsp;&nbsp;&nbsp; 1357&nbsp;&nbsp; 1378&nbsp;&nbsp;&nbsp; 50%&nbsp;&nbsp;&nbsp; /var 
      <br>
       /dev/ada0p5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1983&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp; 1808&nbsp;&nbsp;&nbsp;&nbsp; 1%&nbsp;&nbsp;&nbsp; /var/ftp 
      <br>
       /dev/ada0p6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 991&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14&nbsp;&nbsp;&nbsp; 897&nbsp;&nbsp;&nbsp;&nbsp; 2%&nbsp;&nbsp;&nbsp; /tmp 
      <br>
       /dev/ada0p7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15853&nbsp;&nbsp; 12749&nbsp;&nbsp; 1835&nbsp;&nbsp;&nbsp; 87%&nbsp;&nbsp;&nbsp; /usr 
      <br>
       /dev/ada0p8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 31726&nbsp;&nbsp; 27545&nbsp;&nbsp; 1642&nbsp;&nbsp;&nbsp; 94%&nbsp;&nbsp;&nbsp; /home 
      <br>
       procfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp; 100%&nbsp;&nbsp;&nbsp; /proc 
      <br>
      <br>
       My question is:&nbsp; How do I accomplish this using dump/restore? 
      <br>
      <br>
       My current plan is to boot the system in question from a removable device 
      <br>
       that will itself contain a full FreeBSD 15.1-STABLE system, mount the target 
      <br>
       filesystem, perform all of the necessary dump and restore operations, 
      <br>
       power-off, remove the removable drive, remove the old boot drive and then 
      <br>
       boot from the new drive. 
      <br>
      <br>
       I need to know the exact set of commands necessary to accomplish all this. 
      <br>
      <br>
       Assuming that the new (single) bootable partition on the new drive will be 
      <br>
       pre-formatted (UFS) and mounted as /mnt and that the source partitions 
      <br>
       described above will end up having all of the same /dev names as listed 
      <br>
       above, but with "ada0" changed to "ada1", then will the following set of 
      <br>
       commands accomplish my goal? 
      <br>
     </blockquote>
     <br>
      In a talk at BSDCan I posted a slide that I titled "here goes nothing" where during a pandemic where smart hands was literally not allowed to come to the office, on a faraway system running Critical Things, that I had no out of band access to, I would copy mfsbsd over /boot, reboot and hope for the best, which would give me a memory-resident booted OS that would suspend me, mission-impossible-style, over the disk so I could reformat and reinstall, because a prior coworker had made / and /var too small to take a freebsd-update to a modern OS. 
     <br>
     <br>
      I mean, maybe, but....first off, you're going to be copying /usr over, which contains /usr/lib and /usr/bin and also /usr/local (so thus, all your installed binaries) with whatever shared libs (both base and from ports) that you had at the time.&nbsp; This feels like a great way to induce pain.&nbsp; Just reinstall your packages clean.&nbsp; `pkg leaf` should show you the minimal install requirements.&nbsp; From there, it *should* just be choice bits in /etc, most of /usr/local/etc, /home (wherever that is) and maybe /var (but again, you don't want to stomp your new pkg database).&nbsp; What's in /tmp that you really care about after a reboot? 
     <br>
     <br>
      And second, dump is an interesting solution for streaming a partition/mountpoint to either a tape device, or over a pipe, but it's very block-level, which you don't really need.&nbsp; Yes, there are some filesystem flags like noschg and stuff that a plain-vanilla `cp -pR` won't capture, but tar should absolutely suffice here.&nbsp; Or Rsync. 
     <br>
     <br>
      -Dan 
     <br>
    </div>
   </blockquote>
  </div>
 </body>
</html>
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a3ede9ee-df53-4713-beab-37cd4f9aef65>