Re: reboot stuff doesn't start
Hi.
On Tue, May 28, 2019 at 10:53:04AM -0400, Greg Wooledge wrote:
> On Mon, May 27, 2019 at 12:11:29PM +0300, Reco wrote:
> > On Sun, May 26, 2019 at 05:45:56PM -0400, Gene Heskett wrote:
> > > root@coyote:GenesAmandaHelper-0.61$ cat /etc/rc.local
> > > #!/bin/sh -e
> >
> > Any execution error will terminate the script.
>
> The blame is on Debian for that one. That's what Debian put in the
> default /etc/rc.local file in every release up to jessie. (They "fixed"
> this in stretch by not having a default /etc/rc.local file at all, but
> if you upgraded to stretch, you still have the old default file.)
I disagree. /etc/rc.local is a part of init (whenever it's sysvinit or
systemd or upstart), being run as root. If something goes wrong there -
it should fail as verbose as possible (yep, journald is worthless in
this regard). Helps with diagnostics and all that.
> Debian's policy for developers is to use -e with all shell scripts
> (horrible!),
On the contrary. Helps with error catching, limits the damage (all
package scripts are executed as root), promotes at least some kind of
code quality.
Side effects may include non-removing packages (failed prerm script), of
course, but they have bugs.debian.org for these cases.
> but inflicting that same policy on end users is not wise.
End users can remove that '-e' flag if they believe it's problematic.
rc.local is a simple shell script, open to all kinds of abuse including
this one.
Reco
Reply to: