Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Jan 2025 04:37:07 +0000
From:      Richard Childers <childers@redwoodhodling.com>
To:        Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Cc:        freebsd-ports@FreeBSD.org
Subject:   Re: FreeBSD 14.2; Thunderbird 128.6; Chromium, Iridium, etc
Message-ID:  <352dfe48-9a5e-4204-a854-e3cb0b3889aa@redwoodhodling.com>
In-Reply-To: <20250111132434.6d0e06c9f3b39e7a52e8f354@dec.sakura.ne.jp>
References:  <9d21e261-e943-44df-8f84-8c2cb3ca81f8@redwoodhodling.com> <20250111132434.6d0e06c9f3b39e7a52e8f354@dec.sakura.ne.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------QUT7VvSRCwCXcFIgm5f0UEJG
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

"Is there a symlink /usr/home pointing to /home?"


Waxing philosophic on /home ...


Back in 1986 I was working at GE Calma supporting a lab full of diverse 
UNIX servers - Apollo, Silicon Graphics, Power/64 with six CPUs (yes, in 
1986) and also a Sequent (another multiprocessor platform running UNIX), 
a few Sun servers and about 30 Sun workstations.


This was the time of the Sun 2, based on the 68010. The Sun 3 (based on 
the 68020) was brand new. NFS was brand new. There were few naming 
conventions for mount points. / and /usr could be relied upon to exist 
as separate partitions. But different UNIX releases placed home 
directories in different locations.


I opted to place home directories in their own dedicated partition on 
the hard drive because the requirements of users were different from 
those of the operating system and because I did not want the users' disk 
space requirements to interfere with the operating system's disk space 
requirements. It made disk space calculations and partition sizing 
easier if I placed home directories in their own dedicated partition. It 
made backup to tape easier. It made restoring data from tape after a 
crash easier, too. And it made NFS easier.


I mentioned this at classes and seminars I attended and the idea caught 
on. GE Calma was literally across the freeway from Sun Microsystems' 
manufacturing facility, in Milpitas, and so they were one of Sun's very 
first customers. I had previously seen a Sun 1, at another job in San 
Francisco, but that was before Sun Microsystems had written a graphic 
user interface ('Suntools', now lost in the mists of time, not even 
Wikipedia has heard of Suntools or OpenWindows or that other GUI that 
was supposed to run Postscript but never got off the ground, lol) and at 
the time the Sun 1 was just a curiosity - "look, we ported 4.1 BSD to 
the 68000, is that cool or what?".


GE Calma was playing with X v10.4, at the time, if you wonder - Calma 
built giant computer workstations that were used to design things like 
dams and hydroelectric projects and nuclear reactors and provided 
customers with the ability to do walkthroughs, but it was all in 
wireframe and Calma wanted to add texture) and I think I got a copy of X 
v11.0 from The Well, in Sausalito, where I knew someone who was willing 
to cut me a tape - those were the good old days.


Obviously the factors are not the same and ZFS changes things but, 
still, it's funny to see /home has migrated back to /usr/home. It is a 
natural misunderstanding of the acronym 'usr', which refers not so much 
to the users of the operating system as it did to the separation between 
privileged executables located in the root filesystem which were a 
prerequisite to booting into single user mode, and those executables 
which formed part of the larger ecosystem of the operating system when 
it reached multiuser, at which time /usr was mounted and made accessible 
and the systems administrator could finally heave a big sigh of relief 
and tell everyone the computer was back up.


In response to the situation I encountered with FreeBSD 14.2 ... I gave 
some thought to creating a link in /usr/home but that would only 
perpetuate a broken situation; links don't belong in /etc/passwd, IMHO, 
unless you are running NFS and have multiple NFS servers providing home 
directories and have to cobble together a shared namespace ... but that 
is the topic of another post.


Also ... if I don't know the true cause of the problem, then how can I 
say that I have fixed it? Diving to the root of the problem gave me a 
greater understanding of Thunderbird, Chromium, and its derivatives. I 
try to resist the urge to go for the quick fix until I am sure it is 
also the best solution to the problem. Recreating /usr/home would just 
kick the problem down the road but I would still have to deal with it 
some day.


After 40 years of troubleshooting, my credo is "eschew dependencies". 
Keep it simple. I guess we all have to define "simple" for ourselves. My 
assumption is the FreeBSD team had a good reason to get rid of 
/usr/home; they had come to the same conclusion I had reached a few 
decades before.


