প্রবণতা সহ একটি নির্দিষ্ট সংগ্রহস্থল থেকে ইনস্টল করা প্যাকেজগুলি সন্ধান করুন


39

আমি এই প্রশ্নের সাথে কিছু এনালগ খুঁজছি: জিপার: আমি একটি নির্দিষ্ট সংগ্রহস্থল থেকে সমস্ত প্যাকেজটি কীভাবে প্রদর্শন করব?

যেহেতু আমি উবুন্টুতে আছি, আমার প্রবণতা ভিত্তিক সমাধানের প্রয়োজন: আমি কীভাবে কোনও নির্দিষ্ট সংগ্রহস্থল থেকে ইনস্টল করা প্যাকেজগুলির তালিকা পেতে পারি ?

উত্তর:


17

স্থিতিশীল শাখার বাইরে ইনস্টল করা প্যাকেজগুলির সন্ধানের জন্য প্রবণতা ব্যবহার করে, আপনি ব্যবহার করতে পারেন:

aptitude search "?narrow(?installed,?not(?archive(stable)))"

সংস্করণগুলি পাশাপাশি প্যাকেজ-নামগুলি দেখতে (এবং বর্ণনার পরিবর্তে) আপনি -Fনিম্নরূপে বিন্যাস বিকল্পটি ( সংক্ষেপে) দিয়ে কমান্ডটি ব্যবহার করতে পারেন ।

aptitude search -F "%p %V %v" "?narrow(?installed,?not(?archive(stable)))"

আরও ফর্ম্যাটগুলির জন্য, দয়া করে ম্যানপেজটি দেখুন (এখানে উপকার সহ ডকুমেন্টেশন । বিকল্পগুলি )।

উদাহরণস্বরূপ এটি কাজ করে, যদি আপনি স্কিজের বাইরে প্যাকেজ ইনস্টল করেন তবে ডেবিয়ানে (উদাহরণস্বরূপ, রান করে apt-get install -t sid package-name

ইনস্টল করা প্যাকেজটি কোথা থেকে এসেছে তা আপনি দেখতে পারেন apt-cache policy, ব্যবহারটি নিম্নরূপ:

apt-cache policy <package-name>

উদাহরণস্বরূপ, আমার পাইথন-নম্পি প্যাকেজটি নিম্নলিখিত আউটপুটটিকে রেন্ডার করে:

$ LANG=C apt-cache policy python-numpy
python-numpy:
  Installed: 1:1.6.2-1
  Candidate: 1:1.6.2-1.2
  Version table:
     1:1.7.0-1 0
          1 http://ftp.es.debian.org/debian/ experimental/main amd64 Packages
     1:1.6.2-1.2 0
        500 http://ftp.es.debian.org/debian/ sid/main amd64 Packages
 *** 1:1.6.2-1 0
        100 /var/lib/dpkg/status
     1:1.4.1-5 0
        990 http://ftp.es.debian.org/debian/ squeeze/main amd64 Packages
        990 http://ftp.de.debian.org/debian/ squeeze/main amd64 Packages

এর অর্থ হ'ল আমি বর্তমান এসিড / মেইন এর শাখার পিছনে একটি সংস্করণ, তাই আমার একটি পুরানো সিড সংস্করণ ইনস্টল করা আছে। আমি দেখতে পাচ্ছি আমার কাছে স্থিতিশীল নেই কারণ এটি এখনও রয়েছে 1.4.1-5, এবং আমি বর্তমানে আছি 1.6.2-1

জমা দেওয়ার সময় এই প্যাকেজটি ইতিমধ্যে আপডেট করা হয়েছিল:)


আমি পছন্দ করি ?any-version(), কারণ ~narrow(pat1, pat2)এটি সমান ?any-version(pat1 pat2)এবং এটি ?any-version(pat1 pat2 pat3)নির্বোধ না দেখে সমর্থন করে ।
রবার্ট সিমার

18

যোগ্যতার তথ্য পৃষ্ঠা এবং এক ডজন চেষ্টা করার পরে অবশেষে আমি এটি পেয়েছি:

aptitude search '?narrow(?installed,?not(?archive(testing)) ?archive(unstable))'

বা সমমানের) :

aptitude search '~S ~i (!~Atesting ~Aunstable)'

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

আপনি যদি www.debian-multmedia.org/unstable থেকে ইনস্টল হওয়া প্যাকেজগুলি ফিল্টার করতে চান:

aptitude search '~S ~i (!~Atesting ~Aunstable ?origin("Unofficial Multimedia Packages"))

