আমি আমার হোস্টনামটি পরিবর্তন করেছি, কেন আমার ব্যাশ PS1 প্রম্পট অপরিবর্তিত রয়েছে


21

আমি আমার হোস্টনামটি সম্পাদনা করে / ইত্যাদি / হোস্টনেম পরিবর্তন করেছি এবং নতুন হোস্টনামটি hostnameএবং hostname -Fকমান্ডগুলি ব্যবহার করে দেখতে পাচ্ছি ।

তবে শেল প্রম্পটটি এখনও পুরানো হোস্টনামটি দেখাচ্ছে।

এটি হ'ল উবুন্টু 11.0.4। প্রম্পটটি আমার মধ্যে সেট করা আছে .bashrcযা আমি সম্পাদনা করি নি। লগ আউট এবং রিবুট করার কোনও প্রভাব নেই।

মান উবুন্টুর প্রাসঙ্গিক বিভাগ .bashrc:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

(login ডেবিয়ান_ক্রুট আমি লগইন করার সময় আনসেট করা ...)

আমি অনুমান করি যে হোস্টের নামটি বিশেষ চরিত্র \ h দ্বারা তুলে নিয়েছে।

শেলটিতে উল্লিখিত PS1 সেটিংসটি এখানে রয়েছে:

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

এবং এখানে PS1 যা দেখায়:

username@oldhostname:~$ 

ওয়ারেনের উত্তরে সঠিক কমান্ডটি ব্যবহার করে আমি প্রক্রিয়াটি পুনরাবৃত্তি করেছি। দেখা যাচ্ছে যে হোস্টনামটি পুনরায় বুট করার আগে পর্যন্ত কাজ করে তবে এটি হারিয়ে যায়, যদিও /etc/hostnameনতুন হোস্ট-নেম রয়েছে।


কি echo $PS1দেখায়?
কিথ

@ কিথ - PS1 দেখানোর জন্য আমি প্রশ্নটি আপডেট করেছি।
ডিজলি

আপডেটের জন্য ধন্যবাদ, এটি আমাকে ছুঁড়ে ফেলেছিল কারণ আমি মনে করি না যে ডিএইচসিপি এটি করতে পারে কারণ আমি কখনই এটি ছাড়ি না। ফিরে আসা এবং প্রশ্নের শীর্ষে থাকার জন্য এবং (শেষ পর্যন্ত) উত্তর হিসাবে আপনার সম্পাদনা যুক্ত করার জন্য ধন্যবাদ, ইউনিক্সে স্বাগতম!
কালেব

উত্তর:


24

আমি আমার নিজের প্রশ্নের উত্তর দিচ্ছি, কীথ এবং ওয়ারেনের পূর্ববর্তী জবাবগুলির আলোকে এবং প্রকৃত সমাধানটি। অনুভূত সমস্যাটি হ'ল "আমি আমার হোস্টনামটি পরিবর্তন করেছি, আমার ব্যাশ পিএস 1 প্রম্পটটি কেন অপরিবর্তিত?" আসল সমস্যাটি ছিল "আমার সিস্টেমটি কেন পুনরায় বুট করার ক্ষেত্রে তার পুরানো হোস্টনামে ফিরে গেছে?"

এই বিশেষ ক্ষেত্রে উত্তরটি ছিল: স্থানীয় সেটিংসকে ওভাররাইড করার জন্য ডিএইচসিপি কনফিগার করা হয়েছে।

হোস্ট-নেম পরিবর্তন করার কার্যকর উপায়

নিম্নলিখিত উবুন্টু, ymmv প্রযোজ্য ।

  1. ফাইল সম্পাদনা করে স্থির হোস্টনাম পরিবর্তন করুন /etc/hostname

    echo 'mynewhostname' | sudo tee /etc/hostname
  2. চলমান সিস্টেমের জন্য হোস্টনাম পরিবর্তন করতে হোস্টনেম কমান্ডটি ব্যবহার করুন । পদক্ষেপ 1 ব্যতীত এটি পুনরায় বুটে পুনরায় সেট করা হবে। আপনি সুনির্দিষ্টভাবে নির্ধারিত মানটি ব্যবহার করে তা বোধগম্য হয়:

    sudo hostname -F /etc/hostname

    বা এর সমতুল্য:

    sudo hostname `cat /etc/hostname`
  3. সম্পূর্ণরূপে যোগ্যতাসম্পন্ন ডোমেন নাম (এফকিউডিএন) সেট করুন /etc/hosts

    উদ্ধৃতাংশ:

    127.0.0.1    mynewhostname.mydomainname.com    mynewhostname
  4. মেশিনটি ডিএইচসিপি ক্লায়েন্ট চালাচ্ছে কিনা তা পরীক্ষা করুন। আইপি ঠিকানা ছাড়াও, একটি ডিএইচসিপি সার্ভার হোস্টনাম এবং ডিএনএস রেজোলিউশনের মতো সেটিংসকে ওভাররাইড করতে পারে। একটি "ক্লাউড" হোস্টিং পরিষেবা এটি করতে পারে তাই ডিস্কে থাকা একটি মেশিনের চিত্রটি কনফিগারেশন ফাইলগুলি সম্পাদনা না করে বেশ কয়েকবার পুনরায় ব্যবহার করা যেতে পারে।

    এটি উপস্থিত থাকলে, নির্দেশের /etc/default/dhcpcdবিষয়ে মন্তব্য করতে DHCP ক্লায়েন্ট কনফিগারেশন ফাইলটি সম্পাদনা করুন SET_HOSTNAME:

    #SET_HOSTNAME='yes'
  5. সম্ভব হলে, সিস্টেমটি পুনরায় বুট করুন এবং নামটি এতে পরিবর্তিত হয়েছে তা পরীক্ষা করুন:

    hostname

