mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-25 18:40:06 -04:00
repair.sh: key the Portable postgres ownership restore off the active bind.
Portable is defined by the live boot medium (wrolpi-bootstrap MODE), and its visible effect at repair time is the bind of the cluster over /var/lib/postgresql. Restore postgres ownership only when that bind is active, and restore the bind targets themselves; on installed systems a config/postgresql directory is inert (dead weight from the old layout, or a user's backup on the drive) and must not be touched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
4dfb997bfc
commit
9f2d9ed82b
1 changed files with 6 additions and 5 deletions
11
repair.sh
11
repair.sh
|
|
@ -165,11 +165,12 @@ fi
|
|||
chown wrolpi:wrolpi /media/wrolpi 2>/dev/null || echo "Ignoring failure to change media directory permissions."
|
||||
# Ensure the config directory is owned by wrolpi so the API can write config files.
|
||||
[ -d /media/wrolpi/config ] && chown -R wrolpi:wrolpi /media/wrolpi/config 2>/dev/null || :
|
||||
# On bootstrapped systems the Postgres cluster lives under config/postgresql (bind-mounted to
|
||||
# /var/lib/postgresql and /etc/postgresql). It must stay owned by postgres, or new backends
|
||||
# die with: FATAL: could not open file "global/pg_filenode.map": Permission denied.
|
||||
if [ -d /media/wrolpi/config/postgresql ] && id postgres >/dev/null 2>&1; then
|
||||
chown -R postgres:postgres /media/wrolpi/config/postgresql 2>/dev/null || :
|
||||
# On Portable (live-boot) systems the Postgres cluster lives under config/postgresql,
|
||||
# bind-mounted over /var/lib/postgresql — so the config chown above just swept it. Restore
|
||||
# ownership only when that bind is active; on installed systems Postgres lives on the root
|
||||
# filesystem and any config/postgresql directory is inert (dead weight or a user's backup).
|
||||
if mountpoint -q /var/lib/postgresql 2>/dev/null && id postgres >/dev/null 2>&1; then
|
||||
chown -R postgres:postgres /var/lib/postgresql /etc/postgresql 2>/dev/null || :
|
||||
fi
|
||||
|
||||
# Remove immutable flag from blob files before chown (may not exist or may not be set).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue