ডিপিকেজি-আই বা অ্যাপ্লিকেশন দিয়ে ডেবি ফাইল ইনস্টল করবেন কীভাবে?


600

ইনস্টলেশন জন্য আমার একটি ডেব প্যাকেজ আছে।

আমি কি ইনস্টল করব dpkg -i my.deb, না এপটি দিয়ে?

উভয়ই কি সফ্টওয়্যার নির্ভরতার সমস্যাটি ভালভাবে পরিচালনা করবে?

যদি অ্যাপটি হয়ে থাকে, তবে আমি কীভাবে এপিটি দিয়ে দেব থেকে ইনস্টল করব?


আপনি ব্যবহার করতে পারেন aptitudeযা অপ্রয়োজনীয় প্যাকেজগুলিও সরিয়ে দেয়।
রমেশ 16

2
আমি সরাসরি ব্যবহার না করার পরামর্শ দিই dpkg। একক দেবের ক্ষেত্রে, gdebi সাথে যান এবং একাধিক দেবের ক্ষেত্রে, এপিটি স্থানীয় সংগ্রহস্থলের জন্য যান ।
পান্ড্য

5
কেন ......... @ পান্ড্য
টিম

2
@ টিম কারণ dpkgনির্ভরতাগুলি সমাধান করে না।
পান্ড্য

1
@ টিম জিডিবি নিখোঁজ নির্ভরতাগুলি সনাক্ত করে, ডাউনলোড ও ইনস্টল করতে পারে (অ্যাপ্লিকেশন ব্যবহার করে), ইনস্টল ও কনফিগার করতে পারে (ডিপিকিজি ব্যবহার করে)।
পান্ড্যা 11

উত্তর:


770

আপনি যখন aptপ্যাকেজ ইনস্টল করতে ব্যবহার করেন তখন এটি ব্যবহার করা হুডের নীচে dpkg। আপনি যখন অ্যাপটি ব্যবহার করে কোনও প্যাকেজ ইনস্টল করেন, এটি প্রথমে সমস্ত নির্ভরতার একটি তালিকা তৈরি করে সংগ্রহস্থল থেকে ডাউনলোড করে।

ডাউনলোড শেষ হয়ে গেলে এটি dpkgসমস্ত নির্ভরতা সন্তুষ্ট করে all সমস্ত ফাইল ইনস্টল করতে কল করে।

সুতরাং আপনার যদি একটি .debফাইল থাকে:

  • আপনি এটি ব্যবহার করে এটি ইনস্টল করতে পারেন:

    sudo dpkg -i /path/to/deb/file
    sudo apt-get install -f
    
  • আপনি এটি sudo apt install ./name.deb(বা sudo apt install /path/to/package/name.deb) ব্যবহার করে ইনস্টল করতে পারেন ।

    পুরানো apt-getসংস্করণগুলির সাথে আপনাকে প্রথমে আপনার ডেব ফাইলটি /var/cache/apt/archives/ডিরেক্টরিতে নিয়ে যেতে হবে । উভয়ের জন্যই, এই আদেশটি কার্যকর করার পরে, এটি স্বয়ংক্রিয়ভাবে এর নির্ভরতা ডাউনলোড করবে।

  • gdebiএটি ব্যবহার করে আপনার .deb ফাইলটি ইনস্টল করুন এবং খুলুন ( ডান ক্লিক করুন -> এর সাথে খুলুন )। এটি আপনার .deb প্যাকেজটিকে তার সমস্ত নির্ভরতার সাথে ইনস্টল করবে।

    ( দ্রষ্টব্য : এপিটি প্যাকেজ সূচকটি বজায় রাখে যা /etc/apt/sources.listফাইল এবং /etc/apt/sources.list.dডিরেক্টরিতে সংজ্ঞায়িত রেপোতে উপলব্ধ প্যাকেজগুলির একটি ডাটাবেস । ।)


কেন sudo apt-get install -fপরে ব্যবহারsudo dpkg -i /path/to/deb/file (প্রথম পদ্ধতিতে উল্লিখিত)?

থেকে man apt-get:

 -f, --fix-broken
           Fix; attempt to correct a system with broken dependencies in place.

