[systemd-devel] Unit file for motd (message of the day) (was: Trying systemd with Debian Sid/unstable on ASRock E350M1 with Crucial m4 SSD)

Kay Sievers kay at vrfy.org
Sun Jun 10 07:38:00 PDT 2012


On Sun, Jun 10, 2012 at 2:40 PM, Paul Menzel
<paulepanter at users.sourceforge.net> wrote:
> Dear systemd folks,
>
>
> Am Dienstag, den 22.05.2012, 11:06 +0200 schrieb Paul Menzel:
>
> […]
>
>> 4. All units take less than a second to start.
>>
>>         $ systemd-analyze blame
>>            948ms avahi-daemon.service
>>            729ms postfix.service
>>            656ms rsyslog.service
>>            632ms systemd-logind.service
>>            559ms console-kit-log-system-start.service
>>            523ms bootlogs.service
>
> […]
>
> in Debian the init.d script bootlogs was split up and a separate init.d
> script `motd` was created [1].
>
>        sysvinit (2.88dsf-24) experimental; urgency=low
>
>          [ Roger Leigh ]
>          * initscripts:
>            - Don't generate or touch /etc/motd.  Instead, the dynamic part of
>              /etc/motd is created as /run/motd.dynamic, leaving /etc/motd
>              entirely under the control of the system administrator.  If
>              /etc/motd is a symlink to /run/motd, /etc/motd.tail is moved
>              back to /etc/motd.  Closes: #353229, #624391, #668307.  /etc/motd
>              is not removed if initscripts is purged, since it's not owned by
>              initscripts.
>            - By default, /run/motd is just the output of uname, preserving the
>              existing behaviour.  However, should the administrator wish to
>              include dynamic information in the motd, they may write scripts
>              to update /run/motd.dynamic as they please.  Closes: #437176.
>            - motd generation is split from bootlogs into a separate motd
>              init script.
>            - bootlogs init script has been removed; current logging daemons
>              handle this themselves, making this script redundant.
>            - tmpfs mounts are never cleaned by bootclean.sh.  Cleaning /run
>              can lead to nonfunctional input when Xorg starts.  Closes: #669949.
>          * sysvinit-utils:
>            - Suggest rather than Recommend bootlogd.
>
> `systemd-analyze blame` shows that the init.d script `motd` still takes
> quite a lot of time.
>
>   363ms motd.service
>
> There is not much going on in that script.
>
>        #!/bin/sh
>        ### BEGIN INIT INFO
>        # Provides:          motd
>        # Required-Start:    hostname $local_fs
>        # Required-Stop:
>        # Should-Start:
>        # Default-Start:     1 2 3 4 5
>        # Default-Stop:
>        # Short-Description: Create dynamic part of /etc/motd
>        # Description:       /etc/motd is user-editable and static.  This script
>        #                    creates the initial dynamic part, by default the
>        #                    output of uname, and stores it in /var/run/motd.dynamic.
>        #                    Both parts are output by pam_motd.
>        ### END INIT INFO
>
>        PATH=/sbin:/usr/sbin:/bin:/usr/bin
>        . /lib/init/vars.sh
>
>        do_start () {
>                # Update motd
>                uname -snrvm > /var/run/motd.dynamic
>        }
>
>        do_status () {
>                if [ -f /var/run/motd.dynamic ] ; then
>                        return 0
>                else
>                        return 4
>                fi
>        }
>
>        case "$1" in
>          start|"")
>                do_start
>                ;;
>          restart|reload|force-reload)
>                echo "Error: argument '$1' not supported" >&2
>                exit 3
>                ;;
>          stop)
>                # No-op
>                ;;
>          status)
>                do_status
>                exit $?
>                ;;
>          *)
>                echo "Usage: bootlogs [start|stop|status]" >&2
>                exit 3
>                ;;
>        esac
>
>        :
>
> So is systemd’s conversion of that init.d script to a unit file take so
> long? Can someone point me to a unit/service file for motd so that I can
> compare it? Unfortunately I could not find one on the net when searching
> for »fedora systemd motd service file«.

In Fedora motd is just plain left to login(1), or pam_motd if people want that.

Making motd a service, a systemd entity of any kind, or init script is
unlikely a common interest. :)

Kay


More information about the systemd-devel mailing list