Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #156556 > unrolled thread

nosh version 1.18

Started byJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
First post2015-08-20 15:30 +0200
Last post2016-05-07 01:50 +0200
Articles 11 — 2 participants

Back to article view | Back to linux.debian.user

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  nosh version 1.18 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2015-08-20 15:30 +0200
    nosh version 1.19 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2015-08-22 20:30 +0200
      nosh version 1.20 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2015-09-28 03:30 +0200
        Re: nosh version 1.20 Joe Maloney <jmaloney@pcbsd.org> - 2015-09-28 04:00 +0200
          nosh version 1.20 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2015-09-28 09:50 +0200
        nosh version 1.21 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2015-10-05 08:00 +0200
          nosh version 1.22 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2015-11-02 09:00 +0100
            nosh version 1.23 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2015-12-17 15:10 +0100
              nosh version 1.24 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2016-01-13 10:50 +0100
                nosh version 1.25 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2016-02-01 02:30 +0100
                  nosh version 1.27 Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com> - 2016-05-07 01:50 +0200

#156556 — nosh version 1.18

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2015-08-20 15:30 +0200
Subjectnosh version 1.18
Message-ID<pZy4N-68h-3@gated-at.bofh.it>
nosh is now up to version 1.18

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html

The big news for this release is the nosh-run-system-manager Debian 
binary package.  This, and the new additional service bundles in 
nosh-bundles, package up everything that is needed for running an 
entirely nosh-managed basic Debian system with the nosh system-manager 
program as process #1.  And so the entry on the roadmap WWW page is 
crossed out.  Some notes:

* Don't forget that the Nosh Guide has a whole chapter on troubleshooting.
* With that package alone, you get very little running.  This is 
intentional.  You'll have to install other nosh-run packages, or add 
presets, for the various other things that you want.  To get an OpenSSH 
server running, for example, you'll need a local preset file (named, 
say, /etc/system-control/presets/20-sshd.preset) with "enable sshd" and 
"enable cyclog@sshd" before (re-)installing nosh-bundles.  
(Re-)Installing the nosh-bundles package (re-)applies all current 
presets, including your local ones, and auto-starts all enabled services.
* If you are running the freedesktop services, read the notes 
hyperlinked-from the package download page.
* You may have spotted that there's a choice between running udev and 
busybox mdev.  (You pretty much must run one or the other for a fully 
functional system.)  The nosh-run-busybox-mdev package is broken.  I 
forgot to write the adapter tool.  I've written it ready for version 
1.19.  There will be more said on the subject of busybox mdev in the 
1.19 announcement, therefore.
* It's also intentional that you don't get System 5 shim commands for 
the likes of "telinit" and "halt" unless you install the 
nosh-systemv-shims package.  "system-control poweroff" works without the 
presence of the shims, of course.
* For novices, I recommend starting with nosh-run-kernel-vt . 
nosh-run-user-vt still requires a manual step, after re-building the 
service configuration each time, of "system-control disable 
ttylogin@tty{1,2,3,4,5,6,7,8,9,10,11,12}".
* The recovery mode misbehaviour is a known problem.  I'm 
investigating.  As a local fix, boot with init=/bin/sh on the kernel 
command line and then run "exec /sbin/init -s" or even "exec /sbin/init 
-b" from that shell prompt.

This is not the only news, of course.  The BSD crowd should not feel 
left out, moreover.

There are four long-standing problems with the Linux libkqueue library.  
One of those problems causes svscan a.k.a. service-dt-scanner to be 
spuriously woken up.  This doesn't affect Debian but does affect Linux 
operating systems such as Gentoo that have more recent versions of that 
library.  This has been worked around in version 1.18.

The pre-built mount@-, fsck@-, mount@-usr, fsck@-usr, mount@-var, and 
fsck@-var service bundles have been removed.  Generation of the service 
bundles for mounting and checking volumes is now entirely based upon the 
auto-creation system in /etc/system-control/convert/ .  If you are 
installing from scratch by hand, then you must remember to "redo all" in 
that directory.  The nosh-bundles package does this for you as part of 
its post-install procedures.

The problem with the local-syslog-read service on Linux providing the 
wrong socket (the BSD one) has been fixed.

The tools now speak true TAI, rather than UTC-10.  There's an 
explanation of the consequences of this in the manual pages for cyclog, 
tai64n, and tai64nlocal.

The /etc/fstab conversion system now recognizes remote filesystem types 
and attaches the generated services to remote-fs.target .

[toc] | [next] | [standalone]


