#1111474 procps: manpage sysctl.conf(5) does not mention the removal of /etc/sysctl.conf

Package:
procps
Source:
procps
Description:
/proc file system utilities
Submitter:
Samuel Plavec
Date:
2025-09-04 21:51:02 UTC
Severity:
normal
#1111474#5
Date:
2025-08-18 12:11:07 UTC
From:
To:
Dear Maintainer,

The sysctl.conf(5) manpage from the package procps does not mention
that /etc/sysctl.conf is automatically removed on upgrade, nor does it
mention that /etc/sysctl.conf is no longer listed as a configuration
file. For more information, see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110184#45.

Best regards,
Samuel Plavec

#1111474#10
Date:
2025-08-24 21:38:04 UTC
From:
To:
retitle -1 changed /etc/sysctl.conf should not be deleted on upgrade
These are three different things which made working out what the actual
issue is
more difficult.

/etc/sysctl.conf automatically removed on upgrade
This seems a quirk of how the Debian configuration file handling works. It
should
have been removed if not changed (i.e it is the one that was shipped last
with the package),
but it seems that's not the case. This is the actual (and only in this
context) bug.
It's going to be a pain, because deb-conffiles is extremely unhelpful for
corner-cases
like this.

/etc/sysctl.conf not a configuration file
I'm not even sure what this means. If that file exists, sysctl will read
it. it's not longer
a conffile which is a configuration file handled by the debian packaging
infrastructure.

Update sysctl.conf(5)
The man page is correct in that if a /etc/sysctl.conf exists, then it is
read. It is a valid
configuration file for sysctl.

 - Craig

#1111474#15
Date:
2025-08-25 12:22:57 UTC
From:
To:
Thanks. This clears up my misunderstanding; I wrongly thought that the
removal of /etc/sysctl.conf (incl. if changed) during upgrade was
deliberate, which would imply that it wasn't intended to be used
anymore.

#1111474#20
Date:
2025-08-27 07:38:39 UTC
From:
To:
It's actually a little trickier than that.
sysctl, which is part of procps, does read /etc/sysctl.conf

systemd-sysctl does not read that file.

sysctl.conf.5, part of procps, mentions this file and also that
systemd-sysctl doesn't read it.

The symlink from /etc/sysctl.conf got removed because the configuration
part moved to another package.

So either:
The upgrade notes need to mention to move the file; or
Some package, possibly procps, needs to detect a changed configuration file
and move it to the correct location.

 - Craig

#1111474#25
Date:
2025-08-27 09:20:00 UTC
From:
To:
Just for the record, I find it noteworthy that the direct cause of the
removal was https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076190.

The release notes definitely need to mention this; there have been
multiple complaints about breakages (both at #1110184 and on various
forums not specific to Debian). I have unsuccessfully tried to contact
the Documentation Team using the #debian-doc IRC channel to bring
attention to #1110184.

#1111474#30
Date:
2025-08-27 09:21:32 UTC
From:
To:
I think if it was simply moved, then the package taking over the
file should have the "adoption" logic. But AFAIK the new package
does not install a conffile, so it cannot really adopt the old
conffile either.

OTOH given procps no longer ships the conffile, it should also not
just leave an unowned conffile around. In this situation procps
should probably leave a .dpkg-bak file if the conffile was modified.
But this is also not the optimal result, as the file will not be
read 8-)

IMO the best option is to put good, tested advice into the release
notes and into NEWS.Debian of procps. Stable update for the
NEWS.Debian change should also be uncontroversial in my opinion.

Chris

#1111474#35
Date:
2025-08-27 09:25:55 UTC
From:
To:
I'm aware of #1110184, but what we really need is a good text. With
useful, tested advice. Preferably from the involved maintainers or
at least with their sign off.

Chris

#1111474#40
Date:
2025-08-27 10:25:23 UTC
From:
To:
This is exactly what actually has happened on my system during the
upgrade to trixie.

I think it is more important to publish the advice soon, than to have
perfect advice.

From https://salsa.debian.org/debian/procps/-/commit/77f54cb9d9951b193d2aaeb694e56061309eb3ef,
it seems that, by default, /etc/sysctl.conf contained nothing except
comments. So unless the handling of /etc/sysctl.conf during procps
upgrades is going to be changed, I think it is sufficient to note that
/etc/sysctl.conf will be removed (or renamed to disable it, if
changed), /etc/sysctl.d/99-sysctl.conf (compatibility symlink shipped
by systemd) will also be removed, and that users who have modified
their /etc/sysctl.conf are advised to copy their configuration to
/etc/sysctl.conf.d/ (and possibly restore the default
/etc/sysctl.conf, and reboot, so as to avoid potential issues with
duplicating the configuration).

Take this with a pinch of salt; I don't fully understand what I am
writing about.

#1111474#45
Date:
2025-08-27 11:00:58 UTC
From:
To:
That should have been /etc/sysctl.d.

Actually, I have just tried this process on a qemu VM
(https://gemmei.ftp.acc.umu.se/images/cloud/bookworm/20250814-2204/debian-12-nocloud-amd64-20250814-2204.qcow2,
with procps installed), and there are no apparent issues.

#1111474#50
Date:
2025-09-04 21:50:12 UTC
From:
To: