কীভাবে আমার জন্য `dpkg -i` নির্ভরতা ইনস্টল করতে দিন?


324

বলুন, আমার রয়েছে foo-1.2.3.debযা নির্ভর করে perlএবং pythonচলমান কমান্ডের উপর:

dpkg -i ./foo-1.2.3.deb

এই নির্ভরতা ইনস্টল করা হবে না। সুতরাং আমি অবশ্যই apt-get install perl pythonহাত দিয়ে।

কীভাবে dpkg -iস্বয়ংক্রিয়ভাবে আমার জন্য এই নির্ভরতাগুলি ইনস্টল করবেন?



5
@ পিডি 12: বিজ্ঞপ্তি রেফারেন্সের জন্য হুর! :-D
ডেভিড ফোস্টার

হেই, আমি উভয়কেই লিঙ্ক করার সিদ্ধান্ত নিয়েছি এবং কোনটি মোডগুলি নির্বাচন করবে তা দেখুন।
পিডি 12

উত্তর:


416

ব্যবহারের পরে 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


8
আমার sudo dpkg -i mypackage.debআবার দৌড়াতে হবে ?
মুহাম্মদ জেলবানা

23
sudo apt-get -f installআমার প্যাকেজ চালানোর পরে এবং এর নির্ভরতাগুলি সমস্ত ইনস্টল করা হয়েছিল। দৌড়ানো sudo dpkg -i my_package.debঅপ্রয়োজনীয় এবং কেবল প্যাকেজটি আবার ইনস্টল করবে।
গাস ই

5
উবুন্টু 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সম্পূর্ণ ভিন্ন কমান্ড।
মিক্কো রেন্টালাইনেন

1
@ysth না, করবেন না dpkg -i --force; যে জোর করে ইনস্টল করবে একটি ভাঙ্গা প্যাকেজ! চালানো dpkg/ ছাড়া / --forceপ্যাকেজ ডাটাবেসে প্রয়োজনীয় প্রবেশাধিকার তৈরি করবে যাতে apt-get -f installএটি সঠিক কাজ করবে।
ব্রায়ান এ। হেনিং

@ লোথারিক্স: আমি এখনই এটি চেষ্টা করতে পারছি না, তবে আমি ভাবিনি যে বল প্রয়োগ ছাড়াই ডিপিকেজি (যা নিখরচায় নির্ভরতার কারণে ব্যর্থ হয়) প্যাকেজ ডাটাবেসে প্রবেশ করবে

111

আপনি ইনস্টল করতে পারেন gdebi-core, এটি 10.04 এবং এর আগের GDebi প্যাকেজ ইনস্টলারটির কমান্ড লাইন সংস্করণ। উবুন্টুর নতুন সংস্করণগুলিতে, সফটওয়্যার সেন্টারটি ডেবস ইনস্টল করতে ব্যবহৃত হয়, যার কোনও কমান্ড লাইনের সমতুল্য নেই।

Gdebi ব্যবহার করে একটি ডেব প্যাকেজ ইনস্টল করতে, কেবল চালান:

sudo gdebi my_package_1.0.deb

64

অ্যাপটি 1.1 দিয়ে শুরু (জেনিয়ালে উপলব্ধ (16.04), প্রসারিত) apt installস্থানীয় ফাইলগুলিকেও মঞ্জুরি দেয়:

sudo apt install ./foo-1.2.3.deb

এত সহজ এবং ক্লিনার।

দেখুন মুক্তি announcment


4
এটি উপলভ্য সময় সম্পর্কে
মাইকে

এই সমাধানটি কার্যকর হয়নি। যা ঘটেছিল তা হ'ল ত্রুটির একটি তালিকা।
বিলি এস

@ বিলিস শুনে শুনে দুঃখ হয়েছে যে এটি আপনার পক্ষে কার্যকর হয়নি তবে আপনি যে ডিস্ট্রো সংস্করণ ব্যবহার করছেন এবং এটি কী ত্রুটিগুলি পেয়েছে তা কার্যকরভাবে কার্যকর নয়।
পাঠ্যক্রম

কমান্ডটি আমার পক্ষে কাজ করে নি তবে apt ./install foo-1.2.3.debকাজ করেছে।
কেনেক আলটি

1
কমান্ডটি সংশোধন করা হয়েছে, উপরের মন্তব্যে উত্তরের পূর্ববর্তী সংস্করণে উল্লেখ করা হয়েছে যা প্রয়োজনীয় ./বা পথটি মিস করেছে
জান্না

38

Gdebi

gdebiএকটি ডেব প্যাকেজ এবং এর নির্ভরতা ইনস্টল করে। এটি চালাতে ব্যবহার করুন:

sudo gdebi package.deb

উবুন্টুর নতুন সংস্করণগুলিতে, এটি ডিফল্টরূপে ইনস্টল করা হয়নি, সুতরাং আপনার এটি সংগ্রহস্থল থেকে ইনস্টল করতে হবে।

man gdebiবিকল্পগুলির একটি সম্পূর্ণ তালিকা দেখুন ।

gdebiউবুন্টুতে ডিফল্টরূপে অন্তর্ভুক্ত করা হত একই নামের গ্রাফিকাল সরঞ্জামের সমান কমান্ড লাইন। গ্রাফিকাল সরঞ্জামের জন্য কমান্ডটি হ'ল gdebi-gtkএবং অনুরূপ কার্যকারিতা রয়েছে:

gdebi-GTK


