যেহেতু উত্তরগুলি (নিজের কাছে) বুঝতে অসুবিধা এবং এটি বুঝতে কিছুটা চিন্তাভাবনা লাগল ( এই মন্তব্যটি এটি আমাকে বুঝতে পেরেছিল), তাই আমি আশাবাদী আরও ভাল ব্যাখ্যা দিতে যাচ্ছি।
1. fakeroot মধ্যে কি ঘটে?
আপনার নিজের ব্যবহারকারীর সাথে যা ঘটে তার চেয়ে বেশি কিছুই নেই। একেবারে কিছুই নয়। আপনি যদি fakeroot
(যাকে বলা হয় আপনাকে একটি নতুন শেল দেয় sudo
, তেমন পছন্দ করে ), আপনি যে জিনিসগুলির জন্য অনুমতি প্রয়োজন সেগুলি করার ভান করে এবং প্রস্থান করেন, একেবারে কিছুই ঘটবে না।
আপনি যদি এটি সম্পর্কে ভাবেন তবে এটি মোট সময় নষ্ট। আপনি এমন জিনিস কেন করবেন যা আসলে ঘটবে না? এটা পাগলামি. আপনি এটির কোনও কিছুই সহজেই করতে পারতেন না এবং কোনও পার্থক্য থাকত না কারণ এটির কোনও চিহ্ন নেই।
একটি মিনিট অপেক্ষা করুন...
2. fakeroot এর ট্রেস
সেখানে পারে একটি ট্রেস বাম হতে fakeroot
। আসুন মর্টেনসিকেলের উত্তরের আদেশগুলি দেখুন যা বেশ সুন্দর এবং একটি উত্সাহের দাবিদার:
$ fakeroot
# echo "Wow I have root access" > root.tst
# ls -l root.tst
-rw-rw-r-- 1 root root 23 Oct 25 12:13 root.tst
# ls -l /root
ls: cannot open directory /root: Permission denied
# exit
$ ls -l root.tst
-rw-rw-r-- 1 ubuntu ubuntu 23 Oct 25 12:13 root.tst
প্রথম নজরে, দেখে মনে হচ্ছে যে এটি ব্যবহার fakeroot
করা মোট সময় অপচয় ছিল। শেষ পর্যন্ত, আপনি যদি ব্যবহার না করে থাকেন তবে আপনি fakeroot
একই জিনিসটি পেয়েছেন।
এখানে সূক্ষ্ম জিনিসটি হ'ল:
$ cat root.tst
Wow I have root access
যার অর্থ ফাইলের সামগ্রীগুলি এখনও মূল হিসাবে মনে আছে। আপনি হয়ত বলতে fakeroot
পারেন ব্যবহার না করা একই ফলাফল তৈরি করতে পারে। আপনি ঠিক বলেছেন, এই উদাহরণটি খুব সাধারণ।
এর আরেকটি উদাহরণ নেওয়া যাক:
$ fakeroot
# touch x
# touch y
# chown myuser:myuser x
# ls -l > listing
# exit
$ ls -l
total 4
-rw-rw-r-- 1 myuser myuser 152 Jan 7 21:39 listing
-rw-rw-r-- 1 myuser myuser 0 Jan 7 21:39 x
-rw-rw-r-- 1 myuser myuser 0 Jan 7 21:39 y
$ cat listing
total 0
-rw-rw-r-- 1 root root 0 Jan 7 21:39 listing
-rw-rw-r-- 1 myuser myuser 0 Jan 7 21:39 x
-rw-rw-r-- 1 root root 0 Jan 7 21:39 y
দেখা যাক কী হয়েছিল। আমি ভান করেছিলাম root
, যা সম্পূর্ণ অকার্যকর, এবং তৈরি x
এবং y
। আমি নিজের এবং তার সাথে x
থাকার ভান করেছিলাম । তারা উভয়ই অন্তর্ভুক্ত (যেমনটি আমরা শেষ পর্যন্ত দেখতে পাচ্ছি), তবে আমি কেবল এটির মতো ভান করেছিলাম।myuser
y
root
myuser
তারপরে আমি একটি তালিকা তৈরি করেছি এবং আমার কল্পনাটি কোনও ফাইলে সংরক্ষণ করেছি। পরে যখন আমি ফাইলটির দিকে ফিরে তাকাব তখন আমি দেখতে পাচ্ছি যে আমি কল্পনা করেছিলাম ফাইলগুলির মালিকানাধীন হওয়া উচিত। আবার এগুলি প্রকৃতপক্ষে যাদের কল্পনা আমি করেছি তাদের মালিকানাধীন নয়, আমি কেবল তা কল্পনা করেছি।
৩. সুতরাং ... আপনি কেন আবার চান?
আপনি বলতে পারেন যে তালিকা তৈরি করার জন্য আমার আসলে নকল হওয়ার দরকার ছিল না। আমি কেবল তালিকা তৈরি করতে পারতাম, তারপরে এটি সম্পাদনা করে আমার কল্পনা প্রতিফলিত করতে পারি। আপনি ঠিক বলেছেন, আপনার এটির দরকার নেই fakeroot
। প্রকৃতপক্ষে, জেনেও যে fakeroot
আসলে কিছুই করা যায় না, আপনি সম্ভবত আগে কোনও ক্ষমতা অর্জন করতে পারবেন না।
তবে , এবং এটিই fakeroot
হ'ল তালিকাগুলি সম্পাদনা অনাকাঙ্ক্ষিত হতে পারে। এটি যেমন আপনার সিস্টেমে ইনস্টল করা যেতে পারে এমন প্যাকেজের সাথে রয়েছে, আপনার কাছে একটি tar
এড, gzip
এড, xz
এড, bzip2
এড বা অন্য কোনও ফর্ম্যাট রয়েছে যা আপনার ফাইলগুলি একসাথে রাখে এবং তাদের অনুমতি এবং মালিকদের মনে রাখে। আপনি সহজেই সংকুচিত ফাইলটি সংশোধন করতে এবং কোনও ফাইলের মালিকানা সম্পাদনা করতে পারেন? আমি আপনার সম্পর্কে জানি না, তবে আমি কোনও উপায় ভাবতে পারি না।
এমন কোনও সরঞ্জাম তৈরি করা যেতে পারে যা একবার সংকুচিত হয়ে গেলে, এটি সংকোচিত ফাইলটি সংশোধন করে এবং প্রোগ্রামিকভাবে মালিকানা এবং অনুমতিগুলি সম্পাদনা করে? হ্যাঁ পারে। সুতরাং হয় আপনি সংকোচনের আগে মালিকানাগুলি নকল করতে পারেন, বা তাদের পরে পরিবর্তন করতে পারেন। দেবিয়ান লোকেরা সিদ্ধান্ত নিয়েছে যে পূর্ববর্তীটি আরও সহজ।
৪. কেন শুধু ব্যবহার sudo
করবেন না ?
প্রথমত, সফ্টওয়্যার তৈরি করতে আপনার রুট সুবিধার দরকার নেই এবং তাদের সংকোচনের জন্য আপনার রুট সুবিধার দরকার নেই। সুতরাং আপনার যদি এটির প্রয়োজন না হয় তবে আপনাকে অনুমতি পাওয়ার কথা ভাবতে এমনকি উইন্ডোজ ব্যবহারকারী হতে হবে। তবে কটূক্তি বাদ দিয়ে আপনার কাছে এমনকি রুট পাসওয়ার্ড নাও থাকতে পারে।
তদ্ব্যতীত, যাক আপনার কাছে রুট অনুমতি রয়েছে। এবং বলুন যে আপনি ভান করতে চান যে কোনও ফাইলের কেবলমাত্র রুটে অ্যাক্সেস থাকা উচিত। সুতরাং আপনি sudo
, প্রকৃতপক্ষে ফাইলের মালিক এবং অনুমতিগুলি এতে পরিবর্তন করুন root
, আপনি রুট শেল থেকে বেরিয়ে সমস্ত কিছু প্যাকেজ করার চেষ্টা করছেন। আপনি ব্যর্থ হলেন কারণ এখন আপনি আর ফাইলটি পড়তে পারবেন না কারণ আপনার কাছে রুট অ্যাক্সেস নেই। সুতরাং আপনাকে sudo
প্যাকেজটি রুট হিসাবে সংকুচিত করতে এবং তৈরি করতে হবে। কার্যকরভাবে, আপনাকে মূল হিসাবে সবকিছু করতে হবে।
এটি খারাপ টিএম ।
প্যাকেজর হিসাবে, আপনাকে রুট অনুমতিগুলির দরকার নেই এবং এটি আপনার পাওয়া উচিত নয়। আপনি যখন কোনও প্যাকেজ ইনস্টল করেন, আপনাকে A
রুট হিসাবে কিছু ফাইল ( ) ইনস্টল করতে হবে এবং এটিতে আপনার রুট অনুমতি প্রয়োজন। সব fakeroot
সম্ভব এটি সম্ভব করা। এটি প্যাকেজার তালিকাটিকে A
প্রত্নতাকারীর জন্য মূলের মালিকানা হিসাবে দেয় , যাতে ব্যবহারকারী যখন প্যাকেজটি সঙ্কুচিত করে তখন তীরচিহ্নটি রুটের অনুমতি চায় এবং A
মূলের মালিকানাধীন তৈরি করে ।
sudo
বাsu
এটি আপনার মেশিনের কারণেও সাধারণ ব্যবহারকারী হিসাবে করা যেতে পারে এমন সমস্ত কিছুই রুট হিসাবে এড়ানো এড়ানো ভাল ধারণা ।fakeroot
দুটি ব্যবহার রয়েছে 1) এটি প্রোগ্রামকে বোকা বানাবে আপনি সত্যই মূল ব্যবহারকারী, যা কিছু খারাপভাবে লিখিত মালিকানাধীন সফ্টওয়্যার প্রয়োজন না হলেও প্রয়োজন হতে পারে (সাধারণত উইন্ডোজ বিকাশকারী লিনাক্স চলে গেছে) এবং 2) এটি ফাইল মোড এবং মালিকানা পরিবর্তনগুলি অনুকরণ করতে দেয় যা আপনি চান না ' টি অন্যথায় করতে সক্ষম হবেন না, প্রধানতtar
সঠিক অনুমতি এবং মালিকানা সহ একটি ফাইল তৈরি করতে, উদাহরণস্বরূপ প্যাকেজিং সফ্টওয়্যার যখন দরকারী।