#156703 — nosh version 1.19

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2015-08-22 20:30 +0200
Subjectnosh version 1.19
Message-ID<q0lIe-1Bm-17@gated-at.bofh.it>
In reply to#156556
nosh is now up to version 1.19

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html

The important news is that the embarrassment with the post-install setup 
script for the Linux nosh-run-kernel-vt package is fixed.  It was a 
missing 1-line escape() shell function.  I apologize.

Other terminal management news is that there's now a console-clear 
command that does pretty much the same thing as the Bourne Again shell's 
clear_console command (also coming with that name as a symbolic link 
alias) but better.

* The bash clear_console tries to open a lot of device files, as can be 
seen in Ubuntu bug #39068.  This tool by comparison doesn't need 
anything more than its standard output, and doesn't attempt to open any 
terminal devices itself at all.
* The bash tool is specific to the Linux kernel terminal emulator. It 
had to be turned off for Debian kFreeBSD in Debian bug #355336, patched 
to make it stop when run as the superuser in xterm in Debian bug 
#355815, and worked around again in Debian bug #793883.  This tool, 
contrastingly, actually works with xterm and PuTTY and clears their own 
scrollback buffers.  It uses a different mechanism that both they and 
(ironically) the Linux kernel terminal emulator since 2011, all support.
* Debian bug #791342 would be fixed by it, because it doesn't use the 
bodge of attempting to switch virtual terminals away and back (using 
either tty1 or tty2 as the "other" terminal) to clear the scrollback buffer.

On the gripping hand, this is something that one doesn't actually need 
if one is using the nosh-run-user-vt package. console-terminal-emulator 
supports the same extension to ECMA-48 Erase Display as xterm and PuTTY 
do, but the raison d'être for clear_console is the likes of Debian bug 
#331504.  clear_console is in fact a ten-year-old bodge, addressing a 
security/privacy concern that's a lot older still.  With user-space 
virtual terminals, one has the freedom to do things right, without the 
need for such bodges.  (-:  As the console-terminal-emulator manual page 
explains, when a login session terminates and the terminal is hung up, 
the terminal emulator erases the whole display buffer.

In more other news: On Linux, fsck at bootstrap time is now monitored.  
What this means from a user standpoint is that if your system reaches 
its "maximum mounts before a forced full fsck" point, it doesn't just 
sit there with nothing visibly happening (if one cannot see the hard 
disc activity light) for ages.  The fsck@* services now invoke 
"monitored-fsck" rather than fsck directly. This is an ordinary 
chain-loading tool that opens a client connection to a local (i.e. 
AF_LOCAL) socket and then chains to fsck adding in its (Linux-specific) 
-Cfd option.   There's a new monitor-fsck-progress service that runs the 
server for that socket, and displays progress information on the 
console.  This latter is intentionally replaceable by alternative 
services, of course.  I'm intending to make its output somewhat 
prettier, rather than just dumping the raw information at you as it does 
in this release.  But if you want to write your own ...

You'll have to delete /etc/system-control/convert/volumes (or modify the 
contents of /etc/fstab) and run "redo all" to get your existing 
auto-created fsck@* service bundles regenerated with the new command.  
Or just edit the run files replacing fsck with monitored-fsck .

The big news is that as promised in the 1.18 announcement the 
nosh-run-busybox-mdev package is now functional.  Also as promised in 
that announcement, here's more on the subject.

The nosh toolset doesn't come with a bunch of rules for your 
plug-and-play manager, be that (BSD) devd, (Linux) udev, or busybox 
mdev.  Your plug-and-play manager does, or should do.  As packaged up 
for Debian Linux, udev comes with a whole bunch of pre-supplied rules in 
/lib/udev/rules/ that gets one the "usual" device file tree in /dev/ .  
And it almost goes without saying that the BSDs come with devd rules in 
the box.  The same is not true for the busybox Debian package.  There's 
no /etc/mdev.conf supplied.

You MUST write one before using busybox mdev.  busybox mdev's default 
behaviour as packaged, in the absence of /etc/mdev.conf , may be logical 
and straightforward; but it does not result in a working Debian system.  
Some things that I've hit myself are /dev/null not being accessible to 
anyone except the superuser, which affects loads of things all over the 
shop, and event device files not being under /dev/input/ where other 
parts of the system expect them to be.

There's plenty to read on this subject in the non-Debian world, starting 
with but not limited to:

* https://wiki.gentoo.org/wiki/Mdev
* http://linuxfromscratch.org/clfs/view/clfs-3.0/mips/bootscripts/mdev.html

You'll have to adapt these for Debian.  There are also the examples in 
/usr/share/doc/busybox/examples/ , of course, the larger of the two 
fixing both of the aforementioned problems.  The positive news is that 
the busybox-mdev service implicitly serializes invocations of mdev, so 
that there's no need for mucking around with mdev's sequence number 
mechanism.

