হোমব্রিউয়ের মাধ্যমে বাশকে আপগ্রেড করা কি নিরাপদ?


81

আমি ওএস এক্সে নতুন I'm আমি একটি ম্যাকবুক প্রোতে ওএস এক্স লায়ন চালাচ্ছি। হোমব্রিউ ব্যবহার করে বাশ শেলটি আপগ্রেড করা কি নিরাপদ:

$ brew install bash

যদি নিরাপদ থাকে তবে আমি কীভাবে এটিকে টার্মিনালের মাধ্যমে চালিত শেলের ডিফল্ট উদাহরণ করব?

ধন্যবাদ!


2
এই প্রশ্নটি হঠাৎ করে অত্যন্ত প্রাসঙ্গিক হয়ে উঠেছে,
শেলশকটি

হ্যাঁ. 10 টি
চর্চা

উত্তর:


105

বাইনারিগুলি /{,usr/}{,s}bin/সাধারণত অন্য ফাইলগুলির সাথে প্রতিস্থাপন করা উচিত নয়। অন্যান্য প্রোগ্রামগুলি ওএস এক্সের সাথে আসা সংস্করণগুলির প্রত্যাশা করে এবং সেগুলি ওএস আপগ্রেড দ্বারা প্রতিস্থাপিত হয়।

দৌড়ানোর পরে brew install bash, আপনি ডিফল্ট শেলটি নিরাপদে এর মাধ্যমে পরিবর্তন করতে পারেন:

  • যোগ /usr/local/bin/bashকরা হচ্ছে/etc/shells
  • চলছে chsh -s /usr/local/bin/bash

টার্মিনাল বা আইটার্ম 2 এর সেটিংস সাধারণত পরিবর্তন করতে হয় না। উভয়ই ডিফল্ট শেলের লগইন শেল সহ নতুন উইন্ডো খোলার জন্য ডিফল্ট।

ডিফল্ট শেলটি সিস্টেম পছন্দগুলি বা ডিএসসিএল দিয়েও পরিবর্তন করা যেতে পারে তবে তিনটি বিকল্পই কেবল পরিবর্তন করে /var/db/dslocal/nodes/Default/users/$USER.plist


দেখে মনে হচ্ছে এটি কার্যকর হয়েছে এবং আমি যদি কোনও সমস্যা অনুভব করি তবে এটি সহজেই ফিরে আসা উচিত! ধন্যবাদ!
রুডি

উন্নত বিকল্প পৃষ্ঠাটি ছিল তা জানেন না। খুব সুন্দর!
লেবুঙ্গিঙ্গার

2
/etc/shellsমেশানো ইনস্টল করা বাশকে অন্তর্ভুক্ত করতে সম্পাদনা সম্পর্কে বিটটি প্রয়োজন। অন্যথায় (কমপক্ষে আমার মেশিনে) টার্মিনালটি শুরু করতে অস্বীকার করবে।
ব্রেন্ডঞ্জারউইন

2
তৃতীয় কমান্ড (csh -s) ম্যাভারিকস ১০.৯.২ এ আর প্রয়োজন হবে না বলে মনে হয়।
ব্রেন্ট ফাউস্ট

2
আমি brew install bashএই কাজ করার জন্য ঠিক ছিল । (অর্থাত্ সংশোধন করতে হয়নি /etc/shells)
ড্যানিয়েল

4

আমি এখানে ভুল হতে পারি, তবে যতদূর আমি জানি brewএটির নিজস্ব উদাহরণটি ইনস্টল করা হবে bash, যেহেতু /usr/local/binসিস্টেমে ডিফল্ট /bin(এবং /usr/bin) এর অধীনে কাজ করে ব্রিও কাজ করে under

টার্মিনাল সম্পর্কে, আপনি শেলগুলি নিজের, কাস্টম কমান্ড দিয়ে খোলা করতে পারেন। পছন্দসমূহ> সূচনাতে যান এবং শেলগুলি খুলুন: কমান্ড (সম্পূর্ণ পথ) নির্বাচন করুন । কেবল আপনার নতুন bashএবং ভুয়ালার পথটি টাইপ করুন !

আশা করি এটা সাহায্য করবে!

বিটিডাব্লু: ব্যাকআপ! এই পরিস্থিতিতে সেরা পরামর্শ!


ওহে, আপনি কি জানেন, এই উত্তরটি আসলে একটি
কবজির

0

