Re: [systemd-devel] Systemctl thinks a service file exists that does not

2023-08-28 Thread Cecil Westerhof
Op ma 28 aug 2023 om 14:31 schreef Cecil Westerhof :

> Forgot again to change the To. :'-{
>
> -- Forwarded message -
> Van: Cecil Westerhof 
> Date: ma 28 aug 2023 om 13:56
> Subject: Re: [systemd-devel] Systemctl thinks a service file exists that
> does not
> To: Andrei Borzenkov 
>
>
> Op ma 28 aug 2023 om 13:30 schreef Andrei Borzenkov :
>
>> On Mon, Aug 28, 2023 at 1:50 PM Cecil Westerhof 
>> wrote:
>> >
>> > Op ma 28 aug 2023 om 11:55 schreef Andrei Borzenkov <
>> arvidj...@gmail.com>:
>> >>
>> >> On Mon, Aug 28, 2023 at 12:27 PM Cecil Westerhof <
>> cldwester...@gmail.com> wrote:
>> >> >
>> >> > On debian 12, when Itype:
>> >> > systemctl status spam
>> >> >
>> >> > and giving a tab I get:
>> >> > spamassassin-maintenance.service  spamassassin.service
>> >> > spamassassin-maintenance.timerspamd.service
>> >> >
>> >> > Still:
>> >> > systemctl start spamassassin.service
>> >> >
>> >> > keeps giving not found.
>> >> >
>> >>
>> >> Those units are probably listed as dependencies somewhere. Units
>> >> listed in Wants or After/Before are not required to exist.
>> >>
>> >> > So systemctl thinks there is a spamassassin.service file, but when
>> >> > starting it does not find it.
>> >> >
>> >> > I do not find a spamassassin.service file on my system. The other
>> >> > three I do find.
>> >> >
>> >> > When using:
>> >> > find / -name spamassassin.service
>> >> >
>> >> > it does not find spamassassin.service.
>> >> > So why does systemctl think there is a spamassassin.service?
>> >>
>> >> It is not the systemctl, it is your shell completion of the systemctl.
>> >> Just look at the output of "systemctl list-units --all" for
>> >> "not-found".
>> >
>> >
>> > I have to clean up my system: there are 25 not-found services, 3
>> not-found targets, 2 not-found mounts and 1 not-found socket.
>> >
>> > For spamassassin.service I see:
>> > ● spamassassin.service
>>  not-found inactive dead
>> spamassassin.service
>> >
>> > But when I give:
>> > systemctl list-dependencies spamassassin.service
>> >
>> > I get:
>> > spamassassin.service
>> >
>> > I looked into:
>> > /etc/systemd/system
>> > /run/systemd/system
>> > /lib/systemd/system
>> > But I do not find dependencies.
>> >
>> > Where else should I look?
>> >
>>
>> Look at "systemctl show spamassassin.service".
>>
>
> That gave:
> Before=exim4.service
>
> Exim4 was not installed, but there was a /etc/init.d/exim4. After removing
> that it was OK. Tab does not produce spamassassin.service anymore.
>
> Now I have to do the same work for the other unit files that give a
> not-found.
>

Removed 11. Later in the week I will remove the rest.

-- 
Cecil Westerhof


Re: [systemd-devel] Systemctl thinks a service file exists that does not

2023-08-28 Thread Andrei Borzenkov
On Mon, Aug 28, 2023 at 1:50 PM Cecil Westerhof  wrote:
>
> Op ma 28 aug 2023 om 11:55 schreef Andrei Borzenkov :
>>
>> On Mon, Aug 28, 2023 at 12:27 PM Cecil Westerhof  
>> wrote:
>> >
>> > On debian 12, when Itype:
>> > systemctl status spam
>> >
>> > and giving a tab I get:
>> > spamassassin-maintenance.service  spamassassin.service
>> > spamassassin-maintenance.timerspamd.service
>> >
>> > Still:
>> > systemctl start spamassassin.service
>> >
>> > keeps giving not found.
>> >
>>
>> Those units are probably listed as dependencies somewhere. Units
>> listed in Wants or After/Before are not required to exist.
>>
>> > So systemctl thinks there is a spamassassin.service file, but when
>> > starting it does not find it.
>> >
>> > I do not find a spamassassin.service file on my system. The other
>> > three I do find.
>> >
>> > When using:
>> > find / -name spamassassin.service
>> >
>> > it does not find spamassassin.service.
>> > So why does systemctl think there is a spamassassin.service?
>>
>> It is not the systemctl, it is your shell completion of the systemctl.
>> Just look at the output of "systemctl list-units --all" for
>> "not-found".
>
>
> I have to clean up my system: there are 25 not-found services, 3 not-found 
> targets, 2 not-found mounts and 1 not-found socket.
>
> For spamassassin.service I see:
> ● spamassassin.service
>not-found inactive dead  
> spamassassin.service
>
> But when I give:
> systemctl list-dependencies spamassassin.service
>
> I get:
> spamassassin.service
>
> I looked into:
> /etc/systemd/system
> /run/systemd/system
> /lib/systemd/system
> But I do not find dependencies.
>
> Where else should I look?
>