I'm not fanatical about it; I recall evaluating the Nokia FW-1, back 
around 1999 or 2000, at Hambrecht & Quist, LLC - the FW-1 was based on 
FreeBSD 3.x, I think, and the developers had taken the unusual step of 
mounting all filesystems but /var as read-only, so that home directories 
were, by necessity, located in /var/home. That sort of makes sense, for 
that particular application, where there is only one login, and that, an 
administrator - we assume he or she won't be downloading large files 
that interfere with the other functions of the /var filesystem.


Carry on, comrades, FreeBSD 14.2 screams like the race car it is, and I 
am very impressed.


Regards,


~richard


=====

On 1/11/25 04:24, Tomoaki AOKI wrote:
> On Sat, 11 Jan 2025 02:17:20 +0000
> Richard Childers<childers@redwoodhodling.com> wrote:
>
>> Dear folks,
>>
>>
>> I just upgraded from 13.3 to 14.2. Maybe I missed the memo; but moving
>> home directories from /usr/home back to /home broke Thunderbird, it
>> couldn't find my folders.
>>
>>
>> (When I say 'upgrade', I mean 'install an up-to-date version of FreeBSD
>> on a different laptop, install up-to-date applications, rsync my home
>> directory to the new install, then make the jump'. Not freebsd-update(8).)
>>
>>
>> The fix is to edit these two text files:
>>
>>
>> /home/LOGIN/.thunderbird/????????.default/folderCache.json
>>
>> /home/LOGIN/.thunderbird/????????.default/prefs.js
>>
>>
>> ... where '????????' represents 8
>> Thunderbird-assigned-at-the-time-of-account-creation random ASCII
>> characters that seem to represent a unique ID.
>>
>>
>> If you've done this a few times your files may be quite old and contain
>> references to accounts that you no longer use but a global
>> search-and-replace should not damage these definitions either as if they
>> still exist their paths will need to be updated as well, and if the
>> folders no longer exist then you may safely engage in some housekeeping
>> and delete those other lines.
>>
>>
>> Here's hoping it helps those of us with not much hair to spare to avoid
>> ripping out what is left, in frustration, after an upgrade.
>>
>>
>> The output from 'pkg add -y thunderbird' is pretty sparse - less then
>> ten lines. Not complaining but that might be a good place to put hints
>> for administrators overseeing the upgrade - it's not done until the
>> users can read and write email.
>>
>>
>> 'thunderbird --help' refers to something called a "Migration Manager"
>> but I could find no documentation on this from the command line;
>> Thunderbird has no online UNIX manual page, alas.
>>
>>
>> You may also find Chromium to be uncooperative; if it was running when
>> you did your rsync, then you will have to remove the following file
>> before it will start on the new machine:
>>
>>
>> % rm -f .config/chromium/SingletonLock
>>
>>
>> You may as well remove them all:
>>
>>
>> % rm -f .config/chromium/Singleton*
>>
>>
>> You might even want to do this:
>>
>>
>> % rm -f .config/*/Singleton*
>>
>>
>> ... that will fix Iridium and ungoogled-chromium, too.
>>
>>
>> Regards,
>>
>>
>> ~richard
>>
>>
>> =====
>>
>>
>> More info:https://www.redwoodhodling.com/Exhibits/
>>
>> See, also:https://www.redwoodlinux.com/RaspiLab/
>>
>> See, also:
>> https://www.gofundme.com/f/support-innovative-raspberry-pi-classroom-project 
> Is there a symlink /usr/home pointing to /home?
> If not, creating it could usually workaround the problem.
>
> As I disliked previous default (/usr/home), I habitally create /home as
> a directory (mount point) and created symlink /usr/home pointing to it
> manually on installation (not using installer, though) for
> copatibilities.
>
>   *I've created a dedicated partition for /home before I've switched to
>    Root on ZFS, and now creating a dedicated dataset for /home.
>    So /home is a mountpoint anyway for me.
>
--------------QUT7VvSRCwCXcFIgm5f0UEJG
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>"<span style="white-space: pre-wrap">Is there a symlink /usr/home pointing to /home?"</span></p>
    <p><br>
    </p>
    <p>Waxing philosophic on /home ...</p>
    <p><br>
    </p>
    <p>Back in 1986 I was working at GE Calma supporting a lab full of
      diverse UNIX servers - Apollo, Silicon Graphics, Power/64 with six
      CPUs (yes, in 1986) and also a Sequent (another multiprocessor
      platform running UNIX), a few Sun servers and about 30 Sun
      workstations.</p>
    <p><br>
    </p>
    <p>This was the time of the Sun 2, based on the 68010. The Sun 3
      (based on the 68020) was brand new. NFS was brand new. There were
      few naming conventions for mount points. / and /usr could be
      relied upon to exist as separate partitions. But different UNIX
      releases placed home directories in different locations.</p>
    <p><br>
    </p>
    <p>I opted to place home directories in their own dedicated
      partition on the hard drive because the requirements of users were
      different from those of the operating system and because I did not
      want the users' disk space requirements to interfere with the
      operating system's disk space requirements. It made disk space
      calculations and partition sizing easier if I placed home
      directories in their own dedicated partition. It made backup to
      tape easier. It made restoring data from tape after a crash
      easier, too. And it made NFS easier.</p>
    <p><br>
    </p>
    <p>I mentioned this at classes and seminars I attended and the idea
      caught on. GE Calma was literally across the freeway from Sun
      Microsystems' manufacturing facility, in Milpitas, and so they
      were one of Sun's very first customers. I had previously seen a
      Sun 1, at another job in San Francisco, but that was before Sun
      Microsystems had written a graphic user interface ('Suntools', now
      lost in the mists of time, not even Wikipedia has heard of
      Suntools or OpenWindows or that other GUI that was supposed to run
      Postscript but never got off the ground, lol) and at the time the
      Sun 1 was just a curiosity - "look, we ported 4.1 BSD to the
      68000, is that cool or what?".</p>
    <p><br>
    </p>
    <p>GE Calma was playing with X v10.4, at the time, if you wonder -
      Calma built giant computer workstations that were used to design
      things like dams and hydroelectric projects and nuclear reactors
      and provided customers with the ability to do walkthroughs, but it
      was all in wireframe and Calma wanted to add texture) and I think
      I got a copy of X v11.0 from The Well, in Sausalito, where I knew
      someone who was willing to cut me a tape - those were the good old
      days.<br>
    </p>
    <p><br>
    </p>
    <p>Obviously the factors are not the same and ZFS changes things
      but, still, it's funny to see /home has migrated back to
      /usr/home. It is a natural misunderstanding of the acronym 'usr',
      which refers not so much to the users of the operating system as
      it did to the separation between privileged executables located in
      the root filesystem which were a prerequisite to booting into
      single user mode, and those executables which formed part of the
      larger ecosystem of the operating system when it reached
      multiuser, at which time /usr was mounted and made accessible and
      the systems administrator could finally heave a big sigh of relief
      and tell everyone the computer was back up.<br>
    </p>
    <p><br>
    </p>
    <p>In response to the situation I encountered with FreeBSD 14.2 ...
      I gave some thought to creating a link in /usr/home but that would
      only perpetuate a broken situation; links don't belong in
      /etc/passwd, IMHO, unless you are running NFS and have multiple
      NFS servers providing home directories and have to cobble together
      a shared namespace ... but that is the topic of another post.</p>
    <p><br>
    </p>
    <p>Also ... if I don't know the true cause of the problem, then how
      can I say that I have fixed it? Diving to the root of the problem
      gave me a greater understanding of Thunderbird, Chromium, and its
      derivatives. I try to resist the urge to go for the quick fix
      until I am sure it is also the best solution to the problem.
      Recreating /usr/home would just kick the problem down the road but
      I would still have to deal with it some day.<br>
    </p>
    <p><br>
    </p>
    <p>After 40 years of troubleshooting, my credo is "eschew
      dependencies". Keep it simple. I guess we all have to define
      "simple" for ourselves. My assumption is the FreeBSD team had a
      good reason to get rid of /usr/home; they had come to the same
      conclusion I had reached a few decades before.</p>
    <p><br>
    </p>
    <p>I'm not fanatical about it; I recall evaluating the Nokia FW-1,
      back around 1999 or 2000, at Hambrecht &amp; Quist, LLC - the FW-1
      was based on FreeBSD 3.x, I think, and the developers had taken
      the unusual step of mounting all filesystems but /var as
      read-only, so that home directories were, by necessity, located in
      /var/home. That sort of makes sense, for that particular
      application, where there is only one login, and that, an
      administrator - we assume he or she won't be downloading large
      files that interfere with the other functions of the /var
      filesystem.<br>
    </p>
    <p><br>
    </p>
    <p>Carry on, comrades, FreeBSD 14.2 screams like the race car it is,
      and I am very impressed.</p>
    <p><br>
    </p>
    <p>Regards,</p>
    <p><br>
    </p>
    <p>~richard</p>
    <p><br>
    </p>
    <p>=====<br>
    </p>
    <div class="moz-cite-prefix">On 1/11/25 04:24, Tomoaki AOKI wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:20250111132434.6d0e06c9f3b39e7a52e8f354@dec.sakura.ne.jp">
      <pre wrap="" class="moz-quote-pre">On Sat, 11 Jan 2025 02:17:20 +0000
Richard Childers <a class="moz-txt-link-rfc2396E" href="mailto:childers@redwoodhodling.com">&lt;childers@redwoodhodling.com&gt;</a> wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">Dear folks,


I just upgraded from 13.3 to 14.2. Maybe I missed the memo; but moving 
home directories from /usr/home back to /home broke Thunderbird, it 
couldn't find my folders.


(When I say 'upgrade', I mean 'install an up-to-date version of FreeBSD 
on a different laptop, install up-to-date applications, rsync my home 
directory to the new install, then make the jump'. Not freebsd-update(8).)


The fix is to edit these two text files:


/home/LOGIN/.thunderbird/????????.default/folderCache.json

/home/LOGIN/.thunderbird/????????.default/prefs.js


... where '????????' represents 8 
Thunderbird-assigned-at-the-time-of-account-creation random ASCII 
characters that seem to represent a unique ID.


If you've done this a few times your files may be quite old and contain 
references to accounts that you no longer use but a global 
search-and-replace should not damage these definitions either as if they 
still exist their paths will need to be updated as well, and if the 
folders no longer exist then you may safely engage in some housekeeping 
and delete those other lines.


Here's hoping it helps those of us with not much hair to spare to avoid 
ripping out what is left, in frustration, after an upgrade.


The output from 'pkg add -y thunderbird' is pretty sparse - less then 
ten lines. Not complaining but that might be a good place to put hints 
for administrators overseeing the upgrade - it's not done until the 
users can read and write email.


'thunderbird --help' refers to something called a "Migration Manager" 
but I could find no documentation on this from the command line; 
Thunderbird has no online UNIX manual page, alas.


You may also find Chromium to be uncooperative; if it was running when 
you did your rsync, then you will have to remove the following file 
before it will start on the new machine:


% rm -f .config/chromium/SingletonLock


You may as well remove them all:


% rm -f .config/chromium/Singleton*


You might even want to do this:


% rm -f .config/*/Singleton*


... that will fix Iridium and ungoogled-chromium, too.


Regards,


~richard


=====


More info: <a class="moz-txt-link-freetext" href="https://www.redwoodhodling.com/Exhibits/">https://www.redwoodhodling.com/Exhibits/</a>;

See, also: <a class="moz-txt-link-freetext" href="https://www.redwoodlinux.com/RaspiLab/">https://www.redwoodlinux.com/RaspiLab/</a>;

See, also: 
<a class="moz-txt-link-freetext" href="https://www.gofundme.com/f/support-innovative-raspberry-pi-classroom-project">https://www.gofundme.com/f/support-innovative-raspberry-pi-classroom-project</a>; 
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Is there a symlink /usr/home pointing to /home?
If not, creating it could usually workaround the problem.

As I disliked previous default (/usr/home), I habitally create /home as
a directory (mount point) and created symlink /usr/home pointing to it
manually on installation (not using installer, though) for
copatibilities.

 *I've created a dedicated partition for /home before I've switched to
  Root on ZFS, and now creating a dedicated dataset for /home.
  So /home is a mountpoint anyway for me.

</pre>
    </blockquote>
  </body>
</html>

--------------QUT7VvSRCwCXcFIgm5f0UEJG--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?352dfe48-9a5e-4204-a854-e3cb0b3889aa>