লগ ইন না করে .bashrc কীভাবে সম্পাদনা করবেন


17

এটি সম্ভবত একটি সদৃশ প্রশ্ন, তবে আমি কী অনুসন্ধান করব তা জানার জন্য সেন্টোসের লগইন / বুট প্রক্রিয়া (বিশেষত একটি ভিএম এর) সাথে যথেষ্ট পরিচিত নই।

আমি ভার্চুয়ালবক্সে সেন্টোস 7 চালাচ্ছি। আমি দুর্ঘটনাক্রমে gnome-terminalআমার ~/.bashrcফাইলটির শেষে যুক্ত হয়েছি । সুতরাং এখন আমি লগইন করার সময় একটি টার্মিনাল উইন্ডো পপ আপ হয় That টার্মিনাল সেশনটি কার্যকর করে .bashrc, যা অন্য একটি উইন্ডো ইত্যাদি খোলে, ইত্যাদি, এবং আমি gnome-terminalটার্মিনাল উইন্ডোগুলির একটি টন দিয়ে প্লাবিত হয়েছি ।

আমি জিইউআই লগইন ছাড়াই একটি টার্মিনাল সেশনে লগইন করার চেষ্টা করছি (তাই gnome-terminalব্যর্থ হয়), তবে জিইআইআই ছাড়া এটি বুট করতে পারি না। আমি এই প্রশ্নের উত্তর ব্যবহার করে চেষ্টা করেছি, কোন সাফল্য নেই। আমি প্রতিবার একটি জিইআইআই লগইন পাই: সিএলআই-এ সেন্টস বুট করবেন কীভাবে? । বুট-এ গ্রাব কনফিগারেশন সম্পাদনা করার অন্য কোনও উপায় বা উবুন্টুতে Ctrl + Alt + F1 এর মতো জিইউআই লগইন থেকে কোনও নতুন টার্মিনাল উদাহরণ পাওয়ার উপায় আছে কি? (হ্যাঁ, আমি এটি চেষ্টা করেছি either এটি হয় সেন্টোস in-তে কাজ করে না, বা এটি ভার্চুয়ালবক্স ভিএম-তে কাজ করে না)) বা জিইআইআই ছাড়াই আমি টার্মিনাল অধিবেশন পেতে পারি এমন অন্য কোনও উপায় রয়েছে, যাতে আমি আমার সম্পাদনা করতে পারি .bashrcএবং এই জগাখিচুড়ি ঠিক করতে?


4
কি sshdযে VM- র উপর ছেড়ে? অনেক পথে. 1) একক ব্যবহারকারী মোড হিসাবে শুরু করুন (উদাহরণস্বরূপ বুটের সময় প্রবেশ করুন, কার্নেলটি নির্বাচন করুন, একটি টিপুন, একক সংযুক্ত করুন , লিখুন ...) 2) আপনার ভিএম সিস্টেম চালনায় এসএসএসডি তে আপনি যদি নিজের .bashrcপরিবর্তনটি অনুলিপি করতে চেষ্টা করতে পারেন এবং এটি আবার অনুলিপি করে ( scp, sftp rsync ...)। 3) আপনি অন্য ব্যবহারকারী হিসাবে লগইন করতে পারেন এবং করতে পারেন su -... 4) অন্য মেশিন থেকে (এমনকি ভার্চুয়াল) আপনি ssh user@host mv .bashrc bashrcToModifyলগ করতে পারেন , পরিবর্তন করতে পারেন ... 0) সর্বোপরি CTRL ALT F1ভিএম থেকে কাজ করে ?
হাস্তুর

2
আপনি যখন "দুর্ঘটনাক্রমে সংযুক্ত জিনোম-টার্মিনাল" বলবেন, কীভাবে তা ঘটল?
mcfedr

@ এমসিএফিডার আমি এক্সডি জিজ্ঞাসা করার জন্য অপেক্ষা করছিলাম। আমি ভুল বুঝেছিলাম কি .bashrcজন্য ছিল। আমি ভেবেছিলাম এটি একবার লগইনে চালানো হয়েছিল তবে এটি প্রতিবার কোনও শেল সেশন শুরু হওয়ার পরে চালানো হবে। আমি যখনই সাইন ইন করেছি ততবার টার্মিনাল উইন্ডোটি পপআপ করতে চেয়েছিল, তাই আমি করেছি echo 'gnome-terminal' >> ~/.bashrc। খারাপ ধারণা। আমি কি কারণ থাকতে gnome-terminalমধ্যে /etc/init.dঅথবা কোথাও? আমি এখনও বুট প্রক্রিয়াটি বোঝার চেষ্টা করছি।
মাইকেল হফম্যান

উত্তর:


13

