gdebi বনাম dpkg: কিভাবে gdebi স্বয়ংক্রিয়ভাবে হারিয়ে যাওয়া নির্ভরতা পায়? .Deb প্যাকেজগুলির অন্যান্য সমস্ত ইনস্টলেশনের জন্য আমি কী gdebi ব্যবহার করতে পারি?


15

সম্প্রতি আমি আমার উবুন্টুকে লুবুন্টু 15.04 এ পুনরায় ইনস্টল করতে পেরেছি। তাই আমি স্কাইপ ইনস্টলেশনটি অনুসন্ধান করছিলাম এবং এই দুর্দান্ত টিউটোরিয়ালটি পেয়েছি ।

এটা সত্যিই দুর্দান্ত ছিল। এটি এখান থেকে স্কাইপ দেবের অফিশিয়াল প্যাকেজ ডাউনলোড করেছে

যেহেতু আমি gdebiইতিমধ্যে ইনস্টল না করেছি , তাই ব্যবহার করে ইনস্টল করেছিsudo su -c apt-get install gdebi

তারপরে skype-ubuntu-precise_4.3.0.37-1_i386.debgdebi কমান্ড ব্যবহার করে ইনস্টল করা হবেsudo su -c gdebi skype-ubuntu*4*.deb

বাহ, gdebi আমার জন্য সবকিছু করেছে, traditionalতিহ্যবাহী এপিটি পিপিএ ম্যানুয়াল লিংক সংযোজন ব্যবহার না করে কোন ঝামেলা মুক্ত জিনিস যা সম্ভবত আমার সিস্টেম আপডেট / সফ্টওয়্যার ইনস্টলেশনগুলিও ভেঙে দেবে ..

তবে যদি আমি এটি ব্যবহার করে ইনস্টল করার চেষ্টা করি dpkg -i

dpkg -i skype-ubuntu-precise_4.3.0.37-1_i386.deb
Selecting previously unselected package skype.
(Reading database ... 86449 files and directories currently installed.)
Preparing to unpack skype-ubuntu-precise_4.3.0.37-1_i386.deb ...
Unpacking skype (4.3.0.37-1) ...
dpkg: dependency problems prevent configuration of skype:
 skype depends on libc6 (>= 2.3.6-6~).
 skype depends on libc6 (>= 2.7).
 skype depends on libgcc1 (>= 1:4.1.1).
 skype depends on libqt4-dbus (>= 4:4.5.3).
 skype depends on libqt4-network (>= 4:4.8.0).
 skype depends on libqt4-xml (>= 4:4.5.3).
 skype depends on libqtcore4 (>= 4:4.7.0~beta1).
 skype depends on libqtgui4 (>= 4:4.8.0).
 skype depends on libqtwebkit4 (>= 2.2~2011week36).
 skype depends on libstdc++6 (>= 4.2.1).
 skype depends on libx11-6.
 skype depends on libxext6.
 skype depends on libxss1.
 skype depends on libxv1.
 skype depends on libssl1.0.0.
 skype depends on libpulse0.
 skype depends on libasound2-plugins.

dpkg: error processing package skype (--install):
 dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for mime-support (3.55ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu2) ...
Processing triggers for dbus (1.8.8-1ubuntu2.1) ...
Errors were encountered while processing:
 skype

নির্ভরতা ইস্যু অনেক। ওহ, আমি স্রেফ জিডিবি এবং উইকিপিডিয়া পেয়েছি

জিডিবি একটি এপিটি সরঞ্জাম যা কমান্ড-লাইনে এবং জিইউআইতে ব্যবহার করা যেতে পারে can [৪৪] GDebi dpkg কমান্ডের মতো কমান্ড লাইনের মাধ্যমে একটি স্থানীয় .deb ফাইল ইনস্টল করতে পারে তবে নির্ভরতা সমাধানের জন্য সংগ্রহস্থলগুলিতে অ্যাক্সেস সহ

আমার আশ্চর্যের বিষয়

(1) অ্যাপডি পিপিএ লিঙ্ক ব্যবহার না করে নির্ভরযোগ্যতাগুলির সাথে gdebi কীভাবে .deb প্যাকেজগুলি ইনস্টল করে কনফিগারেশন ফাইলগুলিতে ম্যানুয়ালি যুক্ত?

