ডোমেন নামের সাথে কীভাবে হোস্টনেম পাবেন?


18

ইউনিক্সে (সোলারিস) এমন কোনও কমান্ড রয়েছে যা হোস্টনাম এবং ডোমেন নাম একসাথে ফেরত দেয়?

এই ক্ষেত্রে:

hostname -> servername
domainname -> us.xyz.com

আমার দরকার : servername.us.xyz.com


2
না printf "%s" "$(hostname) $(domainname)"কাজ না?
জেসনওয়ারিয়ান

"হোস্ট-নেম -f" ব্যবহার করার চেষ্টা করুন যা যথেষ্ট হবে আশা করি
অভিষেক কুমার শ্রীবাস্তব

উত্তর:


14

আপনার ডোমেনটি resolv.conf এ সঠিকভাবে সেট করা থাকলে এটি কাজ করবে। আপনার এনআইএস ডোমেন নামটি যদি আপনার ডিএনএস ডোমেনের মতো হয় তবে আপনি অন্যরা যে ডোমেইননামটি উল্লেখ করেছেন তাও ব্যবহার করতে পারেন।

echo `uname -n`.`awk '/^domain/ {print $2}' /etc/resolv.conf`

13

আদেশ

hostname --fqdn (or -f)

আপনি যখন যা চান তা আমার সিস্টেমে যেহেতু (none)আমি চালিত করি তখনই তা করতে পারেdomainname


8
hostname(1)সোলারিস 10 এর জন্য ম্যানপেজ অনুযায়ী (সান 4 ভি) এবং আমি যে পুরানো সংস্করণটি ব্যবহার করেছি --fqdnতা উপলভ্য নয়। এটি কেবল হোস্টনামটি এতে সেট করার চেষ্টা করে --fqdn। আপনি যদি এটি সুরক্ষার জন্য অ-সুপারিউজার হিসাবে চালনা করেন তবে এটি বলে 'আনম: নাম নির্ধারণে ত্রুটি: মালিক নয়' says এটি অবশ্যই স্টোর সোলারিস hostname। পোস্টারটি তাদের জিএনইউ সরঞ্জামসেট ইনস্টল করা আছে কিনা তা নির্দেশ করে না।
অ্যালেক্সিয়াস

5

এই একজন আমাকে বছরের পর বছর ধরে বগল করছে। আমি কেবল এটি বলে চারপাশে কাজ করি

$(hostname).$(domainname)

আপনি শেল ফাংশন বা ওরফে সংজ্ঞা দিতে পারেন:

fqdn () {
    echo $(hostname).$(domainname)
}

4
domainnnameআপনি যদি এনআইএস চালাচ্ছেন তবে প্রকৃতপক্ষে আপনার এনআইএস ডোমেনটির প্রতিবেদন করে। এটি অগত্যা আপনার ডিএনএস ডোমেন নামের মতো নয়।
ম্যাগেলান

না, তা নয়। তবে যেহেতু আমি এনআইএস এর ইয়েলো পেজ ছিল সেহেতু এনআইএসকে এড়িয়ে চলতে / এড়াতে পেরেছি, আমি কখনই তা জানতাম না। :) তাই হয় সেখানে যদি NIS এক ভিন্ন ডোমেইন নাম পেতে একটি নির্ভরযোগ্য উপায়?
অ্যালেক্সিয়স

আপনার আশীর্বাদ বোধ করা উচিত যে আপনি এনআইএসকে এড়িয়ে গেছেন। এটা বিরক্তিকর. এমনকি মোজিলা থান্ডারবার্ড দল এটিকে আরও খারাপ করে দিয়েছে যেহেতু তারা 2.0 তে ডিফল্ট জবাব দেওয়ার জন্য 'ডোমেন নেম' আউটপুটটির উপর নির্ভর করে। প্রকৃত ডোমেন নেমের জন্য, আমি ব্যবহার করিhostname --fqdn | cut -d. -f2-4
ম্যাগেলান

