Związek między yum, .repo i .rpm?


0

Nie jestem z wykształcenia administratora systemu, jednak z kilku powodów muszę wykonać niektóre zadania opisane poniżej:

Muszę zainstalować niektóre pakiety w RHEL w 4-5 węzłach, używając „yum” w systemie operacyjnym RHEL 7.x. Aby to zrobić, natknąłem różnych kategoriach, takich jak: yum, .repo, .rpm.

Zrozumiałem trochę, że za pomocą yummożemy zainstalować oprogramowanie, ale mam problem z tym, jak pobrać yumoprogramowanie z Internetu.

Czy ktoś może mi pomóc zrozumieć następujące punkty:

1) Czy yumprogram instaluje oprogramowanie?

2) Co to jest .rpm? Czy .rpmfaktycznie instalowane jest oprogramowanie? Jest .rpmnieco podobny do .tar?

3) W jaki sposób yumpobrać / pobrać oprogramowanie z Internetu? Czy sprawdza .repoplik?

4) Kiedy piszemy yum - y install some_program, czy najpierw pobiera pliki binarne z Internetu, a następnie instaluje, czy też musimy coś zrobić rsync.

Jestem zdezorientowany, próbowałem znaleźć odpowiedzi online, jednak wciąż mam wątpliwości. Czy ktoś może mi pomóc w prostych słowach?

Odpowiedzi:


1
  • RPM to pakiet. Pakiet jakiegoś oprogramowania. Zawiera pliki w archiwum CPIO (podobne do tar, inny format) oraz niektóre informacje (np. Jakie inne pakiety potrzebuje) oraz skrypty, które należy uruchomić, gdy pakiet jest instalowany / aktualizowany / usuwany (są one automatycznie uruchamiane przez / usr / bin / rpm).

  • Większość oprogramowania Linux jest dynamicznie połączone. Tj. Do pakietu firefox potrzebujesz pakietu libnss (i kilku innych). Ma to tę zaletę, że jeśli wystąpi problem z błędem / bezpieczeństwem, opiekun tej biblioteki aktualizuje tylko tę bibliotekę i nie musi rekompilować wszystkich programów, które z niej korzystają (może to być ich setka).

  • typowa dystrybucja (RHEL) składa się z tysięcy pakietów RPM. Są zgrupowane w jednym katalogu zwanym repozytorium. Red Hat zapewnia podstawowe repozytorium. Są też inne repozytoria z niektórymi produktami (np. Wszystkie pakiety potrzebne do OpenStack lub Satellite lub coś innego). Jednym z najbardziej znanych repozytoriów jest EPEL https://fedoraproject.org/wiki/EPEL, który zawiera pakiet dla RHEL. Zapewnia oprogramowanie, którego brakuje w RHEL i jest obsługiwane przez społeczność (tj. Bez gwarancji).

  • Chociaż możesz ręcznie pobrać pakiet RPM i zainstalować go przy użyciu /usr/bin/rpm -Uvh somepackage.rpm, najprawdopodobniej pojawi się błąd, który somelibraryjest potrzebny. Jeśli pobierzesz ten pakiet i spróbujesz go zainstalować, pojawi się błąd, który someotherlibraryjest potrzebny. Nazywa się to łańcuchem zależności. Czasami ta zależność jest nawet okrągła i nie można jej instalować pojedynczo. Po zainstalowaniu jakiegoś oprogramowania dość często wymaga to dziesiątek, a nawet setek zależności. Instalacja ich ręcznie zajęłaby tak dużo czasu.

  • YUM to program, który automatycznie rozwiąże zależności i wybierze z repozytoriów najlepsze pakiety, aby spełnić te zależności. Nawet aktualizacja i instalacja niektórych programów jest łatwym zadaniem. Np yum install firefox.

  • Yum może pobrać pakiety dla ciebie. Wystarczy znać adres URL tych repozytoriów (pamiętaj, że możesz skonfigurować jedno lub więcej repozytoriów dla swojego systemu). Adres URL jest przechowywany w .repoplikach. Mieszkają w /etc/yum.repos.d/. Jest to zwykły plik tekstowy (w formacie INI) i zawiera adres URL oraz kilka innych informacji (np. Jeśli paczki są podpisane GPG). Jeśli poprawnie skonfigurujesz pliki repozytoriów, YUM może łatwo zainstalować oprogramowanie z tych repozytoriów. Po uruchomieniu /usr/bin/yum install firefoxpobierze informacje ze wszystkich skonfigurowanych repozytoriów, a następnie poinformuje cię, że Firefox i X inne zależności zostaną zainstalowane. Po potwierdzeniu pobierze ten pakiet, a następnie je zainstaluje. Nie ma potrzeby uruchamiania rsync.


Bardzo dziękuję za szczegółowe informacje, teraz jest całkiem jasne. dzięki tona!
CuriousMind
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.