From: Ivan Shmakov Document-Id: urn:uuid:f38667d5-8b66-449b-afbf-9290cae6a4f9 License: CC-BY-SA-3.0+ Link: ; rel="canonical" Link: ; rel="predecessor-version" Link: ; rel="author" In the text below, leading horizontal tabulation (ASCII HT) code indicates human-readable prose, while lines lacking one are intended for machine processing. Here we document the selection of Debian Bullseye packages as used for the regular AM-1.ORG system image, including the rationale behind our choice. For the most part, the same selection also forms the core of the extended container and chroot images, as well as being a superset of packages used for specialized minimalistic and live images. A given system can be checked for missing relevant packages using the following Bash command line: $ (perl -- ckpacklist.perl --no-empty -u --omit=omit \ -- fewta.text <(apt-mark showmanual) \ | LC_ALL=C sort -n) 2>&1 | less As of this writing, the most recent version of ckpacklist.perl is ought to be available from http://am-1.org/~ivan/src/misc-utils-is-2021/ckpacklist.perl . Generally, the packages listed earlier in this file are those more frequently seen on AM-1.ORG installs. Packages specific to boot-up sequence (such as bootloaders, kernels, and so on) are listed near the end of this document. The lists mention several no-package packages, which are not part of Debian and are otherwise trivial Provides: package packages used to circumvent dependencies we consider errorneous. These packages are made with nope.sh and are to be available from http://am-1.org/~ivan/dist/ . The system as described is intended to use approximately the following filesystem layout; all filesystems (except possibly /boot) residing on LVM logical volumes. Note that a separate /home filesystem is created with parameters based on the expected usage and available space. Moreover, if possible, a separate filesystem is created for data downloaded from the external archives, such as that normally resides in /var/cache /apt/archives and /var/lib/apt/lists. Alternatively, such data is stored under /home/public/download. The default options assumed below are rw, nodev, noexec, nosuid, noatime. 512 MiB Ext2+ ro /boot 2560 MiB Ext4+ ro,dev,exec,suid / 1024 MiB Ext4+ default /var 512 MiB Ext4+ default /var/cache 1024 MiB Ext4+ default /var/log (variable) Ext4+ rw,exec,relatime /home The omit tag indicates packages which were considered but not included in the final list for one reason or another. In particular, it is used to mark the packages which we would have liked to use, but which are not available in Debian Bullseye, or have flaws that we consider critical for our use cases. A number of packages are installed on a case by case basis, and are assigned eponymous tags, mainly so that relationship between these packages and other tags could be declared. This document is a work in progress. See the bottom of the file for the list of prior revisions. * * * The following Debian packages comprise the base system, common to all AM-1.ORG environments, including those running on real hardware, under Qemu, live images, within containers and chroots (although non-container chroots are deprecated on AM-1.ORG systems), etc. The base system is expected to be reasonably self-contained. In particular, any dependencies it may have should be either purely automatic (i. e., not mentioned anywhere later in this document), or listed explicitly here and only here. This list is ought to include ca-cacert, which is unfortunately no longer in Debian as of Buster, due to uncertain licensing. Tags: base Packages: apg apt ascii bash bc bmake bsdextrautils bsdutils busybox bzip2 ca-certificates coreutils cpio dash dc debian-archive-keyring debianutils debootstrap diffutils dpkg e2fsprogs ed fakechroot fakeroot file findutils gawk gdisk gnutls-bin gpgv grep gzip less libc-bin libcommon-sense-perl libconvert-asn1-perl libdata-dump-perl libdigest-sha-perl libencode-locale-perl libtasn1-bin libterm-readline-gnu-perl libuuid-perl locales-all lynx lzop m4 minilzip mtree-netbsd ncal ncurses-bin ncurses-term nettle-bin patch patchutils pdlzip perl procps pseudo psmisc rcs rhash rsync sed sharutils sleuthkit sqlite3 squashfs-tools strace tar time tree unzip util-linux vim-tiny wamerican wdiff wget xxd zip Tags: amd64 Packages: ltrace Tags: base, omit Packages: ca-cacert As an alternative to ed and vim-tiny, lightweight Emacs-like zile editor may also be used. Tags: zile Packages: zile The atf-sh package is being evaluated for possible inclusion into base. Tags: evaluation Packages: atf-sh Implies: atf For data recovery, a generous selection of archivers and compressors (beyond those included in base above) may get handy. Tags: archivers Packages: arj lhasa p7zip xz-utils zstd Similarly, we may need to interact with FAT filesystems. Tags: fatfs Packages: dosfstools mtools The following packages are useful for interfacing equipment over serial lines, as well as managing virtual and pseudo ttys. Also relevant is rlwrap, relegated to extra because of its superfluous dependencies. In addition to (or in place of) screen, dtach and tmux may be included, although note that tmux does not provide the logging function (and the script command from bsdutils may be not as convenient.) Tags: tty Packages: cu lrzsz reptyr screen Tags: perl, tty Packages: libio-stty-perl Tags: tty-extra Packages: dtach rlwrap tmux tty-clock ttyrec ttysnoop Implies: interactive, tty For networking diagnostics the following packages may be useful. Also ought to be included is the polipo proxy (not in Bullseye), to allow for setting up HTTP proxies (including HTTP over Tor), should the need arise. Tags: network Packages: bind9-dnsutils curl dns-root-data esmtp netbase sic socat Tags: network, buster Packages: polipo Tags: network, perl Packages: libdigest-hmac-perl libio-socket-inet6-perl libio-socket-ip-perl libmail-spf-perl libnet-dns-perl libnet-ip-perl spf-tools-perl swaks The following packages are expected on a system that has an init (PID 1) process, such as a container. Tags: initable Packages: lsof sysv-rc sysvinit-utils uuid-runtime Tags: initable-lite Packages: busybox-syslogd tinysshd Implies: initable Tags: rsyslog Packages: rsyslog Implies: initable Certain packages only make sense on systems that anticipate user (non-root) interactive sessions, as opposed to, say, a container managed entirely from the hosting system. Among those are openssh-client and dsh, a wrapper that facilitates starting several SSH client instances in sequence or in parallel, which comes particularly useful in clustered environments. Please note that ssh-agent is installed with a setgid flag set as a precaution against someone gaining access to a user session of another person and then using GNU/Linux debugging facilities (such as the /proc/PID/mem file) to hijack currently loaded SSH keys. Such a measure is, however, not effective in AM-1.ORG containers (see below.) Tags: interactive Packages: acl gnupg1 jdupes pinentry-tty Implies: initable Tags: interactive, network Packages: openssh-client Tags: cluster, interactive Packages: dsh Implies: network The following packages are likely to be useful on a system booted on real hardware or in a (para)virtualized environment, but not necessarily in a chroot or a container. We formerly made use of Btrfs, hence the respective packages may be useful where access to the relevant archives may be anticipated. The Nilfs filesystem also sees use on AM-1.ORG systems, mainly for its periodic checkpointing function, although that should be weighted against it being somewhat less tested. We include here the packages which require privileges not generally granted to AM-1.ORG containers, such as those required to run dmsetup(8), mount(8), mtr(8), oping(8), tcpdump(8), etc. We include iputils-ping here alongside oping, although the latter supersedes the former in regular AM-1.ORG usage. For instance, AM-1.ORG containers and chroots are typically meant to run very few, if any, processes under superuser (root, uid 0) privileges, and even those only posess a limited set of capabilities (e. g., mknod syscall is not available.) Moreover, the usual privilege gates, such as setuid (setgid) programs are disabled (via both the no_new_privs bit and by only making available filesystems mounted with the nosuid option.) Together, these measures render programs such as MAKEDEV, mount, mtr and oping meaningless. (For reference, the capabilities available in a typical container are: chown, dac_override, fowner, kill, setgid, setuid, net_bind_service. A live-like container will also have dac_read_search, fsetid and sys_chroot.) Similarly, containers rely on host system clock (which is ought to be properly synchronized), thus need no NTP support themselves. Tags: bootable Packages: initscripts kexec-tools login makedev mount sysvinit-core Implies: initable Tags: bootable, conventional, real Packages: gpsd lxc memtest86 memtest86+ schroot Tags: bootable, conventional, real, amd64 Packages: fdutils Tags: bootable, multiuser Packages: acct and quota quotatool Tags: bootable, network Packages: ifupdown mtr-tiny net-tools netdiag oping Tags: apcupsd Packages: apcupsd Implies: bootable Tags: btrfs-progs Packages: btrfs-progs Implies: bootable Tags: cryptsetup Packages: cryptsetup-bin cryptsetup-initramfs cryptsetup-run Implies: bootable Tags: iputils Packages: iputils-arping iputils-ping Implies: bootable, network Tags: lvm2 Packages: dmsetup lvm2 thin-provisioning-tools Implies: bootable Tags: mdadm Packages: mdadm Implies: bootable Tags: nilfs-tools Packages: nilfs-tools Implies: bootable The following packages facilitate running periodic and deferred tasks. Tags: anacron Packages: anacron Implies: initable Tags: at Packages: at Implies: interactive Tags: bcron Packages: bcron Implies: initable Tags: snooze Packages: snooze Implies: interactive Packages facilitating making space-efficient patches for binary files. Tags: binary-diff Packages: bsdiff xdelta xdelta3 For a live image, support for DHCP IPv4 autoconfiguration may come handy. Tags: udhcpc Packages: udhcpc Implies: bootable, network We may also need to access NFS, iSCSI, Kerberos and (or) LDAP servers. Typically we will use autofs to automatically (un)mount remote filesystems, but for a recovery image it seems superfluous. Tags: autofs Packages: autofs Implies: bootable, network Tags: nfs-client Packages: nfs-common rpcbind Implies: bootable, network Tags: open-iscsi Packages: open-iscsi Implies: bootable, network Tags: heimdal Packages: heimdal-clients Implies: network Tags: ldap Packages: ldap-utils Implies: network When the system is configured to rely on LDAP for its user and perhaps other databases (such as hosts and netgroup; see the getent command documentation), the nscd daemon may improve performance considerably by caching the results of the network queries. Tags: nscd Packages: nscd Implies: initable The following packages may also be useful to have on a live image, as we may also want to use a system started from one as a (perhaps temporary) Ethernet bridge or router. Otherwise, note that a system used to host containers or virtualized environments will often also act as a bridge or a gateway for them. Tags: bridge Packages: bridge-utils ebtables Implies: bootable, network Tags: gateway Packages: ipset iptables iptables-persistent nftables Implies: bootable, network Miscellaneous network-related packages. In particular, aria2 may be used to efficiently transfer large datasets to multiple destinations (thanks to its BitTorrent support), while openbsd-inetd is our preferred way to start tinysshd, which is part of bootable-lite above. (Although tinysshd can alternatively be started via socat.) The iputils-tracepath package provides the tracepath(8) utility similar to mtr(8) and traceroute(8), but which does not rely on superuser privileges, making it suitable for AM-1.ORG containers. Tags: network-extra Packages: aria2 idn idn2 iputils-tracepath lighttpd openbsd-inetd tcpd Implies: network Tags: bootable, network-extra Packages: radvdump While the following packages make the most sense for systems booted on real hardware or in a (para)virtualized environment, note that iproute2 provides a conventional way for the user to query the current network configuration, while tcpdump can be used to analyze prerecorded capture files, and ntp includes the ntpq NTP client. Tags: interactive, network-extra Packages: iproute2 ntp tcpdump We may also need to access IMAP and Whois servers. Please note that Neomutt in Debian Depends: (albeit indirectly) on gnupg | gpg, the first of which adds considerably to the system footprint. To resolve this issue either an alternative mail (and news) user agent is to be used (such as alpine), or a dummy Provides: gpg (or gnupg) package can be installed. Tags: alpine Packages: alpine Implies: conventional, network Tags: conventional, network Packages: libsasl2-modules neomutt Tags: ntlm Packages: cntlm Implies: network Tags: vde2 Packages: vde2 Implies: network Tags: whois Packages: whois Implies: network The following network-related daemons are installed on a case by case basis. They are generally started via init scripts, although we realize that in some specific cases, it may make sense for an (unprivileged) user to run some of them directly. Tags: apache2 Packages: apache2 Implies: initable, network Tags: bind9 Packages: bind9 Implies: initable, network Tags: ejabberd Packages: ejabberd Implies: initable, network Tags: esmtp-run Packages: esmtp-run Implies: initable, network Tags: exim4-daemon-heavy Packages: exim4-daemon-heavy Implies: initable, network Tags: nfs-kernel-server Packages: nfs-kernel-server Implies: bootable, network Tags: ngircd Packages: ngircd Implies: initable, network Tags: radvd Packages: radvd Implies: bootable, network Tags: slapd Packages: slapd Implies: bootable, network Tags: tgt Packages: tgt Implies: bootable, network Tags: tinc Packages: tinc Implies: bootable, network Tags: tor Packages: tor Implies: bootable, network, socks Tags: ulogd2 Packages: ulogd2 ulogd2-pcap Implies: bootable, network Perl-compatible regular expressions occasionally get handy. Given the presence of sqlite3 in base, it does not make sense to omit sqlite3-pcre from here. Tags: pcre Packages: pcregrep sqlite3-pcre A selection of languages beyond those already in base. Note that edbrowse is included here chiefly as a lightweight (even if rather limited) Javascript implementation, in case one is needed. Tags: edbrowse Packages: edbrowse Implies: interactive Tags: languages Packages: duktape jimsh make mawk Tags: tcl8.6 Packages: tcl8.6 Implies: tcl Tags: tk8.6 Packages: tk8.6 Implies: tcl8.6, tk, x11 A selection of additional Perl libraries. Tags: perl Packages: libconvert-base32-perl liblocale-gettext-perl libsys-mmap-perl libterm-readkey-perl libterm-readline-perl-perl libterm-readpassword-perl libtree-rb-perl liburi-perl Tags: perl-extra Packages: libjson-perl libjson-xs-perl libnet-idn-encode-perl libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl Implies: perl Tags: perl, sqlite-extra Packages: libdbd-sqlite3-perl libdbi-perl Sometimes tinysshd may be not enough (for instance, it lacks support for TCP and Unix domain socket forwarding), so we include openssh-server as well. Please note that openssh-server would not ordinarily start in an AM-1.ORG container due to the latter lacking the audit_write capability, which is one of the reasons tinysshd is used in such containers instead. Tags: openssh-server Packages: openssh-server Implies: initable, network For long-term archival storage, AM-1.ORG specifies the use of DVD+R media with the ECMA 119 (ISO 9660) filesystem being preferred. The following packages facilitate making such archives. (For CD-R media, it may make sense to include cdrdao as well.) Tags: cd Packages: cdrdao dvd+rw-tools eject growisofs Tags: ecma-119 Packages: genisoimage makefs xorriso The mandoc package provides a somewhat lighter-weight formatter for the *roff-based man pages documentation. Tags: conventional Packages: mandoc The following packages are somewhat unlikely to get included in smaller live images in order to save space. We do not use *roff for document formatting, and so to avoid a dependency on hence unneeded groff-base we relegate man-db to -extra. Similarly, we generally expect for Texinfo-based documentation to be available in a form readable via lynx, edbrowse, or some other similar software. Tags: conventional-extra Packages: fdisk gdb man-db pinfo popularity-contest Implies: conventional Tags: conventional-extra, amd64 Packages: fakeroot-ng The following packages allow for basic graphics manipulation, which may be of use when recovering images from failed media. Tags: graphics Packages: jpeginfo libjpeg-turbo-progs netpbm pvrg-jpeg To view images on Linux framebuffer we may use fbi, which in turn requires a scalable font, the smallest of which apparently being ttf-bitstream-vera. Tags: graphics, real, ttf Packages: fbi Tags: ttf Packages: ttf-bitstream-vera More comprehensive graphics manipulation, as well as audio editing and playback, is afforded by the following packages. Tags: audio Packages: flac libsox-fmt-ao libsox-fmt-base libsox-fmt-mp3 opus-tools sox speex vorbis-tools xmp Tags: audio, bootable Packages: alsa-utils libsox-fmt-alsa no-dialog Tags: flite Packages: flite Implies: audio Tags: graphics-extra Packages: dcraw exiv2 graphicsmagick libgd-tools ocrad qrencode Implies: graphics Tags: graphics, perl Packages: libimage-size-perl Tags: mpg123 Packages: mpg123 Implies: audio Aside of its intended use to provide an IMAP/TLS service, dovecot-imapd can be used locally as a kind of mail message headers indexer. Together with isync, it provides an efficient way to maintain a local copy of a remote mailbox. Tags: imap Packages: dovecot-imapd isync no-ssl-cert Implies: network Note that the more generic socat tool (already in network) largely supersedes the conventional netcat-openbsd and netcat-traditional packages. Tags: netcat Packages: netcat-openbsd netcat-traditional Implies: network The following packages allow for SOCKS proxies to be used by software which otherwise lacks such a capability. Tags: socks Packages: torsocks tsocks Implies: network Among other things, proj-bin provides utilities that compute Great Circle heading and distance given coordinates of two points on Earth, and vice versa. Tags: geospatial Packages: proj-bin Note that thanks to xvfb, xdotool and wmctrl listed below, a number of X11 applications may allow for essentially non-interactive use. As such, the distinction between x11 and x11, interactive is somewhat arbitrary. Tags: x11 Packages: cpp no-libgl1-mesa-dri no-man-db vtwm wmctrl x11-session-utils x11-utils x11-xfs-utils x11-xkb-utils x11-xserver-utils xauth xbitmaps xdotool xpmutils xtv xutils-dev Tags: x11-server Packages: xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xfonts-terminus xfonts-terminus-oblique xfonts-utils xinit xnest xserver-xephyr xvfb Implies: x11 Tags: vnc, x11-server Packages: tightvncserver Tags: perl, x11 Packages: libx11-protocol-perl Tags: interactive, x11 Packages: pixmap suckless-tools sxiv x11-apps xcolors xdaliclock xosview Implies: graphics Tags: xterm Packages: xterm Implies: interactive, ttf, x11 A selection of window managers for X11. Tags: x11-wm Packages: cwm dwm evilwm herbstluftwm miwm sapphire tinywm w9wm Implies: x11 X server and associated packages. Tags: bootable, x11 Packages: xdm Tags: bootable, x11-server Packages: xserver-xorg-input-evdev xserver-xorg-input-kbd xserver-xorg-input-mouse xserver-xorg-video-fbdev The ctwm window manager is being evaluated as possible replacement over vtwm above. Tags: x11, evaluation Packages: ctwm The jwm window manager unfortunately has too big a footprint as of Debian Buster. Tags: x11, omit Packages: jwm As is the xfig vector graphics editor since Debian Bullseye. Tags: interactive, x11, omit Packages: xfig While suitably lightweight, tgif has issues making it unfit for our tasks. Tags: interactive, x11, omit Packages: tgif The lighter-weight VNC access utility for X11. Tags: vnc Packages: xtightvncviewer Implies: x11 Utilities for accessing video capture devices. Tags: v4l Packages: v4l-utils vgrabbj Qemu emulation software and associated packages. Tags: qemu Packages: qemu-system-arm qemu-system-x86 qemu-user qemu-utils seabios sgabios A number of packages are installed on a case by case basis, and are assigned eponymous tags, mainly so that relationship between these packages and other tags could be declared. Tags: avrdude Packages: avrdude Implies: bootable, real Tags: bsdgames Packages: bsdgames Implies: interactive Tags: debconf-utils Packages: debconf-utils Tags: debsums Packages: debsums Tags: git Packages: git Implies: initable Tags: gpg Packages: gpg gpg-agent Implies: initable Tags: jigdo-file Packages: jigdo-file jigit Implies: interactive Tags: maxima Packages: maxima maxima-doc maxima-share Implies: x11 Tags: ngspice Packages: ngspice Tags: printer-driver-foo2zjs Packages: no-cups-filters no-libcups2 printer-driver-foo2zjs Implies: graphics Tags: sane-utils Packages: sane-utils Tags: tclspice Packages: tclspice Implies: ngspice, tcl Tags: tidy Packages: tidy It does make sense to boot a live system with init=/bin/bash and set the root password explicitly (# passwd) before proceeding (# exec /sbin/init). Nevertheless, sudo is provided as a more conventional way to gain root access. Tags: bootable, conventional Packages: sudo The following packages are mainly useful for systems booted on real hardware. We do not include fbset here as it apparently does not allow for framebuffer mode setting with recent kernels. Tags: bootable, real Packages: beep console-setup flashrom gddrescue gpm haveged hddtemp hdparm kbd keyutils lm-sensors parted pciutils setserial smartmontools statserial usbutils vlock Implies: cryptsetup, lvm2 Tags: bootable, real, omit Packages: fbset The kernel and the utilities to make the respective initramfs. Note that for live images, it is not necessary to include initramfs itself (nor anything else from below boot/, such as the memtest86+ and memtest86 bootable images, or syslinux-common modules, etc.) on the Squashfs image proper. Tags: bootable, linux Packages: initramfs-tools Tags: linux, amd64 Packages: linux-image-5.10.0-9-amd64-unsigned Implies: bootable, linux Tags: linux-lite, amd64 Packages: linux-image-5.10.0-9-cloud-amd64-unsigned Implies: bootable, linux The firmware is only relevant to systems booted on real hardware. Tags: bootable, linux, real Packages: firmware-linux-free The AM-1.ORG systems typically rely on the syslinux bootloader, at least on the amd64 architecture. Tags: syslinux Packages: extlinux isolinux syslinux syslinux-common Implies: amd64 Tags: u-boot-sunxi Packages: u-boot-sunxi Implies: arm64 The following packages make it possible to boot the system from read-only media, overlaid by a tmpfs. Tags: live Packages: live-config live-config-sysvinit live-tools user-setup Implies: initable Tags: live, bootable Packages: live-boot live-boot-initramfs-tools * * * History 2021-11-24 17:27Z (current) Clarify bootable and x11 somewhat; introduce amd64, arm64 and x11-server. (amd64): New category for ltrace, (base): formerly of this category. (perl, tty): New category for libio-stty-perl. (network, buster): New category, replacing network, omit. (interactive): Move gnupg1 here (bootable): from here. (bootable): List the capabilities available in typical and live-like AM-1.ORG containers. (bootable, conventional, real, amd64): New category for fdutils, (bootable, conventional, real): formerly of this category. (conventional-extra, amd64): New category for fakeroot-ng, (conventional-extra): formerly of this category. (flite): New category for flite, implies audio. (x11-server): New category for (x11): X server-related packages, formerly of this category; (bootable, x11) and X fonts, formerly of this category. (vnc, x11-server): New category for tightvncserver. (bootable, x11-server): New category for X server components useful primarily on systems booted on real hardware or in a (para)virtualized environment; (bootable, x11): formerly of this category. (interactive, x11, omit): New category, replacing former interactive, x11, evaluation; contains only tgif for now. (linux, amd64): Update to linux-image-5.10.0-9-amd64-unsigned. (linux-lite, amd64): Update to linux-image-5.10.0-9-cloud-amd64-unsigned. (linux-lite, amd64): New category, replacing former (linux, amd64): New category, replacing former linux-amd64. (linux-lite, amd64): New category, replacing former linux-amd64-lite. (syslinux): Now implies amd64. (u-boot-sunxi): New category for u-boot-sunxi, implies arm64 2021-08-14 17:45:53Z (sfn.A6Jw0SnC7ukSKQLASP90GBKFP45D5sPn_dUnZ0eL1gU.text) (bootable): Moved initscripts here (initable): from here. (imagemagick-6.q16): Removed as a fleji.text duplicate, as well as due to a dependency on libopenjp2-7. (zbar-tools): Moved off to fleji.text due to a dependency on libmagickwand-6.q16-6. (gnuplot-nox): Moved off to fleji.text due to a dependency on libcairo2. (grads): Likewise. 2021-07-31 18:00:28Z (sfn.e4rFKVH2_4JDTtdrfpBMzb-fcaARRXg1a27Xx7KQXGg.text) Provide an example of using ckpacklist.perl to check for missing relevant packages. (evaluation): New category, in this case replacing atf-sh. (tty-extra): Split a paragraph documenting likes of screen. (x11-wm): Added a single-line comment. (bootable, x11): Likewise. (x11, evaluation): New category, replacing former ctwm. (interactive, x11, evaluation): New category, with only tgif as of now. (gpg): New category for gpg and gpg-agent. 2021-07-27 21:25:03Z (sfn.77Mu_9Byy9yGN5aGhpEpYzAWRmYfV94Zrf-cioBQE5s.text) Use omit again in place of FIXME, partially reverting the preceding change. 2021-06-17 19:30:27Z (sfn.zY0Ze_0FU6Yi7ZxEpNJounHCoGW3RZSNpX33V85KlZU.text) Clarifications, wording, tweaks to the lists. Reclassified all lists tagged omit in particular. 2021-06-17 17:17:45Z (sfn.5DDqVZWrdPIwD13HtfiGas1dHi2bHT9A13S40UHUpeM.text) Expanded the introduction; in particular, it now includes the intended filesystem layout. A number of new lists introduced. (tty-extra): Add tty-clock ttyrec ttysnoop; supersedes former (omit, tty): list. 2021-06-16 19:30:06Z (sfn.s9vG6M3UZPrxY6Vl5yx4SWVusEbnDm1MY9NJSWVmccw.text) Initial revision.