1
এটি লিনাক্সে ভাল কাজ করে। কমপক্ষে 10 অবধি সোলারিতে হোস্টনামটি '--fqdn' এ hostname --fqdn সেট করে, এটি সম্ভবত একটি খারাপ ধারণা (তাই এটি চেষ্টা করে দেখুন আপনি রুট নন তা নিশ্চিত করুন)। :) --fqdnসোলারিস 11 এ সমর্থিত?
অ্যালেক্সিয়াস

1
Oy! অজান্তে হোস্টনেম সেট করা ব্যথা হতে পারে এবং ওপি সোলারিস বলেছিল। ধন্যবাদ!
ম্যাগেলান

4

চেক-হোস্টনাম | awk '{মুদ্রণ $ NF}'


2
অ-বিশেষজ্ঞদের জন্য কিছুটা ব্যাখ্যা করুন।
ভনব্র্যান্ড

সংক্ষিপ্তসার / usr / sbin / চেক-হোস্টনামের বিবরণ চেক-হোস্টনাম স্ক্রিপ্টটি সেন্ডমেল (1 এম) এর জন্য স্থানান্তর সহায়তা aid এই স্ক্রিপ্টটি স্থানীয় হোস্টের সম্পূর্ণ-যোগ্য হোস্টের নাম (এফকিউএইচএন) প্রেরণমেলের (1 এম) এর অনুরূপভাবে নির্ধারণ করার চেষ্টা করে। যদি চেক-হোস্টনাম স্থানীয় হোস্টের এফকিউএইচএন নির্ধারণ করতে সক্ষম হয় তবে এটি সাফল্যের খবর দেয়। অন্যথায়, চেক-হোস্টনামটি কীভাবে সিস্টেমটিকে পুনরায় কনফিগার করতে হবে যাতে FQHN সঠিকভাবে নির্ধারণ করা যায়।
ইলগম্বি

/ usr / sbin / চেক-হোস্টনাম FQDN, যদি এটি সংজ্ঞায়িত করা হয়, সোলারিস সিস্টেমে রিপোর্ট করবে। আউটপুটটিকে বিশৃঙ্খলভাবে ছাঁটাই করা এবং মুদ্রণ $ এনএফ ব্যবহার করে কেবল চেক-হোস্টনাম থেকে আউটপুটের শেষ ক্ষেত্রের প্রতিবেদন করা হয়, এটি এফকিউডিএন। আপনার কাছে পুরোপুরি যোগ্যতাসম্পন্ন ডোমেন নাম আছে ধরে নিয়ে, কমান্ড লাইন থেকে এই তথ্যটি গ্রহণ করা সম্পর্কে আমি সবচেয়ে সচেতন পদ্ধতি। যদি তা না হয় তবে এটি কাজ করবে না, তবে আমি এটি দেখানোর প্রয়োজন বোধ করি নি, যেমন হোস্টনামটি আপনার কাছে রয়েছে। আপনি যদি সোলারিস ব্যবহার না করেন তবে এটি কোনও কাজ করবে না, তবে ক্যোয়ারীটি সোলারিসের জন্য পরিচালিত হয়েছিল।
ইলগম্বি

গুরুতরভাবে, আমি বুঝতে পারি না এটি কীভাবে প্রশ্নের উত্তর দেয় না, যা ছিল: "ইউনিক্সে (সোলারিস) এমন কোনও আদেশ আছে যা হোস্টনেম এবং ডোমেনের নাম একসাথে ফিরিয়ে দেয়?" উত্তরটি "হ্যাঁ" আছে, এবং সেই আদেশটি হ'ল: চেক-হোস্টনাম | awk '{মুদ্রণ $ NF}'
ইলগম্বি

3
আসল উত্তরটি আপনার মন্তব্যে রয়েছে। অল্প (বা আপনার ক্ষেত্রে কোনওটিই নয়) ব্যাখ্যা সহ একটি-লাইন কমান্ড প্রদান করা এই ওয়েবসাইটটির মতো উত্তর নয় answer
রাহমু

2

আমি জানি এটি একটি পুরানো থ্রেড তবে আমার কোনও স্ক্রিপ্টে হোস্টনাম এবং ডোমেন নাম আলাদাভাবে টানতে হবে।

