Tak jak obiecałem, po dłuższej przerwie spowodowanej brakiem wolnego czasu przedstawiam kolejny artykuł dla początkujących o instalowaniu programów w Ubuntu wykorzystując system repozytoriów.
Repozytoria oprogramowania są to specjalne serwery w sieci, na których znajduje się software. Możemy je pobrać na nasz komputer za pomocą specjalnego programu zwanego menadżerem pakietów. Serwer ten posiada specjalną strukturę katalogów, w niej ułożone są pakiety wg tego kto je zrobił i alfabetycznie.
Abyśmy mogli korzystać z danego repozytorium musimy posiadać odpowiedni wpis w pliku konfiguracyjnym menadżerów pakietów. Ten plik jest wspólny dla wszystkich menadżerów pakietów, a możemy ich mieć kilka w systemie. Wpis ten powoduje, że menadżery widzą to repozytorium i są wstanie ściągnąć listę pakietów, która się na nich znajduje.
Zazwyczaj każde repozytorium posiada klucz publiczny. Jest to po to zrobione aby Ubuntu mogło stwierdzić czy pobierane pakiety rzeczywiście pochodzą z danego serwera. Jest to ważne ponieważ ściąganie i instalacja pakietów z sieci to jedyna droga jaką można by zarazić system jakimś trojanem czy wirusem. Co prawda te póki co nie istnieją na Ubuntu, ale lepiej za wczasu się zabezpieczyć. Klucz publiczny powinniśmy posiadać zanim zaczniemy pobieranie pakietów z sieci. Później wyjaśnię skąd ten klucz wziąć.
Co daje nam takie rozwiązanie? Po pierwsze: nie musimy przegrzebywać Internetu w poszukiwaniu programu, który nas interesuje. Ba, nawet nie musimy uruchamiać przeglądarki. Uruchamiamy menadżera pakietów, szukamy ręcznie lub przez słowo kluczowe danego programu. Zaznaczamy go do instalacji i stosujemy zmiany. Wtedy menadżer ściąga pakiet, instaluje go. Po drugie: jeśli pojawi się nowa wersja danego programu czy komponentu systemu, menadżer aktualizacji (który jest częścią menadżera pakietów) informuje nas, że pojawiła się nowa wersja i można go ściągnąć z repozytorium. I znów nie musimy w Internecie szukać tej nowej wersji, tylko pozwalamy na aktualizację, a menadżer pakietów ściągnie i zainstaluje najnowszą wersję.
Na pewno jest to wygodne rozwiązanie. Programy linuksowe są pisane zazwyczaj tak, że wykorzystują biblioteki systemowe. Oczywiście nie musimy posiadać wszystkich bibliotek z których korzystał programista do napisania programu. Tak samo jest pod Windows'em z plikami DLL, które też są bibliotekami. Jeśli będziemy chcieli uruchomić dany program, a nie mamy biblioteki, z której korzystał programista, program zapewne się nie uruchomi. To są tak zwane zależności pomiędzy pakietami. Czyli np. chcemy zainstalować program MPlayer (program do odtwarzania filmów), będziemy musieli zainstalować również pakiety kodeków i innych bibliotek potrzebnych do zainstalowania. Inaczej nie obejrzymy filmu bo nie będziemy mieli odpowiedniego kodeka. Aby samemu się nie martwić o te zależności między pakietami, a te bywają czasem ostro zawiłe, z pomocą przychodzi nam menadżer pakietów, który sam dobiera wymagane pakiety. Czyli zaznaczamy do zainstalowania MPlayer'a, a menadżer zaznacza inne wymagane pakiety. Ściągamy wszystko i instalujemy.
Po wyjaśnieniu podstaw dotyczących repozytorii przejdźmy do omówienia menadżerów pakietów w systemie Ubuntu Linux.

