स्थापित RPM कहाँ जाते हैं?


27

मैं कमांड लाइन मोड में YUM पैकेज मैनेजर का उपयोग करके अपने Red Hat Enterprise Linux सर्वर 6 मशीन पर पैकेज डाउनलोड और स्थापित करता हूं ।

जब मैं स्थापित apk मेरी पर फ़ाइलें एंड्रॉयड फोन, वे करने के लिए जाने /data/appनिर्देशिका, मैं सोच रहा हूँ जहाँ RHEL6 अपने इंस्टॉल किए रहता है आरपीएम फ़ाइलें?

जवाबों:


26

यम RPM का एक कैश रखता है जिसे वह यहाँ डाउनलोड करता है:

/var/cache/yum/<you architecture>/<OS version>/

उदाहरण के लिए मेरा बॉक्स फेडोरा 14 है, x86_64 आर्किटेक्चर इसलिए मेरे पास निम्नलिखित हैं:

$ ls /var/cache/yum/x86_64/14/
adobe-linux-i386        lamolabs                                  rpmfusion-nonfree
adobe-linux-x86_64      lamolabs-noarch                           rpmfusion-nonfree-debuginfo
Dropbox                 nautilus-flickr-uploader                  rpmfusion-nonfree-rawhide-debuginfo
fedora                  qm                                        rpmfusion-nonfree-source
...
...

लेकिन आरपीएम जो स्थापित होते हैं, वे मूल रूप से ज़िप या टार फाइल की तरह होते हैं। तो इन फ़ाइलों की सामग्री सिस्टम में डंप हो जाती है और RPM इस बात का डेटाबेस रखता है कि उसने क्या पैकेज स्थापित किया है। RPM "डेटाबेस" इस निर्देशिका में स्थित है:

$ ls /var/lib/rpm
Basenames     __db.002  Dirnames     Installtid    Packages        Pubkeys         Sha1header
Conflictname  __db.003  Filedigests  Name          Providename     Requirename     Sigmd5
__db.001      __db.004  Group        Obsoletename  Provideversion  Requireversion  Triggername

आप देख सकते हैं कि इन कमांडों के साथ आरपीएम के अनुसार फ़ाइलें कहाँ स्थापित होती हैं।

क्या फ़ाइलें एक स्थापित RPM में हैं

$ rpm -ql rpm
/bin/rpm
/etc/rpm
/usr/bin/rpm2cpio
/usr/bin/rpmdb
/usr/bin/rpmquery
/usr/bin/rpmsign
/usr/bin/rpmverify
/usr/lib/rpm
/usr/lib/rpm/macros
/usr/lib/rpm/platform
/usr/lib/rpm/platform/amd64-linux
...
...

पैकेज दिए गए RPM के बारे में जानकारी

$ rpm -qi rpm
Name        : rpm                          Relocations: (not relocatable)
Version     : 4.8.1                             Vendor: Fedora Project
Release     : 7.fc14                        Build Date: Tue 04 Oct 2011 03:49:08 AM EDT
Install Date: Tue 25 Oct 2011 09:36:34 AM EDT      Build Host: x86-05.phx2.fedoraproject.org
Group       : System Environment/Base       Source RPM: rpm-4.8.1-7.fc14.src.rpm
Size        : 2035701                          License: GPLv2+
Signature   : RSA/SHA256, Tue 04 Oct 2011 12:14:48 PM EDT, Key ID 421caddb97a1071f
Packager    : Fedora Project
URL         : http://www.rpm.org/
Summary     : The RPM package management system
Description :
The RPM Package Manager (RPM) is a powerful command line driven
package management system capable of installing, uninstalling,
verifying, querying, and updating software packages. Each software
package consists of an archive of files along with information about
the package like its version, a description, etc.

हे, यह समझना मेरे लिए बहुत कठिन था! क्योंकि उदाहरण के रूप में आपने rpm;) को दिया है, इसलिए यदि आप देखना चाहते हैं, तो java-11-openjdk-src पैकेज कहने के लिए फ़ाइलें कहाँ स्थापित हैं , आप rpm का उपयोग करते हैं -ql java-11-openjdk-src;)
लाइन

1
@ लीन - इस बारे में खेद है, RPM एक कानूनी पैकेज भी है। यह भी सुरक्षित है b / c हर किसी के पास होता है, यही मुख्य कारण है कि मैंने इसे चुना है।
slm

1
मैं समझता हूं, यह सिर्फ भ्रमित करने वाला था, क्योंकि मुझे वह बात पता नहीं थी। आशा है कि उपरोक्त प्रशंसा से मदद मिलेगी यदि कोई बिना ज्ञान के इस पर ध्यान देगा;)
लाइन

12

आरपीएम फाइलें खुद डाउनलोड होती हैं और फिर इंस्टॉल हो जाती हैं। इन फ़ाइलों को स्थापित करने के बाद, उन्हें rpm डेटाबेस द्वारा ट्रैक किया जाता है। यह देखने के लिए कि किसी विशेष आरपीएम के लिए फ़ाइलें कहाँ स्थापित की गई थीं, आप चला सकते हैं rpm -ql

उदाहरण के लिए

[z@localhost ~]# rpm -ql bash |head
/bin/bash
/bin/sh
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
/usr/bin/bashbug-64
/usr/share/doc/bash-4.1.2/COPYING
/usr/share/info/bash.info.gz
/usr/share/locale/af/LC_MESSAGES/bash.mo
/usr/share/locale/bg/LC_MESSAGES/bash.mo

बैश आरपीएम द्वारा स्थापित पहली दस फाइलों को दिखाता है। कहा जा रहा है कि rpms में प्री और पोस्ट स्क्रिप्ट भी होती हैं और कुछ खराब तरीके से बनाए गए पैकेज उन फाइलों को छोड़ सकते हैं जिन्हें आरपीएम डेटाबेस में ट्रैक नहीं किया जाएगा।

यदि आप जो पूछ रहे थे वह नहीं था, yumतो इंस्टॉल के लिए डाउनलोड करते समय rpms को कैश कर सकते हैं। चारों ओर देखने की कोशिश करें /var/cache/yum/- लेकिन यह केवल तभी लागू होता है जब आपने keepcache=1अपने में सेट किया हो /etc/yum.conf


कीप + 1 विन्यास के बारे में उल्लेख करने के लिए +1 से zje। अगर रखने की जगह = 0 है, तो पैकेज वॉन / कैश / यम /
बिनीता भारती
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.