පැකේජයක් ස්ථාපනය කර ඇත්තේ කුමන yum ගබඩාවෙන්දැයි දැන ගන්නේ කෙසේද?


161

මම yum විසින් පැකේජයක් ස්ථාපනය කළ පසු (බහු ගබඩාවන් වින්‍යාස කර ඇත), එය ස්ථාපනය කර ඇත්තේ කුමන ගබඩාවෙන්දැයි සොයා ගන්නේ කෙසේද?

මම ධාවනය කරන්නේ නම් yum info package-name(හෝ yum list package-name), මට පෙනෙන්නේ පැකේජය "ස්ථාපනය කර ඇති" බව පමණි.


1
නියම ප්‍රශ්නය! මම yum-utils ස්ථාපනය කර එය repoquery නමින් හැඳින්වෙන එකක් උත්සාහ කළෙමි, නමුත් වාසනාවක් නැත.
ෂෝන් ස්ටාට්ස්


1
ඔබේ සබැඳිය ප්‍රයෝජනවත් නොවන්නේ ඔබේ සබැඳිය "ගබඩාව යනු කුමක්ද?" විවිධ ප්‍රශ්න.
ට්‍රෙවර් බොයිඩ් ස්මිත්


ReTrevorBoydSmith - මීට වසර 7 කට පෙර එය ආසන්න විය. අද එය තවමත් සමාන ය. එය බවයි කවදාවත් එම . එය සම්බන්ධ වූ පමණින්.
වොරන්

Answers:


84

Yum-utils ස්ථාපනය කර ඇති විට, repoquery මඟින් ඔබ සොයන තොරතුරු ලබා දෙනු ඇත (මෙහි 'epel' යනු ගබඩාවයි).

└─[$]> repoquery -i cherokee

Name        : cherokee
Version     : 0.99.49
Release     : 1.el5
Architecture: i386
Size        : 8495964
Packager    : Fedora Project
Group       : Applications/Internet
URL         : http://www.cherokee-project.com/
Repository  : epel
Summary     : Flexible and Fast Webserver
Description :
Cherokee is a very fast, flexible and easy to configure Web Server. It supports
the widespread technologies nowadays: FastCGI, SCGI, PHP, CGI, TLS and SSL
encrypted connections, Virtual hosts, Authentication, on the fly encoding,
Apache compatible log files, and much more.

3
repoquery නිවැරදිව ක්‍රියා කරන බවක් නොපෙනේ, එවිට මට විවිධ පැකේජ සංස්කරණ ලැබෙනු ඇත yum info package_name, එය yum ලෙස එකම අනුපිළිවෙලින් නිධිය විමසන බවක් නොපෙනේ .
මයික් මිලර්

මෙහි සර්වර් කිහිපයකම සමාන වේ. yum info package_nameපෙනෙන ආකාරයට නැවත සැකසීමට වඩා වැඩි ප්‍රති results ල ලබා දෙයි. මේ නිසා තොග හුවමාරුව ඡන්ද අගුලු දැමිය යුතු නැත.
reflexiv

10
සියොන් චියාමොව්ගේ පිළිතුර නිවැරදි නොවන බව මට පෙනී ගියේය. repoquery -i $pkgලබා $pkgගත හැකි repo එකක් මිස $pkgස්ථාපනය කළ repo නොවේ . මම එම විධානය කළ අතර rpm -qi $pkgවිවිධ අනුවාද අංක ලබා ගත්තා. rpmඑහි ප්‍රති version ලය වූයේ පෙර අනුවාද අංකයට වඩා repoquery.

ඔබගේ දේශීය පිටපත යල් පැන ගිය එකක් විය හැකිය, නැතහොත් එය yum (උදා --use-mirror) වෙත අතිරේක විධානයන් සමඟ ස්ථාපනය කර ඇත . සෑම විටම නිවැරදි පිළිතුර ලබා ගත හැකි යැයි මම නොසිතමි .
මොනිකා සෙලියෝ සඳහා එස්ඊ වර්ජනය කිරීම

