Instalacja oprogramowania w Linuksie jest nieco inna niż w pozostałych systemach operacyjnych. Linux daje użytkownikowi dużo więcej możliwości instalowania software'u - jedynym ograniczeniem może być producent. System daje nam możliwość zainstalowania programu niemal w pełni kompatybilnego z aktualną maszyną (poprzez kompilację) lub umownie kompatybilnego z większością sprzętów (np. poprzez instalację z pliku binarnego).
Istnieje podział na conajmniej trzy rodzaje instalacji: z pakietów dystrybucyjnych (.rpm, .deb), za pomocą pliku binarnego (.run) lub poprzez kompilację (pliki tar.gz). Sposobem najbardziej zalecanym jest kompilacja, gdyż program tworzony jest na maszynie, na której będzie używany (co daje dużą kompatybilność).
Początkujący użytkownicy zwykle nie radzą sobie z błędami kompilacji. Dla nich przeznaczono pakiety dystrybucyjne oraz pliki instalacyjne w postaci binarnej. Te ostatnie tworzone są przede wszyskim dla zatajenia kodów źródłowych programu (np. słynny sterownik NVIDIA - do kart graficznych).
Instalacja programu poprzez kompilację
Pierwszą czynnością, którą przyjdzie nam wykonać jest rozpakowanie plików. Popularnym formatem kompresji plików w Linuksie są formaty tar: gz oraz bz2. Istnieje kilka sposobów na rozpakowanie tych plików.
Dekompresja pliku tar
Plik z takim rozszerzeniem może być rozpakowany następującym poleceniem:
tar -xvf plik.tar
- podane flagi są niezbędne do rozpakowania pliku w tym formacie
Dekompresja pliku tar.gz
Ten plik mozemy rozpakować na 2 sposoby:
Poleceniem tar:
tar -xvzf plik.tar.gz
- również dla plików z rozszerzeniem .tgz
... lub poleceniem gunzip
gunzip plik.tar.gz
Program gunzip rozpakuje wszystko co kończy się na .gz, -gz, .z, -z, _z. Ponadto rozpozna takie formaty, jak: .tgz (skrót od tar.gz) lub .taz (skrót od tar.z). Aby poznać szczegóły zajrzyj do podręcznika (man gunzip).
Dekompresja pliku tar.bz2
Tutaj również możemy to zrobić na dwa sposoby...
Poleceniem tar:
tar -xvjf plik.tar.bz2
.. lub poleceniem bunzip2
bunzip2 plik.tar.bz2
Program bunzip2 potrafi rozpakować pliki .bz2, .bz, .tbz2 oraz .tbz - szczegółów również możesz zaczerpnąć z podręcznika systemowego.
Jak można zauważyć na podanych przykładach program tar używa dodatkowych flag (argumentów). Oto co oznaczają:
-x - oznacza, że plik ma być dekompresowany (ekstrakcja, z ang. eXtract)
-c - kompresja pliku (ang. compress)
-v - wyświetla nazwy wszystkich dekompresowanych plików (ang. verbose - rozwlekły)
-z - kompresowany/dekompresowany plik to .gz lub .tgz (itp.), używa gzip
-j - kompresowany/dekompresowany plik to .bz2 lub .tbz2 (itp.), używa bzip2
Myślę, że tyle opcji narazie wystarczy - przejdźmy do kompilacji programu.
Kompilacja programu, czyli ./configure, make oraz make install
Jak już archiwum zostało rozpakowane należy wejść w miejsce gdzie znajdują się pliki. I wpisać kolejno:
./configure
Wydając to polecenie uruchomimy program, który sprawdza czy w systemie są odpowiednie biblioteki i ostrzega przed możliwymi błędami kompilacji. Tworzy również plik konfiguracyjny dla instalacji.
- nie zawsze to polecenie jest wymagane
... następnie:
make
Dzięki temu poleceniu następuje kompilacja plików źródłowych. Jeżeli wszystko poszło dobrze (nie ma błędów) możesz użyć polecenia:
make install
... które słóży do instalowania skompilowanych plików (są kopiowane w odpowiednie miejsca).
W taki właśnie sposób można zainstalować oprogramowanie ze źródeł. Aby je odinstalować wystarczy użyć poleceń: make uninstall oraz make clean.
Warto wspomnieć, że pliku konfiguracyjnego może nie być (polecenie ./configure nie działa). W takim wypadku wystarczy użyć tylko make i make install.
Jeżeli jesteś pewien, że podczas kompilacji nie wystąpią problemy możesz zautomatyzować ten proces. W Linuksie możesz to zrobić, np. tak:
make && make install
Co spowoduje wykonanie polecenia make, a następnie make install.
Aby powyższe polecenia zadziałały w rozpakowanym programie musisz mieć plik Makefile oraz zainstalowany program (pakiet) automake.
Plik Makefile powinien się znajdować w wypakowanym archiwum. Program automake powinien się znajdować w /usr/bin/ - zobacz poleceniem whereis automake.
Jeżeli jesteś programistą zawartość pliku Makefile powinna Cię zainteresować.
Niektóre dystrybucje tworzą własne pakiety umożliwiające szybką instalację oprogramowania. Ten sposób instalacji jest łatwy i przeznaczony w szczególności dla początkujących użytkowników.
Przedstawię instalację na podstawie trzech słynnych pakietów - RPM, DEB oraz TGZ.
Instalacja pakietów RPM
Pakiety rpm wywodzą się z firmy Red Hat (rpm - ang. RedHat Package Managment). Później pakiety te stały się standardem w dystrybucjach takich jak: Aurox, Fedora Core, Yoper, MDK, PLD, SuSe itd... Mogą być stosowane też w innym systemie jeśli został odpowiednio skonfigurowany.
Aby zainstalować program z pakietu rpm najlepiej posłużyć się taką składnią:
rpm -ivh pakiet.rpm
Możemy też zaktualizować wersję programu wpisując flagę -U zamiast -i. W poniższej tabeli wytłumaczyłem niektóre flagi programu rpm:
-i - instalacja pakietu
-U - usuwa starą wersję i instaluje nową (aktualizacja)
-v - nazwa instalowanego pakietu
-q - wyświetla informacje o pakiecie
-h - pokazuje tekstowy pasek postępu instalacji
-r - usuwa program
Pakiety deb wywodzą się z Debiana. Znalazły sobie zastosowanie też w innych dystrybucjach, tj. Knoppix, Ubuntu. W tym wypadku instalacja też nie jest trudna:
dpkg -flaga nazwa_pakietu.deb
Zamiast -flaga możemy użyć następujących opcji:
-i - instalacja
-r - reinstalacja
-s - wyświetla stan pakietu
--reconfigure - ponowna konfiguracja pakietu
Więcej opcji znajduje się w manualu.
W Debianie obecnie popularne jest stosowanie APT (ang Advanced Packaging Tool) - o tym w innym artykule.
Format TGZ został przeznaczony dla dystrybucji Slackware. Nie oznacza to wcale, że wszystkie pliki zakończone na .tgz to paczki tego systemu - mogą to być zwykłe archowa .tar.gz.
Pakiety Slackware TGZ instalujemy w następujący sposób: najpierw należy wejść do katalogu z paczką i wydać tam polecenie:
installpkg nazwa_pakietu.tgz
I praktycznie tyle jeśli chodzi o instalację paczek. Deinstalacja jest równie prosta:
removepkg nazwa_pakietu
Aby lepiej poznać każde z tych poleceń zapoznaj się z manualem (podręcznikiem). Po wpisaniu man nazwa_polecenia otrzymasz zestaw pomocnych informacji na temat używania danego programu. Zanim gdziekolwiek zapytasz o co kolwiek - sprawdź czy nie ma tego w manualu.