চতুর্থ ধাপটি আমার কাছে সংবাদ ছিল এবং আমাকে ধরে ফেলল। আমি ভেবেছিলাম এই উত্তরে পুরো প্রক্রিয়াটি নথিভুক্ত করা কার্যকর হবে। সেই পদক্ষেপটি আমার হোস্টিং পরিষেবার নির্দেশাবলী (লিনোড) এর সৌজন্যে যা আমার সত্যই সঠিকভাবে পড়া উচিত ছিল।


যদি এই উত্তরটি যথাযথ বলে মনে হয়, তবে আমি নিজের উত্তরটির পক্ষে ভোট দিতে পারছি না বলে অন্যের কাছ থেকে নেওয়া উত্সাহ প্রশংসা হবে।
ডিজলি

2

ফাইলটি /etc/hostnameহোস্টনামের অবিচ্ছিন্ন অনুলিপি ধারণ করে এবং রান-টাইম অনুলিপি সেট করতে বুটআপের সময় ব্যবহৃত হয়। রিবুট না করে রান-টাইম অনুলিপি পরিবর্তন করতে, বলুন:

$ sudo hostname `cat /etc/hostname`

অথবা hostname(1)কমান্ডটিতে প্যারামিটার হিসাবে কেবল নতুন হোস্টের নামটি দিন ।


আমার সমস্যা অধ্যবসায় হয়। আমি রানটাইম হোস্টনামটি ব্যবহার ও যাচাই করেছি (প্রশ্ন দেখুন)। এছাড়াও, "sudo হোস্টনেম -F / ইত্যাদি / হোস্টনাম" কমান্ডের একটি বিকল্প রূপ (ম্যান হোস্টনেম)। তবে আপনার পরামর্শ অনুসারে আমি তা করেছিলাম। হোস্ট-নেমটি পুনরায় বুটে যাওয়ার পরে হারিয়ে যায়। :( আমি /etc/host.conf মধ্যে FQDN করা আছে এবং /etc/host.conf শুধুমাত্র ব্যবহার বেঁধে সেট করা হয় আমি লোকসানে এখনো আছি।।
Dizzley

আমি একটি রেজুলেশন দিয়ে কিউ আপডেট করেছি এবং কিছুক্ষণের মধ্যে আমার নিজের প্রশ্নের উত্তর দেব। ধন্যবাদ ওয়ারেন / কিথ
ডিজলি

এটি হওয়া উচিত ছিল 'আমি এফকিউডিএন / etc / হোস্টগুলিতেও রেখেছি।'
ডিজলি

-1

আমি আপনি দেখতে /hআপনার PS1এবং তারপর উল্লেখ FQDN এখন আপনার পোস্ট পারে আপনার পুরানো & একটি নতুন হোস্টনাম আপনার ব্যবহারের জন্য চেষ্টা করছেন?

  • /h প্রথম 'পর্যন্ত হোস্টনাম দেখায়' '
  • /H সম্পূর্ণ এফকিউডিএন প্রদর্শন করে

একবার চেষ্টা করে দেখো


হাই হাইজেক্টো এনবি এটি \ ঘন্টা নয় / ঘন্টা। আমি যখন আমার হোস্টনামগুলি প্রযোজনা সার্ভারে ব্যক্তিগত রাখতে চাই তাই "পুরাতন নাম" এবং "নতুন নাম" (কোনও বিন্দু নেই)। আমি ইউনিক্সের পুরানো হাত কিন্তু এটি আমাকে আটকে ফেলেছিল - আমি কখনই ডিএইচসিপিসিডি ব্যবহার করতে দেখিনি। দেখে মনে হচ্ছিল PS1 প্রম্পটটি ভুল ছিল তবে আসল সমস্যাটি ছিল / etc / হোস্টনামটি বুট-এ dhcpcd দ্বারা ওভাররাইট করা হয়েছে। ডিএইচসিপিসিডি ব্যবহার করা হয়েছে কারণ আমার মেশিনের চিত্রটি আবার আইপি অ্যাড্রেস সেটআপে পুনরায় নিয়োগ বা নকল করা যেতে পারে তাই আমার হোস্টার লিনোড ডিএইচসিপি ব্যবহার করে ডিফল্ট মান উত্পন্ন করে যাতে আমার উবুন্টো চিত্রের প্রতিটি উদাহরণ অনন্য। আমি একটি মেঘ শিক্ষানবিস, তাই এটি মজা এক ধরণের হয়েছে।
ডিজলি

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