user158844 හරි. ලබා දී ඇති පැකේජයක් සපයන්නේ කුමන ගබඩාවලින්ද යන්න මෙය ඔබට කියනු ඇත, නමුත් නිශ්චිත පැකේජයක් පැමිණියේ කුමන රෙපෝවෙන් නොවේ. ඔබ යම් ණයකට සිට ඇසුරුම ස්ථාපනය නම්, ප්රති මිලදී, පසුව එම නම සමඟ පැකේජයක් ලබා දෙන තවත් ණයකට ස්ථාපනය, මේ වගේ 'repoquery -i' ඔබ නැවත ශ්රී ධාවනය අළුතෙන් ස්ථාපනය ණයකට, ලැයිස්තුගත ඇසුරුම් බව ඉවත් නොවන බව එක් ඔබ ඇත්ත වශයෙන්ම ඇසුරුම ස්ථාපනය කර ඇත. ස්ථාපිත මෘදුකාංගය ඇත්ත වශයෙන්ම පැමිණියේ කුමන පැකේජයෙන්දැයි විමසීමට අසන්නාට අවශ්‍යය. එකම නමක් සහිත පැකේජ තිබීම සඳහා වර්තමාන ගබඩාවල සිදුවන්නේ කුමක්ද යන්න නොවේ.
ටොඩ් වෝල්ටන්

47

Yum හි කුමන අනුවාදයද?

වත්මන් අනුවාදයේ ස්ථාපිත පැකේජය නවතම ලබා ගත හැකි අනුවාදයට සමාන නම් එය ස්ථාපනය කළ repo එක පෙන්වනු ලැබේ.

$ yum info irssi
Installed Packages
Name       : irssi
Arch       : i586
Version    : 0.8.14
Release    : 1.fc11
Size       : 2.3 M
Repo       : installed
From repo  : updates
Summary    : Modular text mode IRC client with Perl scripting
URL        : http://irssi.org/
License    : GPLv2+
Description: Irssi is a modular IRC client with Perl scripting. Only text-mode
           : frontend is currently supported. The GTK/GNOME frontend is no
           : longer being maintained.

$ yum --version
3.2.23

අළුත් පැකේජයක් තිබේ නම්, එය වෙනමම පෙන්වනු ඇත, නව අනුවාදය සමඟ එය ලබා ගත හැකි repo පෙන්වයි.


මම CentOs 5.3 හි yum 3.2.19 භාවිතා කරන අතර "From repo" පේළිය නොපවතී.
lg.

ඔව් ... මම එය 3.2.21 දින පරීක්ෂා කරමින් සිටියෙමි, එහි එම තොරතුරු කොතැනකවත් නොමැත. 3.2.23 ඇති මගේ කොටුව මත මම එය කළ විට, එය ක්‍රියාත්මක විය.
ඇලෙක්ස්

දැන් මෙය හොඳම විසඳුම වන නමුත් RHEL / Centos 5.3 සඳහා අදාළ නොවේ. මම මෙම විසඳුම පිළිගනිමි, නමුත් RHEL / Centos 5.3 සඳහාද අදාළ වන්නේ නම් වෙනත් පිළිතුරක් තෝරා ගැනීමට මම සූදානම්.
lg.

2
මෙය CentOS 5.5 හි ද නොයෙදේ.
මයික් මිලර්

සෙන්ටෝස් 5.8 හි පවා "සිට නියෝජිතයා" ලබා ගත නොහැක
sepehr

22

ප්‍රමාද වීමට එන නමුත් (අවම වශයෙන් ෆෙඩෝරා 15 හි) කෙනෙකුට සමාන විමසුම් සඳහා yumdb භාවිතා කළ හැකිය:

yumdb info 'python*'

ලබා දී ඇති repo (ය) වලින් පැකේජ ලැයිස්තුගත කිරීමට මට ඇත්ත වශයෙන්ම අවශ්‍ය වූයේ:

yumdb search from_repo 'my-*-repo'

එය ෆෙඩෝරා 14
lg

1
RHEL 6.2
pixelbeat

11

අනෙක් සියල්ල අසමත් වුවහොත්, ඔබට yumdb අතින් පරීක්ෂා කළ හැකිය. එය පිහිටා ඇති /var/lib/yum/yumdbඅතර ස්ථාපනය කර ඇති සෑම පැකේජයකම සවිස්තරාත්මක තොරතුරු අඩංගු වේ. ඔබ විශේෂයෙන් උනන්දු වනු ඇත from_repo. උදාහරණයක් ලෙස, bind-utilsපැකේජය සඳහා:

# for i in /var/lib/yum/yumdb/b/*bind-utils*/*; do echo $i: `cat $i`; done
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/checksum_data: 39f7840f93d3d76825a9e8da79cfe0366f7fad68f018a273477aee62cccfa3f4
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/checksum_type: sha256
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/command_line: install bind-utils
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo: updates
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo_revision: 1397654451
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo_timestamp: 1397654759
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/installed_by: 0
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/reason: user
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/releasever: 6

ඔබට අවශ්‍ය තොරතුරු ලබා ගැනීම සඳහා:

# cat /var/lib/yum/yumdb/b/*bind-utils*/from_repo
updates

පසුකාලීන අනුවාදයන් ඊටත් වඩා දත්ත ලබා දෙනු ඇත; උදාහරණයක් ලෙස EL 7 හි පැකේජය බාගත කළ දර්පණය සහ URL මෙහි ගබඩා කර ඇත.


+1. නමුත් මෙවැනි දෙයක් කිරීම ඊටත් වඩා හොඳය : for i in /var/lib/yum/yumdb/b/*bind-utils*/*; do echo $i: `cat $i` | grep -oP 'from_repo:\ \K.*'; done, ඉහත උදාහරණයෙන් ලැබෙන ප්‍රතිලාභ: updates- වඩා කියවිය හැකි!
ග්‍රෙග් ඩුබිකි

1
@GregDubicki විධානයේ කාරණය වූයේ සිදුවෙමින් පවතින දේ සහ දේවල් ගබඩා කර ඇති ආකාරය පිළිබඳ වැඩි සන්දර්භයක් පෙන්වීමයි. පෙනෙන ආකාරයට එය කිරීමට අපොහොසත් වී ඇත: මෙහි කිසිවක් අවශ්‍ය නොවන grepඅතර ඔබට ලූපය පවා අතහැර දැමිය හැකිය. cat /var/lib/yum/yumdb/b/*bind-utils*/from_repoඔබට අවශ්‍ය වන්නේ ඉතා සරල දෙයකි.
මයිකල් හැම්ප්ටන්

මට අවශ්‍ය වූයේ මෙයයි. ස්ථාපිත පැකේජයක් රෙපෝ එකකින් හෝ දේශීය පැකේජ ගොනුවකින් ස්ථාපනය කර ඇත්දැයි දැන ගැනීමට මට අවශ්‍ය වූ අතර, මෙම තොරතුරු මට කියයි. ස්තූතියි!
වෝර්වික්

නියම පිළිතුර! දී ඇති සේවාදායකයක් තුළ භාවිතා කර ඇති සියලුම ගබඩාවල අද්විතීය ලැයිස්තුවක් ස්ථාපිත කිරීමට මම මෙය භාවිතා කළෙමි: # in සඳහා ගොනුව සඳහා (find / var / lib / yum / yumdb -name "from_repo" -print); do (cat "$ {file}"; echo); අවසන් | sort -u
ස්ටීව්

6
rpm -qi packagename

වෙළෙන්දා සහ ඇසුරුම්කරු ඔබට කියයි


5

Repo epel වෙතින් ස්ථාපනය කර ඇති දේ බැලීමට: (Centos 5.5 යටතේ වැඩ කළ යුතුද) සටහන, ඔබට epel නම් වූ repo නොමැති නම්, එය ස්ථාපනය කර ඇති සෑම දෙයක්ම කෙළ ගසනු ඇත.

repoquery --repoid = epel -a | xargs yum ලැයිස්තුව ස්ථාපනය කර ඇත


1
යාවත්කාලීන කළ පැකේජයක් ගබඩාවේ නොමැති තාක් කල් මෙය ක්‍රියාත්මක වන බව පෙනේ. එබැවින් ඔබ එය භාවිතා කිරීමට පෙර yum යාවත්කාලීන කිරීම ක්‍රියාත්මක කළ යුතුය.
codewaggle

4

පැකේජය මෑතකදී ස්ථාපනය කර ඇත්නම්, ඔබට / var / cache / yum දෙස බැලිය හැකිය.

එම නාමාවලිය තුළ, එක් එක් repo සඳහා නාමාවලියක් ඇති අතර, එහි ඇසුරුම් නාමාවලියක් ඇත. එබැවින්, ඔබ මෙවැනි දෙයක් කරනු ඇත:

find /var/cache/yum -name [package-name]*

කෙසේ වෙතත්, ඔබගේ /etc/yum.conf ගොනුවේ හැඹිලිය සක්‍රීය කළ යුතුය:

cachedir=/var/cache/yum
keepcache=1

