উত্তর:
আপনি যা অর্জন করতে চান তার উপর নির্ভর করে এই কাজটি করার বিভিন্ন উপায় থাকতে পারে (বা কমপক্ষে আপনি যে কার্যকারিতা চান তার একটি হ্যাকি দৃষ্টিনন্দন দিন)।
বিভিন্ন উপায়ে সফ্টওয়্যার ইনস্টলেশনটি সংস্থানগুলি সরবরাহ করতে বা সিস্টেমে ইতিমধ্যে উপস্থিত জিনিসগুলিতে অ্যাক্সেসের অনুমতি দেয়।
আপনি মুদ্রকগুলিতে অ্যাক্সেস দেওয়ার বিষয়ে কথা বলছেন বা কোনও নির্দিষ্ট ডিরেক্টরিতে কোনও ব্যবহারকারীকে প্রোগ্রাম চালানোর অনুমতি দেওয়ার বিষয়ে কথা বলছেন না কেন, এটি সম্পন্ন করার বিভিন্ন উপায় রয়েছে এবং যদিও তারা উবুন্টুর স্থানীয় হতে পারেন তবে এই ধরণের সমাধানগুলি সাধারণত (অবশ্যই) যেতে চলেছে একটি .deb ইনস্টলেশন সত্যের পরে যুক্ত করা হবে।
এখানে ইনস্টলেশন-পরবর্তী নিয়ন্ত্রণের দুটি সাধারণ ক্লাস যুক্ত করা যায়। দ্রষ্টব্য, সঠিক পরিবেশের ভিত্তিতে, উদাহরণস্বরূপ যখন শক্তভাবে নিয়ন্ত্রিত গোষ্ঠী নীতি স্থাপন করা হয়, আপনি একবার বেসিক সিস্টেমটি স্থাপন করার পরে এটি আরও সহজ হতে পারে। এই ধরণের অনুমতিটি এমনকি এলডিএপি বা অনুরূপ সিস্টেমেও বেঁধে দেওয়া যেতে পারে যা প্রতি ব্যবহারকারী বা গোষ্ঠী প্রমাণীকরণ এবং অনুমোদন দিতে পারে।
ভিসিবিলিটি নিয়ন্ত্রণ
আমার নিজের মধ্যে সম্ভবত কিছুটা একই পরিস্থিতি ছিল, তবে আমার ক্ষেত্রে, ব্যবহারকারীরা (এখনও) খুব পরিশীলিত ছিলেন না (তারা সকলেই 7 বছরের কম বয়সী)। আমার জন্য, কেবল জিনোম মেনুগুলি লুকিয়ে রেখে বা ডেস্কটপ লঞ্চারগুলি সরিয়ে কাজ করেছে।
ডিরেক্টরিগুলি থেকে এক্সিকিউটেবল বিট অপসারণ প্রসেসগুলির সন্ধান এবং তাদেরকে অনুসরণ করার ক্ষমতা সরিয়ে দেয়। এটি কার্যকরভাবে তাদের অদৃশ্য এবং ব্যবহারকারী হিসাবে রেন্ডার করতে পারে, তাদের অনুপলব্ধ করে তোলে। আপনার যদি কোনও ডিফল্ট সিস্টেম নীতি থাকে যা ফাইল অ্যাক্সেসের ভিত্তিতে মেনু তৈরি করে, উদাহরণস্বরূপ, আপনি এই ধরণের প্রসাধনী সমাধানটি জায়গায় পেতে পারেন এবং তারপরে এটি সামান্য অতিরিক্ত প্রচেষ্টা সহ পরবর্তী ইনস্টলেশনগুলির জন্য কাজ করতে পারেন।
এক্সিকিউশন
কন্ট্রোল রিসোর্সের নিয়ন্ত্রণ ইউনিক্স অনুমতি, অ্যাপারমোর প্রোফাইল, সেলইনাক্স অনুমতি ইত্যাদির মাধ্যমে করা যেতে পারে। নিয়ন্ত্রণ ফিল্টারিংয়ের অন্যান্য স্তর থাকতে পারে যা প্রয়োগের উপর নির্ভর করে খেলতে আসতে পারে। আরও লক্ষ্যযুক্ত সমাধানের অভাবে, আপনাকে ব্যবহারকারী বা প্রক্রিয়া অ্যাক্সেস নিয়ন্ত্রণ করতে কিছু প্রোগ্রামের আশেপাশে র্যাপার লিখতে হতে পারে।
ভাল এটি dpkg
আপনাকে সাহায্য করবে না কারণ এটি এর নকশা লক্ষ্য নয়। এটি কোনও সিস্টেমে ইনস্টল হওয়া প্যাকেজগুলির মূল মালিকানাধীন একক আদমশুমারি হতে চায়।
একমাত্র যে জিনিসটি মনে মনে আসে তা হ'ল প্যাকেজটি বের করা এবং ফাইলগুলি ম্যানুয়ালি হোম ডিয়ারে রাখার চেষ্টা করা।
তবে এটি কেবল কিছু কাজের জন্য কাজ করবে। প্রচুর প্যাকেজগুলিকে খণ্ডগুলিতে বিভক্ত করা হয়েছে (এক্সিকিউটেবল বা স্ক্রিপ্ট ইন /usr/bin
, লাইব্রেরি ইন /lib
এবং অন্যান্য পোশাক ইন /usr/share
, ইত্যাদি) এবং এই অবস্থানগুলি বিল্ড স্ক্রিপ্টগুলির দ্বারা হার্ড-কোডড হয়। এইভাবে আপনি যদি চেষ্টা করেন এবং এর মতো কোনও কিছু টানেন তবে ~
এটি ভেঙে যাবে। আপনি নির্ভরতাগুলি আনইন্ডিং করার জন্য কয়েক ঘন্টা ব্যয় করতে পারেন তবে আপনি আপনার সময়ের সাথে ক্যান্সারের নিরাময়ের সন্ধান করা বা বিশ্বের কিছু সৌন্দর্য শোষণের মতো দরকারী কিছু করতে পারেন।
আপনি যেটি সফ্টওয়্যারটি লেখেন তার কাছ থেকে কেবল প্যাকেজবিহীন সংস্করণটি গ্রহণ করার জন্য আপনি আরও অনেক ভাল করতে চাইবেন। প্রায় সমস্ত ফ্রি সফটওয়্যার উত্স হিসাবে সংকুচিত সংরক্ষণাগার কিছু ফর্ম পাওয়া যায় যাতে এটি ধরুন এবং কেবল এটি তৈরি করুন। আপনি make install
পদক্ষেপ না। আপনার অ্যাপ্লিকেশনটি তৈরি করা হয়েছে, যেখানে আপনি এটি চান সেখানে রাখুন।
/etc/init
, কনফিগারেশন ফাইলগুলির সন্ধান করে /etc
, বা অন্য কয়েকটি পথ হার্ডকোডযুক্ত।
./configure --prefix=$HOME/local
।
আমি এই বিষয় সম্পর্কে খুব বেশী জানি না, কিন্তু এটা আপনার যাতে অন্য কোনো ডিরেক্টরিতে পরিবর্তে একটি প্যাকেজটি ইনস্টল করতে সক্ষম হতে পারে যে অন্যান্য উত্তর থেকে মনে হয় /
সঙ্গে dpkg
ব্যবহার --root
প্যারামিটারটি না, এবং তারপর chroot
Dir প্যাকেজ ছিল "থেকে ইনস্টল করা "ইন (যা অবশ্যই ব্যবহারকারীর হোম ডিরেক্টরিতে ডির হতে পারে)।
অন্য কোনও ব্যবহারকারীর জন্য প্যাকেজ ইনস্টল করতে এর পরিবর্তে root
উপরের প্রক্রিয়াটি ব্যবহার করা সম্ভব ।fakechroot
chroot
দাবি অস্বীকার: আমি এটি চেষ্টা করিনি, dpkg
বা লেখার সময় বা এর সাথে লেখার সময় খুব বেশি অভিজ্ঞতা লাভ chroot
করি না তবে এই সরঞ্জামগুলি সম্পর্কে আমি যা জানি তা থেকে এই প্রক্রিয়াটি কেবল কার্যকর হতে পারে ।
যে লিঙ্কগুলিতে এমন তথ্য রয়েছে যা এমন লোকদের পক্ষে কার্যকর হতে পারে যারা ক্ষমতা chroot
ছাড়াই এর প্রভাব অর্জন করতে চান root
:
chroot
fakechroot
)আমি এখন এই বিষয়গুলিকে স্পর্শ করে এমন জিনিসগুলি দিয়ে কিছুটা করেছি এবং আরও কিছু ...
খণ্ডগুলি (স্থানীয় পরিবেশ বিল্ডিং ব্লক):
chroot(1)
পূর্ণ (সম্পূর্ণ স্থানীয় পরিবেশ সরবরাহকারী):
chroot(1)
, mount --bind
, binfmt_misc
, এবং ব্যবহার করে অন্যান্য আর্কিটেকচারের থেকে বাইনেরিতে চলমান QEMU-ইউজার-স্পেসসংক্ষিপ্তসার : স্থানীয়ভাবে মূল সুযোগগুলি অনুকরণ করে বা বাস্তবায়িত করে, স্থানীয় পরিবেশের জন্য ডিইবি প্যাকেজগুলি ইনস্টল করা যেতে পারে।
আপনি সম্ভবত অন্য ডিরেক্টরিতে ইনস্টল করার --root
বিকল্পটি ব্যবহার করতে পারেন dpkg
। যদি অ্যাপ্লিকেশনটি নির্দিষ্ট জায়গাগুলির মতো জিনিসগুলি সন্ধান করে তবে সম্ভবত সমস্যাগুলির মধ্যে চলে যাবে /etc
।
সংক্ষেপে, আমি মনে করি না যে এখানে একটি সহজ উপায় আছে।
আপনি এক্সিকিউটেবল ফাইলের মালিকানা পরিবর্তন করতে পারেন যাতে কেবলমাত্র একজন ব্যবহারকারী এটি চালাতে সক্ষম হন। তারপরে, প্রয়োজনে, আপনি অন্যান্য ব্যবহারকারীর মেনু থেকে অ্যাপ্লিকেশনটি সরাতে পারেন।
~/bin
। তকাত একাধিক-ব্যবহারকারীর অ্যাপ্লিকেশনটির অ্যাক্সেস / দৃশ্যমানতা সীমাবদ্ধ করতে চায় কিনা, বা তিনি কোনও একক-ব্যবহারকারীর অ্যাপ্লিকেশন ইনস্টল করতে চান কিনা তা নিয়ে এই প্রশ্নে একটি অস্পষ্টতা রয়েছে। আপনার এবং বিন্যাসের প্রশ্নগুলি পূর্বের ব্যাখ্যাটি ব্যবহার করে এবং বাকী অংশগুলি পরে অনুমান করে।
সন্দিহান।
ডেবগুলি মূলত সংরক্ষণাগারগুলি হয় যা ইনস্টল করার পরে আপনার ফাইল সিস্টেমের মূল থেকে বের করা হয় (প্লাস কিছু কনফিগার)। আপনি যদি কেবল একটি ব্যবহারকারীর জন্য এগুলি ইনস্টল করতে চান তবে আপনার কোনওভাবে সেগুলি / হোম / ব্যবহারকারী ফোল্ডারে ইনস্টল করতে হবে। এমনকি যদি আপনি এটি করে থাকেন তবে তারা কাজ করবে না, কারণ ফী অ্যাপ্লিকেশন বাইনারিগুলি / usr / bin (বা sth অনুরূপ) তে অবতরণ করবে না এবং আপনি সেগুলি চালু করার চেষ্টা করলে সিস্টেম সেগুলি খুঁজে পাবে না। একইভাবে গ্রন্থাগারগুলি ইত্যাদি অকেজো হবে, কারণ সিস্টেমটি / বাড়িতে কোনও কোথাও জানতে পারে না। আপনি ব্রুট-ফোর্স পদ্ধতির চেষ্টা করতে পারেন , এবং পাথ ভেরিয়েবলটি যেখানেই আপনি ডিবে সংরক্ষণাগার থেকে ফাইলগুলি বের করেছেন সেদিকে নির্দেশ করতে পারে তবে এটি কেবল খুব বেশি হবে না অনিরাপদ, তবে এটি সামঞ্জস্যতা সমস্যার কারণ হতে পারে (মেনু এন্ট্রিগুলি কাজ করবে না, কারণ জিনোম।। ডেস্কটপ ফাইলগুলিকে / usr / শেয়ার / অ্যাপ্লিকেশনগুলিতে থাকতে পারে)।
তদুপরি, আপনি যদি কিছু ব্যবহারকারীর জন্য প্যাকেজ ইনস্টল করেন তবে এটি পাগল নির্ভরতা সমস্যার কারণ হতে পারে, যদি অন্য কোনও ব্যবহারকারী প্যাকেজটি ইনস্টল করেন যা আপনার নিজের জন্য ইনস্টল করা অন্যটির সাথে দ্বন্দ্ব বোধ করে - এবং সম্ভবত প্যাকেজ পরিচালনার সাথে সম্পর্কিত আরও অনেক সমস্যা প্রকাশিত হবে।
এই সমস্ত ঝামেলা ব্যবহারকারীদের জন্য পৃথকভাবে প্যাকেজ পরিচালনা করা অত্যন্ত কঠিন করে তোলে, সুতরাং মনে হয় কেবল একটি ব্যবহারকারীর জন্য এগুলি ইনস্টল করা সম্ভব নয়, কারণ .debs এর পিছনে ধারণাটি এটিকে অস্বীকার করে।