ETH0 এর আইপি ঠিকানাটি প্রদর্শন করতে কীভাবে সেটআপ / ইত্যাদি / ইস্যু


12

ব্রিজযুক্ত ইন্টারফেস সহ আমি বেশ কয়েকটি লিনাক্স ভার্চুয়াল মেশিন পেয়েছি এবং মেশিনের আইপি ঠিকানাটি মেশিন বুটের পরে প্রদর্শিত হবে (লগইনে, এটি সাধারণত প্রকাশ এবং কার্নেল প্রদর্শন করে)।

আমি কী বলতে পারি তা থেকে / ইত্যাদি / ইস্যু থেকে বার্তাটি নেওয়া হয়েছে তবে কীভাবে এবং কখন এটি লিখতে হবে তা আমি নিশ্চিত নই।


আরে ব্রুনো আপনি কি পাবলোকে গৃহীত উত্তর পরিবর্তন করতে পারবেন? তার উত্তর সত্যিই দুর্দান্ত। এর জন্য ডকুমেন্টেশন সন্ধান করা খুব শক্ত এবং তার উত্তর খুব সম্পূর্ণ।
পিটার সেন্না

উত্তর:


13

এটি কেবল একটি পাঠ্য ফাইল ... আপনি যেভাবে অন্য কোনও শেল স্ক্রিপ্টের সাহায্যে কোনও ফাইলে পাঠাতে পাঠাতে চান ঠিক তেমনভাবে এটি লিখতে পারেন। এর মতো কিছু কেবল আপনার আইপি ঠিকানার সাথে / ইত্যাদি / ইস্যুকে প্রতিস্থাপন করবে:

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

আপনার /etc/issueফাইলে আপনি কী তথ্য চান তার উপর নির্ভর করে আপনি এটিকে নির্বিচারে আরও জটিল করে তুলতে পারেন ।

আপনি এই ফাইলটি আপনার স্থানীয় সমতুল্য /etc/rc.d/rc.local- এ লিখতে পারেন (যা সাধারণত অন্য সমস্ত প্রারম্ভিক স্ক্রিপ্টগুলির পরে কার্যকর হয়)।


5
আরও কিছুটা লিনাক্সি বলতেip address show eth0 | awk '/inet / {print $2}' | cut -d/ -f1
সোর্পিগাল

আমি নিশ্চিত না যে কীভাবে এটি আরও হালকা, তবে হ্যাঁ, এটিও কার্যকর works
লার্স্ক

1
@ আলার্কস: এটি আরও লিনাক্সি কারণ লিনাক্সে ipএই সরঞ্জামটি আপনি এই ধরণের জিনিসটির জন্য ব্যবহার করার কথা। ifconfigপ্রযুক্তিগতভাবে কেবল সামঞ্জস্যের জন্য।
Sorpigal

34

উপর সেন্টওএস 7 এবং ডেবিয়ান 8 (এবং হয়ত অন্য পাশাপাশি), শুধু নিম্নলিখিত পংক্তির শেষে/etc/issue

My IP address: \4

এবং এটি মেশিনের আইপিভি 4 ঠিকানার সমাধান করবে। আপনার যদি একাধিক নেটওয়ার্ক ইন্টারফেস থাকে এবং আপনি একটি নির্দিষ্ট বাছাই করতে চান তবে আপনি এটি দিয়ে উল্লেখ করতে পারেন

My IP address: \4{eth0}

man gettyআপনার বিতরণে সমর্থিত পালানোর ক্রমের তালিকার জন্য পরীক্ষা করুন list


CentOS 8 :) এও কাজ করে
Orsiris de Jong

এটি আমার সেন্টোস 7 ভিএম-তে পুরোপুরি কাজ করেছে।
কেভিন ম্যাসন

6

এই স্ক্রিপ্টটি /etc/issueপ্রয়োজন অনুসারে ফাইল থেকে / আইপি ঠিকানাগুলি যুক্ত / সরিয়ে দেবে :

#!/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

আপনি যদি কোনও ডেবিয়ান-ভিত্তিক ডিস্ট্রো ব্যবহার করে থাকেন তবে এই অবস্থানগুলিতে স্ক্রিপ্টটি রাখা ভাল:

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

এই ইন্টারফেসটি আসে বা নীচে যায় ততবার স্ক্রিপ্টগুলি কার্যকর করা হয়। এটি /etc/rc.d/rc.localস্থাপনের ফলে মৌমাছি তৈরির অসুবিধা কেবল বুটআপের সময় এক সময় কার্যকর হয়।


3
যে কেউ অনুসন্ধান করছে, রেড হ্যাট / সেন্টোস / ইত্যাদিতে এই স্ক্রিপ্টটি হবে /sbin/if{up,down}-local। (যদি এটি বিদ্যমান থাকে তবে এটি কল করে called /etc/sysconfig/network-scripts/ip{up,down}-post)
অ্যারন কপলি

