# Последовательность взята отсюда: https://linuxhint.com/use-rc-local-on-ubuntu/
user@cot4: sudo ls -l /etc # Убеждаемся, что файл /etc/rc.local изначально ОТСУТСТВУЕТ
user@cot4:~$ sudo nano /etc/rc.local # Воссоздаём этот файл
Набираем в него примерно следующее СОДЕРЖИМОЕ:
#!/bin/bash
#
# My handmade (by vas_vic). Рукоделье то есть:
/Laba_help/FIRST_LIN.2/first_client.sh 1
#
exit 0 # Сообщем, что файл завершён без заполнения кодов ошибок
# Узнаём, объявлен ли данный файл системным процессом:
user@cot4:~$ sudo systemctl status rc-local
# Отклик ПОЛНО:
* rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static)
Drop-In: /usr/lib/systemd/system/rc-local.service.d
`-debian.conf
Active: inactive (dead)
Docs: man:systemd-rc-local-generator(8)
# Тот же отклик КРАТКО:
Active: inactive (dead)
# То есть воссоздать файл не достаточно, чтобы Операционная Система его начала обрабатывать.
# Пытаемся этот файл без создания предварительного файла конфигурации объявить
системным процессом:
user@cot4:~$ sudo systemctl enable rc-local
# Отклик: СООБЩЕНИЕ ОБ ОШИБКЕ команды systemctl enable
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
* A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
* A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
* A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
* In case of template units, the unit is meant to be enabled with some
instance name specified.
# Вручную создаём конфигурационный файл для процесса:
user@cot4:~$ sudo nano /etc/systemd/system/rc-local.service
# С например таким СОДЕРЖИМЫМ:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
# Не забыть сам автозапускной файл /etc/rc.local сделать исполнимым:
user@cot4:~$ sudo chmod +x /etc/rc.local
user@cot4:~$ : sudo ls -l /etc # Убеждаемся, что файл /etc/rc.local
получил права на исполнение
# Объявляем этот файл системным процессом:
user@cot4:~$ sudo systemctl enable rc-local
# НОРМАЛЬНЫЙ ОТКЛИК команды systemctl enable
Created symlink /etc/systemd/system/multi-user.target.wants/rc-local.service -> /etc/systemd/system/rc-local.service.
# Запускаем созданный системный процесс:
user@cot4:~$ sudo systemctl start rc-local.service
# НОРМАЛЬНЫЙ ОТКЛИК команды systemctl start
# БЕЗ сообщений об ошибках, предположительно НОРМА
# Убеждаемся в статусе это системного процесса:
user@cot4:~$ sudo systemctl status rc-local.service
# Отклик ПОЛНО:
* rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
Drop-In: /usr/lib/systemd/system/rc-local.service.d
`-debian.conf
Active: active (exited) since Sun 2024-02-04 18:46:06 UTC; 2min 18s ago
Process: 10000 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
CPU: 2.910s
<D1><84><D0><B5><D0><B2> 04 18:45:56 cot4 systemd[1]: Starting /etc/rc.local Compatibility...
<D1><84><D0><B5><D0><B2> 04 18:45:56 cot4 rc.local[10001]: <D0><9F><D1><80><D0><BE><D0><B3><D1><80><D0><B0><D0><BC><D0><BC><D0><B0> /Laba_hel>
<D1><84><D0><B5><D0><B2> 04 18:45:58 cot4 rc.local[10049]: Unable to apply some actions, aborting
<D1><84><D0><B5><D0><B2> 04 18:46:06 cot4 systemd[1]: Started /etc/rc.local Compatibility.
# Отклик КРАТКО:
Active: active (exited)
Ура!!!