যখন dpkgকোনও প্যাকেজ ইনস্টল করে এবং প্যাকেজ নির্ভরতা সন্তুষ্ট হয় না, এটি প্যাকেজটিকে একটি "কনফিগার্ড" অবস্থায় ফেলে দেয় এবং সেই প্যাকেজটিকে ভাঙ্গা বিবেচনা করা হয়।

sudo apt-get install -f কমান্ড অনুপস্থিত নির্ভরতা ইনস্টল করে এই ভাঙা প্যাকেজটি ঠিক করার চেষ্টা করে।


2
@ টিম, এপটি-গেট সংগ্রহস্থল থেকে প্যাকেজ ইনস্টল করার জন্য ডিজাইন করা হয়েছে। এটি প্যাকেজ তালিকার পাশাপাশি তাদের নিজস্ব সংগ্রহস্থলের ঠিকানা বজায় রাখে। সুতরাং কেবল একটি .dev ফাইলটি সরানো যা এপ প্যাকেজ তালিকায় উপস্থিত নয়, / var / cache / apt / সংরক্ষণাগার ডিরেক্টরিতে কাজ করবে না। কারণ আপনি যখনই এই প্যাকেজটি অ্যাপটি-গেট ব্যবহার করে ইনস্টল করার চেষ্টা করেন, এটি এর সংগ্রহস্থল অনুসন্ধান করে যা উপস্থিত নেই। এর জন্য আপনাকে স্থানীয় সংগ্রহস্থল তৈরি করতে হবে যা আমি মনে করি অকেজো।
g_p

1
@ জি_পি আপনাকে ধন্যবাদ! আপনার উপরের উত্তরে আমি কিছুটা বিভ্রান্ত হচ্ছি। আপনি লিখেছেন: "(এটি প্যাকেজটি অ্যাপে প্যাকেজ তালিকায় উপস্থিত থাকলে এটি কাজ করবে)" - এখানে কী বোঝানো হয়েছে তা আমি বুঝতে পারি না। কেউ কীভাবে নিশ্চিত করতে পারে যে .deb প্যাকেজটি অ্যাপ্লিকেশন প্যাকেজ তালিকায় উপস্থিত রয়েছে?
বিকেএসপুরজন

1
@ বি কে এসপুরজন, আমি আমার উত্তরে কিছুটা তথ্য যুক্ত করেছি। কোনও প্যাকেজ সূচকে উপস্থিত রয়েছে কিনা তা খুঁজে বের করতে apt-cache search <package name>। আপনি এটি ব্যবহার করতে পারেন apt-cache policy <package name>যা কিছু অতিরিক্ত তথ্যও দেবে।
g_p

1
এই পদ্ধতিগুলি এখনও এপটি দ্বারা সম্পাদিত স্বাক্ষর চেকিং সম্পাদন করতে পারে? বা টেম্পারড-উইথ .deb ফাইলটি এভাবে ইনস্টল করা সম্ভব?
বোয়ান

8
আধুনিক অ্যাপটি-গেটটি কেবল প্যাকেজ ইনস্টল করতে ব্যবহার করতে পারে apt-get install /path/to/package/name.deb। যদি এই উত্তরটির লেখক এটিকে সংহত করার সিদ্ধান্ত নেন তবে এটি ঝরঝরে হবে। যদি তা না হয় তবে আমি যখন এখানে যথেষ্ট পরিমাণে প্রতিনিধি পেয়েছি তখন আমি সেই উত্তরটি যুক্ত করব
স্যাম হার্টম্যান

91

এর foo.debসাথে আপনার ফাইলটি ইনস্টল করুন dpkg -i foo.deb। অমীমাংসিত নির্ভরতা নিয়ে যদি কিছু ত্রুটি থাকে তবে apt-get install -fপরে চালান ।


আমি Unable to locate packageএইভাবে চেষ্টা করেছিলাম এবং হতবাক হয়ে গেলাম । সংরক্ষণাগার ফোল্ডারে স্যুইচ করার পরে আমি প্যাকেজের নাম হিসাবে উইন্ডোজ হিসাবে ব্যবহার করেছি। ./<file name>বর্তমান ফোল্ডারে বা পুরো পথে থাকলে ইউনিক্সের জন্য হওয়া উচিত । এটি যদি debউপস্থিত ফোল্ডারে না থাকে PATH
আলেক্সি মার্টিয়ানভ

60

