This is a quote from March, it is totally unrelated to what we have now. I was testing 66 before it was released and I must have been upgrading to the final first release.

You are on a X on a terminal and you use # pacman -S boot-66serv and your X crashes? Very strange.
fungalnet wroteQ: On the latest boot-66serv

boot-66serv /usr/lib/66/service/boot/earlier-service/tty12

Even if boot is removed, new boot is created, enabled -F boot
The tty12 is not tty@ tty12, if I disable tty12 on boot and enable and start tty@ tty12 even after reboot and even after removing manually /usr/l/...../tty12, 66-info -S tty12 still shows it.

Also, many times/always, if you log in to tty12 and then exit tty12 dies. No more tty12. Why is this?

Now I run
# pstree -p -a | grep tty12
|-s6-supervise,666 tty12
# kill 666

tty12 is alive, just not 666 anymore :)
but you would need another active tty to do this.

s6 is the future of all systems and 66 is beyond that future :)
I don't understand nothing about this post o_O, maybe i'm not awaken sufficiently??!!
0 Coffee

1 Didn't the tty@ service change to where the active service is the same as the service file? The boot tree includes tty12, not tty@ tty12, but tty12. Should it be this way?

2 Why does tty12 fail when you exit? Login doesn't come back. If I kill the s6-supervision of the process then it restarts. Why does it do that?
0) done :)

1) this is expected. tty12 is not an instantiated service, so this is normal

2) i can't reproduce this issue. if i log on and log off the tty12 restart as expected. what the contain of your /etc/66/conf/tty12 ?
There was nothing, and on any installation that this happens there was nothing.
When I copied the service file from /usr/lib/66... into /etc/66/service/ then it wouldn't do this anymore :)
Coincidence? :)

Now, I thought the /etc/66 was reserved for making custom service scripts that would overpower the ones in /usr/lib
Why should there be one for tty12? Why is it on old old installations and it is not on newer ones?
Possible answer: Because the tty12-66serv doesn't really exist, it is part of the boot-66serv and unrelated to tty@
for a same service name, the /etc/66/service get always precedence of /usr/lib/66/service.
It can be made by a tty@ instantiated service but it will complicating a little bit the boot-66serv installation, this is why the tty12 is provide by the boot-66serv package itself.
but why when there is no /etc/66/service/tty12 tty12 doesn't restart?
fungalnet wrotebut why when there is no /etc/66/service/tty12 tty12 doesn't restart?
Good question because the /etc/66/service have nothing to do with the boot service. I mean when you enable the boot-66serv the information of the tty12 is kept at /var/lib/66/system/boot/servicedirs/svc/tty12. When you start the machine this directory will be copied at /run/66/scandir/0/tty12 directory. Then when the scandir is started the /run/66/scandir/0/tty12/run file will be executed. As you can see inside this file , it don't use any /etc/66/conf configuration file.
So, you issue is really strange.
I don't know if other user get this trouble too, but from my side, i can't reproduce this issue.
3 months later
Not really a bug: Is there a reason why there's no 66 service for nginx anymore in the repos? There was one a while back. It's gone for quite a while now already.

