রুট অ্যাক্সেস ছাড়াই আমি কীভাবে একটি প্যাকেজ ইনস্টল করতে পারি?


125

এই মেশিনে আমার কোনও রুট অ্যাক্সেস নেই

আমি জানতে চাই যে উবুন্টু প্যাকেজগুলি ডাউনলোড করার এবং সেগুলি নন-রুট হিসাবে ইনস্টল করার কোনও উপায় আছে কিনা ?

সম্ভবত আমার মধ্যে ~/binবা ~/usr/shareবা ওই জাতীয় কিছু? কাজ করবে?


1
আশা করি, তারা শীঘ্রই এটি সমর্থন করবে।
ডমি

4
আপনি লিনাক্সের জন্য পোর্টেবল অ্যাপ্লিকেশন ব্যবহার করতে পারেন: কোনও ইনস্টল নেই, কোনও রুট প্রয়োজন নেই। এটি appimage.orgসন্ধান করুন । এমনকি লিনাস টরভাল্ডস এটি পছন্দ করে। এটি অদ্ভুত, কারণ লিনাস কিছুই পছন্দ করেন না।
ipse lute

আমি ফেকেররুট চেষ্টা করার পরামর্শ দিচ্ছি ।
রবার্ট পোলাক

একটি সংমিশ্রণ dpk -xএবং mvআমার জন্য কাজ। অথবা, এমনকি dpkযদি উপলভ্য না হয় arএবং tarখুব সীমাবদ্ধ সিস্টেমে আমার জন্য কাজ করা পাইপিং / সংমিশ্রণটি এখানে দেখুন
iolsmit

উত্তর:


107

অ্যাপটি সরাসরি এটি সমর্থন করে না, তবে এটি করার উপায় রয়েছে।

একটি হ'ল schrootনন-রুট ক্রুট তৈরি করতে ব্যবহার করা। এটি কিছুটা জড়িত প্রক্রিয়া , তবে এক হিসাবে আপনার অনেকগুলি বিকাশকারী কোড সংকলনের জন্য ক্রুট পরিবেশ স্থাপনের জন্য সম্প্রদায় সহায়তা পেতে সক্ষম হন।

দ্বিতীয় উপায়টি সম্পর্কে আমি জানি একটি .deb প্যাকেজ থেকে ইনস্টল করা। আপনি এটি কোনও ওয়েব সাইট থেকে ডাউনলোড করতে সক্ষম হতে পারেন বা এটি উবুন্টু সংগ্রহস্থলে থাকলে আপনি ডাউনলোড করতে পারেন।

apt-get download package

packageপ্যাকেজের নাম দিয়ে প্রতিস্থাপন করুন

একবার আপনার ডাব ফাইল কলটি dpkgসরাসরি কমান্ড লাইন থেকে। নিম্নলিখিত উদাহরণটি আপনার হোম ডিরেক্টরিতে প্যাকেজ.দেব ইনস্টল করবে।

dpkg -i package.deb --force-not-root --root=$HOME 

Dpkg এর মতো ব্যবহারের অসুবিধা হ'ল ত্রুটি বার্তাগুলি ক্রিপ্টিক হতে পারে; dpkg স্বয়ংক্রিয়ভাবে নির্ভরতাগুলি সমাধান করে না বা প্রত্যাশিত ডিরেক্টরি কাঠামো তৈরি করে না।

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

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

এই পদ্ধতির অসুবিধা হ'ল আপনার এ পদ্ধতির জন্য কাজ করার জন্য উপলব্ধ বিকাশের পরিবেশের প্রয়োজন এবং সমস্ত নির্ভরতা সমাধানের জন্য আপনি নিজেকে কয়েক ডজন প্যাকেজ সংকলন করতে পারেন।

সম্পাদনা করুন:

হিসাবে dpkg -i(মন্তব্য দেখুন) কাজ করে না, আমি এই বিকল্প সুপারিশ:

dpkg -x package.deb dir

এটি .deb প্যাকেজটি dir এ বের করবে। তারপরে আপনি বাইনারি যেখানে রয়েছে সেখানে PATH রফতানি করতে পারেন। যতক্ষণ না বাইনারিটির সমস্ত নির্ভরতা ইনস্টল থাকে ততক্ষণ এটি স্বাভাবিক হিসাবে চলতে হবে।


1
আপনার যদি রুট অ্যাক্সেস থাকে তবে বিশ্বব্যাপী কোনও নির্দিষ্ট প্যাকেজ ইনস্টল করতে না চান তবে আপনি প্যাকেজ তৈরিরsudo apt-get build-dep package জন্য প্রয়োজনীয় সবকিছু ইনস্টল করতে ব্যবহার করতে পারেন (এর উত্সটি পাওয়ার পরে )। apt-get source
ভ্লাদিমির পানতেলিভ