চেক-হোস্ট-নেম ব্যবহারের বিষয়ে ইলগাম্বির প্রতিক্রিয়া এমন কিছু যা আমি আগে কখনও দেখিনি তাই আমি এটি আমার প্রয়োজনের জন্য দুর্দান্ত সাফল্যের চেষ্টা করেছি। আমি এটিকে সহায়ক হিসাবে চিহ্নিত করব তবে দৃশ্যত আমার কাছে এটি করার মতো প্রতিনিধি নেই।

আমি চেক-হোস্ট-নেম থেকে আউটপুট মাধ্যমে লুপিং নিম্নলিখিত হিসাবে ডোমেন সেট।

domain=`check-hostname | nawk -F\. '{for(i=2; i<NF;i++){printf $i"."}printf $NF"\n"}'`
fqdn=`hostname`'.'${domain}

1

আমি এর জন্য কিছুটা কাজ করেছি hostnameএবং host:

$ host $(hostname -i) | awk '{print $NF }'

(আমি সেন্টোস ব্যবহার করছি তবে এটি অন্য কোথাও কাজ করা উচিত)

বিন্দু বিনষ্ট ছাড়াই ডোমেন প্রাপ্ত:

$ host $(hostname -i) | awk '{print substr($NF, 1, length($NF)-1)}'

আমার উবুন্টুতে, hostname -iহোস্টনামের সাথে সম্পর্কিত আইপি অ্যাড্রেস প্রিন্ট করুন।
আর্চেমার

হ্যাঁ এটা ঠিক, তাই আমি এই আইপি host কমান্ড পাস । এটি আপনাকে এরকম কিছু পাবে: YOUR_IP.in-addr.arpa domain name pointer hostname.domainname. awk সহ আমি শেষ কলামটি পেয়ে যা যাhostname.domainname
ইউজার 1314742

আমি দেখতে পাচ্ছি, দুর্ভাগ্যক্রমে host $(hostname -i)আমাকে 8 টি হোস্টনামের তালিকা প্রদান করুন, সমস্ত একই আইপি সহ, এবং আমার হোস্টের সাথে কোনও হোস্টনামের সাথে সম্পর্কিত নয়
আর্চেমার

আপনি কি নিশ্চিত যে hostকমান্ডের জন্য আপনার কোনও উপাধি নেই ? দেখে মনে হচ্ছে আপনার কমান্ডের hostএকটি ব্যবহারকারীhost -a
13136742

0

সোলারিসে এটি আমার পক্ষে ভালভাবে কাজ করেছে: ব্যাকটিকের জন্য দুঃখিত, এটি একটি কিওয়ার্টি কীবোর্ডের ১ নম্বরের পাশের বিপরীত উক্তি বা আপনি কেএসএইচে command (কমান্ড) ব্যবহার করতে পারেন

getent hosts (backtick) /usr/bin/hostname (backtick)

অথবা

getent hosts $(/usr/bin/hostname)

উদাহরণ:

root@melauto:[/]# getent hosts $(/usr/bin/hostname)

10.4.19.241     melauto.sro.vic.gov.au melauto loghost
root@melauto:[/]# 

জেন্টেন্ট /etc/nsswitch.conf এ উল্লিখিত বর্তমান নাম অনুসন্ধান পদ্ধতিটি অনুসন্ধান করে এবং অনুসন্ধানের সাথে মেলে এমন তথ্য ফেরত দেয়, এখানে এটি যেমনটি পাওয়া যায় তেমন তথ্য ফেরত দেয় /etc/hosts। যদি আপনি অন্য কোনও হোস্টের মধ্যে নেই যে হোস্টের তথ্যের /etc/hostsসন্ধান করছেন, এটি ডিএনএসে দেখানো হবে যা প্রদত্ত/etc/nsswitch.conf


-2

ইউনিক্স ব্যাশ স্ক্রিপ্টে, সান সোলারিস 10 এ, আমি সবেমাত্র আমার হোস্টের নামটি প্রদর্শন করেছি:

প্রতিধ্বনি "আমার হোস্টের নাম হ'ল host (হোস্টনাম)"


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