Apt-get के साथ स्थानीय .deb पैकेज कैसे स्थापित करें


144

क्या आपके एचडी पर संकुल स्टोर को स्थापित करने का एक तरीका है, जैसे apt-get, like apt-get install ./package.deb?

यदि नहीं, तो बहुत आसान तरीके से निर्भरता कैसे संभालें?


यह अब काम करता है। यदि आप अभी भी SuperUser का उपयोग करते हैं, तो क्या आप स्वीकृत उत्तर को अपडेट कर सकते हैं? निचे देखो।
मिक्मेकाना जूल

जवाबों:


121

आमतौर पर मैं dpkg -i <deb file>यह कहता हूं कि यह असफलता होगी, यह निर्भरता की जरूरत है। उसके बाद जब आप ऐसा करते हैं तो apt-get updateयह अंत में कुछ कहेगा जैसे "निर्भरता स्थापित करने के लिए तैयार हैं" मुझे लगता है कि यह उपयोग करने की सलाह देता है apt-get install -f

एक बार जो हो गया, मैं dpkg -iफिर से उपयोग करता हूं ।

मेरे लिए पिछले कुछ वर्षों में ठीक काम किया।

संपादित करें: थोड़ा और आगे बढ़ते हुए, जाहिरा तौर पर एक टूल जिसे gdebiयह कहा जा सकता है gdebi [deb file]


1
धन्यवाद मैं "त्रुटि" dpkg द्वारा तब वही किया था, उपयुक्त स्थापित करें -f और यह काम किया।
लुई

2
gdebiमेरे लिए काम किया है, और सबसे सरल मैंने अब तक देखा है।
ctrl-alt-delor 15

55

Sirex में कम या ज्यादा सही है, लेकिन उसका जवाब स्पष्ट नहीं है। मैंने अभी इसे हल किया है, इसलिए यहां मैंने क्या किया है:

sudo dpkg -i /path/to/filename.deb

यदि यह पैकेज के बारे में एक संदेश के साथ विफल हो जाता है जो कुछ भी स्थापित नहीं है, तो आप इसे चला सकते हैं

sudo apt-get -f install

यह निर्भरताएं स्थापित करेगा (यह मानते हुए कि वे आपके सिस्टम के बारे में जानते हैं कि रिपॉज में उपलब्ध हैं) और जिस पैकेज को आप मूल रूप से स्थापित करने का अनुरोध कर रहे थे ('f' 'फिक्स' विकल्प है और 'y', 'प्रॉम्प्ट्स के लिए हां मान लें' है) या 'यह मत पूछो कि क्या यह ठीक है, बस इसे पहले ही स्थापित कर दो' विकल्प - स्क्रिप्टेड साइलेंट इंस्टाल के लिए बहुत उपयोगी है)। जिस सिस्टम पर मैं था, उस पर फिर से dpkg चलाने की कोई आवश्यकता नहीं थी (Ubuntu lucid 10.04)।

मुझे यह दिलचस्प लगा कि यदि आप दौड़ने के दौरान-ऑफ छोड़ देते हैं sudo apt-get install, तो यह आपके पैकेज को एक अनसुलझे निर्भरता के कारण कॉन्फ़िगर नहीं होने के साथ-साथ मददगार सुझाव देने के रूप में सूचीबद्ध करेगा:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

संपादित करें:

यदि आप सभी प्रश्नों के 'y' का उत्तर दिए बिना इंस्टॉल करना चाहते हैं, तो आप yसंशोधक को जोड़ सकते हैं क्योंकि मैंने मूल रूप से शामिल किया है sudo apt-get -fy install:। हालांकि, एक टिप्पणीकार ने कहा कि उपयुक्त कभी-कभी सुझाव देंगे कि आप अपने संपूर्ण डेस्कटॉप वातावरण की स्थापना रद्द करें। मैं एक VM में यह काम कर रहा था और उस चिंता का विषय नहीं था, लेकिन इस पोस्ट को थोड़ा और सावधान रहने के लिए अपडेट किया गया है।


अगर मेरे पास पहले से ही एक निर्देशिका में सभी पैकेज फाइलें हैं, तो क्या यह बताने का एक तरीका है कि यह एक नया भंडार है, इसलिए मुझे निर्भरता के बिना कुछ भी स्थापित करने के लिए मजबूर नहीं करना पड़ेगा?
बेरी त्सकाला