19
এই উত্তরটি 2010 সালে ফিরে লেখা হয়েছিল। তখন থেকে কীভাবে এটি করা হয় তাতে কোনও পরিবর্তন হয়েছে?
বেকো

36
এমনকি --ফোর্স-নন-রুট দিয়েও, আমি "ডিপি কেজি: ত্রুটি: অনুরোধ করা অপারেশনটির জন্য সুপারভাইজার সুবিধা প্রয়োজন"
ক্ল্যামেন্ট

10
ভাবেন, --force-not-root --root=$HOMEবা এর বিভিন্নতা কাজ করবে না। ডেবিয়ান বাইনারি প্যাকেজগুলি হোম ডিরেক্টরি, পিরিয়ডে ইনস্টল করার জন্য ডিজাইন করা হয়নি। অথবা, এটি অন্যভাবে রাখা,। "নিম্নলিখিত উদাহরণটি আপনার হোম ডিরেক্টরিতে প্যাকেজ.দেব ইনস্টল করবে।" না, তা হবে না।
ফাহিম মিঠা

1
দুঃখজনকভাবে এই কাজ করবে না। আমি চেষ্টা করেছি--force-not-root --root=/your/custom/path
ভিয়েতনাম

16

আমি ধরে নিচ্ছি আপনি জেডিট ইনস্টল করতে চান । প্রথমে আপনাকে প্যাকেজটি সন্ধান করতে হবে এবং এটি ডাউনলোড করতে হবে। আমি কিছুটা আয়না থেকে দেব ফাইলটি নিয়ে একটি কনসোল / টার্মিনাল খুলি:

  1. mkdir /tmp/jedit && cd /tmp/jedit- এতে একটি নতুন নির্দেশিকা তৈরি করে tmpএবং এতে পরিবর্তন ঘটে।
  2. wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb - প্যাকেজ ডাউনলোড করুন
  3. ar x jedit_4.3.1.dfsg-0ubuntu1_all.debবা, টাইপ করা সহজ, ar x *.deb- এটি ফাইলের সামগ্রীগুলি বের করে
  4. tar xvzf data.tar.gz- data.tar.gzসফ্টওয়্যার চালনার জন্য আপনার প্রয়োজনীয় সমস্ত ফাইল ফাইলটিতে রয়েছে
  5. usr/bin/jedit সম্পাদক খোলে
  6. সম্পন্ন :-)

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


11
নোট করুন যে প্রাক-ইনস্টল করার পরে এবং স্ক্রিপ্টগুলি চালিত হয় না; এছাড়াও আপনাকে নিজের যে কোনও নির্ভরতা বা পথগুলি সমাধান করতে হবে। কিন্তু একটি ডিফল্ট ইনস্টল এ ডেস্কটপ অ্যাপ্লিকেশন প্রচুর জন্য যথেষ্ট।
জোবোতি

আপনি এটি অনুসন্ধান না করেও প্যাকেজটি ডাউনলোড করতে পারেন, কেবল অ্যাপটি-ডাউনলোড করুন (অন্য উত্তর দেখুন)
লব

আমি বিশ্বাস করি আপনার লিঙ্কটি ভেঙে গেছে।
Winnemucca

9

আমি জুজু নামে একটি প্রোগ্রাম লিখেছিলাম যা মূলত আপনার $ HOME / .juju ডিরেক্টরিতে সত্যিই একটি ছোট্ট লিনাক্স বিতরণ করতে পারে (কেবলমাত্র প্যাকেজ ম্যানেজার সহ)।

এটি হোম ডিরেক্টরিতে আপনার কাস্টম সিস্টেমটিকে প্রোটের মাধ্যমে অ্যাক্সেসযোগ্য করতে দেয় এবং অতএব, আপনি কোনও অধিকার ছাড়াই কোনও প্যাকেজ ইনস্টল করতে পারেন। এটি সমস্ত বড় লিনাক্স বিতরণে সঠিকভাবে চলবে, একমাত্র সীমাবদ্ধতা হ'ল ন্যূনতম প্রস্তাবিত সংস্করণ ২.6.৩২ সহ লিনাক্স কার্নেলে জুজু চালাতে পারে।

উদাহরণস্বরূপ, জেডিট ইনস্টল করতে জুজু ইনস্টল করার পরে:

$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit

এটি ঠিক উবুন্টুতে ঠিক চলবে?
শেঠ

হ্যাঁ, যদি উবুন্টুর লিনাক্স কার্নেল সংস্করণটি বৃহত্তর বা ২.6.৩২ এর সমান হয় তবে এটি কাজ করবে।
ব্যবহারকারী 967489

2
প্রথমে আমি ভেবেছিলাম আপনি এই বিষয়ে কথা বলছেন । দ্বিতীয় মূলধনী জে পার্থক্য করে।
কন সাইক

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