Na przykład szukam mod_files.sh
pliku, który prawdopodobnie byłby dostarczany z php-devel
pakietem. Domyślam się, yum
że zainstaluje mod_files.sh
plik z php-devel x86_64 5.1.6-23.2.el5_3
pakietem, ale wydaje się, że plik nie został zainstalowany w moim systemie plików.
Jak sprawdzić, który pakiet instaluje określony plik? Szukam, gdzie niekoniecznie już pobrałem pakiet lokalnie, który może zawierać szukany plik.
Używam CentOS 5.
rpm
, musisz użyćyum
.Odpowiedzi:
To stare pytanie, ale obecne odpowiedzi są niepoprawne :)
Użyj yum whatprovides , z bezwzględną ścieżką do żądanego pliku (który może być wieloznaczny). Na przykład:
Zwroty
Możesz preferować wydajność i szybkość
repoquery
narzędzia, dostępnego wyum-utils
pakiecie.repoquery
może wykonywać inne zapytania, takie jak wyświetlanie zawartości pakietu, zależności, zależności odwrotne itp.źródło
Aby poznać pakiet będący właścicielem (lub udostępniający) już zainstalowany plik:
źródło
rpm -qf <filename>
najlepiej nadaje się do ustalenia, który pakiet zapewnia zainstalowaną aplikację (ponieważ może się różnić od tego, co znajduje się w bieżącej pamięci podręcznej repozytorium yum) iyum whatprovides <filename>
najlepiej nadaje się do ustalenia, który pakiet zapewnia instalację podanie. Każdy ma swój własny cel.yum whatprovides ...
wymaga tylko roota, jeśli aplikacja jest pakietem root (tzn. Znajduje się w nim/sbin
). Jednakrpm -qf ...
wymaga również roota, aby odczytać rpms z/sbin
. Dlatego proponuję, aby wymagania root były funkcjonalnie równoważne dla obu metod.Najpopularniejsza odpowiedź jest niepełna:
Ponieważ to wyszukiwanie będzie na ogół wykonywane tylko dla plików z zainstalowanych pakietów, yum whatprovides jest błyskawicznie szybkie przez wyłączenie wszystkich zewnętrznych repozytoriów (nie można wyłączyć domyślnego repozytorium „zainstalowanego”).
źródło
--disablerepo=*
Idziesz do http://www.rpmfind.net i wyszukaj plik.
Otrzymasz wyniki dla wielu różnych dystrybucji i wersji, ale całkiem prawdopodobne, że Fedora i / lub CentOS również się pojawią i będziesz znać nazwę pakietu do zainstalowania z yum
źródło
Znalezienie pakietu po podłączeniu do Internetu (repozytorium) jest łatwe, jednak gdy masz dostęp tylko do pakietów RPM na dysku DVD Redhat lub Centos (zdarza mi się to często, gdy muszę odzyskać serwer i potrzebuję aplikacji). Polecam za pomocą poniższych poleceń, które są całkowicie niezależne od Internetu i repozytoriów. (przypuszczalnie masz wiele odinstalowanych pakietów na DVD). Załóżmy, że masz zamontowany folder Package w ~ / cent_os_dvd i szukasz pakietu zapewniającego „semanage”, a następnie możesz uruchomić:
źródło
Używając tylko narzędzia rpm, powinno to działać w każdym systemie operacyjnym, który ma rpm:
Nr ref. https://www.thegeekdiary.com/how-to-find-which-rpm-package-provides-a-specific-file-or-library-in-rhel-centos/
źródło
Możesz to zrobić podobnie tutaj, ale z pakietem. W moim przypadku tak było
lsb_release
Biegać:
yum whatprovides lsb_release
Odpowiedź:
Uruchom, aby zainstalować:
yum install redhat-lsb-core
Nazwa pakietu POWINNA być bez numeru i typu systemu, aby yum packager mógł wybrać to, co jest dla niego najlepsze.
źródło