CtrlAltF1হোস্টের দ্বারা ক্যাপচার করা হতে পারে, বা ভার্চুয়ালবক্স এটি সঠিকভাবে পাস করে না। বেশ কয়েকটি দ্রুত পরীক্ষাগুলি আমাকে বলেছে যে আপনি ভার্চুয়ালবক্সে পরিবর্তিত হোস্ট কী ব্যবহার করতে পারেন CtrlAlt( ম্যাকের উপর Ctrlবাম বা বাম হতে পারে )। সুতরাং, টিপে F1টিওয়াই 1 টি ভার্চুয়ালবক্সে আমার জন্য স্যুইচ করা হয়েছে (এবং একইভাবে জিইউআইতে F7ফিরে আসার জন্য)


1
হা. কাজ করেছে। Ctrl + F2 আমার জন্য কৌশলটি করেছে। দেখে মনে হচ্ছে Ctrl + F1 হ'ল সেন্টোসের জিইউআই অধিবেশন, তবে এটি একই নীতি principle আইএমও এটি সহজ সমাধান - অতিরিক্ত মিডিয়া বা বুট কনফিগারেশন সম্পাদনা করার প্রয়োজন নেই editing আমি এটি উত্তর হিসাবে চিহ্নিত করছি।
মাইকেল হফম্যান

2
@ মিশেলহফম্যান হ্যাঁ, এটি আমার চেয়েও নতুন সেন্টোসের একটি প্রভাব হবে। জিডিএম আচরণটি
টিটিওয়াই

2
এটি ভবিষ্যতের রিলিজগুলিতে আরও পরিবর্তিত হচ্ছে: লগইন স্ক্রিনটি vconsole 1 এ থাকবে এবং গ্রাফিক্যাল ব্যবহারকারীগণের প্রতিটি পরবর্তী vconsole দখল করবে (আপনি যখন লগ ইন করবেন তখন আপনার সেশনটি vconsole 2 এ থাকবে, আপনি যদি ব্যবহারকারী-স্যুইচ করেন পরবর্তী ব্যবহারকারী ভিঙ্কসোল 3, ইত্যাদিতে)।
মাইকেল হ্যাম্পটন

24

আপনি একটি লাইভ লিনাক্স সিডি দিয়ে বুট করতে পারেন এবং তারপরে সেন্টোস ফাইল সিস্টেমটি মাউন্ট করতে পারেন এবং সেখান থেকে .bashrc ফাইলটি সম্পাদনা করতে পারেন।


