Instalacja programów w Linuksach cz. 5
11.07.2011 | aktual.: 11.12.2011 00:46
Odcinek czwarty mojego parówkowego serialu zakończyłem słowami O tym skąd wziąć adresy repozytoriów, czy można instalować jeszcze prościej, czym jest sprawa zależności, oraz co ciekawego pod kątem instalacji czyha jeszcze w linuksach, będzie w następnym odcinku, już niebawem.Pora na realizację.
Adresy repozytoriów (na przykładzie Ubuntu) Świeżo zainstalowany system adresy repozytoriów już ma - to rzecz chyba oczywista, bo bez tego systemu nie dałoby się zaktualizować. W razie potrzeby, ekipa Ubuntu.pl publikuje listę zalecanych adresów repozytoriów dla każdego kolejnego wydania Ubuntu, wraz z instrukcją umieszczenia tych adresów: http://ubuntu.pl/forum/viewtopic.php?f=142&t=37494. Czasem trzeba sobie coś dodać do adresów, aby zainstalować program, którego w dotychczasowych repozytoriach nie ma. Przykładem jest Kadu. Dodawać repozytoria można też z poziomu świetnego programu Ubuntu Tweak. Wystarczy tam sobie wyklikać, jakie dodatkowe aplikacje chce się mieć dostępne do instalacji - można np. dodać sobie adres serwera, na który wrzucane są pełne wersje Firefoksa, aby mieć jego najnowszą wersję w Ubuntu 10.10 (standardowe repo dla tej wersji systemu zapewnia tylko Fx w wersji 3.X). Przy dodawaniu nowych adresów repozytoriów TRZEBA UWAŻAĆ! I to bardzo. Oto powody: 1. Dodanie repozytoriów przeznaczonych dla nowszej (w szczególności testowej) wersji systemu, albo dla innego systemu (np. repo Debiana dodane do Ubuntu) może spowodować bałagan z wersjami paczek, piekło zależności i inne nieprzyjemne konsekwencje. 2. Dodanie repozytoriów zawierających niestabilne (testowe/rozwojowe) oprogramowanie może wykoleić środowisko graficzne albo jakąś inną funkcjonalność, a może i nawet cały system. Trzeba np. uważać, żeby zamiast stabilnych wersji Firefoksa nie dodać sobie wersji deweloperskich - mocno testowych. 3. Dodając adres nieznany, niesprawdzony, potencjalnie możemy sobie dodać adres serwera zawierającego aplikacje niebezpieczne: szpiegujące, zarobaczone itp.
Czyli co, nie ruszać adresów repo? Nie, bez przesady, tego nie twierdzę. Trzeba tylko za każdym razem zastanowić się co robimy. W praktyce, dla Zwykłego Użytkownika Ubuntu, sprowadza się to do użycia adresów ze wspomnianej wyżej listy na polskim forum Ubuntu, dodaniu adresu do Kadu i ewentualnie do nowej wersji Firefoksa lub Wine, co można wyklikać w Ubuntu Tweak.
Zależności
W opisach niektórych programów windowsowych na DobrychProgramach można znaleźć taką (lub podobną) uwagę:
Uwaga! Do poprawnego działania programu potrzebny jest pakiet Microsoft .NET Framework 3.5 do pobrania w dziale PROGRAMY -> Dodatki -> Biblioteki i inne dodatki (patrz: Programy powiązane).
Sami musimy zadbać o to, aby ten framework był w odpowiedniej wersji w systemie. Z drugiej strony zaś, instalator programu windowsowego zawiera różne potrzebne biblioteki. W efekcie, każdy program trzyma swoje biblioteki w swoim folderze, nawet, jeśli przed nim 5 innych programów już wrzuciło na dysk tę bibliotekę. W systemach linuksowych jest trochę inaczej. Dany program występuje w postaci jednej lub kilku paczek. Paczka ta (paczki te) ma(ją) wpis odnośnie tego jakich bibliotek w jakiej wersji ten program potrzebuje - coś na zasadzie tej uwagi o frameworku na DP. Biblioteka ta znajduje się w innej paczce, która, jeśli brak jej w systemie, wówczas też musi być zainstalowana. Plus jest taki, że dana biblioteka występuje w systemie tylko raz, bo każdy program ma do niej dostęp. Minus jest natomiast taki, że robi się tego wszystkiego dużo: dużo paczek w repo, każda potrzebuje po kilka bibliotek, programów. Te wymagania nazywane są właśnie zależnościami. Wyobraźmy sobie, że aby zainstalować paczkę "DŻ", potrzebne są paczki "D" i "Ż", a żeby zainstalować paczkę "Ż", trzeba zainstalować paczkę "Z" i "RZ", przy czym "RZ" wymaga "R" i "Z". Biorąc to razem do kupy, mamy zainstalować w odpowiedniej kolejności paczki "D","R","Z", "RZ", "Ż" i w końcu "DŻ". Sytuacja się jeszcze bardziej zamiesza, jeżeli paczkę "Z" mamy już zainstalowaną. Ale Całego tego bałaganu pilnują menadżery pakietów. I to jest to, co tygryski lubią najbardziej w instalacji na linuksach. Użytkownik (administrator) komputera wydaje tylko polecenie w stylu "zainstaluj DŻ", a menadżer pakietów sam sprawdza jakie zależności ma program "DŻ", z jakich serwerów trzeba wymagane paczki ściągnąć i w jakiej kolejności je instalować. I tu przechodzimy do kolejnego punktu.
Czy można instalować jeszcze prościej?
To zależy co kto lubi. Ja twierdzę, że tak i jestem pewien, że nie jestem w tym odosobniony. :) Prostsze niż klikanie w Centrum Oprogramowania Ubuntu, Synaptiku, Ubuntu Tweak, YaST2 (czy jaki tam mamy menadżer pakietów), jest zainstalowanie programu z konsoli.
Przykład szósty - konsolowa instalacja Opery, różne systemy W komentarzach do poprzednich odcinków serialu Czytelnicy podali przykłady komend konsolowych do instalacji Opery na ich dystrybucjach Linuksa (wszystkie zakładają obecność serwerów Opery na listach repozytoriów i wydanie polecenia jako administrator systemu): Mandriva: urpmi opera Gentoo: emerge opera dowolny debianoid (i nie tylko): aptitude install opera lub apt‑get install opera
Z Arch Wiki spisałem natomiast takie coś: Opera is part of the official Arch Linux [community] repository. # pacman -S opera
Pacman, Urpmi, Emerge, Apt, Aptitude to nazwy menadżerów pakietów. Wszystkie te polecenia są konsolową realizacją idei "zainstaluj DŻ". No prościej to się chyba nie da!
Co ciekawego pod kątem instalacji czyha jeszcze w linuksach?
Na to będzie przykład siódmy, ósmy i dziewiąty, a to plan na kolejny odcinek.