আমি কীভাবে কেবল একক ব্যবহারকারীর জন্য ডিইবি ফাইল দ্বারা একটি অ্যাপ্লিকেশন ইনস্টল করব?


33

সফ্টওয়্যার কেন্দ্রের মাধ্যমে বা কোনও ডিইবি ফাইলের মাধ্যমে অ্যাপ্লিকেশন ইনস্টল করার সময় এগুলি সাধারণত সমস্ত ব্যবহারকারীর জন্য সিস্টেম ওয়াইড ইনস্টল করা হবে।

কেবলমাত্র একক ব্যবহারকারীর জন্য কোনও অ্যাপ্লিকেশন ইনস্টল করার কোনও উপায় আছে কি?

উত্তর:


5

আপনি যা অর্জন করতে চান তার উপর নির্ভর করে এই কাজটি করার বিভিন্ন উপায় থাকতে পারে (বা কমপক্ষে আপনি যে কার্যকারিতা চান তার একটি হ্যাকি দৃষ্টিনন্দন দিন)।

বিভিন্ন উপায়ে সফ্টওয়্যার ইনস্টলেশনটি সংস্থানগুলি সরবরাহ করতে বা সিস্টেমে ইতিমধ্যে উপস্থিত জিনিসগুলিতে অ্যাক্সেসের অনুমতি দেয়।

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

এখানে ইনস্টলেশন-পরবর্তী নিয়ন্ত্রণের দুটি সাধারণ ক্লাস যুক্ত করা যায়। দ্রষ্টব্য, সঠিক পরিবেশের ভিত্তিতে, উদাহরণস্বরূপ যখন শক্তভাবে নিয়ন্ত্রিত গোষ্ঠী নীতি স্থাপন করা হয়, আপনি একবার বেসিক সিস্টেমটি স্থাপন করার পরে এটি আরও সহজ হতে পারে। এই ধরণের অনুমতিটি এমনকি এলডিএপি বা অনুরূপ সিস্টেমেও বেঁধে দেওয়া যেতে পারে যা প্রতি ব্যবহারকারী বা গোষ্ঠী প্রমাণীকরণ এবং অনুমোদন দিতে পারে।

ভিসিবিলিটি নিয়ন্ত্রণ
আমার নিজের মধ্যে সম্ভবত কিছুটা একই পরিস্থিতি ছিল, তবে আমার ক্ষেত্রে, ব্যবহারকারীরা (এখনও) খুব পরিশীলিত ছিলেন না (তারা সকলেই 7 বছরের কম বয়সী)। আমার জন্য, কেবল জিনোম মেনুগুলি লুকিয়ে রেখে বা ডেস্কটপ লঞ্চারগুলি সরিয়ে কাজ করেছে।

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

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


3
দৃশ্যমানতা এবং সম্পাদন নিয়ন্ত্রণের দিকটি আলাদা করার জন্য +1
55

10

ভাল এটি dpkgআপনাকে সাহায্য করবে না কারণ এটি এর নকশা লক্ষ্য নয়। এটি কোনও সিস্টেমে ইনস্টল হওয়া প্যাকেজগুলির মূল মালিকানাধীন একক আদমশুমারি হতে চায়।

একমাত্র যে জিনিসটি মনে মনে আসে তা হ'ল প্যাকেজটি বের করা এবং ফাইলগুলি ম্যানুয়ালি হোম ডিয়ারে রাখার চেষ্টা করা।

তবে এটি কেবল কিছু কাজের জন্য কাজ করবে। প্রচুর প্যাকেজগুলিকে খণ্ডগুলিতে বিভক্ত করা হয়েছে (এক্সিকিউটেবল বা স্ক্রিপ্ট ইন /usr/bin, লাইব্রেরি ইন /libএবং অন্যান্য পোশাক ইন /usr/share, ইত্যাদি) এবং এই অবস্থানগুলি বিল্ড স্ক্রিপ্টগুলির দ্বারা হার্ড-কোডড হয়। এইভাবে আপনি যদি চেষ্টা করেন এবং এর মতো কোনও কিছু টানেন তবে ~এটি ভেঙে যাবে। আপনি নির্ভরতাগুলি আনইন্ডিং করার জন্য কয়েক ঘন্টা ব্যয় করতে পারেন তবে আপনি আপনার সময়ের সাথে ক্যান্সারের নিরাময়ের সন্ধান করা বা বিশ্বের কিছু সৌন্দর্য শোষণের মতো দরকারী কিছু করতে পারেন।

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


