Я смог сделать в Ubuntu, отредактировав файл:
/etc/rc.local
и добавить:
IP=$(/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
echo "IP: $IP" > /etc/issue
В Arch этот файл не существует "/etc/rc.local", и после некоторого поиска я обнаружил, что должен создать этот файл:
/etc/systemd/system/rc-local.service
Содержание:
[Unit]
Description=/etc/rc.local compatibility
[Service]
Type=oneshot
ExecStart=/etc/rc.local
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
Затем создайте "/etc/rc.local".
Содержание:
IP=$(/sbin/ip route get 1 | awk '{print $NF;exit}')
echo "IP: $IP" > /etc/issue
exit 0
Затем сделайте его исполняемым:
sudo chmod +x /etc/rc.local
И, наконец, начать / проверить:
sudo systemctl start rc-local.service
Получение ошибки:
Job for rc-local.service failed because the control process exited with error code.
See "systemctl status rc-local.service" and "journalctl -xe" for details.
Вывод systemctl status rc-local.service
:
* rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2016-06-10 02:52:17 AST; 1min 59s ago
Process: 760 ExecStart=/etc/rc.local (code=exited, status=203/EXEC)
Jun 10 02:52:17 maro systemd[1]: Starting /etc/rc.local Compatibility...
Jun 10 02:52:17 maro systemd[1]: rc-local.service: Control process exited, code=exited status=203
Jun 10 02:52:17 maro systemd[1]: Failed to start /etc/rc.local Compatibility.
Jun 10 02:52:17 maro systemd[1]: rc-local.service: Unit entered failed state.
Jun 10 02:52:17 maro systemd[1]: rc-local.service: Failed with result 'exit-code'.
Выходные данные journalctl -xe
:
-- Unit rc-local.service has begun starting up.
Jun 10 02:52:17 maro systemd[760]: rc-local.service: Failed at step EXEC spawning /etc/rc.local: Exec format error
-- Subject: Process /etc/rc.local could not be executed
-- Defined-By: systemd
Обновить:
- Добавлено
#!/bin/bash
в/etc/rc.local
sudo systemctl daemon-reload
sudo systemctl start rc-local.service
- Теперь я не получаю никаких ошибок! но:
sudo systemctl status rc-local.service
Вывод:rc-local.service - /etc/rc.local Compatibility Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: disabled) Active: inactive (dead) since Fri 2016-06-10 13:13:04 AST; 3s ago Process: 488 ExecStart=/etc/rc.local (code=exited, status=0/SUCCESS)
Jun 10 13:13:04 maro systemd[1]: Starting /etc/rc.local Compatibility... Jun 10 13:13:04 maro systemd[1]: Started /etc/rc.local Compatibility.
Пытался перезагрузиться и перед входом в систему пишет:
rtnetlink answers network is unreachable
На экране входа в систему: отображается «IP:» только без указания IP-адреса устройства. Например, после входа в систему и проверки связи с Google, интернет работает без проблем, и машина доступна через локальную сеть.
sudo env -i /etc/rc.local
= Нет данныхip route get 1 | awk '{print $NF;exit}'
который используется в/etc/rc.local
= 192.168.0.103
Вывод nav
:
XDG_SESSION_ID=c2
TERM=xterm
SHELL=/bin/bash
SSH_CLIENT=192.168.0.100 64436 22
SSH_TTY=/dev/pts/0
USER=maro
MAIL=/var/spool/mail/maro
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
PWD=/home/maro
LANG=C
SHLVL=1
HOME=/home/maro
LOGNAME=maro
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
SSH_CONNECTION=192.168.0.100 64436 192.168.0.103 22
XDG_RUNTIME_DIR=/run/user/1000
_=/usr/bin/env
Отредактировано /etc/systemd/system/rc-local.service
: удалены четыре параметра после ExecStart.
Я также попытался изменить: Type=forking
Статус все еще говорит: Active: inactive (dead)