'Sudo -H gedit' দিয়ে সিস্টেম ফাইলগুলি সম্পাদনা করতে gedit ব্যবহার করার পরে কি কখনও সমস্যা হতে পারে?


10

আমি উবুন্টুতে তুলনামূলকভাবে নতুন, আমি লক্ষ্য করেছি যে এই সাইটের উত্তরে লোকেরা যখন সিস্টেম ফাইল সম্পাদনা করার পরামর্শ দেয় তখন তারা যে আদেশ দেয় তা সর্বদা sudo nanoবা হয় sudo vi। আমি টার্মিনাল ভিত্তিক পাঠ্য সম্পাদকগুলি অপছন্দ করার কারণে, আমি সাধারণত ব্যবহার করি

sudo -H gedit

পরিবর্তে, এবং এখনও পর্যন্ত এটি পুরোপুরি সূক্ষ্মভাবে কাজ করেছে।

geditসিস্টেম ফাইলগুলি সম্পাদনা করার ক্ষেত্রে কি কখনও সমস্যা হতে পারে বা পাঠ্য সম্পাদকের পছন্দটি কেবল ব্যক্তির পছন্দ অনুযায়ী করা যায়? এই ফাইলগুলি সম্পাদনার সময় আমার কিছু মনে রাখা উচিত (এনকোডিংয়ের মতো)?


3
-Hঅংশ গুরুত্বপূর্ণ , ব্যবহার করবেন না sudoএটা ছাড়া লঞ্চ GUI এপ্লিকেশন করতে।
পমস্কি

উত্তর:


10

এতক্ষণ আপনি এটিকে সঠিকভাবে চালনা করা আপনার পছন্দের বিষয়।

বৈশিষ্ট্যগুলির পার্থক্য বাদ দিয়ে আপনি কোন পাঠ্য সম্পাদকটি ব্যবহার করছেন এটি আপনার পছন্দটি pretty আপনার পাঠ্য সম্পাদকটি গেডিটের মতো গ্রাফিকাল প্রোগ্রাম থাকা অবস্থায়ও এটি সত্য । এটি বলার অপেক্ষা রাখে না যে কোনও ভাল কারণ নেই nanoএবং vimপ্রায়শই সুপারিশ করা হয়। টার্মিনাল-ভিত্তিক পাঠ্য সম্পাদকরা vim(বা কমপক্ষে একটি viকমান্ড) এবং nanoজিআইআই না থাকা এমনকি খুব ন্যূনতম এবং নষ্ট সিস্টেমের ক্ষেত্রেও উপলব্ধ ; তাদের পিছনে কিছু traditionতিহ্য রয়েছে (যদি আপনি এই ধরণের জিনিসটির পক্ষে আংশিক হন); এগুলি একই টার্মিনালে চালানো যেতে পারে যেখানে অন্যান্য কাজ সম্পাদন করা হয়; তারা স্বয়ংক্রিয়ভাবে টার্মিনাল একাধিক ব্যবহারকারীদের কার্যপ্রবাহে একীভূত হয় ; এবং এগুলির যে কোনওটির চেয়ে বেশি পাওয়া সম্ভবনির্দিষ্ট গ্রাফিকাল পাঠ্য সম্পাদক, এমনকি গেডিট এমনকি উবুন্টুতে (যার বেশ কয়েকটি স্বাদ রয়েছে )।

এটাই সবকিছু না. আপনি যদি সিস্টেম ফাইলগুলি সম্পাদনা করতে যাচ্ছেন, তবে একটি পদ্ধতিকে হ'ল আপনার সম্পাদককে মূল হিসাবে চালানো। এই না শুধুমাত্র পদ্ধতির, এবং এটি বিরুদ্ধে আর্গুমেন্ট (নিচে দেখুন) আছে, কিন্তু এটা একটি সাধারণ এক। আপনি যে অভিগমন যদি এবং আপনার সম্পাদক হিসেবে একটি গ্রাফিকাল প্রোগ্রাম ব্যবহার, তাহলে আপনি প্রয়োজন যত্ন নিতে করার এমনভাবে এটি চালানোর যে $HOMEআপনার নিজের বদলে রুট এর হোম ডিরেক্টরি হয় , এবং এই ঝগড়া ও জটিলতা আরেকটি স্তর যোগ করা হয়েছে। তবে আপনি ইতিমধ্যে এটি করছেন; আপনি দৌড়াচ্ছেন sudo -H gedit, যা যুক্তিযুক্ত উপায়গুলির মধ্যে একটি । তবুও, সেই জটিলতা হ'ল নন-গ্রাফিকাল সম্পাদকদের পরামর্শ দেওয়ার লোকেদের আরও একটি কারণ।

