YUM ব্যবহার করে কোনও প্যাকেজের বিষয়বস্তু কীভাবে তালিকাভুক্ত করবেন?


320

আমি জানি কীভাবে কোনও প্যাকেজ ( rpm -qpil package.rpm) এর সামগ্রীর তালিকাতে আরপিএম ব্যবহার করতে হয় । তবে এর জন্য ফাইল সিস্টেমে .rpm ফাইলের অবস্থান জানা দরকার। প্যাকেজ ম্যানেজারটি ব্যবহার করা আরও মার্জিত সমাধান হ'ল, যা আমার ক্ষেত্রে ইউএম। কীভাবে ইউইউএম এটি অর্জন করতে ব্যবহার করা যেতে পারে?


8
ছাড়া -pPARAM ( rpm -ql packageName) আপনি RPM ফাইলের অবস্থান জানতে হবে না। এটি একটি প্যাকেজের "সমস্ত" পাথের পাওয়ার সহজতম উপায়। কিছু উদাহরণ আউটপুট জন্য আমার উত্তর দেখুন
লেবাইট

দুর্ভাগ্যক্রমে যে কেবল ইনস্টল করা প্যাকেজগুলির
সাথেই

উত্তর:


438

এখানে একটি প্যাকেজ yum-utilsরয়েছে যা YUM এ তৈরি করে এবং এমন একটি সরঞ্জাম রয়েছে যা repoqueryএটি করতে পারে।

$ repoquery --help | grep -E "list\ files" 
  -l, --list            list files in this package/group

একটি উদাহরণের সাথে মিলিত:

$ repoquery -l time
/usr/bin/time
/usr/share/doc/time-1.7
/usr/share/doc/time-1.7/COPYING
/usr/share/doc/time-1.7/NEWS
/usr/share/doc/time-1.7/README
/usr/share/info/time.info.gz

কমপক্ষে একটি আরএইচ সিস্টেমে, আরপিএম v4.8.0, yum v3.2.29, এবং পুনরুদ্ধার v0.0.11 সহ, repoquery -l rpm কিছুই প্রিন্ট করে না।

আপনি এই সমস্যা হয়ে থাকে, তাহলে যোগ করার চেষ্টা --installedপতাকা: repoquery --installed -l rpm


DNF হালনাগাদ:

ব্যবহার করার জন্য dnfপরিবর্তে yum-utils, নিম্নলিখিত কমান্ড প্রয়োগ করুন:

$ dnf repoquery -l time
/usr/bin/time
/usr/share/doc/time-1.7
/usr/share/doc/time-1.7/COPYING
/usr/share/doc/time-1.7/NEWS
/usr/share/doc/time-1.7/README
/usr/share/info/time.info.gz

12
মনে রাখবেন যে নামকরণ করা প্যাকেজটি আসলে উপস্থিত না থাকলে এই আদেশটি নীরবে ব্যর্থ হবে।
জোশুয়া হবলিট

17
ইনস্টল করা প্যাকেজগুলির জন্য দ্রুত অনুসন্ধান করতে, --installed বিকল্প অন্তর্ভুক্ত করুন। যেমন $ repoquery -lq --installed time
মোহসেনমে

প্লিজ নোট প্যাকেজের নাম কেস-সংবেদনশীল
পুত্নিক

7
আইএম, আইএমও এর বৈশিষ্ট্য হিসাবে যুক্ত করা উচিত।
Lqueryvg

1
আপনি যখন ব্যবহার করতে পারেন তখন কেন নতুন প্যাকেজ ইনস্টল করবেন rpm -ql $PACKAGE_NAME?
ইস্পির

159
rpm -ql [packageName]

উদাহরণ

# rpm -ql php-fpm

/etc/php-fpm.conf
/etc/php-fpm.d
/etc/php-fpm.d/www.conf
/etc/sysconfig/php-fpm
...
/run/php-fpm
/usr/lib/systemd/system/php-fpm.service
/usr/sbin/php-fpm
/usr/share/doc/php-fpm-5.6.0
/usr/share/man/man8/php-fpm.8.gz
...
/var/lib/php/sessions
/var/log/php-fpm

Yum-utils ইনস্টল করার প্রয়োজন নেই, বা আরপিএম ফাইলের অবস্থান জানতে হবে।


4
এটি dpkg -Lকেবলমাত্র ফাইলগুলির তালিকা তৈরি করতে অন্য প্যাকেজ ইনস্টল করতে চায় না এমন সমস্ত ইয়ালইয়ের সমতুল্য বলে মনে হচ্ছে ।
দিমিত্রি মিনকভস্কি

5
@dimadima: প্রশ্নের জন্য ছিল ইস (= RHEL ভিত্তিক সিস্টেম) যা ব্যবহারের rpmনেটিভ প্যাকেট পরিচালক হিসেবে ( আর ed হাট পি acket এম anager)। ওপি যদি কোনও ডেবিয়ান / উবুন্টু / .. সিস্টেমে থাকে, dpkgতবে এটি যাওয়ার উপায় হবে, কারণ এটি যথাযথ ব্যাকএন্ড ।
লেভাইট

2
@ লিভিট: ডায়ামডিমা যা বলার চেষ্টা করছে তা খুব নিশ্চিত যে এটি প্রশ্নের কঠোর উত্তর দেয় না - আপনি ব্যবহার করছেন না yumতবে rpmপ্যাকেজটি ইনস্টল করার দরকার রয়েছে এর প্রধান অর্থটি (যা ওপি স্পষ্টভাবে বলেননি যে তার দৃশ্য)। তিনি কেবলমাত্র আরএমএইচ-ভিত্তিক প্যাকেজিংয়ের সাথে নয়, ডিবিয়ান-ভিত্তিক প্যাকেজিংয়ের সাথে পরিচিত ছিলেন এমন ক্ষেত্রে এটি ব্যাখ্যা করার জন্য কেবল আরপিএম == ডিপিকিজি / ইয়ম == উপযুক্ত সমান্তরাল তুলনা করছিলেন।
tne