ঠিক আছে আপনি কিছু করার আগে আপনার বর্তমান ফাইলটি ব্যাক আপ করুন (অবশ্যই, তবে সর্বদা বলা বাহুল্য)

sudo cp /bin/bash /bin/bash.3.2.bk

তারপরে হোমব্রিউ ডাউনলোড হওয়া কার্যকর বাশকে একটি সিমিলিংক তৈরি করুন। আমি মনে করি এটি / ইউএসআর / লোকাল / সেলারটিতে থাকবে

sudo ln -s /usr/local/Cellar/bash/4.2.10/bin/bash /bin/bash

এখন / বিন / বাশ আপনার ইউএসআর / স্থানীয় ডিরেক্টরিতে ফাইলটি নির্দেশ করে


3
সিস্টেম সংস্করণে একটি নতুন বাশকে নেমে যাওয়ার দিকটি ওএসের কোনও আপডেট আপনার পছন্দসই শেলটি মুছতে পারে। সম্ভবত ওপি নতুন বৈশিষ্ট্যগুলি ব্যবহার করতে চায় যা ওএস "পুরানো ওএসের চেয়ে নতুন" তবে বাশনের "কাস্টমের চেয়ে পুরনো" সংস্করণ ইনস্টল করে break ডিফল্ট পাথ পরিবর্তন করা বা ব্যবহারকারীর শেল ভেরিয়েবল পরিবর্তন করা ভাল।
bmike

ভাল, আপনি কেবল একটি নতুন সিমিলিংক তৈরি করতে পারেন কারণ এটি আপনার ইউএসআর / স্থানীয় ডিরেক্টরিতে ব্যাশের সংস্করণটি ওভাররাইট করে না। তবে আপনি সঠিক, ড্যানিয়েলের উপায় আরও ভাল
লেমনঙ্গিঙ্গ

ওহ - আপনার উত্তরটি সম্পাদনা করুন দয়া করে এটি প্রথমে রাখুন (এবং আপনি যদি দ্বিতীয় বিকল্প হিসাবে পছন্দ করেন তবে মূল ধারণাটি রাখুন - আমি এটি আরও ভাল পছন্দ করি এবং আমার ভোটটি বিপরীত করার সুযোগটি পছন্দ করব :-)
বিমিকে

1
হুম, ঠিক আছে / আমি / কি বলেছি, তবে প্রতিটি পদক্ষেপটি আরও কিছুটা কী আরও ভাল করে তা পরিষ্কার করার চেষ্টা করার জন্য আমি সম্পাদনা করেছি। তবুও ভাবেন যে শীর্ষ রেট করা উত্তরগুলি সম্ভবত আরও ভাল: :)
লেমনগিংগার

এটি সিস্টেম শেলটি পরিবর্তন করার মতো দুর্দান্ত বিপদজনক উপায় বলে মনে হচ্ছে।
স্যামুয়েল মাইকেল বোলস

0

আমি মনে করি আপনি কেবল চালু করলে এটি নিরাপদ

brew install bash

এবং তারপরে এটিকে আপনার ডিফল্ট শেল হিসাবে যুক্ত করুন

chsh -s /usr/local/bin/bash

যেহেতু আপনি কেবলমাত্র আপনার বর্তমান ব্যবহারকারীকে পরিবর্তন করছেন। যাইহোক, আমি লক্ষ্য করেছি যে, আমার ডিফল্ট ~ / .profile হয়

if [ "/bin/bash" == $BASH ]; then
    source ~/.bashrc
fi

সুতরাং এটি আপডেট করা প্রয়োজন। আমি এটা পরিবর্তন

if [ "bash" == $(basename $BASH) ]; then
        source ~/.bashrc
fi

chshএকা কেন যথেষ্ট নয় এর জন্য অন্যান্য উত্তর দেখুন । এছাড়াও এটিকে আপনার আপডেট .profile স্নিপেট মূল এক অভিন্ন দেখায়
nohillside

@ পেট্রিক্স: এটি উল্লেখ করার জন্য ধন্যবাদ, আমি দ্বিতীয় স্নিপেট আপডেট করেছি আর brew install bashকোনও পদক্ষেপের প্রয়োজন না পড়লে এটি চমৎকার হবে। আমি যে আপডেট হওয়া প্রোফাইলটি ভাগ করে নিয়েছি তা তা নয়। আমি আশা করি এটি অন্যকে সহায়তা করতে পারে।
জিয়ানলুকা কাসাটি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.