gdebi-gtk Wont আবশ্যক ডিপগুলি প্রদর্শন করবে (আমার কাছে সংস্করণটি এখানে কমপক্ষে রয়েছে, এবং এটি একটি বাগের মতো দেখাচ্ছে), তবে কমান্ড লাইনটি হবে! প্যাকেজগুলির সাথে যদি আমাদের কাছে অন্য কোনও মেশিন থাকে তবে আমরা dpkg-repackএ জাতীয় ডিপস তালিকার উপর ভিত্তি করে এটি ব্যবহার করতে পারি :)
কুম্ভ শক্তি

21

দৌড়

sudo apt-get install -f

dpkg এর সাথে প্যাকেজ ইনস্টল করার পরে ভাঙা অবনতিগুলি সমাধান করা যেতে পারে (কমপক্ষে মানুষ এমনভাবে বলুন ...)। আমি এটি পরীক্ষা করব যখন আমি আপডেট।


আমার sudo dpkg -i mypackage.debআবার দৌড়াতে হবে ?
মুহাম্মদ জেলবানা

3
apt-get -f installকাজ করে তবে apt-get install -fএকই হয় না।
200_সাক্সেস

9

dpkg এর নির্ভরতা সমর্থন নেই। এর চারপাশে একটি উপায় রয়েছে তবে এর জন্য আপনাকে একটি স্থানীয় ডাটাবেস তৈরি করতে হবে (এবং এটির ফলে আপনি ইতিমধ্যে নির্ভরতাগুলি জানতে পারবেন) এবং এটি অপ্রচলিত হিসাবে বিবেচিত হয় (...)।

এটি কি কমান্ড লাইন হতে হবে? (সার্ভার ইনস্টল?) এছাড়াও যদি একবার দেখুন apt-get -fতবে সাবধান হন: ইনস্টলের পরে নির্ভরতা সমাধানের ফলে আপনি কোনও ভাঙা সিস্টেমটি শেষ করতে পারেন।

gdebi (গুই ফ্রন্ট্যান্ড) এটি করতে সক্ষম হত তবে ইউএসসির সাথে প্রতিস্থাপিত হয়েছিল।

আপনি কিভাবে .deb ডাউনলোড করেছেন। নতুন 11.04 বৈশিষ্ট্যগুলির কয়েকটি হ'ল একটি ওয়েবসাইট থেকে ডাউনলোড করা .deb পরিচালনা করা: এটি ইউএসসিতে উন্মুক্ত হয় সুতরাং নির্ভরতা ইনস্টলার দ্বারা সমাধান করা হবে।

এডিট অ্যান্ড্রু দ্বারা মন্তব্য উপর ভিত্তি করে: sudo gdebi foo-1.2.3.deb কৌতুক করতে হবে !!


gdebi এখনও এই জন্য ব্যবহার করা যেতে পারে। সফ্টওয়্যার সেন্টার এখন কেবলমাত্র ডিফল্ট অ্যাপ। এছাড়াও, চেন জিয়াও-লং নোট হিসাবে, gdebi কমান্ড লাইনেও ব্যবহার করা যেতে পারে।
অ্যান্ড্রুসোমথিং

কুল! তাহলে প্রশ্নের উত্তর আছে কারণ কমান্ডলাইনে জিডিবি ব্যবহার করা যেতে পারে বলে মনে হয়।
রিনজউইন্ড

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত।
প্রেস্টি

3

এর বিকল্প হিসাবে gdebi-gtkআপনি উবুন্টু সফটওয়্যার সেন্টার ব্যবহার করতে পারেন।

প্যাকেজে ডাবল ক্লিক করুন এবং একটি ইনস্টল বোতাম পাওয়া উচিত।


3

আপনি 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

1
ব্যবহার করুন apt-get --yes --fix-broken installএবং ফিক্সিং স্বয়ংক্রিয় করুন।
লুকাস

@ysth না, সাধারণভাবে না।
বুজডে-ডিইই

1

আমি শুধু এই সমস্যা মধ্যে দৌড়ে। কলিং প্রস্তাবিত নির্ভরতা ইনস্টল 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

0

আসলে উত্তরটি হ'ল dpkgপ্যাকেজ ম্যানেজার বাক্সের বাইরে নির্ভরতা ইনস্টল করতে পারে না। আপনি ক্যাম man dpkgএবং এটি খুঁজে পেয়েছি। তাই আপনি যদি মত সরঞ্জাম ব্যবহার করতে হবে apt, apt-get, aptitude, ... উপর ভিত্তি করে dpkg

আমি বলব ঠিক একই ক্ষেত্রে rpmঅন্যান্য লিনাক্স গোলার্ধের প্যাকেজ ম্যানেজারের ক্ষেত্রে । rmpনির্ভরতা ভিত্তিক ইনস্টলগুলি বোঝাতে নয়। এটি Single প্যাকেজগুলি ইনস্টল করতে পারেন, এবং নির্ভরতা আপনি ব্যবহার ইনস্টল করার জন্য yum, urpmi, up2dateএই সব আরপিএম উপর ভিত্তি করে।

যেমন উল্লেখ করা হয়েছে যে dpkgসরাসরি প্যাকেজ ইনস্টল করার ক্ষেত্রে সামান্য বিপদ রয়েছে , কারণ পরবর্তীতে নির্ভরতা রেজোলিউশনটি সমাধান হতে পারে @ রঞ্জউইন্ডের রূপরেখার হিসাবে একটি ভাঙা সিস্টেমের সাথে শেষ হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.