सुडो पहुंच के बिना संकुल स्थापित करना


11

क्या एक बड़ी निर्भरता के पेड़ के साथ पैकेज स्थापित करने का एक आसान तरीका है, बशर्ते कि आपके पास सुपरसुसर एक्सेस नहीं है? उदाहरण के लिए, कहते हैं कि मैं फ़ायरफ़ॉक्स स्थापित करना चाहता था। फ़ायरफ़ॉक्स पर निर्भरता का एक टन है, जिनमें से प्रत्येक की अपनी निर्भरताएं हैं, आदि इन "./configure; make? Make" को स्थापित करने का तरीका हमेशा के लिए ले जाएगा।

क्या कोई विकल्प है जिसे मैं व्यक्तिगत निर्देशिका में स्थापित करने के लिए apt-get दे सकता हूं? या मेरे लिए सभी भारी उठाने के लिए इसे हैक करने का एक तरीका है?


www.superuser.com पर पूछने का प्रयास करें या यदि सर्वर विशेष रूप से www.serverfault.com पर सवाल करता है

जवाबों:


4

आप अपने घर निर्देशिका में अलग-अलग .deb फ़ाइलें स्थापित कर सकते हैं:

dpkg-deb -x /path/to/some.deb $HOME

लेकिन यह निर्भरता का ध्यान नहीं रखता है जैसे कि योग्यता या योग्यता प्राप्त करना।


मैंने अपने कार्य केंद्र पर जूलिया के लिए परमाणु स्थापित करने के लिए इस पद्धति का उपयोग किया। इसके अतिरिक्त, मैंने ~ / .bashrc: alias atom = "/ path / to / the / निष्पादन योग्य / परमाणु / बाइनरी / फ़ाइल" में परमाणु के लिए एक उपनाम बनाया। फिर चलाएँ: स्रोत ~ / .bashrc, आप टर्मिनल में परमाणु चलाने के लिए तैयार हैं।
शुभ होगा

2

की जाँच करें NixOs ( LWN )। पैकेज अलग-थलग होते हैं (कभी-कभी वितरण को उन्हें पैच करने की आवश्यकता होती है) और कई बार, विभिन्न संस्करणों में, या विभिन्न उपयोगकर्ताओं द्वारा स्थापित किया जा सकता है।

jhbuild एक बड़ी cmmi प्रक्रिया को स्वचालित कर सकता है। लेकिन किसी को एक मॉड्यूलसेट (एक निर्भरता ग्राफ) लिखने की जरूरत है।

यदि आप मैन्युअल कॉन्फ़िगर के साथ जा रहे हैं / सभी स्थापित करने की प्रक्रिया कर रहे हैं, तो अपने घर में चीजों को सरल बनाने के लिए स्टोव का उपयोग करना संभव है । स्टोव कई उपसर्गों में चीजों को स्थापित करने के लिए सहायक है, लेकिन निर्भरता संकल्प के लिए केवल एक उपसर्ग का उपयोग करें।

dpkg को instdir / admindir / root के साथ एक अलग उपसर्ग में स्थापित करने के लिए बाध्य किया जा सकता है, लेकिन यह केवल चिरोट वातावरण के लिए उपयोगी है।


0

फ़ायरफ़ॉक्स को स्रोत से संकलित न करें, बस अपने घर निर्देशिका में एक बाइनरी पैकेज स्थापित करें।

यह मोज़िला नॉलेजबेस लेख बताता है कि यह कैसे करना है। मूल रूप से आपको बस एक टारबॉल निकालने और firefoxउसमें एक फ़ाइल निष्पादित करने की आवश्यकता है; सभी निर्भरताएं पहले से ही शामिल हैं, इसलिए आपको कुछ भी स्थापित करने की आवश्यकता नहीं है apt

संपादित करें: नहीं, कोई सामान्य विधि मौजूद नहीं है, कम से कम क्योंकि अधिकांश अनुप्रयोगों (और विशेष रूप से जीयूआई वाले) के लिए इसकी बहुत अधिक आवश्यकता होती है जैसे कि जाने-माने स्थानों जैसे / usr / share में रखा जाना चाहिए, और इसमें हार्डकोड किया गया है (अच्छी तरह से, इसे संकलित समय पर कॉन्फ़िगर किया जा सकता है, लेकिन आप सब कुछ फिर से नहीं करना चाहते हैं जैसा कि आपने प्रश्न में कहा है)। तो आप बस प्री-संकलित बाइनरी पैकेज की जांच कर सकते हैं जो लॉन्च निर्देशिका में संसाधनों की खोज करते हैं और सिस्टम वाले नहीं।


मैं पैकेज प्रबंधन प्रथाओं के बारे में प्रश्न की व्याख्या करता हूं। मुझे संदेह है कि फ़ायरफ़ॉक्स सिर्फ एक उदाहरण है, इसलिए फ़ायरफ़ॉक्स-विशिष्ट तरीके अत्यधिक उपयोगी नहीं हैं।
क्वैककोट

धन्यवाद, पोस्ट को संपादित किया। फ़ायरफ़ॉक्स जानकारी अभी भी उपयोगी है।
श्वेतार्क

0

मुझे लगता है कि जवाब बहुत ज्यादा "नहीं" है। सबसे पहले सभी पैकेज डेटाबेस केवल रूट द्वारा पहुंच योग्य हैं, और दूसरी बात, कुछ / कई पैकेजों में हार्डकोड किए गए पथ हैं जो उन्हें स्थानांतरित करना असंभव बनाते हैं। चेरोट का उपयोग करना एक संभावित उत्तर होगा, लेकिन आपको इसके लिए रूट की भी आवश्यकता होगी, या कम से कम किसी को रूट के साथ आपको सीमित अधिकार देने के लिए।


0

मेरा मानना ​​है कि आपको एक चुरोट करना होगा फिर आप अपने पैकेज वहां स्थापित कर सकते हैं।

रेफरी: https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/appendix-chroot.html https://wiki.ubuntu.com/DebootstrapChroot


रूट विशेषाधिकार किसी भी तरह से चुरोट बनाने के लिए आवश्यक होते हैं, इसलिए इसके बजाय सिर्फ पैकेज क्यों स्थापित न करें ? इसके अलावा, संभावना है कि आपका sysadmin आपको पूर्ण रूट विशेषाधिकार प्रदान करेगा (या यहां तक ​​कि उपयुक्त-संबंधित) बहुत हैं, चुरोट के लिए बहुत कम हैं। यह (लगभग) मेजबान प्रणाली के लिए खतरनाक नहीं है।
सफेद जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.