গ্রাফিকাল প্রোগ্রামগুলি প্রায়ই অ-গ্রাফিকাল প্রোগ্রামগুলির চেয়ে জটিল হয়। মূল হিসাবে বেশি স্টাফ চালানো সাধারণত খারাপ, এতে দুর্ঘটনা সহ সম্ভাব্য বাগগুলি সহ আরও কিছু উপায় ভুল হতে পারে। (গ্রাফিকালবিহীন পাঠ্য সম্পাদক যেমন যেমন vimখুব পরিশীলিত তবে অনেকগুলি বহিরাগত প্রোগ্রাম চালানোর জন্য প্রায়শই কনফিগার করা হয়))

সম্পাদককে রুট হিসাবে চালানো ছাড়াও, অন্য একটি সাধারণ পদ্ধতি হ'ল এমন একটি ফাইল সম্পাদনা করা যা সম্পাদক আপনার (রুটবিহীন) ব্যবহারকারী হিসাবে চালিত হওয়ার পরেও সংশোধন করতে সক্ষম হয়, যেমন ফাইলের পরিবর্তনগুলি আপনি যে রুট-মালিকানাযুক্ত ফাইলটিতে চান তা প্রচারিত হয় propag পরিবর্তন করতে. এটি বিমূর্ত বলে মনে হচ্ছে কারণ নির্দিষ্টকরণগুলি যথেষ্ট আলাদা vary দুটি বড় কংক্রিট পদ্ধতির অনুসরণ।

sudoedit

এটি করার একটি মোটামুটি দীর্ঘস্থায়ী উপায় হ'ল sudoedit( একই ম্যানুয়াল পৃষ্ঠায়sudo ডকুমেন্টেড )। ডিফল্টরূপে, ডিফল্ট পাঠ্য সম্পাদকsudoedit ব্যবহার করেন , যা সাধারণত হয় না - এবং হওয়া উচিত নয় - একটি গ্রাফিকাল প্রোগ্রাম। কিন্তু আপনি মাধ্যমে যে কোনো সম্পাদক ব্যবহার করার জন্য এটি বলতে পারেন SUDO_EDITOR, VISUALকিংবা EDITOR বিভিন্ন পরিবেশের যার ফলে এটি যাতে পরামর্শ। সুতরাং আপনি চালাতে পারেন:

VISUAL=gedit sudoedit filename

filenameআপনার ফাইলে কোনও আপেক্ষিক বা পরম পথ দিয়ে প্রতিস্থাপন করুন।

এটি আপনি সম্পাদনা করতে চান ফাইলটির একটি অস্থায়ী অনুলিপি তৈরি করে। অনুলিপিটি আপনার মালিকানাধীন, মূল দ্বারা নয় (বা মূল মালিক যিনি)। এটি পাঠ্য সম্পাদকটি খুলবে এবং আপনি অস্থায়ী অনুলিপি সম্পাদনা করতে পারবেন। আপনি যখন পাঠ্য সম্পাদকটি বন্ধ করেন, sudoeditআপনি আসলে পরিবর্তন করেছেন কিনা তা পরীক্ষা করে দেখুন। তুমি করেছ, এটা কপি অস্থায়ী অনুলিপি পরিবর্তিত ফিরে আসল।

sudoeditগ্রাফিকাল সম্পাদকদের সাথে কাজ করার সময় এটি টার্মিনাল ভিত্তিক সম্পাদকদের জন্যও কার্যকর। উভয় ক্ষেত্রেই, আপনি যেমন টেক্সট এডিটর রান, তাই এটি আপনার কনফিগারেশন, এবং অন্যান্য ক্রিয়াগুলি এটা সম্পাদন হয়েছে অন্যান্য তুলনায় যে ফাইল তৈরি করা পরিবর্তন আপনার দ্বারা সঞ্চালিত হয়, যা affords একটু ভুলের কিছু ধরণের বিরুদ্ধে সুরক্ষা করুন।