The recovery mode problem mentioned in the 1.18 announcement turns out 
to have a simple local fix, which I'll incorporate into a more 
comprehensive service fix:

# ln -s rescue /etc/service-bundles/targets/single

[toc] | [prev] | [next] | [standalone]


#158363 — nosh version 1.20

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2015-09-28 03:30 +0200
Subjectnosh version 1.20
Message-ID<qdvqq-7Dh-11@gated-at.bofh.it>
In reply to#156703
The nosh package is now up to version 1.20 .

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html

It's worth noting that the WWW site has gained some more pages, an 
installation how-to and a quick look at user-space virtual terminals.

* 
http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/timorous-admin-installation-how-to.html
* 
http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/user-vt-screenshots.html

The command and tool list page, which was woefully out of date, has had 
some attention, too.  It is rather longer than it was.

* 
http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/commands.html

You might notice a couple of new BSD packages, as well. FreeBSD/PC-BSD 
binary packaging is now up to parity with Debian Linux.  One can create 
a fully-nosh-managed system on both just by installing some binary packages.

This wipes another to-do item off the roadmap page.  The list of 
remaining rc.d items on the roadmap has shrunk, also.  As always, 
assistance in wiping those remaining rc.d items off the list is 
welcome.  If someone feels up to tackling /etc/rc.d/bluetooth, perhaps 
looking at what Iain Hibbert has apparently already done, for example ...

In addition to having yet more service bundles, this release irons out 
some wrinkles in startup and shutdown.  The sysinit phase of bootstrap 
was causing undesirable mounts in emergency mode.  That has been 
restructured.  Some ordering problems in shutdown relating to unmounting 
filesystems have also been fixed.  And the System 5/BSD compatibility 
reboot, halt, and poweroff shims no longer rely upon some other 
toolset's (not necessarily even present) shutdown command.

There are now -run packages for four different Debian Linux 
plug-and-play managers, with vdev and suckless mdev now added.

[toc] | [prev] | [next] | [standalone]


#158364 — Re: nosh version 1.20

FromJoe Maloney <jmaloney@pcbsd.org>
Date2015-09-28 04:00 +0200
SubjectRe: nosh version 1.20
Message-ID<qdvTr-8b5-3@gated-at.bofh.it>
In reply to#158363

[Multipart message — attachments visible in raw view] — view raw

Hi,
do you have a source code repository somewhere for nosh?  Like on GitHub?

Joe Maloney


On Sun, Sep 27, 2015 at 8:05 PM, Jonathan de Boyne Pollard <
J.deBoynePollard-newsgroups@ntlworld.com> wrote:

> The nosh package is now up to version 1.20 .
>
> *
> http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html
>
> It's worth noting that the WWW site has gained some more pages, an
> installation how-to and a quick look at user-space virtual terminals.
>
> *
> http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/timorous-admin-installation-how-to.html
> *
> http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/user-vt-screenshots.html
>
> The command and tool list page, which was woefully out of date, has had
> some attention, too.  It is rather longer than it was.
>
> *
> http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/commands.html
>
> You might notice a couple of new BSD packages, as well. FreeBSD/PC-BSD
> binary packaging is now up to parity with Debian Linux.  One can create a
> fully-nosh-managed system on both just by installing some binary packages.
>
> This wipes another to-do item off the roadmap page.  The list of remaining
> rc.d items on the roadmap has shrunk, also.  As always, assistance in
> wiping those remaining rc.d items off the list is welcome.  If someone
> feels up to tackling /etc/rc.d/bluetooth, perhaps looking at what Iain
> Hibbert has apparently already done, for example ...
>
> In addition to having yet more service bundles, this release irons out
> some wrinkles in startup and shutdown.  The sysinit phase of bootstrap was
> causing undesirable mounts in emergency mode.  That has been restructured.
> Some ordering problems in shutdown relating to unmounting filesystems have
> also been fixed.  And the System 5/BSD compatibility reboot, halt, and
> poweroff shims no longer rely upon some other toolset's (not necessarily
> even present) shutdown command.
>
> There are now -run packages for four different Debian Linux plug-and-play
> managers, with vdev and suckless mdev now added.
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>

[toc] | [prev] | [next] | [standalone]


#158368 — nosh version 1.20

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2015-09-28 09:50 +0200
Subjectnosh version 1.20
Message-ID<qdBma-7It-15@gated-at.bofh.it>
In reply to#158364
Joe Maloney:
> do you have a source code  repository somewhere for nosh?

* 
http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/source-package.html