সম্পাদনা করুন: "সংরক্ষণাগার", "উত্স" ইত্যাদি Releaseসংগ্রহস্থলের ফাইল থেকে কেটে নেওয়া হয় । দুর্ভাগ্যক্রমে সমস্ত সরঞ্জাম এই সমস্ত লাইন দেখতে পারে না এবং তারা তাদের জন্য বিভিন্ন বাক্য গঠন ব্যবহার করে। আপনি এই ফাইলগুলি হিসাবে খুঁজে পেতে পারেন /var/lib/apt/lists/*Release। অথবা apt-cache policyএকটি ওভারভিউ পেতে কেবল টাইপ করুন । apt- ক্যাশে এর আউটপুট ফর্ম্যাট পরিবর্তন করেছে: পরবর্তী সংস্করণগুলি apt_preferences শৈলী ব্যবহার করে।

  • Suite:বা Archive:(পুরানো নাম!)
    • প্রবণতা অনুসন্ধান: ?archive(___)বা~A___
    • প্রবণতা বিন্যাস: %t
    • apt_preferences: release a=___
    • উদাহরণ উবুন্টু: natty-backports, trusty-security,stable
  • Origin:
    • প্রবণতা অনুসন্ধান: ?origin(___)বা~O___
    • প্রবণতা বিন্যাস: এন / এ
    • apt_preferences: release o=___
    • উবুন্টু উদাহরণ: Canonical, Google, Inc., LP-PPA-dockbar-main,Ubuntu
  • অন্যান্য সমস্ত লাইন
    • প্রবণতা: n / a

15

আপনার প্রতিটি বর্তমান সংগ্রহস্থলের জন্য মূল ট্যাগ (যেমন o = দেবিয়ান ) পরীক্ষা করুন :

apt-cache policy | sed -n 's/.*o=\([^,]\+\).*/\1/p' | uniq

তারপরে একটি নির্দিষ্ট উত্স থেকে (বা না) প্যাকেজগুলি অনুসন্ধান করুন:

aptitude search "?installed?origin(Debian)"
aptitude search "?installed?not(?origin(Debian))"

এটি সুরক্ষা নিরীক্ষণের জন্য উপযুক্ত নয় কারণ এটি নিজস্ব উত্সের তথ্য সরবরাহের জন্য প্রতিটি সংগ্রহস্থলের উপর নির্ভর করে তবে একাধিক সংগ্রহস্থলে উপস্থিত প্যাকেজগুলির উত্সের সমস্যা সমাধানের জন্য এটি সহায়ক হতে পারে।


2
আপনার aptitude searchনিদর্শন ভাল না। - তারা এই "প্যাকেজগুলির তালিকা তৈরি করুন যেখানে একটি সংস্করণ ইনস্টল করা আছে, এবং ডেবিয়ান-এ অন্য কোনও সংস্করণ বিদ্যমান আছে" বা "কিছু সংস্করণ ইনস্টল করা আছে এবং নন-দেবিয়ান-তে প্যাকেজটির কমপক্ষে একটি সংস্করণ রয়েছে" এটি নির্বাচন করুন। - আমরা যা খুঁজছি তা হ'ল "ইনস্টল করা সংস্করণটি ডেবিয়ান (বা না) থেকে এসেছে"। এটি দিয়ে ?narrow()বা করাতে হবে ?any-version()
রবার্ট সিমার

নিশ্চিত করেছে। আমি ইনস্টল nemo-filerollerথেকে linuxmint, কিন্তু এটি বিদ্যমান Debianখুব। সুতরাং এটি তালিকায় উপস্থিত হয়, কারণ এটি ইনস্টল এবং ডেবিয়ান থেকে কোথাও বিদ্যমান।
বোল্ডউইন

6

সম্পূর্ণতার জন্য: উবুন্টু সিস্টেমে আপনি এই কাজের জন্য সিন্যাপটিকও ব্যবহার করতে পারেন। বাম কলামে আপনি প্যাকেজগুলি তাদের উত্স অনুসারে ফিল্টার করতে পারবেন।


আমি এটি করার চেষ্টা করছিলাম এবং গুগলের মাধ্যমে এই এসইউ পোস্টটি পেয়েছি, বিশ্বাস করতে পারি না যে আমি সিনাপটিককে উপেক্ষা করেছি, ধন্যবাদ!
ডেভিড ক্লারিজ

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

2

আমি এটি খুঁজে পেয়েছি:

aptitude search "?origin (<repository>) ?installed"

