ইউনিক্সে (সোলারিস) এমন কোনও কমান্ড রয়েছে যা হোস্টনাম এবং ডোমেন নাম একসাথে ফেরত দেয়?
এই ক্ষেত্রে:
hostname -> servername
domainname -> us.xyz.com
আমার দরকার : servername.us.xyz.com
ইউনিক্সে (সোলারিস) এমন কোনও কমান্ড রয়েছে যা হোস্টনাম এবং ডোমেন নাম একসাথে ফেরত দেয়?
এই ক্ষেত্রে:
hostname -> servername
domainname -> us.xyz.com
আমার দরকার : servername.us.xyz.com
উত্তর:
আদেশ
hostname --fqdn (or -f)
আপনি যখন যা চান তা আমার সিস্টেমে যেহেতু (none)
আমি চালিত করি তখনই তা করতে পারেdomainname
hostname(1)
সোলারিস 10 এর জন্য ম্যানপেজ অনুযায়ী (সান 4 ভি) এবং আমি যে পুরানো সংস্করণটি ব্যবহার করেছি --fqdn
তা উপলভ্য নয়। এটি কেবল হোস্টনামটি এতে সেট করার চেষ্টা করে --fqdn
। আপনি যদি এটি সুরক্ষার জন্য অ-সুপারিউজার হিসাবে চালনা করেন তবে এটি বলে 'আনম: নাম নির্ধারণে ত্রুটি: মালিক নয়' says এটি অবশ্যই স্টোর সোলারিস hostname
। পোস্টারটি তাদের জিএনইউ সরঞ্জামসেট ইনস্টল করা আছে কিনা তা নির্দেশ করে না।
এই একজন আমাকে বছরের পর বছর ধরে বগল করছে। আমি কেবল এটি বলে চারপাশে কাজ করি
$(hostname).$(domainname)
আপনি শেল ফাংশন বা ওরফে সংজ্ঞা দিতে পারেন:
fqdn () {
echo $(hostname).$(domainname)
}
domainnname
আপনি যদি এনআইএস চালাচ্ছেন তবে প্রকৃতপক্ষে আপনার এনআইএস ডোমেনটির প্রতিবেদন করে। এটি অগত্যা আপনার ডিএনএস ডোমেন নামের মতো নয়।
hostname --fqdn | cut -d. -f2-4
hostname --fqdn
সেট করে, এটি সম্ভবত একটি খারাপ ধারণা (তাই এটি চেষ্টা করে দেখুন আপনি রুট নন তা নিশ্চিত করুন)। :) --fqdn
সোলারিস 11 এ সমর্থিত?
চেক-হোস্টনাম | awk '{মুদ্রণ $ NF}'
আমি জানি এটি একটি পুরানো থ্রেড তবে আমার কোনও স্ক্রিপ্টে হোস্টনাম এবং ডোমেন নাম আলাদাভাবে টানতে হবে।
চেক-হোস্ট-নেম ব্যবহারের বিষয়ে ইলগাম্বির প্রতিক্রিয়া এমন কিছু যা আমি আগে কখনও দেখিনি তাই আমি এটি আমার প্রয়োজনের জন্য দুর্দান্ত সাফল্যের চেষ্টা করেছি। আমি এটিকে সহায়ক হিসাবে চিহ্নিত করব তবে দৃশ্যত আমার কাছে এটি করার মতো প্রতিনিধি নেই।
আমি চেক-হোস্ট-নেম থেকে আউটপুট মাধ্যমে লুপিং নিম্নলিখিত হিসাবে ডোমেন সেট।
domain=`check-hostname | nawk -F\. '{for(i=2; i<NF;i++){printf $i"."}printf $NF"\n"}'`
fqdn=`hostname`'.'${domain}
আমি এর জন্য কিছুটা কাজ করেছি 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
host $(hostname -i)
আমাকে 8 টি হোস্টনামের তালিকা প্রদান করুন, সমস্ত একই আইপি সহ, এবং আমার হোস্টের সাথে কোনও হোস্টনামের সাথে সম্পর্কিত নয়
host
কমান্ডের জন্য আপনার কোনও উপাধি নেই ? দেখে মনে হচ্ছে আপনার কমান্ডের host
একটি ব্যবহারকারীhost -a
সোলারিসে এটি আমার পক্ষে ভালভাবে কাজ করেছে: ব্যাকটিকের জন্য দুঃখিত, এটি একটি কিওয়ার্টি কীবোর্ডের ১ নম্বরের পাশের বিপরীত উক্তি বা আপনি কেএসএইচে 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
ইউনিক্স ব্যাশ স্ক্রিপ্টে, সান সোলারিস 10 এ, আমি সবেমাত্র আমার হোস্টের নামটি প্রদর্শন করেছি:
প্রতিধ্বনি "আমার হোস্টের নাম হ'ল host (হোস্টনাম)"
printf "%s" "$(hostname) $(domainname)"
কাজ না?