The source package and how to build from source are here.

[toc] | [prev] | [next] | [standalone]


#158603 — nosh version 1.21

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2015-10-05 08:00 +0200
Subjectnosh version 1.21
Message-ID<qg6Yy-6Nv-3@gated-at.bofh.it>
In reply to#158363
The nosh package is now up to version 1.21 .

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html

console-terminal-emulator now has a mouse input event protocol, and 
speaks both the DEC VT Locator protocol and the xterm Private Mode 1006 
protocol over the terminal interface to applications.  These are the 
protocols that you get with ttymouse=dec and ttymouse=sgr in vim.  Since 
support for the 1006 protocol is fairly widespread in the relevant 
places nowadays, it seemed not worthwhile implementing the inferior 
Private Mode 1005 and Private Mode 1015 protocols. Moreover, 
console-terminal-emulator is UTF-8 and the Private Mode 1005 protocol 
has ambiguities once one introduces UTF-8.

console-fb-realizer as yet only talks to real mouse input devices on 
Linux, but handling FreeBSD/PC-BSD mouse input devices is on the 
roadmap.  This has necessitated a change in the command-line syntax of 
console-fb-realizer, and concomitant changes in the pre-supplied 
realizer service bundle, which will need to be updated in tandem if you 
are using user-space virtual terminals.  This change allows the mouse 
input device to be specified in addition to the keyboard input event 
device.  It also slightly regularizes display-only mode, which is 
signified now by the simple lack of any mouse or keyboard device 
specifications, rather than by an explicit option.  Yes, I am aware that 
there's no mouse cursor sprite drawn yet.  Acutely so.

FreeBSD improvements include the completion of geli and gbde import that 
the sharp-eyed might have noticed quietly part-done in version 1.20.  
/etc/fstab entries for volumes using these should now be translated into 
appropriate interdependent mount@*, gbde@*, and geli@* service bundles.  
This is rather difficult for me to test, though, as noted on the roadmap.

The big PC-BSD improvement is jails support, which has lurked at the 
bottom of the roadmap page for a while.  Both PC-BSD Warden and FreeBSD 
9 jails are now recognized by the external configuration import 
subsystem, and converted into appropriate service bundles. The mechanism 
here is fairly straightforward:  The jails themselves are one service 
bundle, and the programs that run in the jails are another.  The latter 
service is after/ and wants/ the former service.  The jexec command is a 
chain loading tool that modifies process state in the same vein as 
setuidgid, softlimit, and envdir, and one can simply employ it as such.  
The jail command can be used analogously, with jail -c and jail -r, to 
how the mount and umount commands in mount@* service bundles are used.  
Those are what the import subsystem does.