আপনি এখানে "প্রবণতা অনুসন্ধান" দ্বারা সমর্থিত অনুসন্ধান পদগুলির একটি তালিকাও পেতে পারেন ।


কেন এটি দিয়ে চালানো দরকার sudo? আমার কাছে মনে হচ্ছে এটি রুট হিসাবে চালনা ছাড়াই কাজ করে।
Andre Holzner

এটি সুডো দিয়ে চালানোর দরকার নেই
কুর্তিস নসবাউম

আমি যেমন @ অনামী উত্তরটিতে মন্তব্য করেছি, এটির পছন্দসই প্রভাব নেই।
রবার্ট সিমার

2

প্রথমে / var / lib / apt / তালিকায় আগ্রহের সংগ্রহস্থলের জন্য উপযুক্ত ফাইল (গুলি) সন্ধান করুন। প্রোগ্রামটিমেটিকভাবে এটি করা সম্ভব হওয়া উচিত, তবে আমার এটি করার দরকার নেই।

গুগল ক্রোম উদাহরণ হিসাবে ব্যবহার করে দেখুন:

SEARCH_PATTERN=dl.google.com_linux_chrome  # adjust to suit your needs

for PKG in $( grep-dctrl -sPackage . /var/lib/apt/lists/${SEARCH_PATTERN}_*_Packages | sed 's/^Package: //' )
do
    if dpkg -s "${PKG}" 2> /dev/null 1> /dev/null
    then
        echo ${PKG}
    fi
done

এবং আমি আউটপুট পেতে:

google-chrome-stable

প্যাকেজ ইনস্টল করা থাকলে এবং অন্যথায় ননজারো যদি dpkg -s 0 প্রদান করে। ভবিষ্যতের রেফারেন্স উদ্দেশ্যে, এর আউটপুট

grep-dctrl -sPackage . /var/lib/apt/lists/${SEARCH_PATTERN}_*_Packages

ছিল

Package: google-chrome-beta
Package: google-chrome-stable
Package: google-chrome-unstable

... এই প্রবণতা ব্যবহার করে?
রবার্ট সিমার

2
@ রবার্টসিমার এটি কীভাবে প্রাসঙ্গিক? ইংরাজির যুক্তিসঙ্গত কমান্ড ধরে নিয়ে প্রশ্নটি হল যে কীভাবে প্যাকেজগুলির উত্সটি প্রবণতা সহ ইনস্টল করা হয়েছিল । সমাধানের প্রবণতাটি ব্যবহার করার কোনও প্রয়োজন নেই।
অস্পেক্স

@ অ্যাসপেক্স, আমি অন্যথায় বিশ্বাস করি। - এবং চিন্তা করবেন না, কয়েক বছর আগে আমার ইংরেজি কমান্ড "যুক্তিসঙ্গত" ছাড়িয়েছে।
রবার্ট সিমার

2
আপাতদৃষ্টিতে নয় ...
অ্যাসপেক্স

2
@ অ্যাসপেক্স: আপনি কি আমাকে উস্কান করার চেষ্টা করছেন? বিপরীতটি সত্য: প্রশ্ন প্রবণতা ভিত্তিক সমাধান চাইছে, প্রবণতা সহ ইনস্টল হওয়া প্যাকেজগুলির জন্য নয়।
রবার্ট সিমার

0

অন্যান্য উত্তরগুলি আসলে ভুল, কারণ প্যারামিটারটি ?archive()নিয়মিত প্রকাশ। সুতরাং ?archive(stable)উভয় মেলে stableএবং unstable। খালি বাদ দিতে stableআপনার রেজেক্স প্যাটার্নটি অ্যাঙ্কর করতে হবে:

aptitude search -F "%p %V %v %t" '?any-version(?installed ?not(?archive("^stable$")))'

একাধিক ভাণ্ডার বাদ দিতে:

aptitude search -F "%p %V %v %t" '?any-version(?installed ?not(?archive("^(xenial|xenial-updates)$")))'

আরও মনে রাখবেন যে কয়েকটি প্যাকেজ একাধিক সংগ্রহস্থলের অন্তর্গত, যেমন xenial-security,xenial-updates?archive()প্রতিটি সংগ্রহস্থলের বিপরীতে রেজেক্স প্যাটার্নটি স্বতন্ত্রভাবে মূল্যায়ন করে, সুতরাং এটি সম্পর্কিত যে ?archive("^xenial-updates$")কোনও প্যাকেজগুলির সাথে মিলবে xenial-updates, এমনকি এটি অন্য সংগ্রহস্থলের অন্তর্গত হলেও।

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