इस मशीन पर मेरी कोई जड़ नहीं है ।
मैं जानना चाहूंगा कि क्या कोई तरीका है जिससे मैं उबंटू पैकेज डाउनलोड कर सकता हूं और उन्हें गैर-रूट के रूप में स्थापित कर सकता हूं ?
शायद मेरे ~/bin
या ~/usr/share
उस जैसे कुछ में? क्या इससे काम हो जायेगा?
इस मशीन पर मेरी कोई जड़ नहीं है ।
मैं जानना चाहूंगा कि क्या कोई तरीका है जिससे मैं उबंटू पैकेज डाउनलोड कर सकता हूं और उन्हें गैर-रूट के रूप में स्थापित कर सकता हूं ?
शायद मेरे ~/bin
या ~/usr/share
उस जैसे कुछ में? क्या इससे काम हो जायेगा?
जवाबों:
Apt सीधे इसका समर्थन नहीं करता है, लेकिन इसे करने के तरीके हैं।
एक schroot
गैर-रूट चुरोट बनाने के लिए उपयोग करना है। यह कुछ हद तक शामिल प्रक्रिया है , लेकिन एक आपको कोड के संकलन के लिए चेरोट वातावरण स्थापित करने वाले कई डेवलपर्स के लिए सामुदायिक मदद मिलनी चाहिए।
दूसरा तरीका जो मुझे पता है वह एक .deb पैकेज से स्थापित करना है। आप इसे वेब साइट से डाउनलोड कर सकते हैं या यदि यह उबंटू रिपॉजिटरी में है तो आप इसके साथ डाउनलोड कर सकते हैं।
apt-get download package
package
पैकेज के नाम से बदलें
एक बार जब आप अपने डिबेट फ़ाइल dpkg
को कमांड लाइन से सीधे कॉल करते हैं। निम्न उदाहरण आपके घर निर्देशिका में package.deb स्थापित करेगा।
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 को निर्यात कर सकते हैं जहां बाइनरी है। जब तक बाइनरी की सभी निर्भरताएं स्थापित हो जाती हैं, तब तक इसे सामान्य रूप से चलना चाहिए।
sudo apt-get build-dep package
लिए आवश्यक सब कुछ स्थापित करने के लिए उपयोग कर सकते हैं (इसके स्रोत के साथ मिलने के बाद )। apt-get source
--force-not-root --root=$HOME
या रूपांतर इसके काम नहीं करेंगे। डेबियन बाइनरी पैकेज को घर की निर्देशिका, अवधि में स्थापित करने के लिए डिज़ाइन नहीं किया गया है। या, यह एक और तरीका है,। "निम्न उदाहरण आपके घर निर्देशिका में package.deb स्थापित करेगा।" नहीं, यह नहीं होगा।
--force-not-root --root=/your/custom/path
मुझे लगता है कि आप jedit स्थापित करना चाहते हैं । सबसे पहले आपको पैकेज ढूंढना होगा और उसे डाउनलोड करना होगा। मैं सिर्फ कुछ दर्पण से डिबेट फाइल लेता हूं और एक कंसोल / टर्मिनल खोलता हूं :
mkdir /tmp/jedit && cd /tmp/jedit
- इसमें एक नया diretory बनाता है tmp
और इसमें बदलाव करता है।wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb
- सेल डाउनलोड करेंar x jedit_4.3.1.dfsg-0ubuntu1_all.deb
या, टाइप करने में आसान, ar x *.deb
- यह फ़ाइल सामग्री को निकालता हैtar xvzf data.tar.gz
- फाइल में data.tar.gz
वह सारा सामान होता है, जो आपको सॉफ्टवेयर को क्रियान्वित करने के लिए चाहिए होता हैusr/bin/jedit
संपादक को खोलता हैआप अपने होम डायरेक्टरी में फाइलों को किसी बिंदु पर ले जा सकते हैं और उन्हें वहां से निष्पादित कर सकते हैं।
मैंने JuJu नामक एक कार्यक्रम लिखा है, जो मूल रूप से $ $ HOME / .juju निर्देशिका के अंदर वास्तव में एक छोटे से लिनक्स वितरण (सिर्फ पैकेज प्रबंधक वाले) को अनुमति देता है।
यह आपके कस्टम सिस्टम को प्रॉपोट के माध्यम से होम डायरेक्टरी के अंदर पहुंचाने की अनुमति देता है और इसलिए, आप रूट विशेषाधिकारों के बिना किसी भी पैकेज को स्थापित कर सकते हैं। यह सभी प्रमुख लिनक्स वितरणों के लिए ठीक से चलेगा, एकमात्र सीमा यह है कि जूजू न्यूनतम अनुशंसित संस्करण 2.6.32 के साथ लिनक्स कर्नेल पर चल सकता है।
उदाहरण के लिए, JuJu स्थापित करने के बाद jedit स्थापित करने के लिए:
$>juju -f
(juju)$> pacman -S jedit
(juju)> jedit