Importing Warden Linux jails isn't available yet; and some of the more 
esoteric FreeBSD 9 rc.conf and PC-BSD Warden METADIR/* jail options are 
not yet imported.  Enabling jails to be autostarted at bootstrap is via 
the "jails" and "warden" targets, by the way.

The rc.d conversion project has progressed, with a few more things wiped 
off.  As mentioned in the version 1.20 message, all assistance in wiping 
the final 40-odd FreeBSD rc.d scripts off the list, to be found on the 
roadmap page, is welcome.  And if any PC-BSD people have ideas on how to 
turn things like /usr/local/etc/rc.d/pc-samba into service bundles, 
those are welcome too.  (Note that pre-supplied service bundles already 
exist for the Linux flavours of some of these, which may or may not be a 
starting point.)

[toc] | [prev] | [next] | [standalone]


#160088 — nosh version 1.22

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2015-11-02 09:00 +0100
Subjectnosh version 1.22
Message-ID<qqic2-2C5-1@gated-at.bofh.it>
In reply to#158603
The nosh package is now up to version 1.22 .

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html
* 
https://www.freebsd.org/news/status/report-2015-07-2015-09.html#The-nosh-Project

There are several things in this release:

* a new binary package for FreeBSD
* improvements to the user-mode virtual terminal subsystem
* changes and additions to UCSPI tools
* log export to remote servers
* kqueue on Linux
* miscellany

a new binary package for FreeBSD
--------------------------------

There's now a debian-shims binary package for FreeBSD. This contains the 
heretofore not packaged invoke-rc.d and update-rc.d shim programs.  I 
decided to make this separate from the systemv-shims package because 
these areless general-purpose than those shims are.

The haltsys, fasthalt, fastpoweroff, and fastboot shims are now 
packaged, also.

improvements to the user-mode virtual terminal subsystem
--------------------------------------------------------

The console-fb-realizer now displays a mouse pointer sprite on the 
display, to reflect the position of the mouse, when an application has 
turned it on with the relevant control sequences. Mouse support via the 
evdev input subsystem on Linux is thus now fully implemented, including 
support for tablets that use absolute rather than relative positioning.

On the FreeBSD side, you can use sysmouse devices.  But this only 
permits relative positioning.  This is a limitation of sysmouse itself, 
as far as I can see.  A lot has to change, including the kernel, the 
protocol, and moused, to enable absolute positioned devices via 
sysmouse. Absolute positioning devices will therefore be supported using 
uhid devices.  Some of that is done already, but it's not complete yet.

Keyboard maps are now generated by the external configuration import 
subsystem from whatever one has in /usr/share/vt/keymaps , rather than 
being hardwired to a fixed set of countries.  In the absence of this 
directory (as will usually be the case on Linux operating systems), 
fallback U.S.A. and U.K. keyboard maps are generated.

This generation is worthy of note, as it exemplifies the mechanism that 
allows multiple BSD keyboard maps to be overlaid to make one generated 
map.  The fallback U.K. keyboard map is generated by taking the built-in 
U.S.A. keyboard map and applying a "us_to_uk" overlay map on top of it 
that only has the few differences between the U.S.A. International 
layout and the U.K. one.  (This currently produces the basic U.K. 
layout.  "U.K. Extended" should be a simple matter of another overlay 
that does the various Option+A -> a-acute mappings, but that's 
somethingfor the future.)  Similarly, versions of existing maps that 
swap Caps Lock and Control are generated by adding a simple overlay that 
does solely that.  Likewise, generated maps have an overlay applied that 
sets the Backspace key to the application-programmable DEC VT behaviour 
that console-terminal-emulator supports, that out-of-the-box BSD keymaps 
don't know anything about.

changes and additions to UCSPI tools
------------------------------------

For consistency, the UCSPI tools that supported a single --numeric 
option now support --numeric-host and --numeric-port options, for 
separately determining whether hosts and ports are taken to be names or 
just numbers.

There are now client-side tcp-socket-connect and udp-socket-connect 
tools, that open client sockets, connect them to servers, and then 
chain.  These adhere to the UCSPI conventions for inherited open file 
descriptors in client-side tools.

log export to remote servers
----------------------------

The new UCSPI clients were motivated by the new export-to-rsyslog 
command.  This is a daemon that expects to be invoked as a UCSPI client, 
connected to a remote RFC 5424/RFC 5426 ("rsyslog") server.  It 
maintains a set of "log cursors" that point to daemontools-stylelog 
directories. Tracking its position in the logs using those cursors, it 
sends new log information to the connected server.  In the usual nosh 
fashion, the filesystem is the database, and the "cursors" are just 
files and symbolic links.  The details are on the manual page.

In conjunction with the UCSPI clients, export-to-rsyslog thus makes a 
log remote export service.

This isn't intended to be the last word in such things. RFC 5426is 
unreliable, and RFC 5424 loses the microsecond and nanosecond 
information of TAI64N. But it demonstrates the idea and shows that this 
can be done in the daemontools world.  One can indeed export 
daemontools-stylelogsif one has (say) a suite of servers whose log data 
should be copied over, on the fly, to a centralized rsyslog server.  
There's room here for someone to take this idea and run further with it 
using something like RELP.

miscellany
----------

The several miscellaneous items include OpenLDAP services in the 
autoconfiguration subsystem and some tweaks to the /etc/fstab conversion 
on Linux to deal with records that don't explicitly say either 
read-write or read-only, resulting in undocumented behaviour in the 
Linux fstab parsing library.

On the subject of working around the behaviours of Linux libraries ...

libkqueue
---------

Those familiar with the development will know that Linux's libkqueue has 
been a perennial difficulty.  Its inaccessible private internal file 
descriptors are not marked close-on-exec, leaving open a security hole 
if libkqueue is used in a privileged process that forks off unprivileged 
children to run other programs.  NOTE_WRITE for EVFILT_VNODE isn't 
implemented correctly for directories.  And itbreaks when inotify events 
come through that have filenames in them.  Those familiar with the code 
will know that there was quite a lot of conditional compilation as a 
consequence, replacing libkqueue with individual hand-rolled mechanisms 
in those programs where libkqueue simply doesn't work or creates 
security weaknesses.  The final straw was a user reporting 
service-dt-scanner abending on Gentoo Linux when the scan directory is 
merely listed with "ls", which we eventually tracked down to libkqueue bugs.

No more.

I tried the route of patching libkqueue.  It was my preferred route.  
It's fairly easy to see where to add in the close-on-exec flags, for 
example.  The difficulty is in getting such things available both to 
users using Debian binary packages (on all of its various 
"stable"/"oldstable" flavours) and to users building from source on 
distributions that I don't have myself. In the end I took a step back 
and pondered whether libkqueue was even the right thing to be using in 
the first place.  After all, it's built to select from a multiplicity of 
implementations for several operating systems, using an internal 
abstraction layer,where the nosh toolset is only in fact ever using it 
for one.

So there's now an internal C++ kqueue/kevent library for Linux in the 
toolset, not ideal but "good enough" for the use that the nosh toolset 
needs from kqueue/kevent and doing the various things that it needs like 
close-on-exec, inotify with filenames and multiple events in one go, and 
proper NOTE_WRITE for directories; and the conditional code, the 
individual hand-rolled mechanisms (apart from one), and the binary 
package dependenciesfrom libkqueue are now gone.

[toc] | [prev] | [next] | [standalone]


#161836 — nosh version 1.23

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2015-12-17 15:10 +0100
Subjectnosh version 1.23
Message-ID<qGHpN-py-19@gated-at.bofh.it>
In reply to#160088
The nosh package is now up to version 1.23 .

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html
* 
https://www.freebsd.org/news/status/report-2015-07-2015-09.html#The-nosh-Project

There is one major item in this release.

* I've adjusted console-fb-realizer's keyboard handling on BSD to use 
USB directly.

There are a few more minor changes.

* I've upgraded the version of clang++ that is used to build the binary 
packages to 3.8.0. This should have no visible effect whatsoever.  (-:
* The handling of the DECDA2 control sequence by 
console-terminal-emulator now copes with what vim sends.  (What vim 
sends isn't what my DEC VT tests had been checking.)
* convert-systemd-units now inserts uses of the ionice and chrt 
chain-loading commands on Linux into the generated service bundles.

Mostly this is a clearing the decks release in the hope that I will be 
able to do some more work on the remaining few FreeBSD conversions 
before the new year.

USB keyboard support
====================

The keyboard handling is a change to using the USB HID devices 
(/dev/uhid*) on FreeBSD in preference to (but not forcibly instead of) 
the ATA keyboard protocol.  In part this is in order to handle the 
"consumer" keys that USB has.  In part this is in order to handle the 
extra keys that one finds on 106-key, 107-key, and 109-key keyboards and 
on some numeric keypads (such as the ABNT2 thousands-separator key).  In 
part it's to remove an extra layer of the user-space virtual terminal 
system that can be outwith the kernel.  In part it's to match the USB 
mouse capability from version 1.22 of the toolset.

Please note that the structure of kbdmap files has changed slightly, to 
accomodate mappings for "consumer" keys, to reposition the entries for 
some of the 106/107/109-key keyboards' extra keys, and to cover all of 
the function key gymnastics that vim can accept.  The 
/etc/system-control/convert/ system should automatically re-convert your 
VT kbd files into the new format.As part of this, I've moved the mapping 
for the Euro symbol in the fallback U.K. layout (as generated on Linux 
in the absence of VT kbd files).  It used to be level 3 shift on the 
[eE] key in prior versions of the toolset.  Almost all real U.K. 
keyboards nowadays have it engraved as level 3 shift on the [4$] key, 
and that's where it now is.

Also note that I'm still working on this.  There might be further 
changes in 1.24.  I've found a U.K. keyboard with two [#~] keys (at A00 
and C12), and I need to check out whether this actually employs what I 
had thought to be an error in the USB HID usage tables (distinct usages 
for "\|" and "Europe1") and had corrected, or whether this is a quite 
mad keyboard that simply has two "Europe1" keys (or two "\|" keys).  
Also, I've ordered an ABNT2 and a Japanese USB keyboard, and hope to do 
some testing with them, which may prompt further tweaks.  (I really 
wanted to buy a Leadership 4530 keyboard.  They seem to be out of stock 
in a lot of places.)

[toc] | [prev] | [next] | [standalone]


#162983 — nosh version 1.24

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2016-01-13 10:50 +0100
Subjectnosh version 1.24
Message-ID<qQqe1-6f4-71@gated-at.bofh.it>
In reply to#161836
The nosh package is now up to version 1.24 .

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html
* 
https://www.freebsd.org/news/status/report-2015-07-2015-09.html#The-nosh-Project

Minor items in this release include:

* A fix for BSD keyboard layout import, that makes both "duml" and 
"ddia" be U+0308 for now.  Technically, diaeresis and umlaut are 
distinguishable in Unicode decomposed forms (using U+034F).  But for 
now, everything is simple unadorned combining diaeresis.
* A few more service bundles, for DBMail and for sudo (which in its 
vanilla form puts its timestamp files in /var/lib instead of /var/run 
and needs a cleanup service -- see Debian Bug #786555).
* Use of rtprio and idprio when converting system service units on 
FreeBSD/PC-BSD.
* Improvements to the framebuffer video mode selection in user-space 
virtual terminals for FreeBSD/PC-BSD.  It now comes up in the same 
display size as on Debian Linux on my test machines.
* Doco and other fixes from user feedback on version 1.23.  (I've 
already begun some further VirtualBox host adjustments, as we discussed, 
for 1.25.)

There is one major item in this release.

PC-BSD 10.2
===========

Until now, I'd been testing on a PC-BSD system that had been upgraded, 
with various contortions, from version 9.  This was still using UFS 
filesystems, listed in /etc/fstab; which the external configuration 
import subsystem had been happily importing to native service bundles.  
Over Christmastide I installed a PC-BSD 10.2 system from scratch, 
discovering some interesting oddities.  These included installation 
failing if you tell it that you are in the United Kingdom using a U.K. 
keyboard (PC-BSD Bug #12986); and the GRUB menu editor, as configured by 
the installer, operating in a truly eye-stretching 46 column by 28 row 
mode (by my count), and not displaying the underscore character correctly.

The important thing to know is that PC-BSD has for some time (at least 
since 2013) been ZFS-only, as far as installation goes.  (One can of 
course mount other filesystem types after installation.)  As Henry Ford 
might have said "Any customer can install to any filesystem type that xe 
likes, as long as it is ZFS.".  The result is that if installing from 
scratch one gets a whole load of ZFS datasets, and an empty (save for 
/proc and swap) /etc/fstab file.

So the major push for version 1.24 has been to get the configuration 
import system to deal with this, which it now does.  It will create 
mount services for all ZFS mounts, enable the ones that are "on", give 
them an inter-service ordering, and deal with the special-casing for the 
root (which the installer, oddly, marks as not automatically mounted, 
even though it of course is).

Alongside this, a large chunk of the remaining NetBSD rc.d services, 
from the on-going project to entirely replace them, have been crossed 
off the list.  These include mfs for /tmp, static networking and static 
ARP, pefs, serial port BPS and framing setup, ppp, rfcomm_pppd, 
persistent "entropy" for the randomness subsystem, and ipfw.  The 
progress of this work has been open from the start, and you can follow 
along on the roadmap WWW page.  Indeed, you can even join in, if you can 
convert any of the remaining few items.

There's more work to be done.  But I now have ZFS-only PC-BSD 10.2 
running nosh system-managed and service-managed.

Some notes for those eager to follow:

* Yes; I'm working on a pcdm service.  No; it doesn't help that it's 
undocumented.  Yes; that hoopla and palaver with forked subshells and 
multiple while loops calling sleep is exactly the sort of thing that 
proper service management is intended to obviate.

* If you have problems with devd, stale nologin from previous boots, and 
other things that use /var/run, it's because the convert_varrun service 
isn't enabled and your system has not been thus or otherwise migrated to 
/run.  This will be properly enabled by a preset in the next version.  
Enable it and reboot.  Or just start it and reboot. Or just boot into 
rescue mode and turn /var/run into a symbolic link to /run yourself.

* No; the nosh-run-system-manager package doesn't work properly on 
PC-BSD, as it does on vanilla FreeBSD.  PC-BSD 10.2 doesn't use the 
FreeBSD boot loader, like my old upgraded installation of PC-BSD 9 did.  
It uses GRUB.  The PC-BSD people apparently plan to get rid of GRUB in 
the future, and use the FreeBSD loader once more.  So this problem goes 
away when GRUB does.  (-:  In the meantime, use 'set 
kFreeBSD.init_path="/sbin/service-manager"' in the GRUB configuration.

* The root-resizing subsystem that was new to FreeBSD version 10 still 
needs conversion.  But ironically it doesn't work on PC-BSD 10.2 in the 
first place.  It can only grow UFS volumes, and PC-BSD's root is not a 
UFS volume.

[toc] | [prev] | [next] | [standalone]


#163784 — nosh version 1.25

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2016-02-01 02:30 +0100
Subjectnosh version 1.25
Message-ID<qXbtv-3vW-1@gated-at.bofh.it>
In reply to#162983
The nosh package is now up to version 1.25 .

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html
* 
https://www.freebsd.org/news/status/report-2015-07-2015-09.html#The-nosh-Project

As you may have noticed from discussions elsewhere, a new 
oom-kill-protect utility has snuck in at the last moment.  This takes 
Linux-style OOM Killer score adjustments (an integer between -1000 and 
1000), BSD-style binary YES/NO settings, or a special setting for 
querying the "oomprotect" environment variable; and tries to do the 
closest matching thing for each platform.  Details are in the manual, of 
course.  With this, the OOMScoreAdjust setting is now converted by the 
convert-systemd-units utility.

The local-syslogd, udp-syslogd, and syslogd service bundles make use of 
oom-kill-protect with the special environment variable setting in their 
run programs.  So FreeBSD bug #204741 is addressed in a more general 
fashion that can be easily used in other service bundles. "rcctl set 
syslogd oomprotect YES" and "rcctl set syslogd oomprotect NO" can be 
used to turn OOM Killer protection on and off.

Other things in this version include:

* More configuration import utilities, covering ip6addrctl, webcamd, and 
NFS settings.
* A fix for a problem with configuration import on Linux in version 1.24.
* Two minor utilities for querying the fstab database, get-mount-what 
and get-mount-where, needed by the configuration import for mdconfig 
(but generally usable).
* New binary "run-" packages for OpenSSH server, syslog on a local 
socket, and klog.
* The new syslog and klog packages provide the Debian package manager's 
virtual package names "linux-kernel-log-daemon" and "system-log-daemon" 
(per Debian Bug #67604).

As can be seen from the roadmap, we are nearing the end of the rc.d 
conversion for FreeBSD.  Additions in this release include nfsserver, 
gptboot, rtadvd, virecover, and pcdm.  Almost all of mdconfig is 
actually done, bar some after/before orderings.

* 
http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/roadmap.html#FreeBSDrc.d

[toc] | [prev] | [next] | [standalone]


#167546 — nosh version 1.27

FromJonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>
Date2016-05-07 01:50 +0200
Subjectnosh version 1.27
Message-ID<rvXFo-6JF-23@gated-at.bofh.it>
In reply to#163784
The nosh package is now up to version 1.27 .

* http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html
* 
https://www.freebsd.org/news/status/report-2015-07-2015-09.html#The-nosh-Project

In fact, it is soon to be version 1.28.  This is a somewhat delayed 
notice for 1.27, because I forgot to send out the notices for versions 
1.27 and 1.26 after updating the WWW site.

As can be seen from the roadmap, we are at the point in rc.d conversion 
for FreeBSD/PC-BSD where it's actually easier to count the things that 
remain unconverted.  Discounting the PC-BSD Active Directory services 
and a handful of suspect FreeBSD services (such as growfs, which doesn't 
apply to ZFS in the first place) the remaining things to be converted 
can be counted on the fingers of one hand.  The external configuration 
import mechanism has gained the ability to handle stf, atabridge, 
mdconfig, and a few others. There are also a whole bunch more service 
bundles: cross-platform, for Linux, and for BSD.

* 
http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/roadmap.html#FreeBSDrc.d

The OOM Killer avoidance measures from version 1.25 are now employed in 
the PostgreSQL service bundle as well.

The systemd service unit conversion tool has gained a whole load of 
NUMA-related extensions: NUMAInterleave, NUMAMemBind, NUMACPUNodeBind, 
NUMAPhysCPUBind, NUMALocalAlloc, and NUMAPreferred.  These it translates 
into the equivalent invocations of the numactl chain-loading utility.

It has also gained a couple of minor fixes and tweaks.  The %m 
substitution now works, and service bundles comprising FIFOs or AF_LOCAL 
sockets are now created so that they are ordered after any relevant 
filesystem mount services.

By request, the nosh Guide has gained a whole chapter of cheatsheets, 
giving quick one-liner pointers to some common tasks. The chapter is 
divided into three sections: chain loading, logging, and service 
management.  The service management division is subdivided into 
daemontools-style commands, systemd-style commands, OpenBSD-style 
commands, SMF-style commands, and common commands. The chain loading 
division gives a number of the more common commands used in 
chain-loading run scripts (and whereever else one might want to use them).

There have been improvements in static network setup, including fixes 
for some bugs in static_arp and static_ndp and a more cross-platform 
replacement for the static-networking service.

The nosh-bundles package now supplies several aliases for services, 
which are just plain old symbolic links.  So (for example) one can 
address the CUPS service as either org.cups.cupsd or just plain cupsd.

Things to look forward to in version 1.28 already include: more service 
bundles; another chain-loading utility; a major revision to MySQL and 
MariaDB service bundling, to reflect the pushes by their own developers 
to obviate their rc scripts and the mysql-safe command and just run 
mysqld directly under service management using the tools provided by the 
service management system; and a change relevant to the all-important 
linux_logo command.  (-:

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.user


csiph-web