1
শেষ বিকল্পটি হিসাবে: এটি আমার কাছে মনে হয় এটি কিছু (সাধারণ প্রোগ্রাম) ক্ষেত্রে সহায়তা করতে পারে তবে সাধারণত প্যাকেজটি উদাহরণস্বরূপ সূচনা স্ক্রিপ্টগুলিতে ইনস্টল করে /etc/init, কনফিগারেশন ফাইলগুলির সন্ধান করে /etc, বা অন্য কয়েকটি পথ হার্ডকোডযুক্ত।
ব্যবস্থা করুন

2
উপর ভিত্তি করে প্রকল্প autoconf একটি কাস্টম ইনস্টল Dir মাধ্যমে সেট করতে অনুমতি দিতে পারে ./configure --prefix=$HOME/local
ইনগো কারকাত

6

আমি এই বিষয় সম্পর্কে খুব বেশী জানি না, কিন্তু এটা আপনার যাতে অন্য কোনো ডিরেক্টরিতে পরিবর্তে একটি প্যাকেজটি ইনস্টল করতে সক্ষম হতে পারে যে অন্যান্য উত্তর থেকে মনে হয় /সঙ্গে dpkgব্যবহার --rootপ্যারামিটারটি না, এবং তারপর chrootDir প্যাকেজ ছিল "থেকে ইনস্টল করা "ইন (যা অবশ্যই ব্যবহারকারীর হোম ডিরেক্টরিতে ডির হতে পারে)।

অন্য কোনও ব্যবহারকারীর জন্য প্যাকেজ ইনস্টল করতে এর পরিবর্তে rootউপরের প্রক্রিয়াটি ব্যবহার করা সম্ভব ।fakechrootchroot

দাবি অস্বীকার: আমি এটি চেষ্টা করিনি, dpkgবা লেখার সময় বা এর সাথে লেখার সময় খুব বেশি অভিজ্ঞতা লাভ chrootকরি না তবে এই সরঞ্জামগুলি সম্পর্কে আমি যা জানি তা থেকে এই প্রক্রিয়াটি কেবল কার্যকর হতে পারে

যে লিঙ্কগুলিতে এমন তথ্য রয়েছে যা এমন লোকদের পক্ষে কার্যকর হতে পারে যারা ক্ষমতা chrootছাড়াই এর প্রভাব অর্জন করতে চান root:

হালনাগাদ

আমি এখন এই বিষয়গুলিকে স্পর্শ করে এমন জিনিসগুলি দিয়ে কিছুটা করেছি এবং আরও কিছু ...

খণ্ডগুলি (স্থানীয় পরিবেশ বিল্ডিং ব্লক):

  • ফাকেররুট - অনুকরণ করেchroot(1)
  • ডিবুটস্ট্র্যাপ - একটি ডিরেক্টরিতে আরও একটি ডেবিয়ান ফাইল সিস্টেমের স্তরক্রম তৈরি করুন
  • Fakeroot-NG / fakeroot - কিছু জিনিসের জন্য রুট হওয়ার ভান করতে পারে
  • এমডেবিয়ান - একটি ডেবিয়ান বৈকল্পিক যা কম স্থান ব্যবহার করে এবং প্রায়শই ক্রুট পরিবেশে ব্যবহৃত হয়
  • binfmt_misc - তাদের দোভাষী ব্যবহার করে ফাইল চালাতে পারে, যেন তারা দেশীয় বাইনারি হয়; বিদেশী আর্কিটেকচার ( স্ক্রিপ্ট / qemu-binfmt-conf.sh যা কুইমু উত্স কোডের সাথে আসে এটি স্বয়ংক্রিয়ভাবে আসে ) এর বাইনারিগুলির সাথে (বা একটি (নকল) ক্রুটে ) কাজ করার জন্য কিমু-ব্যবহারকারীর সাথে একত্রে দরকারী
  • কিমু ব্যবহারকারীর স্থান - অন্যান্য স্থাপত্যের বাইনারি চালাতে পারে; যখন তারা কিছু প্রসেসরের আর্কিটেকচার সমর্থন করে না তখন এই কয়েকটি সরঞ্জামের সাথে ব্যবহার করা যেতে পারে
  • LwIP - একটি টিসিপি / আইপি নেটওয়ার্কিং স্ট্যাক যা ব্যবহারকারীর স্থান থেকে চালানো যেতে পারে

