Ponadto YellowDog Updater Modified (Yum) jest RPM What APT Pakiet Management Tool dla narzędzia DPKG w systemie opakowań Debian: Rozwiązuje problemy zależności pakietów RPM. W tym przewodniku krótko wprowadzimy mniam. Podczas gdy będziemy mieli dogłębne wprowadzenie i tło do systemu pakowania RPM dla rozkładów Red Hat Linux.
Tło
We wcześniejszych dniach Linux oprogramowanie/programy zostały uwzględnione w systemie poprzez kompilację kodu źródłowego na przebiegu binarne. Czasami zostały skompilowane w postaci pakietu znanego jako Tarballs zawierający wiele plików. Po instalacji oprogramowania z Tarball, wszystkie pliki wykonywalne, dokumenty, pliki konfiguracyjne i biblioteki rozprzestrzeniłyby się w systemie na odpowiednie katalogi.
Jednak ten sposób włączenia aplikacji ma swoje ograniczenia:
Od tego czasu Linux dystrybucje obejmowały długą drogę, dostarczając oprogramowanie do złożonych wstępnie budowanych programów zwanych pakietami. Stąd wszystkie dystrybucje Linux były zgodne z dwoma głównymi formatami opakowań, RPM i Deb. W tym artykule skupiamy się na systemie pakowania RPM.
Rozpoczęcie pracy
Systemy zarządzania pakietami RPM, Yum i Deb (dla dystrybucji Debian Linux) mają wiele podobieństw. Wszystkie mogą aktualizować, instalować, usuwać i aktualizować pakiety za pomocą obiektu wiersza poleceń.
W momencie instalacji Linux zainstalowano również dużą sekcję pakietów, która jest istotna dla zamierzonego użycia systemu. Jednak w pewnym momencie użytkownik musi dodać nowe pakiety, aby uzyskać dodatkowe funkcjonalność, zaktualizować bieżące pakiety lub usunąć pakiety, które nie są wymagane w systemach opartych na czerwonym kapeluszu.
Dowiedz się, w jaki sposób menedżerowie opakowań dla rozkładów Red Hat Linux wykonują powyższe zadania, w tym wyzwania związane z znalezieniem szczegółów pakietu lub poleceń zawierających pakiety.
RPM
Menedżer pakietów RPM oferuje główne polecenie o nazwie RPM, które zapewnia kilka opcji, aby umożliwić użytkownikowi znalezienie wszystkich informacji związanych z pakietem. Opcje RPM Oferty są pogrupowane w trzy główne kategorie:
W tym artykule omówimy dwie pierwsze opcje poleceń RPM. Mimo że może wykonywać podstawowe zadania związane z zarządzaniem pakietami, będąc pierwszym narzędziem, które zajmuje się opakowaniem RPM, RPM ma pewne główne ograniczenia:
Instalacja pakietu z RPM nie powiada się, jeśli zależność pakietu nie jest dostępna. Wymaga to ponadto użytkownika wyszukiwania tego pakietu zawiera komponent, który sam ma pewne zależności. Poza tym polecenia RPM wymagają od użytkownika wskazania lokalizacji pliku RPM.
Mniam
Wygodnym rozwiązaniem powyższych problemów jest mniam, który automatyzuje aktualizację pakietu i zarządzanie systemem RPM. Zapewnia również zarządzanie zależnością poprzez rozważanie pakietów RPM, nie jako indywidualne oprogramowanie, ale jako część systemu repozytorium.
Opakowanie RPM
Pakiet RPM to kombinacja plików konfiguracyjnych, poleceń, dokumentów w celu zapewnienia funkcji oprogramowania. Zawiera również metadane zawierające zawartość pakietu, skąd pochodziła lub zainstalowana, wersja i szczegóły zależności z innymi informacjami.
Przed przejściem do plików pakietów RPM sama nazwa pakietu udostępnia wiele szczegółów na temat oprogramowania. Aby znaleźć szczegóły pakietu już zainstalowanego w systemie, użyj RPM polecenie z -Qi Opcja informacji o zapytaniu:
[fedora@fedora] $ sudo rpm -qi nmap | mniejWyjście powyższego polecenia zawiera szczegóły, z których program został pobrany, bezpośrednio z repozytorium Yum lub dowolnego medium instalacyjnego. Podobnie udostępnia również szczegóły w linii, kiedy program został zainstalowany, kto go zbudował, i kiedy został zainstalowany.
Oprogramowanie do Linux Distributions pochodzi z projektów open source znanych jako dostawcy oprogramowania Upstream. Udostępniają oprogramowanie z warunkami licencyjnymi. Dystrybucje budują kod źródłowy w binarie i konsolidują je z innymi odpowiednimi komponentami w pakiecie.
Skonsolidowany pakiet RPM jest podpisany w celu weryfikacji jego integralności i dodawany do repozytorium w korespondencji do dystrybucji i architektury. Wszystkie pakiety RPM pochodzą z repozytoria.
Lokalizacja pakietu
Lokalizacja plików repozytorium jest dostępna w systemie użytkownika w środku /etc/mniam.repozytorium.D/ katalog, jest to domyślna lokalizacja do przechowywania informacji o repozytorium. Jednak użytkownicy mogą również znaleźć lub określić te lokalizacje w pliku konfiguracyjnym głównego YUM /etc/mniam.conf.
[fedora@fedora] $ cat /etc /yum.Repo.D/Fedora.Repo | mniejPlik repozytorium zawiera wiele kopii pakietów dystrybucyjnych dostępnych z różnych lokalizacji, znanych również jako lusterka. Stąd informuje Yum o najbliższej lokalizacji lustra do najszybszego pobierania. Plik repozytorium ma trzy sekcje, zawierające informacje o normalnych, debugowania, a na koniec pakiety źródłowe.
Podobnie jak Debian Packaging, RPM i Yum otrzymują szczegółowe informacje na temat zainstalowanych pakietów z lokalnej bazy danych. Menedżerowie pakietów odzyskują metadane (z /var/cache/mniam katalog) o pakietach wewnątrz lokalnej bazy danych z włączonych repozytoriów.
Pobierz RPM z repozytorium Yum
Aby zbadać zawartość RPMS lub zainstalować je w środowisku niezwiązanym z sieci, użytkownik może wymagać pobrania pakietu. Może to być możliwe za pomocą polecenia YumDownloader. Użyj polecenia YumDownloader z nazwą pakietu, aby pobrać go w bieżącym katalogu. Na przykład pobierz VIM Text-Editor w następujący sposób:
[fedora@fedora] $ yumdownloader vimLub użyj opcji -Solve, aby pobrać wymagane zależności dla pakietu.
[fedora@fedora] $ yumdownloader -Resolve vimInstalacja RPM
Nawet jeśli RPM Polecenie może wykonywać podstawową instalację i aktualizacje, użytkownicy używają jej tylko wtedy, gdy pliki programowe są już w bieżącym katalogu i są gotowe do zainstalowania. Ponieważ VIM jest już dostępny w bieżącym katalogu, zainstaluj go za pośrednictwem RPM polecenie z -I Opcja z całą nazwą pakietu, w następujący sposób:
[fedora@fedora] $ yumdownloader-Resolve nmap-7.80-11.FC34.x86_64.RPMUżyj -U opcja aktualizacji pakietu za pomocą -Hv Opcja wydrukowania znaków skrótu i szczegółowych wyjściowych wyjściowych. Zauważ, że opcja -u instaluje pakiet ZSH, nawet gdy jest już zainstalowany.
[fedora@fedora] $ sudo rpm -uhv nmap -7.80-11.FC34.x86_64.RPMRPM Polecenie oferuje inny rodzaj instalacji z -F (odświeżone) Opcje, które instalują pakiet tylko wtedy, gdy istnieje wcześniejsza wersja tego pakietu. Jest to pomocne w scenariuszu, gdy użytkownik chce zaktualizować wszystkie zainstalowane RPM w bieżącym katalogu.
[fedora@fedora] $ rpm -fhv *.RPMUżytkownicy mogą dodać więcej opcji do dowolnej opcji instalacji, takich jak -Wymieńpkgs Opcja umożliwia ponowne zainstalowanie pakietu, jeśli jego element zostanie usunięty. podobnie, -Oldpackage Opcja umożliwia instalację starszej wersji pakietu.
[fedora@fedora] $ sudo rpm -uhv --replacepkgs emacs-common-24.4-3.FC21.x86_64.RPMUsunięcie RPM
Aby usunąć pakiety RPM, użyj -mi opcja polecenia RPM z nazwą podstawową opakowania. Wyjście do następującego polecenia wyświetla się, że w przeciwieństwie do usuwania pakietów w systemie opakowań Debian, nie pokazuje żadnych zależności usuniętych w trakcie procesu.
[fedora@fedora] $ sudo rpm -e nmapZauważ, że w przeciwieństwie do instalacji pakietów nie jest monitu przed usunięciem pakietu. Ale jeśli pakiet jest zależnością od innego programu, użytkownik otrzymuje komunikat o błędzie, ponieważ polecenie RPM nie usuwa go.
Zapytanie informacji o RPM
W tej sekcji omówimy różne sposoby zapytania o informacje za pośrednictwem RPM Komenda. W sekcji pakowania RPM uczymy się wyświetlać informacje o już zainstalowanym pakiecie przez -Qi Informacja. Podobnie polecenie RPM umożliwia również wyświetlanie plików, plików konfiguracyjnych i innej dokumentacji z pomocą -QL, -QC, I -Qd Opcje, w następujący sposób:
[fedora@fedora] $ rpm -ql nmapPakiety RPM zawierają mnóstwo informacji, które można odzyskać za pomocą różnych flag. Na przykład użytkownik może użyć opcji -require, aby znaleźć programy lub pliki wstępne do zainstalowania programu EMAC -common.
[fedora@fedora] $ rpm -q -requires Emacs -commonKolejna ważna cecha, że RPM Oferty to -queryformat Opcja, która umożliwia nam zapytanie, takie jak tagi i wyjście w dowolnym formacie, który użytkownik preferuje. Uruchom następujące polecenie, aby wyświetlić wszystkie dostępne tagi:
[Fedora@fedora] $ rpm -QueryTags | mniejNa przykład, aby wyświetlić nazwę, rozmiar i numer wydania znacznika Binutils, Użyj następującego polecenia:
[fedora@fedora] $ rpm -q binutils --Queryformat „Pakiet to %nazwa, \, a jego rozmiar to %rozmiar \ n”.Pakiet to binutils, jego rozmiar to 31814958, a wydanie to 41.FC34
Wreszcie, dodaj -P Flag do opcji zapytania, aby pomóc w zbadaniu RPM udostępnionych przez kogoś przed instalacją.
[fedora@fedora] $ yumdownloader emac-commonTen pakiet zawiera wszystkie wspólne pliki potrzebne przez EMACS, EMACS-Lucid lub Emacs-Nox.
Weryfikacja RPM
Baza danych RPM zawiera odciski palców dla każdego pliku pakietu, który umożliwia użytkownikowi weryfikację jego integralności. Polecenie RPM oferuje -V funkcja, aby sprawdzić wszelkie zmiany wprowadzone na zainstalowane komponenty pakietów. Należy jednak pamiętać, że zmiany mają miejsce w pliku konfiguracyjnym po instalacji, ale zmiany w binariach stanowią problem.
Zainstaluj pakiet EMAC-common i wprowadzaj zmiany w jego plikach. Pamiętaj jednak, aby usunąć i ponownie zainstalować opakowanie po eksperymencie.
[fedora@fedora] $ rpm -i zsh -5.8-5.FC34.x86_64.RPMPowyższe wyjście wyświetla zmiany wprowadzone w pliku / etc /, podczas gdy plik / etc / jest usuwany. Litery lub liczby w powyższym wyjściu reprezentują wszelkie zmiany wprowadzone w plikach pakietu. Te litery zastępują kropki po manipulacji plikiem, niektóre wskaźniki są następujące:
Można znaleźć więcej szczegółów na temat wskaźników weryfikacji z oficjalnej dokumentacji.
Powyższe dane wyjściowe pomaga interpretować zmiany rozmiaru pliku, zmiany w MD5Sum w stosunku do odcisku palca pliku i czas modyfikacji. RPM polecenie oferuje -Wymieńpkgs Opcja przywrócenia stanu pakietu. Sprawdź ponownie z opcją Verify: Żadne wyjście nie wyświetla żadnych zmian.
[fedora@fedora] $ rpm -i --replacepkgs zsh -5.0.2-7.El7.x86_64.RPMIdealną praktyką jest prowadzenie kopii zapasowej bazy danych /var/lib/rpm do medium tylko do odczytu. Pomaga zweryfikować integralność pakietu z pewnością, że nie jest sprawdzana z temperowaną/pękniętą bazą danych.
Wniosek
Artykuł szczegółowo opisuje historię i ewolucję systemu opakowaniowego dla dystrybucji Red Hat Linux. Zawiera również szczegóły dotyczące opakowania RPM i jego lokalizacji wewnątrz systemu. Na koniec artykuł zawiera szczegółowe szczegóły dotyczące pięciu podstawowych operacji RPM.