2022-05-31-12-05-37-instalacja-oprogramowania-w-systemach-linux.png

Instalacja oprogramowania przy pomocy pakietów w systemach Linux

Obecnie istnieje bardzo wiele dystrybucji Linuksa. Ze względu na swój ogólnodostępny kod każdy z nas przy większym nakładzie pracy może stworzyć swojego własnego Linuksa. Osoby takie jak ja korzystające z dobrodziejstw tego systemu na co dzień prawie zawsze używają repozytoriów danego systemu w celach instalacyjnych. Nie ma konieczności używania google czy też innej wyszukiwarki internetowej. Wszystko mamy zaimplementowane w repozytoriach i myślę, że powiem to za wielu jesteśmy z tym szczęśliwi.

Nasz blog może się rozwijać dzięki naszym sponsorom. Nasz kurs dockera powstał dzięki współpracy z chmurami Vultr i tam dokładnie został przetestowany. Nasz szablon pochodzi z Envato MarketPlace. Wszystkie pluginy i elementy stron internetowych, jakie opisujemy, pochodzą z Envato Elements. Wszystkie książki, opisane na tym blogu, są dostepne u wydawcy Helion. Jesteśmy także partnerem Respondent.io, platformy, która płaci za testowanie aplikacji.

Czasami może zdarzyć się sytuacja gdzie poszukiwany program nie znajduje się we wspomnianym repozytorium lub jego wersja nie jest tą której potrzebujemy. W tej sytuacji pierwszym krokiem jaki powinniśmy wykonać jest poszukać na stronie programu czy nie ma swoich własnych repozytoriów które możemy dodać do naszego systemu. W tym krótkim artykule zajmę się jednak trzecim rozwiązaniem, czyli gdy zaistnieje sytuacja gdzie oba sposoby zawiodą i nie uda się odnaleźć odpowiedniego repozytorium do naszego programu. Wtedy zmuszeni jesteśmy do skorzystania z instalacji ręcznej.

W pierwszym systemie Linux z którego korzystałem, a był to Mandrake miałem z tym dość duży problemy. Przesiadłem się z systemu Windows, a tam wszystko było klikane, a tu każą korzystać z konsoli, instalować przy pomocy polecenia, dbać o zależności. Zbyt wiele dla mnie… I przyznam, że moje pierwsze podejście skończyło się ponowną instalacją Windowsa. Oczywiście nie miałem pojęcia, że istnieje coś takiego jak repozytorium i w większości przypadków można bardzo łatwo ten problem rozwiązać.

Niemniej jednak ten artykuł jest dla kogoś kto nie wie jak, a potrzebuje zainstalować oprogramowanie z pakietów. Korzystać będę z trzech dystrybucji Linuksa, CentOS, Ubuntu i Fedora. Wybrałem te trzy systemy ponieważ każdy z nich posiada inny program do zarządzania pakietami, który w większej mierze różni się tylko nazwą. Pomimo niewielkiej różnicy w samym programie do obsługi musisz wiedzieć, że występują różne rodzaje pakietów. W systemie CentOS oraz Fedora pakiety posiadają rozszerzenie .rpm, natomiast w Ubuntu rozszerzenie .deb. Sytuacja taka ma miejsce ponieważ owe dystrybucje powstały na bazach innych. CentOS oparty jest o Red Hat Enterprise Linux, natomiast Fedora również lecz jest ona tym czym kiedyś Red Hat Enterprise będzie, dlatego w obu dystrybucjach korzystamy z paczek .rpm. Natomiast jeżeli chodzi o Ubuntu opiera się on o system Debian dlatego korzystamy z pakietów .deb.

Dla tego krótkiego artykułu wybrałem pakiet LibreOffice. Paczki możesz pobrać ze strony: https://pl.libreoffice.org/pobieranie/stabilna.Na dzień dzisiejszy najnowszą wersją do pobrania jest 7.3.3.

Jeżeli uruchomiłeś stronę nad przyciskiem Pobierz Wersję znajduje się informacja: Wybrano: LibreOffice 7.3.3 dla Linux x64 (rpm) – zmienić?. Jeżeli korzystasz z dystrybucji opartej na systemie Debian to musisz wejść w link zmienić aby wybrać pakiety typu .deb.

Po ściągnięciu odpowiedniego pliku przechodzimy do miejsca gdzie pobraliśmy go i postępujemy zgodnie z poniższymi instrukcjami:

tar -zxvf LibreOffice_7.3.3_Linux_x86-64_deb.tar.gz 

Pożądane pliki zostały spakowane w archiwum, dlatego rozpakowujemy je. Po rozpakowaniu zawartości przechodzimy do katalogu:

W przypadku systemu Ubuntu:


cd LibreOffice_7.3.3.2_Linux_x86-64_deb/DEBS

W przypadku systemu CentOs i Fedora:


cd LibreOffice_7.3.3.2_Linux_x86-64_deb/RPMS

Po wpisaniu polecenia ls zwróć uwagę na ilość paczek jakie zostały dostarczone:



libobasis7.3-base_7.3.3.2-2_amd64.deb
libobasis7.3-calc_7.3.3.2-2_amd64.deb
libobasis7.3-core_7.3.3.2-2_amd64.deb
libobasis7.3-draw_7.3.3.2-2_amd64.deb
libobasis7.3-en-us_7.3.3.2-2_amd64.deb
libobasis7.3-extension-beanshell-script-provider_7.3.3.2-2_amd64.deb
libobasis7.3-extension-javascript-script-provider_7.3.3.2-2_amd64.deb
libobasis7.3-extension-mediawiki-publisher_7.3.3.2-2_amd64.deb
libobasis7.3-extension-nlpsolver_7.3.3.2-2_amd64.deb
libobasis7.3-extension-pdf-import_7.3.3.2-2_amd64.deb
libobasis7.3-extension-report-builder_7.3.3.2-2_amd64.deb
libobasis7.3-firebird_7.3.3.2-2_amd64.deb
libobasis7.3-gnome-integration_7.3.3.2-2_amd64.deb
libobasis7.3-graphicfilter_7.3.3.2-2_amd64.deb
libobasis7.3-images_7.3.3.2-2_amd64.deb
libobasis7.3-impress_7.3.3.2-2_amd64.deb
libobasis7.3-kde-integration_7.3.3.2-2_amd64.deb
libobasis7.3-librelogo_7.3.3.2-2_amd64.deb
libobasis7.3-libreofficekit-data_7.3.3.2-2_amd64.deb
libobasis7.3-math_7.3.3.2-2_amd64.deb
libobasis7.3-ogltrans_7.3.3.2-2_amd64.deb
libobasis7.3-onlineupdate_7.3.3.2-2_amd64.deb
libobasis7.3-ooofonts_7.3.3.2-2_amd64.deb
libobasis7.3-ooolinguistic_7.3.3.2-2_amd64.deb
libobasis7.3-postgresql-sdbc_7.3.3.2-2_amd64.deb
libobasis7.3-python-script-provider_7.3.3.2-2_amd64.deb
libobasis7.3-pyuno_7.3.3.2-2_amd64.deb
libobasis7.3-writer_7.3.3.2-2_amd64.deb
libobasis7.3-xsltfilter_7.3.3.2-2_amd64.deb
libreoffice7.3_7.3.3.2-2_amd64.deb
libreoffice7.3-base_7.3.3.2-2_amd64.deb
libreoffice7.3-calc_7.3.3.2-2_amd64.deb
libreoffice7.3-debian-menus_7.3.3-2_all.deb
libreoffice7.3-dict-en_7.3.3.2-2_amd64.deb
libreoffice7.3-dict-es_7.3.3.2-2_amd64.deb
libreoffice7.3-dict-fr_7.3.3.2-2_amd64.deb
libreoffice7.3-draw_7.3.3.2-2_amd64.deb
libreoffice7.3-en-us_7.3.3.2-2_amd64.deb
libreoffice7.3-impress_7.3.3.2-2_amd64.deb
libreoffice7.3-math_7.3.3.2-2_amd64.deb
libreoffice7.3-ure_7.3.3.2-2_amd64.deb
libreoffice7.3-writer_7.3.3.2-2_amd64.deb

Powyższy przykład wykonałem w systemie Ubuntu. W dwóch pozostałych wynik będzie prawie, że identyczny tylko zamiast końcówki .deb otrzymasz .rpm. Musisz przyznać, że jest ich dość sporo, od samego czytania może rozboleć głowa, ale trzeba zainstalować program to trzeba. Jednym z najczęściej wykorzystywanym przeze mnie programem z tego pakietu Office jest writer. Dlatego spróbujmy go zainstalować:

Dla Ubuntu:


sudo dpkg -i libreoffice7.3-writer_7.3.3.2-2_amd64.deb

Dla CentOS:


sudo yum libreoffice7.3-writer_7.3.3.2-2_amd64.rpm

Dla Fedora:


sudo dnf libreoffice7.3-writer_7.3.3.2-2_amd64.rpm

Wynik otrzymasz zbliżony do poniższego:


Selecting previously unselected package libreoffice7.3-writer.
(Reading database ... 159434 files and directories currently installed.)
Preparing to unpack libreoffice7.3-writer_7.3.3.2-2_amd64.deb ...
Unpacking libreoffice7.3-writer (7.3.3.2-2) ...
dpkg: dependency problems prevent configuration of libreoffice7.3-writer:
 libreoffice7.3-writer depends on libreoffice7.3 (>= 7.3.3.2); however:
  Package libreoffice7.3 is not installed.
 libreoffice7.3-writer depends on libreoffice7.3 (<= 7.3.3.2-2); however:
  Package libreoffice7.3 is not installed.
 libreoffice7.3-writer depends on libobasis7.3-writer (>= 7.3.3.2); however:
  Package libobasis7.3-writer is not installed.
 libreoffice7.3-writer depends on libobasis7.3-writer (<= 7.3.3.2-2); however:
  Package libobasis7.3-writer is not installed.

dpkg: error processing package libreoffice7.3-writer (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libreoffice7.3-writer

Oczywiście w zależności od systemu informacja delikatnie będzie się różniła. Jak wskazuje program mamy dependency problems czyli problem z zależnościami.

W tym miejscu występuje bardzo często problem ze zrozumieniem wśród nowych użytkowników Linuksa, szczególnie tych świeżo po Windowsie. Otóż w systemach Linux oprogramowanie jest podzielone na moduły. Oznacza to, że każda paczka spełnia jakąś określoną funkcję i aby ją zainstalować może wymagać drugiej aby właściwie funkcjonować. Na pierwszy rzut oka tego typu rozwiązania wydawać się może głupie bo w Windowsie wystarczyło, że kliknęliśmy w plik .exe i to w większości wypadków wystarczyło.

Podział na moduły ma bardzo ogromne znaczenie. Otóż w ten sposób dzielony jest program na kilka części i każdą z nich możemy wykorzystać na przykład w innym programie, a nie dodawać go bezpośrednio do kodu. Możliwe, że wiesz iż każdy program został napisany w jakimś języku programowania. Te moduły o których wspominam są programami, które ktoś wcześniej napisał, dzieląc swój kod na kilka części lub tworząc jeden moduł który wykorzystuje funkcjonalność innego niekoniecznie napisanego przez tą samą osobę. Dlatego nie zostaje przepisane to co już jest, a wtórnie wykorzystane. W ten oto sposób oszczędzamy sporo miejsca bo jak wiadomo dodatkowy kod, dodatkowe zajęte miejsce.

Wiedząc już czym są zależności możemy po kolei dodawać je do polecenia lub sprawdzać czym każda z paczek jest i wybrać te które nas interesują lub zainstalować wszystko korzystając z bardzo prostego rozwiązania:

Dla Ubuntu:


sudo dpkg -i *.deb

Dla CentOS:


sudo yum *.rpm

Dla Fedora:


sudo dnf *.rpm

W ten oto sposób zainstalujemy wszystkie paczki z folderu w którym się znajdujemy, posiadające rozszerzenie .deb lub .rpm. Pozbyliśmy się potrzeby analizowania wszystkich paczek, ale kosztem miejsca jak i również zbędnej instalacji niepotrzebnych.

To co Ci prezentuję jest jedynie przykładem, a instalacja tego typu w Linuksie polega na dbaniu o zależności. Dlatego jeżeli nie musisz korzystać z powyższego sposobu to tego nie rób. Lepiej jest instalować z repozytoriów ponieważ wtedy nie musisz martwić się o zależności. W związku z tym w przypadku instalacji jakiegokolwiek oprogramowania pierwsze co powinieneś zrobić to poszukać czy takie jest dostępne w repozytorium.

Udostępnij

Porozmawiajmy o Twoich potrzebach

POROZMAWIAJMY O USŁUGACH, JAKICH POTRZEBUJESZ DLA SWOJEGO BIZNESU

Z chęcia pomożemy Ci wzrastać w wybranym przez Ciebie biznesie.