পূর্ণ (সম্পূর্ণ স্থানীয় পরিবেশ সরবরাহকারী):

  • ব্যবহারকারী মোড লিনাক্স - নিয়মিত প্রক্রিয়া / প্রোগ্রাম হিসাবে অন্য একটি লিনাক্স সিস্টেম চালায়
  • কিমু - একটি সম্পূর্ণ ভার্চুয়াল কম্পিউটার চালান
  • PRoot - এর বৈশিষ্ট্য প্রদান করে chroot(1), mount --bind, binfmt_misc, এবং ব্যবহার করে অন্যান্য আর্কিটেকচারের থেকে বাইনেরিতে চলমান QEMU-ইউজার-স্পেস
  • লিনাক্স নেমস্পেসস - স্থানীয় পরিবেশে পুরো রুট থাকতে দেয়, ব্যবহারকারী নামস্থান ব্যবহার করার সময় , লিনাক্স কার্নেল সংস্করণ ৩.৮ এবং এর পরে উপলব্ধ বৈশিষ্ট্য।

সংক্ষিপ্তসার : স্থানীয়ভাবে মূল সুযোগগুলি অনুকরণ করে বা বাস্তবায়িত করে, স্থানীয় পরিবেশের জন্য ডিইবি প্যাকেজগুলি ইনস্টল করা যেতে পারে।


3
আপনার উত্তরটি সম্পূর্ণরূপে ফর্ম্যাট করতে নির্দ্বিধায় যদি আপনার কাছে এমন তথ্য থাকে যা আপনার পূর্ববর্তী তথ্যের সাথে বিরোধী (বা যদি আপনি মনে করেন যে এটিতে কিছু যুক্ত হয়)। আপনি অতিরিক্ত "সম্পাদনা" বা "আপডেট" বিভাগগুলি যুক্ত করার পরিবর্তে পুনরায় উত্তর দিলে অনেক ক্ষেত্রে আপনার উত্তর আরও স্পষ্ট হবে। আপনার তথ্য আকর্ষণীয়, তবে সম্ভবত সবচেয়ে প্রাসঙ্গিক অংশ নীচে আটকে আছে।
বেলাক্কুয়া

@ jgbelacqua - পুনরায় ফর্ম্যাট করা, টিপটির জন্য আপনাকে ধন্যবাদ
আব্বাফেই

4

আপনি সম্ভবত অন্য ডিরেক্টরিতে ইনস্টল করার --rootবিকল্পটি ব্যবহার করতে পারেন dpkg। যদি অ্যাপ্লিকেশনটি নির্দিষ্ট জায়গাগুলির মতো জিনিসগুলি সন্ধান করে তবে সম্ভবত সমস্যাগুলির মধ্যে চলে যাবে /etc

সংক্ষেপে, আমি মনে করি না যে এখানে একটি সহজ উপায় আছে।


2

আপনি এক্সিকিউটেবল ফাইলের মালিকানা পরিবর্তন করতে পারেন যাতে কেবলমাত্র একজন ব্যবহারকারী এটি চালাতে সক্ষম হন। তারপরে, প্রয়োজনে, আপনি অন্যান্য ব্যবহারকারীর মেনু থেকে অ্যাপ্লিকেশনটি সরাতে পারেন।