A yum clean [packages|all]විසින් හැඹිලි නාමාවලිය ඉවත් කරනු ඇති බව සලකන්න .

හැඹිලි නාමාවලිය හිස් නම් විකල්ප ක්‍රමයක් තිබේ. කියවන තොරතුරු yum info [package]ලැබෙන්නේ /var/cache/yum/ Leisurerepo] / primary.xml.gz

ඇතුලත් කිරීමෙන් ඔබට ගොනුව හරහා බැලිය හැකිය:

gunzip -d -c /var/cache/yum/[repo]/primary.xml.gz | grep '<name>[package]'

කෙසේ වෙතත්, yum info [package]'Theotherreceive' මඟින් දැක්වෙන පරිදි "සිට repo:" දක්වා නොපෙන්වන යන්ත්‍රවල, එය ප්‍රාථමික.xml ගොනුවේ නොමැති නිසා එම තොරතුරු ලබා ගැනීමට ක්‍රමයක් නොමැත. එබැවින්, පැකේජය Primary.xml ගොනු දෙකක හෝ වැඩි ගණනක තිබේ නම්, ඔබ ඔබේ පද්ධතියේ repo ප්‍රමුඛතාවය තීරණය කළ යුතුය.


මෙම විසඳුම විකල්පයක් විය හැකිය (මම එය ඡන්දය දෙමි), නමුත් මම නිශ්චිත පිළිතුරක් සොයමි.
lg.

4

ස්වෝගන්
ඔන් රෙඩ්හැට් සහ සෙන්ටෝස් මත පදනම්ව සහ පිළිතුරු සැපයීමෙන් කෙනෙකුට කළ හැකිය

sudo grep -ir PACKAGE_NAME /var/cache/yum/

ප්‍රති results ල සමාන විය යුතුය

Binary file /var/cache/yum/REPOSITORY_NAME/primary.xml.gz.sqlite matches

කොහෙද repository_name ඔබේ ඇසුරුම් සොයා ගත හැකි අතර, එය බොහෝ විට ලැයිස්තුවක් ප්රථම එකක් සවි කරන ලදී නිධිය වේ (yum repolist බලන්න)


2

අමතර මෙවලම් ස්ථාපනය නොකර, බාහිර තොරතුරු ග්‍රහණය කර ගැනීම හෝ ප්‍රතිදානය කිරීමකින් තොරව සරලම හා සරලම ප්‍රවේශය සරලවම:

yum list installed [package name]

තෙවන තීරුව මඟින් පැකේජය ස්ථාපනය කර ඇති ගබඩාවේ හැඳුනුම්පත ලබා දෙනු ඇත.

ග්‍රෙප් භාවිතා කරමින් මුල් ප්‍රශ්නය පිළිබඳ අදහස් දැක්වීමේදී මෙය සඳහන් කර ඇති නමුත් එය අවශ්‍ය නොවේ. ඔබට පැකේජයේ නම කෙලින්ම yumපෙරීමට යැවිය හැකිය .


1
අවවාදය! ඔයා තමයි තිර රචනය මේ කරන්න හදන්නෙ (හෝ නම් |එය lessහෝ grep), රේඛා එය පෙරනිමි තිරය පළල උපකල්පනය නිසා නියමාකාර ඔතා වනු ඇත. ඔබ එක් පේළියකට එක් පැකේජය (හරහා හැඩතල "අපේක්ෂා" ලබා ගැනීමට මැජික් ටිකක් කරන්න ඕනේ ඇලන් Kistler හරහා Bugzilla -)yum list installed | tr "\n" "#" | sed -e 's/# / /g' | tr "#" "\n"
bto

1

එම තොරතුරු කොතැනක හෝ අල්ලාගෙන තිබේද? පැකේජයට එම තොරතුරු නොමැති අතර පැකේජය සොයාගත් පසු yum එය ගණන් ගන්නේ නැත. පැකේජයේ ඇති ගබඩාව කුමක්දැයි හදුනා ගැනීමෙන් ඔබට එය එකට එකතු කර ප්‍රමුඛතාවය ඇත්තේ කාටද යන්න තීරණය කළ හැකිය.


මෙම විසඳුම විකල්පයක් විය හැකිය (මම එය ඡන්දය දෙමි), නමුත් මෑතකදී ස්ථාපනය කරන ලද පැකේජයක් සඳහා පමණි, මන්ද මට ගබඩාව සහ ඒවායේ ප්‍රමුඛතාවය වෙනස් කළ හැකිය.
lg.