আপনি যদি পছন্দ করেন তবে এই পরিবেশের পরিবর্তনগুলির মধ্যে একটি স্থির করে সেট করতে পারেন। SUDO_EDITORএটি সবচেয়ে কম কারণ যেহেতু এটি কম অন্যান্য জিনিসের জন্য ব্যবহৃত হয়। তবে, যদি আপনি এটি সেট করেন তবে geditমনে রাখবেন যে কোনও জিইউআই উপলব্ধ না হলে যেমন কমান্ডগুলি কাজ করে না, যেমনটি ভার্চুয়াল কনসোলে বা এসএসএইচ এর মাধ্যমে প্রায়শই ( সর্বদা নয় তবে ) ক্ষেত্রে হয় ।sudoedit filename

জিভিএফএস অ্যাডমিন ব্যাকএন্ড

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

এটি ধারণাগতভাবে অনুরূপ sudoeditযে আপনি নিজের সম্পাদককে নিজের মতো চালান এবং সম্পাদক যে ফাইলটি দেখেন এটি এমন কিছু যা সম্পাদনা করার অনুমতিপ্রাপ্ত। ফাইলটি খোলার চেষ্টা করার জন্য আপনাকে প্রমাণীকরণের প্রয়োজন; এটি স্বাভাবিক সুরক্ষা নিষেধাজ্ঞাগুলি রোধ করার কোনও যাদুবিদ্যার উপায় নয়।

gedit admin:///path/to/filename

সেখানে /path/to/filenameফাইলের অবশ্যই একটি পরম পথ থাকতে হবে /। সুতরাং তিনটি /অক্ষর পরে আছে admin:

সম্পাদক কনফিগারেশন দ্বারা তাত্ত্বিকভাবে এনকোডিংস এবং অন্যান্য স্টাফ প্রভাবিত

কোনও ফাইলের এনকোডিং আপনার ব্যবহৃত সম্পাদক গ্রাফিকাল কিনা তা দ্বারা সত্যই প্রভাবিত হয় না। কিছু সম্পাদক যেমন vimএমনকি গ্রাফিক ( gvimকমান্ড) বা অ-গ্রাফিকালি ( vimকমান্ড) পরিচালনা করতে পারে। এনকোডিং সম্পর্কে আপনার প্রশ্নের সহজ উত্তর পথ পাবো না না যে সম্পর্কে চিন্তা করতে হবে। এটি সত্যের নিকটবর্তী যে আপনাকে সত্যই এই উত্তরটি পড়তে হবে না।

বর্তমান (এবং অতীত) উবুন্টু রিলিজ করে, কমান্ডগুলি সেই সম্পাদকদের মূল হিসাবে চালিত করে sudo nanoএবং sudo vimচালিত করে তবে আপনার হোম ডিরেক্টরিতে $HOMEসেট করে । এর অর্থ সম্পাদকগণ ডিফল্টরূপে আপনার কনফিগারেশনটি রুটের কনফিগারেশনের পরিবর্তে ব্যবহার করবেন । এনকোডিংগুলি বা লাইন সমাপ্তির বিষয়ে যদি সেই সম্পাদকদের আপনার কনফিগারেশনে (বা কোনও প্রোগ্রামে তারা তাদের কিছু কাজ করার জন্য চালিত হয় ) থাকে তবে তা অনুসরণ করা হবে। সাথে , যে ঘটবে না।gitsudo -H editor