(২) আমি এপিপিপিএ sudo su -c gdebi my.debযোগ না করে অন্য সমস্ত .deb প্যাকেজ ইনস্টল করতে একই gdebi কমান্ড ( ) ব্যবহার করতে পারি বা আমাকে কি এর মতো ফর্ম্যাটটি পরিবর্তন করতে হবে: sudo su -c my*n*.debএন সফ্টওয়্যার এর সংস্করণ ইত্যাদি কোথায়?

সাধারণ লোকের পদে ব্যাখ্যা করুন যাতে আমি এটি পেতে পারি।

উত্তর:


10

প্রকৃতপক্ষে সংযোজন কার্যকারিতা সহ gdebiএটি কেবল সামনের এক প্রান্ত dpkgযা এটি সংগ্রহস্থলগুলিতে নির্ভরতা প্যাকেজগুলির জন্য পরীক্ষা করতে পারে এবং সেগুলি এক-ক্রিয়ায় ইনস্টল করতে পারে, যখন dpkg -iদুটি ম্যানুয়ালি (পরবর্তীকালে apt-get -f install) দুটি অপারেশন প্রয়োজন ।

প্রশ্ন 1:

1) কিভাবে gdebi এটি করবেন? অ্যাপটি পিপিএ লিঙ্ক ব্যবহার না করে নির্ভরতা সহ .deb প্যাকেজগুলি ইনস্টল করুন কনফিগারেশন ফাইলগুলিতে ম্যানুয়ালি যুক্ত?

একটি হচ্ছে dpkgফ্রন্ট-এন্ড, এটা কার্যকারিতা সব ব্যবহার করতে পারেন dpkg। যেহেতু প্রতিটি .debপ্যাকেজ ফাইলে সেই ডেব ফাইলটি (যেমন প্যাকেজের নাম, রক্ষণাবেক্ষণকারী, নির্ভরতা ইত্যাদি) সম্পর্কে মেটাডেটা রয়েছে (যেমন তারা দুর্নীতিগ্রস্থ না হয়) তাই এটি সহজেই এই ফাইলটির নির্ভরতা যাচাই করতে পারে।

উদাহরণস্বরূপ, আপনি একটি .deb ফাইলের মেটাডেটা ব্যবহার করে পরীক্ষা করতে পারেন dpkg --info package-name.deb

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

নোট করুন যে, প্রয়োজনীয় অতিরিক্ত প্যাকেজগুলি অবশ্যই সিস্টেমে কনফিগার করা কমপক্ষে একটি সংগ্রহস্থলের (যথাযথ সংস্করণ সহ) থাকা আবশ্যক।

তারপরে এটি স্বাভাবিক অ্যাপ্লিকেশন ইনস্টলেশন পছন্দ করে। পার্থক্য হ'ল এটি মূল .deb ফাইলটি পুনরায় ডাউনলোড করে না

প্রশ্ন 2:

(২) আমি কি sudo su -c gdebi my.debপিপিএ যোগ না করে অন্য সমস্ত ডিবে প্যাকেজ ইনস্টল করতে একই gdebi কমান্ড ( ) ব্যবহার করতে পারি ? বা sudo su -c myn.debযেখানে আমাকে সফ্টওয়্যার ইত্যাদির সংস্করণ যেখানে ফর্ম্যাটটি পরিবর্তন করতে হবে ?

পিপিএগুলি একটি কারণে বিদ্যমান। মূল কারণ তারা প্যাকেজগুলির সর্বশেষ সংস্করণ সরবরাহ করে। এবং এই উচ্চতর সংস্করণযুক্ত প্যাকেজটি সাধারণত সাব-প্যাকেজগুলির উচ্চতর সংস্করণগুলির উপর নির্ভর করে, যা সাধারণত পিপিএ থেকে সরবরাহ করা হয়, স্ট্যান্ডার্ড উবুন্টু সংগ্রহস্থল থেকে নয়।

উদাহরণ পরিস্থিতি:

ধরুন, একটি প্যাকেজ নামে মা প্যাকেজ সর্বোচ্চ সংস্করণ রয়েছে 2.0স্ট্যান্ডার্ড উবুন্টু সংগ্রহস্থলগুলিতে, এবং এই মা প্যাকেজ প্যাকেজ নামে উপর নির্ভর করে সন্তানের প্যাকেজ সংস্করণ 2. এছাড়াও অনুমান করা, কিছু পিপিএ প্রদান করে মা প্যাকেজ সংস্করণের 3.0যার উপর প্রয়োজন child-packageএর 3.0, উভয়ই সেই পিপিএ সংগ্রহস্থলের মাধ্যমে উপলব্ধ।

