GNU/Linux >> Belajar Linux >  >> Linux

Cara mengatur /etc/issues untuk menampilkan alamat IP untuk eth0

Solusi 1:

Di CentOS 7 dan Debian 8 (dan mungkin juga yang lain), cukup tambahkan baris berikut ke /etc/issue

My IP address: \4

dan itu akan menyelesaikan ke alamat IPv4 mesin. Jika Anda memiliki beberapa antarmuka jaringan dan ingin memilih satu antarmuka tertentu, Anda dapat menentukannya dengan

My IP address: \4{eth0}

Periksa man getty untuk daftar escape sequence yang didukung pada distribusi Anda.

Solusi 2:

Itu hanya file teks ... Anda menulisnya dengan cara yang sama seperti Anda mengirim teks ke file dengan skrip shell lainnya. Sesuatu seperti ini akan menggantikan /etc/issue hanya dengan alamat ip Anda:

ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d: > /etc/issue

Jelas Anda dapat membuat ini menjadi lebih kompleks, tergantung pada informasi apa yang Anda inginkan dalam /etc/issue Anda berkas.

Anda dapat menulis ke file ini di lokal Anda yang setara dengan /etc/rc.d/rc.local (yang biasanya dijalankan setelah semua skrip startup lainnya).

Solusi 3:

Skrip ini akan menambah/menghapus alamat IP ke/dari /etc/issue file sesuai kebutuhan:

#!/bin/sh
PREFIX="Local IP addresses:"
IPADDRS=$(hostname -I | tr " " "\n" | grep -v "^$" | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tr "\n" " ")

perl -i -p -0777 -e "s/^$PREFIX[^\n]*\n\n//m; s/$/\n$PREFIX $IPADDRS\n/ if length('$IPADDRS')>6" /etc/issue

Jika Anda menggunakan distro berbasis Debian, sebaiknya tempatkan skrip di lokasi berikut:

/etc/network/if-up.d/update-issue
/etc/network/if-post-down.d/update-issue

Dengan cara ini skrip dieksekusi setiap kali antarmuka muncul atau turun. Menempatkannya di /etc/rc.d/rc.local memiliki kerugian karena hanya dieksekusi satu kali selama boot.

Solusi 4:

Anda bisa menulisnya sekali. sayangnya tidak ada urutan escape getty untuk menampilkan alamat ip eth0 tetapi ada urutan escape yang dapat Anda gunakan di /etc/issue untuk menampilkan nama host:\n

Anda selalu dapat mengatur ip mesin secara statis di /etc/issue dengan menuliskannya langsung ke dalam file. berhati-hatilah karena file /etc/issue.net digunakan untuk login jarak jauh sehingga Anda mungkin ingin mengeditnya juga.

bagaimanapun, setelah bekerja di jendela terminal Anda akan kehilangan layar awal dan informasi alamat ip/host dengannya. cara terbaik adalah mengatur nama host di prompt (kebanyakan distro linux melakukannya) menggunakan \h atau \H atau lagi, secara statis mengatur alamat ip yang Anda tahu diatur pada host di variabel PS1Anda dapat mengatur variabel PS1 di /etc/profile di sebagian besar distro linux.

Solusi 5:

Systemd membuat ini relatif mudah. systemctl edit [email protected] dengan konten seperti:

[Service]
ExecStartPre=-/bin/bash -c '[ ! -f /etc/.issue.orig ] && cp /etc/issue /etc/.issue.orig; int=`ls /sys/class/net|grep enp|head -1`; sed -r "s/\\\\\\n/[\\\\\\4\{$$int\}]/" < /etc/.issue.orig > /etc/issue'

Lalu systemctl daemon-reload && systemctl restart [email protected]


Linux
  1. perintah grpck – Hapus entri yang rusak atau duplikat di file /etc/group dan /etc/gshadow.

  2. ubah prompt login atau header (/etc/issue) untuk menampilkan alamat ip mesin

  3. Apa hubungan antara direktori /etc/init.d dan /etc/rcX.d di Linux?

  1. Bagaimana /etc/motd Diperbarui?

  2. Bagaimana saya bisa mengembalikan chmod pada direktori dll?

  3. Haruskah situs web berada di /var/ atau /usr/ sesuai dengan penggunaan yang disarankan?

  1. CentOS / RHEL :Cara Memulihkan dari file /etc/passwd yang dihapus

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. /etc/passwd menampilkan pengguna dalam grup, tetapi /etc/group tidak