প্রবণতা বনাম apt-get: কোনটি ব্যবহারের জন্য প্রস্তাবিত (ডান "ডান")?


94

কিছু সময় আগে আমি পড়েছি এটি aptitudeহ'ল ডেবিয়ান-ভিত্তিক সিস্টেমে ইনস্টলেশনের জন্য পছন্দসই সরঞ্জাম। আপনি যখন ডেবিয়ান-ভিত্তিক সিস্টেমটি পরিচালনা করবেন সে সম্পর্কে যখন অনুসন্ধান করবেন তখন যথাযোগ্যতার কথা খুব কমই বলা যায়। বেশিরভাগ লোকেরা পছন্দ করে বলে মনে হয় apt-get- এবং এটি ডিবিয়ান উইকি পৃষ্ঠাগুলির জন্যও সত্য!

এইভাবে আমি ভাবছি যে আমি কিছু মিস করেছি কিনা। কোনটি সঠিক সরঞ্জামটি ব্যবহার করতে পারে?


মজার বিষয় হল উবুন্টু আর aptitudeডিফল্টরূপে ইনস্টল হয় না।
যান্ত্রিক শামুক

2
আমার জন্য একক অতি গুরুত্বপূর্ণ পার্থক্যটি হ'ল ডকগুলি পুরোপুরি পড়ার পরে, আমি প্রবণতার মাধ্যমে প্যাকেজের উত্স পাওয়ার কোনও উপায় খুঁজে পাচ্ছি না। apt-get source package-nameএটি করবে, তবে আমি কোনও প্রবণতা সমতুল্য দেখিনি
এরিকআর

2
একটি জিনিস aptitude search package-nameপ্রবণতা মধ্যে কাজ করে। অন্যটি হ'ল aptitude why package-nameদরকারী তবে এতে নেই apt-get। আমি আরও কমান্ড লাইন aptitudeতুলনায় কিছুটা পরিষ্কার করা হয় apt-get। আপনি যেমন লক্ষ্য করেছেন, সেখানে aptitude build-dep package-nameকিন্তু নেই aptitude source package-name
Anders

উত্তর:


73

aptitudeএবং apt-getঅনেক কাজের জন্য একই কাজ করুন, তবে সবচেয়ে জটিল ক্ষেত্রে যেমন বিতরণ আপগ্রেড ( apt-get dist-upgradeবনাম aptitude full-upgrade) এর জন্য তাদের বিভিন্ন বিধি রয়েছে এবং প্রবণতার নিয়মগুলি বাস্তবে প্রায় সর্বদা ভাল যেখানে তারা একমত নন।

apt-getওভারের জন্য আপনি আরও ডকুমেন্টেশন দেখানোর কারণটি aptitudeবেশিরভাগ ক্ষেত্রে জড়তা: aptitudeএত দিন ধরে এটিপি-র প্রস্তাবিত সম্মুখ প্রান্ত নয়, বিদ্যমান নথিপত্রের অনেকগুলি আপডেট করা হয়নি, এবং প্রচুর লোক রয়েছে যারা aptitudeওভারের সুবিধাগুলি স্বীকৃতি দেয় apt-getতবে apt-getরিফ্লেসিভলি ব্যবহার করুন ।

আমি সম্প্রতি এমন একটি পয়েন্টে পৌঁছেছি যেখানে আমি সাধারণত টাইপ করার সময় একটি না aptদিয়ে অনুসরণ করি।i-

পোস্টস্ক্রিপ্ট নোট করুন যে ব্যবস্থাগুলি ব্যবহৃত হয়েছে apt-getএবং aptitudeলক্ষ্যগুলি সরিয়ে নিয়েছে - মন্তব্যে হুবার্ট নোট হিসাবে, দেবিয়ান লেনির প্রস্তাবিত আপগ্রেড পাথটি এখন ব্যবহার করে apt-get, না aptitude। এটি এই সত্যটি প্রতিফলিত করে apt-getযা বর্তমান প্যাকেজটির তুলনায় কম রাষ্ট্রের উপর নজর রাখে aptitudeএবং তাই এপিটি রাষ্ট্র "পরিষ্কার" না হওয়ার বিষয়ে চিন্তা করার দরকার নেই এবং কারণ apt-getনিয়মগুলি তাদের আগের চেয়ে চৌকস। আমি এখনও ব্যবহার এবং সুপারিশ aptitudeওভার apt-get, কিন্তু এটি একটি আরও সংখ্যক সুপারিশ


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