.debকমান্ড-লাইনে উবুন্টুতে একটি ফাইল ইনস্টল করার সর্বোত্তম উপায় :

sudo gdebi skype.deb

আপনি যদি gdebiইতিমধ্যে ইনস্টল না করে থাকেন তবে এটি ব্যবহার করে ইনস্টল করুন sudo apt install gdebi-core

কেন গাদেবী?

gdebi.debফাইলের সমস্ত নির্ভরতা সন্ধান করবে এবং ফাইলটি ইনস্টল করার চেষ্টা করার আগে এগুলি ইনস্টল করবে .deb। আমি এই তুলনায় অনেক পছন্দসই sudo dpkg -i skype.deb && sudo apt install -f। আধুনিক কিছু পরিস্থিতিতে নির্ভরতা অপসারণ করতে খুব আগ্রহী। উদাহরণস্বরূপ, আমি যখন স্কাইপ ইনস্টল করার চেষ্টা করেছি, তখন এটি 96 (!) প্যাকেজগুলি সরিয়ে দেওয়ার চেষ্টা করেছিল, প্যাকেজগুলির মতো compizএবং unity! gdebiএকটি আরও পরিষ্কার ত্রুটি বার্তা দিয়েছে:

 $ sudo gdebi skype.deb
 Cannot install 'libqtgui:i386'

( উপায় দ্বারা, এখানে নির্দিষ্ট সমস্যাটির সমাধান দেওয়া হল ))


দুর্দান্ত কাজ করেছেন বিটিডব্লিউ, হতে পারে যে অপসারণের চেষ্টাটি সেই ট্রানজিশনাল / অস্থায়ী প্যাকেজগুলির সম্পর্কে ছিল? অথবা আপনি কি মনে করেন এটি আসলেই সিস্টেমটি ভেঙে দেবে?
অ্যাকোরিয়াস পাওয়ার

ডুড আমি আপনার সমাধান নিয়ে একটি ইস্যুতে দৌড়েছি। আমি রুস্তুডিও ইনস্টল করার চেষ্টা করছিলাম। এটি স্বয়ংক্রিয়ভাবে আমার জন্য আর এর একটি পুরানো সংস্করণ খুঁজে পেয়েছে। @ জি_পি দ্বারা সমাধানটি ব্যবহার করার সময় আমি কেবল রুস্তুডিও ইনস্টল করতে সক্ষম হয়েছি।
ডাঃ হ্যাঁ

39

আপনি এর দ্বারা স্থানীয় .deb প্যাকেজ ইনস্টল করতে পারেন:

sudo apt install ./foo.deb

কোনও স্থানীয় আপেক্ষিক বা পরম পাথ নির্দিষ্ট করে দেওয়ার বিষয়টি নিশ্চিত করুন ( ./যদি বর্তমান ডিয়ারে থাকে), অন্যথায় এটি foo.debদূরবর্তী ভাণ্ডারে সন্ধান করবে এবং ব্যর্থ হবে।


2
এটি সঠিক উত্তর হিসাবে চিহ্নিত করা উচিত।
রায়েল গুগেলিন চুনহা

@ রেলগুগলমিনচুনা 100% সঠিক নয়। sudo apt libstdc ইনস্টল করুন ++ 6_8-20180414-1ubuntu2_amd64.deb অপ্ট: ভাগ করা লাইব্রেরিগুলি লোড করার সময় ত্রুটি: /usr/lib/x86_64-linux-gnu/libstdc+.so.6: অবৈধ ELF শিরোনাম
mvladk

2
@ এমভ্ল্যাডক, দয়া করে সিনট্যাক্সের দিকে মনোযোগ দিন: আপনি ফাইলটির ./আগে মিস করছেন deb
রায়েল গুগেলিন চুনহা

একেবারে সেরা / সরল উত্তর।
জেরার্ডডা

15

এর সাথে নির্ভরতা dpkg -I my.debএবং apt-get installএর আগে নির্ভরতাগুলি পরীক্ষা করে দেখুন dpkg -i my.deb

মনে হয় তুমি অনুলিপি করতে পারেন my.debমধ্যে /var/cache/apt/archivesএবং সাথে সরাসরি এটি ইনস্টল apt-getকিন্তু আমি কখনোই চেষ্টা করে। কাজ করে না, apt-getএবং dpkgসংরক্ষণাগারগুলিতে তালিকাভুক্ত প্যাকেজগুলির সন্ধান করছে।