Teraz omówie najważniejsze opcje. W menu Plik znajdują się:
- Odczytaj zaznaczenia/Zapisz zaznaczenia/Zapisz zaznaczenia jako - przydatna funkcja gdy chcemy ustawić kilka komputerów z tym samym oprogramowniem. Gdy wybierzemy sobie listę możemy ją zapisać do pliku, a później odtworzyć. Przydatne również gdy chcemy automatycznie zaznaczyć pakiety, które mieliśmy we wcześniejszej instalacji systemu (jeśli sporządziliśmy wcześniej taką listę), ale o tym już pisałem.
- Generuj skrypt do pobierania pakietów/Dodaj pobrane wcześniej pakiety - kolejna funkcjonalna opcja. Jeśli nie mamy dostępu do Internetu zaznaczone pakiety możemy zapisać w formie skryptu. Skrypt ten możemy przenieść na inny komputer z Linuksem, który ma sieć i uruchamiając go automatycznie pobierzemy i zapiszemy w tym samym miejscu gdzie skrypt pakiety, które zaznaczyliśmy. Można pobierać również pod Windows'em, ale trzeba będzie zaopatrzyć się w port programu wget dla Windows'a. I zmienić rozszerzenie skryptu na .bat .
- Historia - to po prostu zestawienie co kiedy instalowaliśmy albo usuwaliśmy z naszego komputera za pomocą Synaptic'a.
Menu Edycja:
- Odśwież informację o pakietach - jeśli podczas uruchomienia Synaptic'a zmieniliśmy listę repozytoriów, musimy odświeżyć listę pakietów, aby sprawdzić zmiany. Komputer co jakiś czas, w zależności od konfiguracji, sam odświeża listę pakietów, aby zobaczyć czy są jakieś zmiany na repo(zytoriach). Jeśli tak powiadamia nas o tym fakcie i dostępnych aktualizacjach.
- Dodaj CD-ROM - repo nie musi się znajdować na serwerze w sieci. Równie dobrze może być wypalone na płycie. Jeśli posiadamy najnowsze wersje pakietów na płycie w postaci repo, klikamy tą opcję i instalujemy aktualizację.
- Zaznacz wszystko do aktualizacji - gdy pojawią się nowe aktualizacje, aby je zainstalować, trzeba je najpierw zaznaczyć. Aktualizacja przebiega tak jak zwykły proces instalacji, więc trzeba najpierw zaznaczyć pakiety. Oczywiście system już wie które to pakiety i po wybraniu tej opcji sam je zaznacza.
- Napraw uszkodzone pakiety - naprawienie zazwyczaj kończy się usunięciem z systemu pakietów, które nie spełniają zależności. Ktoś może zadać pytanie: jak one się znalazły w systemie, skoro menadżer pakietów ma pilnować zależności? Zawsze można wymusić instalację pakietu, bez spełniania zależności. Czasem się zdarza, że dany pakiet przestaje spełniać zależności, ponieważ aktualizowany inny pakiet jest w konflikcie z zainstalowanym. Ale zdarza się to naprawdę rzadko. Mi zdarzyło się to gdy instalowałem jakiś program z nieoficjalnego repo, które nie do końca było zgodne co do pakietów z oficjalnym repo
- Zaznacz pakiet wg zadań - to jest ciekawa funkcja. Jeśli chcemy szybko zainstalować serwer www, poczty, ssh itd. wybieramy zadanie z listy, a menadżer zaznaczy sam wszystkie potrzebne pakiety potrzebne do instalacji usługi.
- Wykonaj zaznaczone pakiety - po prostu gdy sporządziliśmy listę potrzenych nam pakietów, potwierdzamy tą opcją lub przyciskiem Zastosuj na pasku i dokonujemy instalacji.
Menu Pakiet:
- opcje Odznacz/Zaznacz... - typowe dzialania na pakietach czyli zaznaczanie do instalacji, aktualizacji, usuwania, itd. pakietów.
- Zablokuj wersję - jeśli nie chcemy dokonywać aktualizacji danego pakietu, ale też nie chcemy dostawiać powiadomień o jego nowej wersji, zaznaczamy wybrany pakiet i klikamy tą opcję. Od tej pory ten pakiet będzie chroniony przez aktualizacją.
- Zainstalowany automatycznie - jak pisałem wcześniej o zależnościach, niektóre pakiety są zainstalowane automatycznie, aby spełniać je. Wtedy jak klikniemy na taki pakiet a potem zajrzymy do menu Pakiet, będzie on miał zaznaczoną opcję Zainstalowany automatycznie. Możemy odznaczyć ten pakiet jako "automatyczny" aby w momencie czyszczenia systemu z nie potrzebnych pakietów ten akurat ocałał.
- Wymuś wersję - dobre gdy chcemy cofnąć się do wcześniejszej wersji pakietu (o ile wcześniejsza wersja jest jeszcze na repo). Lub gdy chcemy wybrać wersję z innego repo. Może się zdarzyć, że na różnych repo mamy ten sam pakiet, ale w innych wersjach.
- Konfiguracja - normalnie pakiety są konfigurowane podczas instalacji. Jeśli chcemy dokonać rekonfiguracji danego pakietu, zaznaczamy go i wybieramy tą opcję. Ale nie dla wszystkich pakietów jest ona dostępna.
- Pobierz plik zmian - ściąga z repo specjalny plik, którym są zapisane zmiany dokonane w przechodzeniu przez różne wersję.
- Właściwości - jak sama nazwa wskazuje, możemy podejrzeć zależności zaznaczone pakietu, jakie pliki zawiera, jakie wersje są dostępne.
Menu Ustawienia mówią same za siebie. Teraz przejdźmy do dodawania nowych repozytoriów do Ubuntu przez Synaptic'a. Każde repo ma swóją linijkę apt i klucz publiczny. Linijka apt to zwykła linijka tekstu o formacie:
deb <adres url> <dystrybucja> <komponent> #<komentarz> |
- adres url - to po prostu adres gdzie znajduje się w sieci repozytrium
- dystrybucja - określa dla której dystrybucji Ubuntu menadżer ma wyszukiwać pakietów. Jeśli używasz 9.04 to wpisujesz Jaunty itd.
- komponent - określa dział repozytoriów, zazwyczaj określa czy programy w tym repo są z otwartym śródłem, zamkniętym, itp.
- komentarz - może być, ale nie musi.
Klucz publiczny to zwykły plik tekstowy z zakodowanymi informacjami. Te zakodowane informacje potrafią rozkodować te zapisane za pomocą klucza prywatnego. Czasem na repozytoriach są podane polecenia, które automatycznie dodają klucz do bazy danych kluczy na naszym komputerze.
Chcąć dodać repo najpierw szukamy jego strony głównej. Zazwyczaj na tych stronach są podane informację jak dokonać dołączenia. Weźmy na przykład, że chcemy dodać repo Wine czyli emulatora środowiska Windows. Wchodzimy na ich główną stronę. Wchodzimy do działu Pobieralnia i potem wybieramy naszą dystrybucję. Najpierw odnajdujemy link do klucza. Klikamy prawym i zapisujemy na dysku plik gpg. Czasem może mieć inne rozszerzenia np. asc, key, txt.
Jeśli otworzymy ten plik w dowolnym edytorze ASCII powinien wyglądać tak:
Teraz w Synapticu klikamy Ustawienia>Repozytoria, później karta Uwierzytelnianie. Klikamy Zaimportuj plik klucza, podajemy ścieżkę dostępu do pliku i ok. Teraz powinniśmy mieć klucz w bazie.
Teraz przyszła kolej do dodania samego repozytorium do konfiguracji, aby system widział oprogramowanie na nim. Zmieniamy kartę na Oprogramowanie osób trzecich i klikamy dodaj. Wyskoczy okno z monitem, aby podać wiersz APT. Ten oczywiście jest na stronie, w naszym przypadku chodzi o wiersz:
deb http://wine.budgetdedicated.com/apt jaunty main #WineHQ - Ubuntu 9.04 "Jaunty Jackalope" |

