একটি বিশেষ রেপো (যেমন, "এপেল") থেকে আমার সিস্টেমে ইনস্টল করা সমস্ত RPM প্যাকেজগুলির একটি তালিকা কীভাবে পেতে পারি?
একটি বিশেষ রেপো (যেমন, "এপেল") থেকে আমার সিস্টেমে ইনস্টল করা সমস্ত RPM প্যাকেজগুলির একটি তালিকা কীভাবে পেতে পারি?
উত্তর:
yum list installed | grep @epel
dnf list installed | grep @epel
এই স্ট্যাকওভারফ্লো উত্তরে প্রস্তাবিত হিসাবে RHEL6 হিসাবে , এটি করার আরও একটি সম্পূর্ণ পদ্ধতি রয়েছে yumdb
:
yumdb search from_repo REPOID*
রিফয়েড ওয়াইল্ড কার্ড নেয়।
যদি আমরা আউটপুটটি প্রতারণা এবং পাইপ করতে যাচ্ছি তবে আমরা পাশাপাশি প্রিন্ট-প্রিন্ট প্রভাবও অর্জন করতে পারি। এখানে একটি ব্যবহারawk
yumdb search from_repo REPOID* |awk -F"\n" '{ RS=""; print $1 }'
ব্যবহার egrep
বাgrep -e
yumdb search from_repo REPOID* |egrep -v '(from_repo|^$)'
নির্দিষ্ট সংগ্রহস্থলে সমস্ত উপলব্ধ প্যাকেজ তালিকাভুক্ত করতে , করুন:
repoquery -a --repoid=REPONAME
repoquery -qa --repoid=REPONAME
repoquery -a --repoid=REPONAME
কারণ ম্যান পৃষ্ঠা অনুসারে -q
বিকল্পটি rpmquery সামঞ্জস্যের জন্য, কিছুই করেনা।
-qa
আসলে ব্যর্থ হয়। পূর্ববর্তী উক্তিটি মুছে ফেলার কারণে আমি মন্তব্যটিকে আপত্তি জানাতে পারি না :( আমি তার প্রতিফলনের জন্য উত্তরটি আপডেট করছি
dnf repo-pkgs <repoid> list installed
উপরের কমান্ডটি ডিএনএফ ব্যবহার করে প্যাকেজগুলি থেকে ইনস্টল হওয়া প্যাকেজগুলি তালিকাভুক্ত করে <repoid>
। দ্রষ্টব্য repo-pkgs
কেবলমাত্র একটি উপনাম repository-packages
।
man
পৃষ্ঠাগুলি থেকে :
man dnf | grep "repository-packages.*list.*installed" -A 1
আরও পড়া:
man dnf
গ্রেপিং ইয়ামের আউটপুটটি সবচেয়ে সুস্পষ্ট উপায়:
yum list installed | grep @epel
তবে আপনি অতিরিক্ত প্যাকেজ বৈশিষ্ট্য প্রদর্শন করতে পারবেন না এবং কোনও স্ক্রিপ্টের সাহায্যে পার্স করা কঠিন difficult repoquery
প্যাকেজ থেকে প্রাপ্ত সরঞ্জামটি yum-utils
ডিভাইস, তবে এটি ডিফল্টরূপে ইনস্টল হয় না।
repoquery -a --installed --qf "%{ui_from_repo} %{name}" | grep '^@epel'
এবং আরও জটিল উদাহরণ:
repoquery -a --installed --qf "%-20{ui_from_repo} %-30{name} %-7{arch} %{epoch}:%-12{version} %-4{release}" | grep '^@epel'
yum repo-pkgs <repoid> list installed
হিসাবে একই তথ্য পুনরুদ্ধার করতে ব্যবহৃত হতে পারে yumdb search from_repo <repoid>
, তবে ভিন্ন ফর্ম্যাটে।
# yum help repo-pkgs
repo-pkgs <repoid> <list|info|install|remove|upgrade|reinstall*|remove-or-*> [pkg(s)]
Treat a repo. as a group of packages, so we can install/remove all of them
aliases: repo-packages, repository-pkgs, repository-packages
নমুনা epel
আউটপুট:
# yumdb search from_repo epel
htop-2.2.0-1.el7.x86_64
from_repo = epel
supervisor-3.1.4-1.el7.noarch
from_repo = epel
# yum repo-pkgs epel list installed
Installed Packages
htop.x86_64 2.2.0-1.el7 @epel
supervisor.noarch 3.1.4-1.el7 @epel
আপনি Vendor
ইনস্টল করা আরপিএমের শিরোনামটি পরীক্ষা করতে পারেন ।
এই উদাহরণে ভিডিওএলএএন সংগ্রহস্থল থেকে সমস্ত প্যাকেজ তালিকাবদ্ধ করা হয়েছে :
rpm -q -a --qf "%{Name}:%{Vendor}\n" \
| grep -F ":VideoLAN Project (http://www.videolan.org)"
স্পষ্টতই, আপনাকে নির্ধারণ করতে হবে যে Vendor
আপনার সংগ্রহস্থলের শিরোনামটি বিভিন্ন সংগ্রহস্থলের মধ্যে স্বতন্ত্র কিনা if
যে লোকেরা কেবল নিখোঁজ সংগ্রহস্থলগুলি সন্ধান করতে চায় তাদের জন্য:
yum list installed | awk '{print $3}' | sort | uniq
আপনার প্যাকেজগুলি ইনস্টল করা আছে সেগুলি থেকে এটি পুনরায় সংগ্রহ করা উচিত।