ধন্যবাদ। আপনার প্রথম sentenct, আপনি বোঝাতে চেয়েছেন apt-get install my.debদ্বারা apt-get install? এটি কি ডেব ফাইল থেকে ইনস্টল করতে হবে? তার dpkg -i my.debপরে আমাদের কী দরকার ?
টিম

আমি সর্বদা স্থানীয় .debসাথে ইনস্টল করেছি dpkg -i, আমার বোধগম্যতার সাথে এটি aptইনস্টল করার বিকল্প নেই, /var/cache/...যেখানে ডাউনলোড করা হয় সেই ডিরেক্টরিটি ছাড়াও (আমি ভুল হতে পারি)
অ্যালেক্স

দেখে মনে হচ্ছে এটি apt-get install ./my.debকিছু করবে, কারণ এটি প্রচুর পরিমাণে ফলাফল দেয়। এটার কাজ কি?
টিম

এটি খুব বেশি করে :-) কাজ করে না, দেখুন @ ইগর_ডোভেরেটস্কি উত্তরটি ঠিক নিখুঁত, আমি ভুলে গিয়েছিলাম-f
অ্যালেক্স

5

সবচেয়ে সহজ উত্তরটি হ'ল চালনা করে ডিপি কেজি ব্যবহার করা হবে dpkg -i packagename.deb। তারপরে আপনি এটি চালিয়ে আনইনস্টল করতে পারেন dpkg -r packagename.deb
apt-getdpkg এর উপর ভিত্তি করে একটি উচ্চ স্তরের ইনস্টলার এবং আপনি যেমন করতে পারেন apt-get install packagename.deb
এটি আপনার অ্যাপট-গেট আর্কাইভ ডিরেক্টরিতে যুক্ত করার জন্য উপকারী হবে ( /var/cache/apt/archivesযাতে আপনি এটি নির্ভরশীলতার সাথে প্যাকেজ হিসাবে উল্লেখ করতে পারেন, স্ট্যান্ডেলোন .deb সংরক্ষণাগার।
এছাড়াও, এটি আপনার অ্যাপট-গেট আর্কাইভ ডিরেক্টরিতে যুক্ত করে আপনার সাথে নির্ভরতা ব্যবহার করার সুযোগ রয়েছে apt-get install packagename। এটি আপনাকে dpkg এর স্ট্যান্ড্যালোন আর্কাইভ-ভিত্তিক সিস্টেমের পরিবর্তে ম্যানুয়ালি যুক্ত হওয়া নির্ভরতাগুলির সাথে ইনস্টল করতে দেয়।


5

আধুনিক অ্যাপট-গেটটি কেবল প্যাকেজ ইনস্টল করতে ব্যবহার করা যেতে পারে apt-get install /path/to/package/name.deb

(শীর্ষ উত্তরের সম্পাদনা হিসাবে করা উচিত তবে তা প্রত্যাখ্যান করা হয়েছিল - https://unix.stackexchange.com/posts/159114/edit দেখুন )


এটি নিয়ে কাজ হয়নিapt 1.0.9.8.4 for amd64 compiled on Dec 11 2016 09:48:19
ব্রুনো ব্রোনোস্কি

-3

আমি ক্রোম ইনস্টল করতে চাইলে এটি খুব সহজ।

আপনার ক্রোম ফাইলটি এটি হিসাবে ইনস্টল করুন:

dpkg -i googlechrome.deb.

কখনও কখনও নিম্নলিখিতগুলির মতো কিছু নির্ভরতা ত্রুটি পাওয়ার সম্ভাবনা থাকে:

dpkg: dependency problems prevent configuration of google-chrome-stable:
google-chrome-stable depends on libappindicator1; however:
Package libappindicator1 is not installed.

সুতরাং উপরের সমস্যাগুলি সমাধান করতে আপনার নির্ভরতা যুক্ত করতে হবে; নিম্নলিখিত আদেশ দিন:

apt-get install -f

উপরের কমান্ডটি দেওয়ার পরে, নির্ভরযোগ্যতাগুলি আপনার মেশিনে যুক্ত হবে এবং আপনার ডেবিয়ান প্যাকেজ ( .deb) ফাইলটি ইনস্টল হবে।

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