Po dodaniu źródła możemy jeszcze sprawdzić, czy wiersz wprowadził się dobrze i przy okazji zobaczyć jak wygląda edycja tego wiersza w Synaptic'u. Zaznaczamy repo WineHQ i klikamy Modyfikuj.

Jeśli wygląda jak na powyższym obrazku to znaczy że wszystko w porządku. Możemy zamknąć okno repozytoriów. Dostaniemy komunikat, że informacje o repozytoriach są nie aktualne. To normalne, nie mamy zaindeksowanej zawartości nowego repo. Klikamy w przycisk Odśwież w głównym oknie Synaptica i menadżer dokona teraz aktulizacji zawartości repo.
Teraz wyszukujemy w głównym okienku, gdzie znajdują się nazwy pakietów słowa Wine. Możemy sobie pomóc za pomocą funkcji szukania. Gdy znajdziemy szukany pakiet zaznaczyć go możemy prawym przyciskiem i klikając Zaznacz do instalacji lub po prostu kliknąć go dwukrotnie. Klikamy zastosuj. Synaptic zacznie siągać Wine. Po tej operacji powinniśmy mieć już zainstalowany program.
Teraz przejdźmy do innego menadżera pakietów o nazwie APT. Jest to shell'owe polecenie, za pomocą którego też można wyszukiwać i instalować pakiety.
APT jest jest wygodnym narzędziem, z prostą składnią, tak więc opanowanie go nie powinno sprawiać wiele problemów nawet początkującemu użytkownikowi Ubuntu. Omówię, jak dodać repozytorium do systemu za pomocą konsoli, jak zaindeksować zawartość repo, szukać i zaktualizować system.
Repozytoria są przechowywane w pliku /etc/apt/source.list. Edytując ten plik dodajemy wiersz APT tak jak go wstawialiśmy w Synaptic'u. Po prostu wklejamy go gdzieś w pliku i dokonujemy aktualizacji zawartości repozytoriów. Pamiętajmy, że aby edytować ten plik musimy posiadać uprawnienia administratorskie, jak przy uruchamianiu Synaptic'a. Czyli polecenie edytowania poprzedzamy poleceniem sudo. Np.:
sudo gedit /etc/apt/source.list |
Po edycji i zapisaniu pliku. Wpisujemy polecenie aktualizacji repozytoriów.
sudo apt-get update |
System odczyta nową zawartość pliku source.list i ściągnie listę plików z tego repo. Jeśli chcemy dokonać aktualizacji systemu czy pakietów wpisujemy:
sudo apt-get upgrade |
Jak mówiłem składnie polecenia apt-get jest prosta i jeśli mamy zanstalowaną polską pomoc, to wpisując same polecenie bez parametrów uzykamy pozostałe parametry, które możemy użyć. Jedną z ważniejszych opcji jest instalowanie programów:
sudo apt-get install <nazwa pakietu> |
Oczywiście musimy znać nazwę konkretnego pakietu. Jeśli nie wiemy jaka ona jest możemy ją poszukać. Do tego służy polecenie:
apt-cache search <szukana fraza> |
APT posiada również inne opcje, które są również w menu Pakiet w Synaptic'u. Np.:
- remove - usuwanie pakietów
- autoremove - usuwanie osieroconych pakietów, pozostałości po odinstalowanych programach
- purge - usuwanie pakietów wraz z ich konfiguracją (usuwa konfigurację z katalogu /etc, ale nie ustawienia z katalogu domowego)
- source - ściąganie źródła programu
- dist-upgrade - aktualizuje dystrybucję, jeśli nowa jest dostępna
- autoclean - czyści pamięć podręczną APT.
A co ze dodawaniem kluczy publicznych, mógłby ktoś spytać. A od tego istnieje polecenie apt-key. Składnia polecenia jest następująca:
apt-key <akcja> <klucz> |
Za akcję możemy wstawić następujące opcje:
- add - dodaj klucz do bazy, po tej opcji dodajemy ścieżkę dostępu do pliku klucza.
- del - usuwamy klucz z bazy, po opcji dajemy numer identyfikacyjny klucza.
- export - eksportujemy plik klucza na konsole. Jeśli chcemy skierować dane do pliku dajemy:
sudo apt-key export [numer klucza] > plik_klucza.asc |
- Plik o nazwie plik_klucza.asc zostanie stworzony w bierzącym katalogu (w razie błędów z zapisem pliku, sprawdź czy masz uprawnienia do zapisu w bieżącym katalogu).
- list - wyświetla listę zainstalowanym kluczy publicznych do repozytoriów.
To są podstawowe opcję, które na początek powinny nam w zupełności wystarczyć. Jest w systemie jeszcze jeden menadżer pakietów. Nazywa się Aptitude.
Jednak jego toporny interfejs pseudograficzny na pewno zniechęci początkujących użytkowników Ubuntu. Aczkolwiek jeśli się go już opanuje i znajdziemy się w sytuacji kiedy nie mamy środowiska graficznego może trochę ułatwić życie.

Z tych trojga menadżerów moim ulubionym jest Synaptic. Interfejs tego programu jest przemyślany i wygodny. Łatwo wyszukuje się w nim pakiety i informacji o nim. Jak dla mnie jest to podstawowe narzędzie do zarządzania oprogramowaniem na komputerze.