কিছু লোক সম্পাদকদের কাছে খালি sudo(অর্থাত্‍ -iবা না করে -H) ব্যবহার করেন কারণ তারা এটি চায়। তবে সত্যই, আপনার এই সম্পর্কে দু'বার চিন্তা করা উচিত। শুধু তোমার মত একটি পদ্ধতি সঙ্গে আরো পরিচ্ছন্নভাবে যে লক্ষ্য অর্জন করতে পারে sudoedit, সেখানে মত কমান্ড অন্যান্য অসুবিধেও আছে sudo nanoএবং sudo vim:

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

    আপনার যদি vimকনফিগারেশন অসংখ্য প্লাগিন আছে - যেমন, উৎস কোডের উপর স্ট্যাটিক বিশ্লেষণ সঞ্চালন আপনি এটা টাইপ করার - এবং root এর সাথে, কম কাপড় রান করে রুট হিসাবে চেয়ে । (এর সাথে রুট হিসাবে কম রান করলেও আপনার প্লাগইনগুলি এখনও কাজ করে!) এটি আপনার সম্পাদক গ্রাফিকাল কিনা তা থেকে পৃথক।sudo -H vim filenamesudo vim filenameVISUAL=vim sudoedit filename

  • যদি আপনার সম্পাদকীয় কনফিগারেশনটি নষ্ট হয়ে যায় এবং আপনাকে সহজেই ফাইল সম্পাদনা করা থেকে বিরত রাখে, তবে এটির মূল সমস্যাটিও মূলত প্রযোজ্য, কারণ এটি আরও ঝামেলা হতে পারে। এটি নিছক ঝামেলা, সমাধান করা কোনও কঠিন সমস্যা নয়।

  • কমান্ড পছন্দ sudo vimআছে একটু (অবিবেকী!) কমান্ড হিসাবে একই সমস্যা sudo gedit আপনি যদি vimমূল হিসাবে কোনও সম্পাদক চালিত হন তবে পুনরায় সেট না করে $HOME(যেমনটি sudo -Hএবং যেমন sudo -iকরবেন), এবং এটি নিজের জন্য কনফিগারেশন ফাইল তৈরি করে , সেই কনফিগারেশন ফাইলগুলি আপনার হোম ডিরেক্টরিতে থাকবে তবে সেগুলি রুটের মালিকানাধীন হবে এবং আপনার কনফিগারেশনটি কিছুটা ভাঙাও হতে পারে your আপনি যখন পরে সম্পাদক হিসাবে চালাবেন।

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

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

পরিশেষে, নোট করুন যে sudoকখন -Hবা -iপাস হয়েছে তার উল্লিখিত আচরণটি বাস্তবে উবুন্টু (যেমন এটি বহু বছর আগে, বেশিরভাগ ইউনিক্সের মতো অপারেটিং সিস্টেম ব্যবহার করে sudo) এর ভবিষ্যতে প্রকাশের ক্ষেত্রে পরিবর্তনের পরিকল্পনা করা হয়েছিল । আচরণটি ইতিমধ্যে উবুন্টু 19.10 এ পরিবর্তিত হয়েছে , যা এই লেখার মতো বিকাশ প্রকাশ।


2
অন্যান্য সমস্যাটি sudo -H100 বা 1000 এর মধ্যে 1 সময় যা আপনি ভুলে যাবেন -Hএবং কোনও ফাইলের মালিকানা ব্যবহারকারীর কাছ থেকে কোথাও কোথাও রুটের কাছে স্থানান্তরিত হতে পারে$HOME
WinEunuuchs2Unix

3

আপনার প্রশ্নের উত্তর দেওয়ার জন্য: সাধারণভাবে, জিইউআই সম্পাদক geditব্যবহার করা বড় ফাইলগুলির জন্য খুব ধীর হতে পারে না ।

তবে জিইউআই প্রোগ্রামগুলির জন্য আপনি তার পরিবর্তে pkexecবা ব্যবহার করতে পারেন । এটি কাজ করার আগে আপনাকে কনফিগার করতে হবে।gksusudopkexec

pkexec gedit

বা পুরানো উবুন্টু সংস্করণগুলির জন্য (যেমন 16.04) আপনি ব্যবহার করতে পারেন:

gksu gedit

(যদিও আপনি আরও ভাল জিইউআই সম্পাদক চেষ্টা করতে পারেন, যেমন geany;-))


gksuবেশ অনেকটা ফেলে দেওয়া হয়।
পমস্কি


সত্য সত্য সত্য ....
pLumo

3
এটি (@ এলিয়াহ)
পমস্কি

1
পমস্কির মন্তব্যে বিস্তারিত জানাতে To আপনি যদি কোনও সংযোগ প্রত্যাখ্যান করেন, প্রদর্শন ত্রুটি প্রদর্শন করুন, এর পরিবর্তে আপনাকে একটি pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY
এলিফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.