20
apt-getআরও মেমরি-দক্ষ হওয়ার সুবিধা আছে। এটি বেশিরভাগ ব্যবহারকারীর জন্য নজরে আসার সম্ভাবনা নেই; আমি 32MB র‌্যাম সহ একটি সম্পূর্ণ ডেবিয়ান ইনস্টল প্যাকেজগুলিকে আপগ্রেড করার চেষ্টা না করা পর্যন্ত আমি এটি সম্পর্কে সত্যই অবগত ছিলাম না। aptitudeপ্রতি রানের জন্য প্রায় এক ঘন্টার জন্য অদলবদল করে প্রসারিত; apt-get উল্লেখযোগ্যভাবে দ্রুত ছিল।
19-22

4
অফিসিয়াল ডেবিয়ান স্কিজে ডকুমেন্টেশন স্পষ্টভাবে জানিয়েছে যে aptitudeলেনির কাছ থেকে আপগ্রেড করার জন্য এটি পূর্ববর্তী আপগ্রেডের জন্য সমর্থিত ছিল, সুতরাং আমি মনে করি না এটি কেবল জড়তা ...
হুবার্ট কারিও

@ হুবার্টকারিও - হ্যাঁ, সত্যিই। আমি আমার উত্তর আপডেট করেছি।
চার্লস স্টুয়ার্ট

আমি কেবল apt-getএটিই বলতে পারি যে প্রায়শই সর্বদা ত্রুটি ছুড়ে দেয় (উবুন্টু সার্ভারের অভিজ্ঞতা 12.10, 14.04) যখন aptitudeআসলে কিছু করতে পারে। আমি এখনও বুঝতে পারি না কীভাবে অপ্ট-গেটটি এখনও বিদ্যমান।
টোটিট.জেএস

20

aptitudeআপনি ইতিমধ্যে সিস্টেমে ইনস্টল করে রেখেছেন এমন কোনও অনুসন্ধানে কোন প্রোগ্রামগুলি (এর সাহায্যে grep) দেখানো সুবিধাজনক করে তোলে :

aptitude search flash | grep ^i

প্রকৃতপক্ষে, aptitudeঅনুসন্ধানটি আপনি যা পাইপিং করছেন তার থেকে অনেক বেশি শক্তিশালী grep, কারণ এটি প্রাসঙ্গিক অনুসন্ধানকে সমর্থন করে:

উদাহরণস্বরূপ, এটি ইনস্টল থাকা প্যাকেজের নামে 'ফ্ল্যাশ' সহ সমস্ত প্যাকেজ সন্ধান করে:

aptitude search '~iflash'

"সংক্ষিপ্ত রূপ" এর সমতুল্য "দীর্ঘ ফর্ম" ~i:

aptitude search '?installed(flash)'

নোট করুন যে অনুসন্ধানের নিদর্শনগুলি ডিফল্টরূপে নিখরচায় (নিরস্ত্র)। এগুলির অ্যাঙ্কর করতে আপনার অ্যাঙ্কর প্যাটার্নগুলি ' ^' (স্ট্রিংয়ের শুরু) এবং / অথবা ' $' (স্ট্রিং-এর শেষ) ব্যবহার করতে হবে।

সমস্ত প্যাকেজ সন্ধান করতে যাদের নাম 'টিটিএফ' বা 'ফন্ট' দিয়ে শুরু হয়:

aptitude search '(^ttf|^font)'

(দ্রষ্টব্য: এটি বাগের জন্য কার্যকর) aptitude, কারণ সঠিক রেজেক্স '^(ttf|font)'সঠিকভাবে কাজ করে না - এটি এমন প্যাকেজগুলি খুঁজে পায় যাদের নাম 'ttf' দিয়ে শুরু হয় বা এতে 'ফন্ট' রয়েছে))

অন্যান্য নিফটি aptitudeবৈশিষ্ট্য:

তাদের নামে 'ফার্মওয়্যার' সহ সমস্ত প্যাকেজগুলি দেখান যে ALSO এর বর্ণনায় 'ওয়্যারলেস' রয়েছে:

aptitude search 'firmware ~dwireless'

বা দীর্ঘ ফর্ম:

aptitude search '?and(?name(firmware),?description(wireless))'

(দ্রষ্টব্য: সংক্ষিপ্ত আকারে, স্পেস-সীমাবদ্ধ আর্গুমেন্টগুলি উদ্ধৃতিগুলির মধ্যে আন্ডারড করা হয়; যদি আলাদা আরগভি হিসাবে পাস করা হয় [] কমান্ডলাইন আর্গুমেন্ট হিসাবে তারা অর্ড হয়))

p   atmel-firmware       - Firmware for Atmel at76c50x wireless networking chips.
p   firmware-atheros     - Binary firmware for Atheros wireless cards
...
p   libertas-firmware    - Firmware for Marvell's libertas wireless chip series
p   zd1211-firmware      - Firmware images for the zd1211rw wireless driver

~U নতুন সংস্করণ সহ তাদের বর্তমান সংস্করণগুলি থেকে আপগ্রেডযোগ্য সমস্ত প্যাকেজ দেখায়:

# aptitude update ; aptitude versions '~U'
Package virtualbox-4.1:            
i   4.1.18-78361~Debian~squeeze                       100
p   4.1.20-80170~Debian~squeeze     <NULL>            500

'Gcc-multilib' প্রস্তাবিত প্যাকেজগুলি দেখান

$ aptitude search '~DRecommends:gcc-multilib'
i   libc6-dev-i386   - Embedded GNU C Library: 32-bit development libraries for AMD64

কেন 'ফিউজ-ইউজগুলি' ইনস্টল করার প্রয়োজন হতে পারে তা ব্যাখ্যা করুন

$ aptitude why fuse-utils
i   xorg           Depends    xterm | x-terminal-emulator
pi  gnome-terminal Provides   x-terminal-emulator
pi  gnome-terminal Recommends gvfs
pi  gvfs           Depends    libgdu0 (>= 2.29.90)
pi  libgdu0        Depends    udisks (< 1.1.0)
pi  udisks         Recommends ntfsprogs
pi  ntfsprogs      Depends    fuse-utils (> 2.5.0)

(এই উদাহরণটি সমস্ত "প্রস্তাবিত" প্যাকেজগুলি ইনস্টল করার জন্য স্কুইজ (?) থেকে ডিফল্ট থেকে উদ্ভূত কিছু উন্মত্ততা দেখায় g বিল্টিন এনটিএফএস সংহত নয়, যা এটি specifiedচ্ছিক, যদি না তারা নির্দিষ্ট করে unless)

"মেইল-পরিবহন-এজেন্ট" পরিষেবা সরবরাহ করে এমন সমস্ত প্যাকেজ সন্ধান করুন:

$ aptitude search '?provides(mail-transport-agent)'
p   citadel-mta          - complete and feature-rich groupware server (mail transport agent)
...
p   nullmailer           - simple relay-only mail transport agent
p   postfix              - High-performance mail transport agent
i   sendmail-bin         - powerful, efficient, and scalable Mail Transport Agent
p   ssmtp                - extremely simple MTA to get mail off the system to a mail hub
p   xmail                - advanced, fast and reliable ESMTP/POP3 mail server

ইনস্টল করা সমস্ত প্যাকেজ নামগুলি দেখান, যেগুলি নির্ভরতা দ্বারা প্রয়োজনীয় বা স্বয়ংক্রিয়ভাবে ইনস্টল করা হয় না:

$ aptitude search '~i!(~E|~M)' -F '%p'

দুর্ভাগ্যক্রমে, এই স্টাফটি বরং দুর্বল নথিভুক্ত এবং সন্ধান করা শক্ত, তবে এখানে সর্বোত্তম রেফারেন্স রয়েছে ('দক্ষতা' রক্ষণাবেক্ষণকারী থেকে)।


4
অনুসন্ধান বৈশিষ্ট্যগুলি apt-getapt-cache search NAME
এরিকের

@ এরিকআর সত্য, তবে আমি এগুলির মতো অনুসন্ধানের সন্ধান
পাইনি

4

প্যাকেজ পরিচালনার বিষয়ে ডেবিয়ান জিএনইউ / লিনাক্স এফএকিউ অনুসারে , অ্যাপটিটিউডটি অ্যাপট-গেটের চেয়ে জটিল এবং এটি কম জটিল প্যাকেজ পরিচালনা সরঞ্জামগুলির উপর নির্ভর করে অ্যাপটি-গেট এবং ডিপিকেজি।

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

দেবিয়ান এফএকিউ থেকে উদ্ধৃত: "প্রবণতাটি নির্বাচন এবং অপ্ট-গিটের কার্যকারিতা সরবরাহ করে, পাশাপাশি কোনও প্রোগ্রামেও অনেকগুলি অতিরিক্ত বৈশিষ্ট্য পাওয়া যায় না।"


3

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

এটি ব্যক্তিগত কারণেই আমি ব্যক্তিগতভাবে মনে করি যে প্রবণতা সর্বদা উপযুক্ত তখন ভাল pt


উদ্ধৃতি প্রয়োজন, কিন্তু এটি একটি বাধ্যতামূলক পার্থক্য হবে।
Kjqai


প্রকৃতপক্ষে apt-getএটি পাশাপাশি করে apt-get autoremove <package-name>। উভয়ই apt-getএবং aptitudeস্বতঃ ইনস্টল হওয়া প্যাকেজগুলি চিহ্নিত করুন
লিওজনিয়র

তবে aptitudeপ্রতিবার এটি ব্যবহারের পরে অটো প্যাকেজগুলি পরিষ্কার করুন। যদিও apt-getআপনি যে স্পষ্ট শুরু করতে হবে।
অ্যান্ডার্স

2

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

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