1

හොඳ විසඳුමක් නොවේ, නමුත් ලබා ගත හැකි yum ලැයිස්තුව මඟින් එක් එක් පැකේජයේ වඩාත්ම යාවත්කාලීන අනුවාදය ලබා ගත හැකි ස්ථානය පෙන්වනු ඇති බව මම සොයා ගතිමි, උදා:

yum ලැයිස්තුව ලබා ගත හැකිය | grep gstreamer

PackageKit-gstreamer-plugin.x86_64 0.3.16-1.fc10          updates               

bluez-gstreamer.i386 4.30-2.fc10 යාවත්කාලීන කිරීම්
gstreamer.i386 0.10.21-2.fc10 ෆෙඩෝරා
gstreamer-devel.i386 0.10.21-2.fc10 ෆෙඩෝරා
gstreamer-devel.x86_64 0.10.21-2.fc10 ෆෙඩෝරා
gstreamer- plugins-bad-devel.i386 0.10.9-1.fc10 rpmfusion-free
gstreamer-plugins-bad-devel.x86_64 0.10.9-1.fc10 rpmfusion-free

එබැවින් ඔබට ඔබේ පැකේජයේ ලබා ගත හැකි yum ලැයිස්තුවක් කළ හැකිය, පසුව ස්ථාපනය කර ඇති yum ලැයිස්තුව භාවිතා කර ඔබේ ස්ථාපිත අනුවාදය සංසන්දනය කරන්න, සහ අනුවාදයන් ගැලපෙන්නේ නම් එය කුමන රෙපෝවෙන් පැමිණියේද යන්න පිළිබඳ හොඳ අදහසක් ඇත.


මෙය සත්‍ය වන්නේ පැකේජය තවම ස්ථාපනය කර නොමැති විට පමණි.
lg.

එය OPs ප්‍රශ්නයට හරියටම පිළිතුරු නොදෙන අතර, එය මට ඉතා ප්‍රයෝජනවත් වූයේ එය සෙන්ටෝස් 5.5 හි යම් සහ වෙනත් උපයෝගීතා සමඟ ක්‍රියා කරන නිසා වන අතර ඔබට මෙය කළ හැකිය: 1. පැකේජය අස්ථාපනය කර නැවත ගබඩාව නැවත ස්ථාපනය කරන්නේ කොහේදැයි විමසන්න. , හෝ 2. පැකේජය ස්ථාපනය නොකර වෙනත් යන්ත්‍රයකින් විමසන්න.
lreeder

1

ඔබට "yum info" වෙත වාචික ධජය එක් කළ හැකිය:

yum info -v <package_name>

ස්ථාපන ගබඩාව "සිට repo" ප්‍රතිදානය යටතේ වනු ඇත.


Yum-utils ස්ථාපනය කිරීම අවශ්‍ය නොවන එකම විසඳුම මෙය බව පෙනේ.
මාර්ක් එඩින්ටන්

මෙය ලැයිස්තුගත කර ඇත්තේ මා සඳහා "ස්ථාපනය කර ඇති" පමණි.
frogstarr78

1

එබැවින් මෙය තරමක් පැරණි ප්‍රශ්නයක් බව මම දනිමි - නමුත් එය ගූගල් සෙවුමෙන් මා සොයන දේ සඳහා පැමිණේ.

භාවිතා කරන ලද ගබඩාවල අද්විතීය ලැයිස්තුවක් ලබා ගැනීමේ ක්‍රමයක් ද ඇත:

# repoquery -ai | grep 'Repository  : ' | sort | uniq

ඇසුරුම් ස්ථාපනය කර ඇති ගබඩාවන් මෙයින් ලැයිස්තු ගත කෙරේ.



-1

පහසුම ක්‍රමය මෙයයි:

rpm -qa --qf '%{NAME} %{VENDOR}\n'

තවත් ඉඟි සහ උපක්‍රම මෙහි ඇත: http://wiki.centos.org/TipsAndTricks/YumAndRPM


2
මේ ආකාරයෙන් (grep -i පැකේජයේ නමක් එක් කිරීම) මම වෙළෙන්දා සොයාගත්තෙමි, නමුත් ගබඩාව නොවේ.
lg.

1
වෙළෙන්දාට (පාහේ) නිධිය සමඟ කිසිදු සම්බන්ධයක් නැත.
මැටෙයෝ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.