সমস্যাটি হ'ল, যদি আপনি এখন সংগ্রহশালা পৃষ্ঠা থেকে মাদার-প্যাকেজ-3.0.deb ডাউনলোড করেন এবং এটির সাথে ইনস্টল করার চেষ্টা করেন gdebi, আপনি (বা gdebi) ব্যর্থ হবেন ।

কারণ, মাদার-প্যাকেজ-3.0.deb ফাইলটি পরীক্ষা করে gdebiজানতেন যে এই মাদার প্যাকেজটির সংস্করণ 3.0বা উচ্চতরর চাইল্ড-প্যাকেজ দরকার , তবে এটি কেবল সংস্করণের অবস্থানই জানে 2.0। যেখানে সংস্করণ আনতে জানে না 3.0এর সন্তানের প্যাকেজ থেকে। এটি প্রত্যাশা করা হয়েছে কারণ, আপনি সর্বশেষতম মাদার-প্যাকেজটি কোথায় পাবেন তা আপনি সিস্টেমটিকে বলেন নি । অন্য কথায়, আপনি সেই পিপিএ অন্তর্ভুক্ত করতে সংগ্রহস্থল তালিকাটি কনফিগার করেননি ।

সুতরাং, স্পষ্ট উত্তর এই প্রশ্নের উত্তর এটি নির্ভর করেযদি ইতিমধ্যে কনফিগার করা সংগ্রহস্থলগুলিতে প্রয়োজনীয় নির্ভরতাগুলি পাওয়া যায় তবে ইনস্টলেশনটি সফল হবে । তবে যদি তা না হয় তবে এটি হিগারেড সংস্করণযুক্ত প্যাকেজটি ইনস্টল করতে ব্যর্থ হবে। এজন্য আপনার এখনও পিপিএ দরকার এবং এটি ম্যানুয়ালি এই সমস্তগুলি না করেই সবচেয়ে সহজ উপায়।

দ্বিতীয় প্রশ্নের দ্বিতীয় অংশটি আমার কাছে বোঝায় না


5

আমার কাছে কয়েকটি অ্যাপ্লিকেশন একই সমস্যা ছিল, স্কাইপ সেগুলির মধ্যে একটি হ'ল এগুলি বাইরের প্যাকেজ বা লাইব্রেরী ফাইলগুলির উপর নির্ভর করে যা ম্যানুয়ালি ইনস্টল করা দরকার।

আমি ব্যবহৃত সমস্যাটি সমাধান করতে:

sudo dpkg -i skype.deb

এবং তারপরে আপনার আউটপুটে যেমন বাইরের লাইব্রেরি সম্পর্কে অনুরোধ জানানো হয়েছে, আমি টাইপ করেছি:

sudo apt-get install -f

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


2

প্রতিটি .deb প্যাকেজে নির্ভরতাগুলির তালিকা রয়েছে (সামঞ্জস্যপূর্ণ সংস্করণ সংখ্যা সহ)।

আমি পাইথন পাঠক নই তবে উত্স কোডটি aptসেই তালিকাটি পাওয়ার জন্য কল করেছে বলে মনে হচ্ছে । নির্ভরতার নির্ভরতাগুলি খুঁজে পেতে এটি অবশ্যই পুনরাবৃত্তভাবে অবতীর্ণ হতে হয়েছিল তবে aptস্পষ্টতই তা করতে পারে।

নির্ভরতাগুলি সমস্ত কাজ শেষ হয়ে গেলে এবং সঠিক ক্রমে স্থাপন করা হয় (অন্যান্য নির্ভরতা ইনস্টল করার আগে কিছু নির্ভরতা ইনস্টল করা দরকার), aptকেবল নির্ভরতাগুলি ইনস্টল করতে বলা হয়। তারপরে Gdebi কে আর্গুমেন্ট হিসাবে প্যাকেজটি ইনস্টল করা হয়েছে।

নির্ভরতা এবং লক্ষ্য প্যাকেজ দুটি কারণে দুটি কার্যক্রমে ইনস্টল করা হয়। প্রথমে স্থানীয় .deb ইনস্টল করতে একটি অ্যাপ কলের ফর্ম্যাটটি কোনও সংগ্রহস্থল থেকে নির্ভরতা ইনস্টল করতে অ্যাপল কল থেকে আলাদা। দ্বিতীয়ত, কলগুলি পৃথক করা নিশ্চিত করে যে লক্ষ্যগুলি প্যাকেজের আগে নির্ভরতাগুলি সমস্ত ইনস্টল করা আছে।

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