2
সহজ সমাধান। এছাড়াও ভুল কনফিগারেশনের জন্য কাজ করে যা লগ ইন বা সম্পূর্ণরূপে বুট করা আটকাতে পারে (যতক্ষণ আপনি জানেন কী কী ভুল এবং কীভাবে এটির বিপরীতমুখী করা যায়
অ্যালেক্সিস

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

15

গ্রাব কনফিগারেশন থেকে ইনস / বিন / এস

আপনি জিইউতে যাওয়ার পরিবর্তে রুট শেলটি লোড করতে আপনার গ্রাব কনফিগারেশনটি সম্পাদনা করতে পারেন।

  1. আপনার ভিএম পুনরায় বুট করুন
  2. গ্রাব মেনু প্রদর্শিত হবে, প্রথম এন্ট্রি নির্বাচন করুন এবং eসম্পাদনা করতে টিপুন । এটি উপস্থিত না হলে বুট চলাকালীন পুনরায় চালু করুন এবং শিফটটি ধরে রাখুন
  3. linux16বা দিয়ে শুরু করে লাইনটি সন্ধান করুন linux। আমার এ রকম দেখাচ্ছে। আপনার কিছুটা আলাদা হতে পারে

    linux16 /vmlinuz-3.10.0-327.18.2.el7.x86_64 root=/dev/mapper/centos-root ro crashkernal=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF8
  4. পরিবর্তন roকরার জন্য rw( কেবল পঠনযোগ্য পতাকা পড়ে ও লেখে এবং পরিশেষে যোগ যাতে আপনি পরিবর্তনগুলি লিখতে পারেন) init=/bin/shলাইন। এটি লিনাক্সটিকে স্টার্টআপের /bin/shপরিবর্তে চালনা করতে বলে init। আমার প্রবেশের জন্য উদাহরণ

    linux16 /vmlinuz-3.10.0-327.18.2.el7.x86_64 root=/dev/mapper/centos-root rw crashkernal=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF8 init=/bin/sh
  5. কনফিগারেশনটি চালাতে Ctrl-X টিপুন। এটি সংরক্ষণ করা হবে না।

  6. একটি রুট শেল প্রদর্শিত হবে। আপনার সম্পাদনা করতে .bashrcএবং আপত্তিজনক লাইনটি সরাতে এটি ব্যবহার করুন ।

    নোট করুন যে আপনার এই অবস্থায় ওএস ব্যবহার করা চলবে না কারণ শেলটি পিআইডি 1 হিসাবে চলবে, সাধারণত initপ্রক্রিয়াটির জন্য সংরক্ষিত থাকে । আপনি ম্যানুয়ালি দিয়ে আরম্ভ চালিয়ে যেতে পারেন exec /sbin/initতবে আমি কেবল রিবুট করার পরামর্শ দেব

  7. স্বাভাবিক হিসাবে পুনরায় বুট করুন। আপনার পূর্ববর্তী পরিবর্তনগুলি ভুলে যাবে।

আমরা মূলত GRUB থেকে লিনাক্সকে দেওয়া বুট বিকল্পগুলি সম্পাদনা করছি, যা লিনাক্সকে মূল ফাইল সিস্টেম রিড-রাইটিং মাউন্ট করতে এবং /bin/shআরম্ভ প্রক্রিয়াটির জন্য শুরু করতে বলে

এটি আমার জন্য সেন্টোস 7 এবং ভার্চুয়ালবক্স 4.3.12 ব্যবহার করে


এইচএম ... যা পুরোপুরি কাজ করেছিল (এবং কিছুটা ঝামেলা করে- কোনও শংসাপত্র ছাড়াই কোনও রুট শেল পেতে আমার ল্যাপটপে কেউ কি এটি করতে পারে?) আমি যখন শেলটি থেকে বেরিয়ে এসেছিলাম তখন এটি কার্নেল আতঙ্কের সৃষ্টি করেছিল, তাই আমি উত্তর হিসাবে চিহ্নিত করতে পারি কিনা তা আমি জানি না ... আপনি কেন ব্যাখ্যা করতে পারেন কেন এটি কাজ করে? কি roএবং rw? বা আরও ভাল, লিনাক্স 16 এর জন্য কোনও ম্যানপেজ আছে? আমি এখানে কি করছেন?
মাইকেল হফম্যান

5
@ মিশেলহফম্যান এটিকে রুট পেতে একটি প্রমিত এবং সুপরিচিত উপায় - এটি ব্লক করতে আপনাকে বুটলোডারকে পাসওয়ার্ড দিতে হবে। এটি কার্নেল প্যানিকের কারণ কারণ আর কখনও কখনও প্রস্থান করার কথা নয়, তবে আতঙ্কটি অন্যথায় ক্ষতিকারক। আপনি বুট চালিয়ে যেতে পারেন exec /sbin/initবা আসল যা-ই হোক না কেন initroএবং rwঅপশন মাউন্ট রুট শুধুমাত্র পড়া বা রিড-রাইট। আপনি এই অপশনগুলির সাথে লিনাক্স বুট করার জন্য গ্রাব মেনুটি মূলত সম্পাদনা করছেন যা লিনাক্সকে মূল ফাইল সিস্টেম রিড-রাইটিং এবং মাউন্ট করতে শিখিয়ে দেয় আরম্ভ করে।
মুরু

1
@ মুরু আমি আপনার মন্তব্যগুলির কয়েকটি উত্তরে উত্তর যুক্ত করে বিষয়গুলিকে আরও পরিষ্কার করে তুলতে সাহায্য করেছি।
লেক্স

6

.bashrcজায়গায় একটি মেরামত অনুলিপি scp

আপনার যদি কাজ করার জন্য অন্য কোনও মেশিন থাকে তবে ভাঙা ফাইলটি অনুলিপি করুন এবং সমস্যাটি ঠিক করুন, তবে সেখান থেকে ফিরে আসুন। এটি লগইন করা এবং লগইন কমান্ডগুলির যে কোনওটিকেই অনুরোধ করে।

user@backup ~ $ scp user@homehost:~/.bashrc busted.bashrc
user@backup ~ $ vim busted.bashrc # fix, fix
user@backup ~ $ scp busted.bashrc user@homehost:~/.bashrc
user@backup ~ $ rm busted.bashrc

সংযোজন: নীচে ওপি পয়েন্ট হিসাবে, এটিতে এসএসএইচ অ্যাক্সেস প্রয়োজন homehost। যদি এটি কোনও বিকল্প না হয় তবে পরিবর্তে এফটিপি / এসএফটিপি উপলভ্য থাকে তবে যে কোনও ফাইল-স্থানান্তর পদ্ধতি আপনার যা প্রয়োজন তা করবে, যা কেবলমাত্র সংশোধন লগইন ফাইল ইনস্টল করা।


1
এটি কাজ করে, তবে কেবলমাত্র ভিএম এটি sshdচলতে থাকলে (যা আমি নিশ্চিত না যে সেন্টোস ডিফল্টরূপে করবে) এবং যদি নেটওয়ার্কটি ভার্চুয়ালবক্সের সাথে এবং হোস্টে এবং ভিএম-তে সঠিকভাবে কনফিগার করা থাকে।
মাইকেল হফম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.