2
मुझे क्षमा करें, लेकिन मुझे नहीं पता। मैं सुझाव देना चाहता हूं कि एक अन्य शीर्ष स्तर के प्रश्न के रूप में।
आक्रिकोस

पागल अजीब है कि यह आवश्यक है। रास्पियन पर, इसके लिए sudo (dpkg और apt-get दोनों के लिए) की आवश्यकता होगी: sudo dpkg -i mypackages.debइत्यादि
ब्रेंट फॉस्ट

@Rubistro रूट का उपयोग सभी प्रणालियों पर आवश्यक है। मुझे लगता है कि उत्तर यह मान लेते हैं कि कमांड्स रूट द्वारा निष्पादित किए जाते हैं (उदाहरण के लिए एक इंटरेक्टिव रूट शेल, या एक स्क्रिप्ट जो रूट के रूप में निष्पादित होती है)।
आमोस शापिरा

2
आपके लिए अच्छा है, विकल्प जोड़ें -y। उपयुक्त सुझाव के लिए यह काफी सामान्य है, उदाहरण के लिए, यदि आप गलत समय पर (कम से कम डेबियन पर) गलत पैकेज के साथ ऐसा करने की कोशिश करते हैं, तो अपने पूरे डेस्कटॉप वातावरण की स्थापना रद्द करें।
.सिक्कर

45

आप gdebi का उपयोग करके .deb फ़ाइल भी स्थापित कर सकते हैं। gdebi को स्थापित करने के लिए नीचे दिए गए आदेशों को देखें।

sudo apt-get install gdebi-core

Gdebi के साथ .deb पैकेज स्थापित करें,

sudo gdebi /path/to/filename.deb

यह निर्भरता को भी ठीक करता है।


4
ध्यान दें कि gdebi केवल एक तर्क लेता है और चुपचाप फर्श पर बाकी बूँदें। इसका मतलब है कि यदि आप एक ही समय में कई डीब स्थापित कर रहे हैं (शायद इसलिए कि वे एक-दूसरे पर निर्भर हैं) आपको सावधानीपूर्वक gdebiकमांड की आवश्यकता होगी जो उन्हें स्थापित करने की अनुमति देता है। imo यह आधा gdebi के उद्देश्य को पराजित करता है, लेकिन आप अभी भी इसे एक ही फ़ाइल के लिए उपयोगी पा सकते हैं
एंथोनी

find -name *.deb -exec gdebi {} \;
@ एंथनी

3
@jjmontes जो केवल तभी काम करेंगे जब अन्योन्याश्रितियां वर्णमाला के क्रम में हों, जो मैं दांव पर लगाऊंगा वह बहुत दुर्लभ है
एंथनी सॉटाइल

मैंने इस freesoftwaremagazine.com/articles/… का पालन ​​किया (बग को स्थानीय रेपो / var / www / html / डीबीएस पर होना था) और सिनैप्टिक रिमोट से w / o इंटरनेट से डाउनलोड करने का प्रयास करता रहा, इसलिए gdebi ने स्थानीय रेपो के साथ बहुत अच्छा व्यवहार किया ! भी, .deb फ़ाइलों को होना थाchmod +r *.deb
कुंभ राशि

34

हां, आपके द्वारा प्रस्तावित आदेश सही है।

sudo apt-get install ./package.deb

या

sudo apt install ./package.deb

APT की तुलना में आपके द्वारा किसी अन्य स्रोत से प्राप्त पैकेज को स्थापित करेगा और इसकी निर्भरता को स्वचालित रूप से हल करने के लिए APT क्षमताओं का उपयोग करेगा। दुर्भाग्य से, इस apt-getसुविधा को मैन पेज में प्रलेखित नहीं किया गया है ।

देखें https://askubuntu.com/a/769542/250300 और https://askubuntu.com/a/795048/250300 जानकारी के लिए।


8
यह स्वीकृत उत्तर होना चाहिए था।
पीटर

उपयुक्त क्षमता के किस संस्करण ने इस क्षमता को जोड़ा?
कर्ट फिट्ज़नर

@KurtFitzner यह एपीटी 1.1 प्रति रिलीज की घोषणा ( askubuntu.com/a/795048/250300 के माध्यम से पाया गया) में जोड़ा गया था ।
मेलेबियस 19
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.