3
^ 1 কারণ কোনও কারণে, এটি কাজ করে এবং গৃহীত উত্তর কিছুই দেয় না
ইজকাটা

2
মনে হচ্ছে কোন নেই yumসমতূল্য rpm -qlএবং repoquery -l(থেকে yum-utilsযথাক্রমে প্যাকেজ) কমান্ড লিস্টে স্থানীয় ও দূরবর্তী ফাইল,।


31

আপনি yum ব্যবহার করে কোনও প্যাকেজের বিষয়বস্তু তালিকাভুক্ত করতে পারেন বলে আমি মনে করি না, তবে আপনার স্থানীয় সিস্টেমে .rpm ফাইল থাকলে (সম্ভবত সমস্ত ইনস্টল করা প্যাকেজগুলির ক্ষেত্রে এটি হবে), আপনি তালিকাতে আরপিএম কমান্ডটি ব্যবহার করতে পারেন এই প্যাকেজটির বিষয়বস্তু যেমন:

rpm -qlp /path/to/fileToList.rpm

আপনার যদি প্যাকেজ ফাইল (.rpm) না থাকে তবে আপনার প্যাকেজটি ইনস্টল করা আছে তা চেষ্টা করে দেখুন:

rpm -ql packageName

24
আপনার যদি প্যাকেজ ফাইলটি না থাকে (.rpm) তবে আপনার প্যাকেজটি ইনস্টল করা রয়েছে, rpm -ql প্যাকেজ নামটি চেষ্টা করুন
জারেড

1
আপনার যদি প্যাকেজ না থাকে এবং এটি ইনস্টল না করা থাকে তবে আপনি প্যাকেজের ইউআরএলটি খুঁজে পেতে পারেন youdownload --urls
কামে

এটি হওয়া উচিতyumdownloader --urls
এভেজেনি সার্জিভ

3

এখানে বেশ কয়েকটি ভাল উত্তর রয়েছে, সুতরাং আমাকে একটি ভয়ঙ্কর উত্তর সরবরাহ করুন:

: you can type in anything below, doesnt have to match anything

yum whatprovides "me with a life"

: result of the above (some liberties taken with spacing):

Loaded plugins: fastestmirror
base | 3.6 kB 00:00 
extras | 3.4 kB 00:00 
updates | 3.4 kB 00:00 
(1/4): extras/7/x86_64/primary_db | 166 kB 00:00 
(2/4): base/7/x86_64/group_gz | 155 kB 00:00 
(3/4): updates/7/x86_64/primary_db | 9.1 MB 00:04 
(4/4): base/7/x86_64/primary_db | 5.3 MB 00:05 
Determining fastest mirrors
 * base: mirrors.xmission.com
 * extras: mirrors.xmission.com
 * updates: mirrors.xmission.com
base/7/x86_64/filelists_db | 6.2 MB 00:02 
extras/7/x86_64/filelists_db | 468 kB 00:00 
updates/7/x86_64/filelists_db | 5.3 MB 00:01 
No matches found

: the key result above is that "primary_db" files were downloaded

: filelists are downloaded EVEN IF you have keepcache=0 in your yum.conf

: note you can limit this to "primary_db.sqlite" if you really want

find /var/cache/yum -name '*.sqlite'

: if you download/install a new repo, run the exact same command again
: to get the databases for the new repo

: if you know sqlite you can stop reading here

: if not heres a sample command to dump the contents

echo 'SELECT packages.name, GROUP_CONCAT(files.name, ", ") AS files FROM files JOIN packages ON (files.pkgKey = packages.pkgKey) GROUP BY packages.name LIMIT 10;' | sqlite3 -line /var/cache/yum/x86_64/7/base/gen/primary_db.sqlite 

: remove "LIMIT 10" above for the whole list

: format chosen for proof-of-concept purposes, probably can be improved a lot

0

ইয়মের নিজস্ব প্যাকেজ টাইপ নেই। ইয়াম আরপিএম পরিচালনা করে এবং সহায়তা করে। সুতরাং, আপনি উপলব্ধ RPM গুলি তালিকাভুক্ত করতে yum ব্যবহার করতে পারেন এবং তারপরে প্যাকেজের বিষয়বস্তু দেখতে rpm -qlp কমান্ড চালাতে পারেন।


0

বর্তমানে reopqueryএকীভূত dnfএবং yumতাই টাইপিং:

dnf repoquery -l <pkg-name>

দূরবর্তী সংগ্রহস্থল থেকে প্যাকেজ সামগ্রী তালিকাভুক্ত করা হবে (এমনকি প্যাকেজগুলি এখনও ইনস্টল করা নেই)

অর্থাত্ পৃথক dnf-utilsবা yum-utilsপ্যাকেজ ইনস্টল করার কার্যকারিতার জন্য আর প্রয়োজন নেই কারণ এটি এখন স্থানীয়ভাবে সমর্থনযোগ্য।


ইনস্টলড বা স্থানীয় তালিকা তৈরির জন্য (*.rpm ফাইল) প্যাকেজগুলির সামগ্রীর রয়েছেrpm -ql

আমি মনে করি না এটি yumorg দিয়ে সম্ভব dnf(নয়)repoquery সাবকম্যান্ড )

আমি ভুল হলে আমাকে সংশোধন করুন

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