1

Я самолюбиво управляю общим сервером Ubuntu для нашей исследовательской группы. Я установил много инструментов для своих нужд, которые, вероятно, могут быть полезны и для других в моей группе.

Как я могу сообщить всем другим пользователям все установленное программное обеспечение? Особенно, когда они впервые входят в систему и всегда сообщают им, где просмотреть список программного обеспечения?

Есть ли какой-либо установленный способ справиться с этим?

Некоторые очевидные подходы имеют нежелательные недостатки:

  1. Просто скажите им вокально: это не хорошо. Список инструментов может быть длинным, и я когда-нибудь закончу.
  2. Оставьте README: Это не идеально, потому что для новых студентов они не будут знать о его существовании. Они могут увидеть README и ошибочно подумать, что это для чего-то другого, и пропустить это.

1 ответ1

2

Когда вы подключаетесь к серверу Ubuntu, вы получаете "Сообщение дня" (MOTD) - и это настраивается.

Ubuntu динамически создает MOTD из набора пронумерованных скриптов в /etc/update-motd.d . Это BASH-скрипты, которые запускаются по порядку, поэтому сначала запускается 00-header , а затем следующий скрипт с числовым именем. Например, в Ubuntu 16.04 эти файлы по умолчанию находятся в /etc/update-motd.d :

  • 00-заголовок
  • 10-помощь-текст
  • 90-обновления-доступные
  • 91-релиз-обновления
  • 97-overlayroot
  • 98-Fsck-на-перезагрузки
  • 98-перезагрузка-требуется
  • 99-ESM

Если вы хотите добавить сообщение между заголовком и текстом справки, создайте скрипт bash в файле с именем 01-custom-message и добавьте ваше сообщение.

Когда ваши пользователи войдут на сервер, они увидят сообщение.

Вот пример сценария, который отображает таблицу инструментов со ссылками:

#!/bin/bash
# save this file as /etc/update-motd.d/01-custom-message

intro="Your Introductory message."
printf "%s\t"

divider===============================
divider=$divider$divider$divider
header="\n %-10s %-40s %-30s\n"
format=" %-10s %-40s %-30s\n"
width=80

printf "\n%s\n" "${intro}"
printf "$header" "TOOL" "DESCRIPTION" "URL"

printf "%${width}s\n" "$divider"

printf "$format" \
    "Tool1" "This tool is used for x." "https://example.com/tool1"\
    "Tool2" "This tool is used for y." "https://example.com/tool2"\
    "Tool1" "This tool is used for z." "https://example.com/tool3"

В качестве альтернативы вы можете создать на сервере справочную страницу в формате HTML и оставить ссылку на нее (со ссылкой) в сообщении MOTD.

Из страниц Ubuntu:

Фрагменты MOTD должны быть скриптами в /etc/update-motd.d, должны быть исполняемыми и выдавать информацию о стандарте out.

Сценарии должны быть названы с именем NN-xxxxxx, где NN - это двузначное число, обозначающее их положение в MOTD, а xxxxxx - подходящее имя для сценария.

Скрипты не должны иметь расширений файлов, в соответствии с инструкциями run-parts(8) --lsbsysinit.

Пакеты должны добавлять сценарии непосредственно в /etc/update-motd.d, а не символические ссылки на другие сценарии, чтобы администраторы могли изменять или удалять эти сценарии, а обновления не будут удалять локальные изменения. Подумайте об использовании простого сценария оболочки, который просто вызывает exec для внешней утилиты.

http://manpages.ubuntu.com/manpages/trusty/man5/update-motd.5.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .