सवाल `Dpkg -i` मेरे लिए निर्भरता कैसे स्थापित करें?


कहो, मेरे पास है foo-1.2.3.deb जो पर निर्भर करता है perl तथा pythonहालांकि, चल रहे कमांड:

dpkg -i ./foo-1.2.3.deb

इन निर्भरताओं को स्थापित नहीं करेगा। तो मुझे चाहिए apt-get install perl python हाथ से।

कैसे बनाना है dpkg -i इन निर्भरताओं को स्वचालित रूप से मेरे लिए स्थापित करें?


260
2018-05-04 13:11


मूल


के संभावित डुप्लिकेट .Deb से सॉफ़्टवेयर इंस्टॉल करते समय स्वचालित रूप से अनुपलब्ध निर्भरताओं को कैसे प्राप्त करें? - pd12
@ पीडी 12: सर्कुलर संदर्भों के लिए हुरेय! :-D - David Foerster
हे, मैंने दोनों को जोड़ने का फैसला किया और देखें कि कौन से मोड का चयन होगा। - pd12
यह आश्चर्यजनक है कि 2016 में, ए डीडीई ग्राफिकल इंस्टॉलेशन अभी भी लापता निर्भरताओं के बारे में कुछ भी बताए बिना चुपचाप विफल रहता है। - Dan Dascalescu


जवाब:


उपयोग करने के बाद dpkg, निम्न आदेश चलाते हुए मुझे आवश्यक निर्भरताओं को स्थापित करने में मदद मिली:

sudo apt-get -f install

कुल मिलाकर, आपका टर्मिनल इस तरह दिखना चाहिए:

$ sudo dpkg -i package_with_unsatisfied_dependencies.deb
dpkg: dependency problems prevent ... 
[additional messages]

$ sudo apt-get -f install
[apt messages]
Setting up [dependency]...
Setting up package_with_unsatisfied_dependencies...

नोटिस के बारे में रेखा Setting up package_with_unsatisfied_dependencies। इस फिक्स (और पूर्ण) की स्थापना package_with_unsatisfied_dependencies.deb


348
2018-05-04 15:38



मुझे दौड़ना चाहिए sudo dpkg -i mypackage.deb फिर ? - Muhammad Gelbana
चलने के बाद sudo apt-get -f install मेरा पैकेज और इसकी निर्भरता सभी स्थापित की गई थीं। चल रहा है sudo dpkg -i my_package.deb अनावश्यक है और फिर पैकेज को फिर से स्थापित करेगा। - Gus E
उबंटू 14.04 पर निम्नलिखित कार्य: sudo dpkg -i package.deb; sudo apt-get -f install; sudo dpkg -i package.deb। सबसे पहला dpkg -i रन अंक निर्भरता, apt-get -f install आवश्यक निर्भरता स्थापित करता है और दूसरा dpkg -iसफलतापूर्वक पैकेज स्थापित करता है। ध्यान दें कि apt-get install -f पूरी तरह से अलग आदेश है। - Mikko Rantalainen
@ysth नहीं, मत करो dpkg -i --force; जो एक टूटे हुए पैकेज को मजबूर करेगा! चल रहा है dpkg /के बग़ैर/ --force पैकेज डेटाबेस में आवश्यक प्रविष्टि कर देगा ताकि apt-get -f install सही काम करेगा। - Brian A. Henning
@ लोथरेक्स: मैं अभी इसे आजमा नहीं सकता, लेकिन मुझे नहीं लगता कि बिना बल के डीपीकेजी (जो लापता निर्भरताओं के कारण विफल रहता है) पैकेज डेटाबेस में प्रवेश करेगा - ysth


आप स्थापित कर सकते हैं gdebi-core, जो कि 10.04 और उससे पहले के जीडीबीआई पैकेज इंस्टॉलर का कमांड लाइन संस्करण है। उबंटू के नए संस्करणों में, सॉफ़्टवेयर सेंटर का उपयोग डीबीएस को स्थापित करने के लिए किया जाता है, जिसमें कमांड लाइन समतुल्य नहीं होती है।

Gdebi का उपयोग कर एक डेब पैकेज स्थापित करने के लिए, बस चलाएं:

sudo gdebi my_package_1.0.deb

108
2018-05-04 14:47





Gdebi

gdebi एक डेब पैकेज और इसकी निर्भरता स्थापित करता है। इसका उपयोग करने के लिए:

sudo gdebi package.deb

उबंटू के नए संस्करणों में, यह डिफ़ॉल्ट रूप से स्थापित नहीं है, इसलिए आपको इसे रिपॉजिटरीज़ से इंस्टॉल करना होगा।

देख man gdebi विकल्पों की पूरी सूची के लिए।

gdebi उसी नाम के ग्राफ़िकल टूल के बराबर कमांड लाइन है जिसे उबंटू में डिफ़ॉल्ट रूप से शामिल किया जाता था। ग्राफिकल उपकरण के लिए आदेश है gdebi-gtk और इसी तरह की कार्यक्षमता है:

gdebi-gtk


35
2018-05-04 16:56



gdebi-gtk wont आवश्यक deps (संस्करण जो मेरे पास कम से कम है, और यह एक बग जैसा दिखता है) दिखाएं, लेकिन कमांड लाइन होगी! अगर हमारे पास पैकेज के साथ एक और मशीन है जिसका हम उपयोग कर सकते हैं dpkg-repack इस तरह के deps सूची के आधार पर :) - Aquarius Power


एपीटी 1.1 से शुरू (ज़ेनियल (16.04) में उपलब्ध, खिंचाव) apt install स्थानीय फाइलों को भी अनुमति देता है:

sudo apt install ./foo-1.2.3.deb

इतना आसान और क्लीनर।

देखें उद्घोषणा जारी करें


27
2017-07-05 09:23



यह लगभग उपलब्ध समय है - Mike
यह समाधान काम नहीं किया। जो कुछ हुआ वह त्रुटियों की एक सूची थी। - Billy S
@ बिलीएस यह जानकर खेद है कि यह आपके लिए काम नहीं करता है, लेकिन आपके द्वारा उपयोग किए जाने वाले डिस्ट्रो संस्करण के बिना और आपको क्या त्रुटियां मिलती हैं, यह बिल्कुल क्रियाशील नहीं है। - textshell
आदेश मेरे लिए काम नहीं किया लेकिन apt ./install foo-1.2.3.deb काम किया। - Cenk Alti
कमांड को सही किया गया, ऊपर दिए गए टिप्पणियों को उत्तर के पिछले संस्करण को संदर्भित किया गया जो आवश्यक चूक गया ./ या पथ - Zanna


दौड़ना

sudo apt-get install -f

डीपीकेजी के साथ पैकेज स्थापित करने के बाद टूटी हुई रिक्तियों को हल कर सकते हैं (कम से कम मैन एपीटी-ऐसा कहें ...)। जब मैं इसे जांचूँगा तो बीमार अपडेट करें।


18
2018-05-04 13:17



मुझे दौड़ना चाहिए sudo dpkg -i mypackage.deb फिर ? - Muhammad Gelbana
apt-get -f install काम करता है, लेकिन apt-get install -f एक ही नहीं है। - 200_success


डीपीकेजी पर निर्भरता समर्थन नहीं है। इसके चारों ओर एक रास्ता है लेकिन इसके लिए आपको स्थानीय डेटाबेस बनाने की आवश्यकता होगी (और इस प्रकार आप पहले से ही निर्भरताओं को जानते होंगे) और इसे अप्रचलित (...) माना जाता है।

क्या यह कमांड लाइन होना चाहिए? (सर्वर स्थापित करें?) यदि ऐसा भी है तो देखें apt-get -f लेकिन सावधान रहें: स्थापित करने के बाद निर्भरताओं को हल करने से आप एक टूटी हुई प्रणाली के साथ समाप्त हो सकते हैं।

gdebi (गुई फ्रंटेंड) ऐसा करने में सक्षम था लेकिन यूएससी के साथ बदल दिया गया।

आपने .deb को कैसे डाउनलोड किया। नई 11.04 फीचर्स में से कुछ वेबसाइट से डाउनलोड की गई डीडीबी का प्रबंधन है: इसे यूएससी में शामिल किया जाता है इसलिए इंस्टॉलर द्वारा निर्भरता हल की जाएगी।

एंड्रयू द्वारा टिप्पणी पर आधारित संपादित करें: sudo gdebi foo-1.2.3.deb  चाल चलेंगे !!


9
2018-05-04 13:32



gdebi अभी भी इसके लिए इस्तेमाल किया जा सकता है। सॉफ्टवेयर सेंटर अब सिर्फ डिफ़ॉल्ट ऐप है। इसके अलावा, चेन जिओ-लांग नोट्स के रूप में, जीडीबीआई भी कमांड लाइन पर इस्तेमाल किया जा सकता है। - andrewsomething
ठंडा! तो सवाल का जवाब है क्योंकि gdebi का उपयोग कमांडलाइन पर भी किया जा सकता है। - Rinzwind
यह स्वीकार्य उत्तर होना चाहिए। - prosti


एक विकल्प के रूप में gdebi-gtk आप उबंटू सॉफ्टवेयर सेंटर का उपयोग कर सकते हैं।

पैकेज पर डबल क्लिक करें और एक इंस्टॉल बटन उपलब्ध होना चाहिए।


3
2018-05-10 07:55





आप एक फाइल बना सकते हैं dpkg-dep-inst निम्नलिखित सामग्री के साथ।

#!/bin/bash

DEBIAN_FILE1=$1
dpkg -i $DEBIAN_FILE1 || apt-get --fix-broken install

मुझे लगता है कि आपने फ़ाइल को अपने घर फ़ोल्डर में बनाया है। इसे निष्पादन योग्य बनाओ chmod +x dpkg-dep-inst और इसे ले जाएं /usr/local/bin साथ में sudo cp dpkg-dep-inst /usr/local/bin

अब आप डेबियन पैकेज को निर्भरताओं के साथ स्वचालित रूप से इंस्टॉल कर सकते हैं:

sudo dpkg-dep-inst foo-1.2.3.deb

3
2018-01-28 16:01



उपयोग apt-get --yes --fix-broken install और फिक्सिंग स्वचालित बनाते हैं। - Lucas
@ysth नहीं, सामान्य रूप से नहीं। - BuZZ-dEE


मैं बस इस समस्या में भाग गया। कॉलिंग apt-get install -f मर्जी नहीं इंस्टॉल करें की सिफारिश कीनिर्भरता, यद्यपि! इसके लिए एकमात्र कामकाज स्थानीय भंडार बनाने और जोड़ने के लिए किया जाएगा /etc/apt/sources.list, अर्थात।:

apt-ftparchive packages . > Packages && gzip < Packages > Packages.gz
sudo echo "deb file://$PWD /" >> /etc/apt/sources.list
sudo apt-get update

1
2018-02-10 15:19





असल में जवाब यह है कि dpkg पैकेज प्रबंधक बॉक्स के बाहर निर्भरता स्थापित नहीं कर सकता है। आप वाला कैमरा man dpkg और पाया कि बाहर। तो आपको टूल्स का उपयोग करने की ज़रूरत है apt, apt-get, aptitude, ..., पर आधारित dpkg

मैं कहूंगा कि वही मामला है rpm अन्य लिनक्स गोलार्ध पर पैकेज प्रबंधक। rmp निर्भरता आधारित स्थापित करने के लिए नहीं है। यह एकल पैकेज स्थापित कर सकता है, और निर्भरताओं को स्थापित करने के लिए आप उपयोग कर सकते हैं yum, urpmi, up2date ये सभी आरपीएम पर आधारित हैं।

जैसा कि ध्यान दिया गया है कि संकुल को स्थापित करने में थोड़ा सा खतरा है dpkg सीधे, क्योंकि बाद में निर्भरता संकल्प हल हो रहा है एक टूटी हुई प्रणाली के साथ समाप्त हो सकता है @Rinzwind रूपरेखा के रूप में।


0
2017-08-16 19:05