Edit: (now it's a bug)
I wanted to configure LEMP on this newly configured Obarun here in Berlin. The mysqld-66serv seems to work fine, the php-fpm doesn't. The runtime directory gets created but there's no socket in /run/php-fpm or any file for that matter. Cannot spot any errors in the frontend file just by looking at it quickly.
@ marianarlt
nginx-66serv -> fixed
php->fpm not tested yet
# 66-enable -t boot -S tty@ tty12  :P
# 66-inservice tty12      
Name                  : tty12
In tree               : boot
Status                : enabled, up (pid 327) 6713 seconds
Type                  : classic
Description           : Launch tty12
Source                : /usr/lib/66/service/boot/earlier-service/tty12
Live                  : /run/66/scandir/0/tty12
Dependencies          : None
Optional dependencies : None
External dependencies : None
Start script          :  agetty --delay 2 -J 38400 tty12 
Stop script           : None
Environment source    : None
Environment file      : None
Log name              : None
Log destination       : None
Log file              : None

# 66-inservice tty@ tty12
Name                  : tty@ tty12
In tree               : boot
Status                : enabled, up (pid 11903) 70 seconds
Type                  : classic
Description           : Launch tty12
Source                : /usr/lib/66/service/tty@ tty12
Live                  : /run/66/scandir/0/tty@ tty12
Dependencies          : None
Optional dependencies : None
External dependencies : None
Start script          :  execl-cmdline -s { agetty ${cmd_args} tty12 } 
Stop script           : None
Environment source    : /etc/66/conf/tty@ tty12
Environment file      : cmd_args=!-J 38400
Log name              : None
Log destination       : None
Log file              : None
So when you are at tty12 which one is running?
Hahahaha ohhww man Fungal you make me laugh :D You're definitely stressing Eric on purpose :P Why on earth would anybody do that? XDDD
Does this imply that there's no test (as in [if running]) for service duplication then? I mean there's no reason for anybody even in other supervision suites to duplicate a daemon, is there? Interesting find...

@ eric Thanks for re-upping nginx. Looking forward to php-fpm

By the way: Generally speaking. Is there interest in collaboration on common services? There's still things missing people might use. I would encourage users to request or even collaborate on services they might have written if they're of common interest. I'm thinking about my vmware service e.g. Dunno, stuff like that.
Does this imply that there's no test (as in [if running]) for service duplication then? I mean there's no reason for anybody even in other supervision suites to duplicate a daemon, is there?
From 66 point of view tty12 and tty@ tty12 are not the same service. So it's impossible to check.

Anyway, this USER behavior is interesting.... needs to do some test. @ fungalnet, in the meanwhile you can ask to your kernel to know the answer :lol:
eric wrote@ fungalnet, in the meanwhile you can ask to your kernel to know the answer :lol:
Report # 33
Jan 10 2023

Unfortunately I am running Linux6.1rc4 and I can't ask the kernel anything because it only communicates through systemd. Ever since 6.0 edition the kernel is part of systemd. Systemd has me banned so there is no way I can reach that far. Plus you need to buy a license to use systemd-linux on all Bosch-Siemens (ex - Intel and AMD) hardware and I don't have such kind of money.
I can try hurd or BSD but they are not very functional. They call tty ddz and it is very confusing.

The punishment for running old software and hardware here in the EEC (Ex European Community currently the Federation of German States - FGS) is public execution. Development should not be interfered with by subversives who like things from the past. So everything is nice and fresh.

Sorry I took so long to respond but due to the ministry of communication running on linux-systemd the processing of personal communication is very slow.

Ohh well, what can you do? We can not change the world. Things are as they are, c'est la vie!
C'est la vie! Hahahaha. You should start a satire on digital politics Fungal X)
(This is more of an order coming from the Federation of German States!)
13 days later
I deeply embrace the recent changes in v2.4.x and heartfully thank the team for developing and implementing them.

My first impression regards the output of 66-intree.

As much as I love the new outputs it is getting quite clunky in there. So for a very simple tree, containing a single service or two (pretty common case probably) it is now a total of eight rows of very informative output.

I myself run a very simple home computer setup at the moment having 6 trees for the super user:
  1. boot
  2. desktop (dbus, consolekit, sddm, networkmanager)
  3. lemp (mysql, php, nginx)
  4. root (tty only)
  5. sessions (all my user runtimes in one tree for three users)
  6. system (ssh, cups, virtualization)
That makes for 48 rows of output for a complete overview each time. Now of course I can start to look at trees separately but to be honest I like to compare them next to each other in a glimpse.

What especially caught my eye is that the "Symlinks" row is the same by default for any tree, pretty not self-explaining to the average user and will probably be always so until I had some very specialized use cases. Basically the same with the "Allowed" row, which on root trees will most probably always be root until some very special use cases. (I already have had such cases with custom services, but still it's very rare)

So what I was thinking basically is why not give a sort of "sane" amount of details (the most necessary) by default and then make a "complete output" option and a "choose rows shown" option like lsblk does? (While writing this I just dug into the man page and found out that the -o option already existed. NICE! [Bug in man page: "VALID FIELD FOR -g OPTION" should read "VALID FIELDS FOR -o OPTION"]. So basically just take this as an impression. I think a sane default would still be great. I understand that one could argue that different people would choose different "sane" defaults but I honestly think that the newly added rows are a very nice extra which could be ommited by default and then have like an "-a" (as in "all") option. But I also see there's "-n" already to omit. I will probably always write a zsh alias in future builds asap in this case. This is pretty well thought out already so probably this is rather a stupid thought of a user here. Just note the error then. :P
@ marianarlt
you post on bug report thread :/
Please for this kind of remark/opinion make a new thread instead. Thanks
By the way, thanks for the man page correction.

Yeah, the best solution for you is to make alias.
From my point of view, when i ask a 66-intree output for debug purpose the fields 'Allowed' and 'Symlinks' are also important. So, this will depends of the user view, needs, situation...
66 provide you mechanisms, it's up to you to define your policies :)
66-intree -c -o name,enabled,current,contents

I made an alias to 66-infos with the above line
I don't see how to make the -n working though, which I thought is the reverse to -o but anything after -n seems to be the name of a tree.
the -n option is to remove the name of the field asked. this allow us to be script-able easily without making ugly parsing
% 66-intree desktop
Name         : desktop
Initialized  : yes
Enabled      : yes
Starts after : base
Current      : no
Allowed      : obarun
Symlinks     : svc->source db->source
Contents     : numlockx compton-log notification-daemon-log notification-daemon compton pidgin-log pidgin
% 66-intree -n desktop
desktop
yes
yes
base
no
obarun
svc->source db->source
numlockx compton-log notification-daemon-log notification-daemon compton pidgin-log pidgin
% for i in $(66-intree -n -o contents desktop); do 66-inservice -o name,status $i;done
Name                  : numlockx
Status                : enabled, None

Name                  : compton-log
Status                : enabled, up (pid 1254) 5129 seconds, ready 5129 seconds

Name                  : notification-daemon-log
Status                : enabled, up (pid 1251) 5129 seconds, ready 5129 seconds

Name                  : notification-daemon
Status                : enabled, up (pid 1258) 5129 seconds

Name                  : compton
Status                : enabled, up (pid 1263) 5129 seconds

Name                  : pidgin-log
Status                : enabled, up (pid 1252) 5129 seconds, ready 5129 seconds

Name                  : pidgin
Status                : enabled, up (pid 1267) 5129 seconds
you want to see every status for each service for all trees:
% for i in $(66-intree -n -o contents); do 66-inservice -o name,status $i;done
and to push the thing a little deeper, put this in your .zshrc
alias 66-allstatus='f(){ for i in $(66-intree -n -o contents $@ ); do 66-inservice -o name,status $i;done;unset -f f;};f'
now
% reload # this reload the .zshrc file to apply the change on your current shell
% 66-allstatus security
Name                  : ssh-agent-log
Status                : enabled, up (pid 1298) 5606 seconds, ready 5606 seconds

Name                  : ssh-agent
Status                : enabled, down (exitcode 1) 0 seconds, normally up, want up, ready 0 seconds
you want allstatus for all tree just launch 66-allstatus without arguments :p

Again 66 works on mechanism, set your policies my friends :)

Powered by Obarun