Look at "systemctl show spamassassin.service".

>
>> Maybe completion should skip missing units. At least for such actions
>> as "status" this does not look useful.
>>
>> > And how do I make it forget it?
>> >
>>
>> systemd cannot forget them as long as units depending on them are still 
>> loaded.
>
>
>
> --
> Cecil Westerhof


Re: [systemd-devel] Systemctl thinks a service file exists that does not

2023-08-28 Thread Cecil Westerhof
Op ma 28 aug 2023 om 11:55 schreef Andrei Borzenkov :

> On Mon, Aug 28, 2023 at 12:27 PM Cecil Westerhof 
> wrote:
> >
> > On debian 12, when Itype:
> > systemctl status spam
> >
> > and giving a tab I get:
> > spamassassin-maintenance.service  spamassassin.service
> > spamassassin-maintenance.timerspamd.service
> >
> > Still:
> > systemctl start spamassassin.service
> >
> > keeps giving not found.
> >
>
> Those units are probably listed as dependencies somewhere. Units
> listed in Wants or After/Before are not required to exist.
>
> > So systemctl thinks there is a spamassassin.service file, but when
> > starting it does not find it.
> >
> > I do not find a spamassassin.service file on my system. The other
> > three I do find.
> >
> > When using:
> > find / -name spamassassin.service
> >
> > it does not find spamassassin.service.
> > So why does systemctl think there is a spamassassin.service?
>
> It is not the systemctl, it is your shell completion of the systemctl.
> Just look at the output of "systemctl list-units --all" for
> "not-found".
>

I have to clean up my system: there are 25 not-found services, 3 not-found
targets, 2 not-found mounts and 1 not-found socket.

For spamassassin.service I see:
● spamassassin.service
  not-found inactive dead
 spamassassin.service

But when I give:
systemctl list-dependencies spamassassin.service

I get:
spamassassin.service

I looked into:
/etc/systemd/system
/run/systemd/system
/lib/systemd/system
But I do not find dependencies.

Where else should I look?


Maybe completion should skip missing units. At least for such actions
> as "status" this does not look useful.
>
> > And how do I make it forget it?
> >
>
> systemd cannot forget them as long as units depending on them are still
> loaded.
>


-- 
Cecil Westerhof


Re: [systemd-devel] Systemctl thinks a service file exists that does not

2023-08-28 Thread Andrei Borzenkov
On Mon, Aug 28, 2023 at 12:27 PM Cecil Westerhof  wrote:
>
> On debian 12, when Itype:
> systemctl status spam
>
> and giving a tab I get:
> spamassassin-maintenance.service  spamassassin.service
> spamassassin-maintenance.timerspamd.service
>
> Still:
> systemctl start spamassassin.service
>
> keeps giving not found.
>

Those units are probably listed as dependencies somewhere. Units
listed in Wants or After/Before are not required to exist.

> So systemctl thinks there is a spamassassin.service file, but when
> starting it does not find it.
>
> I do not find a spamassassin.service file on my system. The other
> three I do find.
>
> When using:
> find / -name spamassassin.service
>
> it does not find spamassassin.service.
> So why does systemctl think there is a spamassassin.service?

It is not the systemctl, it is your shell completion of the systemctl.
Just look at the output of "systemctl list-units --all" for
"not-found".

Maybe completion should skip missing units. At least for such actions
as "status" this does not look useful.

> And how do I make it forget it?
>

systemd cannot forget them as long as units depending on them are still loaded.