@ পাউপাও: "লোকাল আইপি অ্যাড্রেস" কেন? --all-ip-addressesআউটপুটগুলি "সার্বজনীন" আইপি ঠিকানাও। হতে পারে "এই হোস্টের সমস্ত বাহ্যিক ইন্টারফেসের আইপি ঠিকানা:" এর মতো কিছু আরও বুদ্ধিমান করে।
ইপিড

4

আপনি একবার এটি লিখতে পারেন। দুর্ভাগ্যক্রমে এথ0 এর আইপি ঠিকানাটি দেখানোর জন্য কোনও গেটে পালানোর ক্রম নেই তবে হোস্টনামটি দেখানোর জন্য আপনি / ইত্যাদি / ইস্যুতে ব্যবহার করতে পারেন এমন একটি পালানোর ক্রম রয়েছে: \ n

আপনি সরাসরি ফাইলটিতে লিখিতভাবে মেশিনের আইপি সেট করতে পারেন / ইত্যাদি / ইস্যুতে always সাবধান হোন যে ফাইল /etc/issue.net দূরবর্তী লগইনগুলির জন্য ব্যবহৃত হয় যাতে আপনি এটিও সম্পাদনা করতে চাইতে পারেন।

যাইহোক, টার্মিনাল উইন্ডোতে কাজ করার পরে আপনি প্রাথমিক পর্দা এবং এটি দিয়ে আইপি / হোস্ট ঠিকানা তথ্য আলগা করবেন। সেরা উপায় হ'ল name h বা \ H ব্যবহার করে প্রম্পটে হোস্টনাম সেট করা (বেশিরভাগ লিনাক্স ডিস্ট্রোস ডু) বা আবার, স্থায়ীভাবে আপনার জানা আইপি ঠিকানাটি PS1 ভেরিয়েবলটিতে হোস্টে সেট করা থাকে আপনি PS1 ভেরিয়েবলটি / etc / এ সেট করতে পারেন বেশিরভাগ লিনাক্স ডিস্ট্রোজে প্রোফাইল।


1
ভিএমএম বুট করার পরে আইপি কী সংযোগ করতে হবে তা কেবল এটিই জানতে পারি, সুতরাং লারস্ক হিসাবে এটি সেট আপ করা যথেষ্ট :)
ব্রুনো লোপস

1

শুরু করার জন্য @ অ্যালারসকে অনেক ধন্যবাদ। আমি দেখতে পেয়েছি যে স্ক্রিপ্টটি প্রয়োজন হওয়ার আগেই শেষ হওয়ার আগে আমার সমস্যা হয়েছিল তাই আমার ইস্যু ফাইলটি সর্বদা ফাঁকা থাকে। তাই আমি 1 সেকেন্ড বিরতি দিয়ে লুপ করেছি। আমি আসলে বাশ স্ক্রিপ্টর নই, সুতরাং এটি করার আরও ভাল উপায় যদি থাকে তবে আমাকে জানান। COUNTএটি চিরতরে লুপ না হয়ে যায় তা নিশ্চিত করার জন্য আমি একটি যুক্ত করেছি ।

#!/bin/sh

COUNT=1

while [ $COUNT -lt 10 ]
do
  echo $COUNT

  COUNT=$((COUNT + 1))
  IP=`ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d: `
  if [ -n "$IP" ]; then
    break
  fi 
  sleep 1
done


echo "IP: " $IP | cat > /etc/issue

আমি এই স্ক্রিপ্টটি ভিতরে রেখেছি /etc/network/if-up.d/


1

সিস্টেমড এটিকে তুলনামূলকভাবে সহজ করে তোলে। systemctl edit getty@মত সামগ্রী সহ:

[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'

তারপর systemctl daemon-reload && systemctl restart getty@tty1


0

উবুন্টু 19.04 ব্যবহার করে এমন যে কেউ এখানে অবতরণ করছেন, আমি @ পাওয়ারের উত্তরটি গ্রহণ করে শেষ করেছি।

আমি ফাইলটি তৈরি করেছি: /etc/network/if-up.d/update-issueনিম্নলিখিত সামগ্রীগুলি সহ:

#!/bin/sh
PREFIX="Ubuntu 19.04 - dev"
IPADDRS=$(hostname -I | tr " " "\n" | grep -v "^$" | sort -t . -k 1,1n | head -1 | tr "\n" " ")
echo "$PREFIX\n\nIP: $IPADDRS\n" > /etc/issue

আমি তখন ফাইলটিকে নির্বাহযোগ্য হিসাবে চিহ্নিত করেছি: chmod 0755 /etc/network/if-up.d/update-issue

দুর্দান্ত কাজ!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.