Last active 1765299533

Генерируем /etc/issue

1.md Raw

Запускаем crontab -e под рутом и пишем в него

@reboot /root/update-issue.sh
2.md Raw

Пишем в файл /root/update-issue.sh :


!/bin/bash

# Получаем локальный IP адрес (исключая localhost)
LOCAL_IP=$(ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1)

# Если не удалось получить IP, используем "не доступен"
[ -z "$LOCAL_IP" ] && LOCAL_IP="не доступен"

# Временный файл
TEMP_FILE=$(mktemp)

# Проверяем, существует ли уже строка с Local IP
if grep -q "^Local IP:" /etc/issue; then
    # Обновляем существующую строку
    sed -r "s/^Local IP:.*$/Local IP: $LOCAL_IP/" /etc/issue > "$TEMP_FILE"
else
    # Копируем файл и добавляем новую строку
    cp /etc/issue "$TEMP_FILE"
    echo "Local IP: $LOCAL_IP" >> "$TEMP_FILE"
fi

# Заменяем оригинальный файл
cp "$TEMP_FILE" /etc/issue
rm -f "$TEMP_FILE"

3.md Raw

Пишем в файл /etc/issue

Debian GNU/Linux 12 \n \l

Local IP: 192.168.111.114

(да, пустая строка в конце - важно!)

4.md Raw

В актуальной Альпине Не работает

ip -4 addr show | grep -oP '(?<=inet\s)\d+\.\d+\.\d+\.\d+' | grep -v '^127\.' | head -n 1

Заменяем на:

/sbin/ip addr show | awk '$1 == "inet" {gsub(/\/.*$/, "", $2); print $2}' | egrep -v "127.0.0.1" | xargs

Не работает

uptime -p

Заменяем на

awk '{a=$1/86400;b=($1%86400)/3600;c=($1%3600)/60} {printf("%d days, %d hour %d min\n",a,b,c)}' /proc/uptime