W chwili zakończenia instalacji systemu operacyjnego w jego katalogach znajduje się mnóstwo dodatkowych pakietów oprogramowani, które można wykorzystać. Zapewne wielu z normalnych użytkowników czy też administratorów nigdy z nich nie skorzysta:), ale jest również druga strona tego medalu, jaka? Ano niektórzy potrzebują innych bardziej potrzebnych paczek z oprogramowaniem i właśnie tutaj jest sedno tego wpisu.
Zarządzanie pakietami GNU/Linux Nieco Teorii…
W celu dodania jakiegokolwiek programu w systemie z rodziny RedHat/Centos należy pobrać odpowiedni pakiet ręcznie lub pobrać go z repozytorium. Pakiet (paczka) jest pojedynczym plikiem (jak wszystko w systemach GNU/Linux ), który zawiera skompilowane źródło naszej aplikacji. Każdy pakiet posiada:
- swoją nazwę,
- wersję/subwersję,
- architekturę dla której jest przeznaczona,
- może również być uniwersalna, wtedy w nazwie będzie noarch,
- rozszerzenie .rpm
Jednak w większości przypadków(w sumie zawsze) jeden pakiet wymaga innego pakietu i tutaj nowe słowo klucz zależność. W skrócie przy instalacji aplikacji w systemie tak naprawdę budujemy środowisko takiej aplikacji od zera. Jednak jeżeli jesteśmy leniwi możemy użyć repozytorium oraz yum. W tym przypadku dodajemy do listy systemowej adres serwera który przechowuje listę wszystkich pakietów przeznaczonych dla naszej wersji systemu (łącznie z podziałem na architekturę x86 lub x64) , następnie przy pomocy yum system pobiera oraz instaluje konkretną aplikację. Tak to w skrócie wygląda w przypadku GNU/Linux oraz dystrybucji RedHat/Centos. Jest jeszcze graficzny manager, ale ważniejsze jest zrozumienie działania poleceń powłoki z której najczęściej administratorzy korzystają.
Praktyczne przykłady
Dobrze ale jak wybrać co jest lepsze dla mnie? To zależy jak bardzo administrator lubi się namęczyć. Dlatego też przedstawię obydwie metody instalacji aplikacji w systemie RedHat/Centos.
Użycie RPM
W przypadku instalacji ręcznej musisz odleźć oraz pobrać pakiet .rpm i go zainstalować.
W przypadku Centos’s repozytorium znajduje się pod poniższym adresem i zawiera wszystkie wersje Centos’a od wersji 2 do najnowszej.
Dla przykładu załóż, że potrzebujesz dodać do systemu lynx, czyli prostą konsolową przeglądarkę www. Gotowa paczka znajduje się pod poniższym linkiem.
http://mirror.centos.org/centos/7.8.2003/os/x86_64/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm
W celu pobrania tej paczki z konsoli musisz użyć narzędzia wget (o ile jest zainstalowane w systemie).
1 |
wget http://mirror.centos.org/centos/7.8.2003/os/x86_64/Packages/lynx-2.8.8-0.3.dev15.el7.x86_64.rpm |
Paczka zostanie po chwili pobrana i zapisana w obecnej lokalizacji. W kolejnym kroku zainstalujesz lynx’a przy pomocy poniższego polecenia.
1 |
rpm -i lynx-2.8.8-0.3.dev15.el7.x86_64.rpm |
Jeżeli wszystko pójdzie dobrze nie pojawi się żaden komunikat, jeżeli paczka jest już w tej wersji zainstalowana pojawi się stosowany komunikat.
1 |
package lynx-2.8.8-0.3 is already installed |
Jednak powyższe polecenie daje nieco mało informacji w trakcie instalacji pakietu. Możesz użyć innych przełączników, które pokazują więcej jak np. -Uvh. Przełącznik U wykona upgrade(jeżeli taki pakiet w starszej wersji już istnieje) lub zainstaluje pakiet jeżeli nie istnieje. Przełącznik v (verbose) wyświetli informacje o postępie instalacji, przełącznik h pokazuje po prostu znaki #, które pokazują „pasek” postępu.
1 2 |
rpm -Uvh lynx-2.8.8-0.3.dev15.el7.x86_64.rpm Preparing… ########################################### [100%] |
Warto również wiedzieć w jaki sposób usuwać pakiety. Również tutaj należy podać pełną nazwę paczki.
1 |
rpm -e lynx-2.8.8-0.3.dev15.el7.x86_64.rpm |
Poza podstawową obsługą pakietów możesz również użyć kilku rozszerzeń, które powiedzą więcej o pakietach.
- rpm -ql nazwa_pakietu.rpm – pokazuje wszystkie pliki, które wchodza w jego skład,
- rpm -qc nazwa_pakietu.rpm – pokazuje tylko pliki konfiguracyjne pakietu,
- rpm -qd nazwa_pakietu.rpm – pokazuje tylko pliki dokumentacji,
- rpm -qi nazwa_pakietu.rpm – pokazuje ogólne informacje o pakiecie,
- rpm -qf nazwa_pakietu.rpm – pokazuje które pliki zostały zainstalowane
Dodatkowo warto również użyć polecenia rpm, aby wyświetlić wszystkie pakiety, które zostały zainstalowane w systemie.
1 |
rpm -qa |
jeżeli potrzebujesz jedynie poznać ich ilosć wystarczy rozbudować polecenie o wc -l.
1 |
rpm -qa | wc -l |
Jeżeli nie znasz dokładnej nazwy pakietu możesz spróbować odnaleźć go przy jej fragmencie.
1 |
rpm -qa | grep lynx |
Repozytoria
Kolejnym krokiem w celu automatyzacji instalacji jest konfiguracja repozytorium. Oczywiście po instalacji systemu tworzone są domyślne repozytoria.
Domyślne repozytoria w Centos znajdują się w poniższej lokazliacji.
1 |
/etc/yum.repos.d |
Poniżej przykład zawartości pliku CentOS-Base.repo.
Repozytorium może znajdować się w dwóch trybach.
enabled=1 – repozytorium jest włączone dla systemu
enabled=0 – repozytorium jest wyłączone dla systemu
Żeby sprawdzić jakie repozytoria są włączone wystarczy użyć poniższego polecenia.
1 |
yum repolist |
Możesz również usunąć oraz ponownie zaktualizować listę repozytoriów.
1 |
yum clean all |
a następnie
1 |
yum repolist |
Jeżeli chcesz zobaczyć również repozytoria wyłączone użyj poniższego polecenia.
1 |
yum repolist disabled |
Instalacja aplikacji przy pomocy yum
Ostatnim krokiem jest przedstawienie narzędzia yum, aby zarządzać paczkami.
W celu instalacji pakiety (np. lynx) użyj poniższego polecenia, które wykona to automatycznie gdyby potrzebne były jakieś zależne pakiety. Yum na początku sprawdzi repozytorium , następnie wszystkie zależności i na koniec zostaną one zainstalowane.
1 |
yum install -y lynx |
Polecenie yum posiada kilka rozszerzeń:
- yum update nazwa_pakietu– dokona aktualizacji pakietu już obecnego w systemie,
- yum remove nazwa_pakietu – usunie pakiet wraz z zależnościami,
- yum list – pokaże wszystkie możliwe pakiety w systemie,
- yum list installed – pokaże tylko te, które są zainstalowane,
- yum info nazwa_pakietu – pokaże dokładne informacje o konkretnym pakiecie (nawet jeżeli nie jest on zainstalowany),
- yum search nazwa_pakietu – pozwala na odszukanie pakietu o zadanej nazwie (lub jej fragmencie),
- yum provides /sciezka/do/pliku/conf – pozwala na tej podstawie zidentyfikować nazwę paczki,
To tyle jeżeli chodzi o zarządzanie pakietami oraz repozytoriami, zapraszam na kolejny wpis.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).