1
একটি একক ব্যবহারকারীর জন্য অ্যাপ্লিকেশন ইনস্টল করতে ইচ্ছুক হওয়ার জন্য একটি সাধারণ অনুপ্রেরণা হ'ল ইনস্টলেশনের প্রশাসনিক সুযোগসুবিধাগুলি ব্যবহার করা দরকার avoid
ündrük

@ ündr Butk তবে যদি সে ইতিমধ্যে একটি .deb থেকে ইনস্টল করে থাকে, আমরা কি প্রশাসকের সুবিধাগুলি ধরে নিচ্ছি না?
বেলাক্কোয়া

@jgbelacqua আমার জ্ঞানের মতে, হ্যাঁ, .deb থেকে ইনস্টল করার জন্য প্রশাসকের সুযোগ সুবিধা প্রয়োজন। তবে, সাধারণভাবে, "কেবলমাত্র একক ব্যবহারকারীর জন্য" কিছু ইনস্টল করার জন্য সিস্টেম-ব্যাপী প্রশাসনের জন্য ব্যবহৃত সুবিধাগুলি উন্নত করতে হবে না। উদাহরণস্বরূপ, আমি প্রায়শই কেবল নিজের জন্য প্রোগ্রামগুলিতে রেখে তা ইনস্টল করি ~/bin। তকাত একাধিক-ব্যবহারকারীর অ্যাপ্লিকেশনটির অ্যাক্সেস / দৃশ্যমানতা সীমাবদ্ধ করতে চায় কিনা, বা তিনি কোনও একক-ব্যবহারকারীর অ্যাপ্লিকেশন ইনস্টল করতে চান কিনা তা নিয়ে এই প্রশ্নে একটি অস্পষ্টতা রয়েছে। আপনার এবং বিন্যাসের প্রশ্নগুলি পূর্বের ব্যাখ্যাটি ব্যবহার করে এবং বাকী অংশগুলি পরে অনুমান করে।
ündrük

1

সন্দিহান।

ডেবগুলি মূলত সংরক্ষণাগারগুলি হয় যা ইনস্টল করার পরে আপনার ফাইল সিস্টেমের মূল থেকে বের করা হয় (প্লাস কিছু কনফিগার)। আপনি যদি কেবল একটি ব্যবহারকারীর জন্য এগুলি ইনস্টল করতে চান তবে আপনার কোনওভাবে সেগুলি / হোম / ব্যবহারকারী ফোল্ডারে ইনস্টল করতে হবে। এমনকি যদি আপনি এটি করে থাকেন তবে তারা কাজ করবে না, কারণ ফী অ্যাপ্লিকেশন বাইনারিগুলি / usr / bin (বা sth অনুরূপ) তে অবতরণ করবে না এবং আপনি সেগুলি চালু করার চেষ্টা করলে সিস্টেম সেগুলি খুঁজে পাবে না। একইভাবে গ্রন্থাগারগুলি ইত্যাদি অকেজো হবে, কারণ সিস্টেমটি / বাড়িতে কোনও কোথাও জানতে পারে না। আপনি ব্রুট-ফোর্স পদ্ধতির চেষ্টা করতে পারেন , এবং পাথ ভেরিয়েবলটি যেখানেই আপনি ডিবে সংরক্ষণাগার থেকে ফাইলগুলি বের করেছেন সেদিকে নির্দেশ করতে পারে তবে এটি কেবল খুব বেশি হবে না অনিরাপদ, তবে এটি সামঞ্জস্যতা সমস্যার কারণ হতে পারে (মেনু এন্ট্রিগুলি কাজ করবে না, কারণ জিনোম।। ডেস্কটপ ফাইলগুলিকে / usr / শেয়ার / অ্যাপ্লিকেশনগুলিতে থাকতে পারে)।

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

এই সমস্ত ঝামেলা ব্যবহারকারীদের জন্য পৃথকভাবে প্যাকেজ পরিচালনা করা অত্যন্ত কঠিন করে তোলে, সুতরাং মনে হয় কেবল একটি ব্যবহারকারীর জন্য এগুলি ইনস্টল করা সম্ভব নয়, কারণ .debs এর পিছনে ধারণাটি এটিকে অস্বীকার করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.