Download: KnowHowApt
Transkrypt
Download: KnowHowApt
Apt dla pakietów RPM KNOW HOW Apt w systemie Suse Linux PAKIETY Z RÓŻNYCH BAJEK Program Apt z dystrybucji Debian jest uważany przez wiele osób za najlepsze narzędzie do zarządzania pakietami oprogramowania linuksowego. Ale nie wszyscy posiadają dystrybucję Debian. W tym artykule opisujemy, jak korzystać z wydajnego narzędzia Apt do zarządzania pakietami w dystrybucjach opartych na infrastrukturze RPM. MIRKO ALBRECHT A pt (Advanced Packaging Tool) jest prostym i wydajnym narzędziem do instalowania oprogramowania w dystrybucji Debian. Pakiety przeznaczone dla Debiana są dostępne w wersji binarnej i jako kod źródłowy, a użytkownicy uaktualniają całe systemy, łącząc się przez Internet z centralnym repozytorium. System zarządzania pakietami automatycznie uwzględnia zależności wykryte podczas uaktualniania. Z wygodnych debianowskich narzędzi mogą obecnie korzystać także posiadacze dystrybucji opartych na pakietach RPM. W tym artykule opisujemy – na przykładzie dystrybucji Suse – jak się do tego zabrać. Instalacja i konfiguracja Jeśli zamierzamy korzystać z oprogramowania Apt w dystrybucji Suse, musimy dysponować szybkim połączeniem z Internetem, ponieważ narzędzie to pobiera pakiety do instalowania właśnie z Internetu. Posia- dacze dystrybucji Suse 9.2 muszą przede wszystkim zainstalować dwa pakiety: apt-0.5.15cnc6-rb.suse092.6.i586.rpm oraz apt-libs-0.5.15cnc6-rb.suse092.6.i586.rpm. Oba można znaleźć pod adresem [1]. Aby móc korzystać z interfejsu graficznego oprogramowania Apt, należy dodatkowo zainstalować pakiet synaptic-0.55.3-0.suse092.rb1.i586.rpm. Po zainstalowaniu oprogramowania edytujemy plik o nazwie sources.list (patrz Ramka „Repozytoria”). W pliku tym można określić, z których repozytoriów zamierzamy korzystać. Repozytoria w rozumieniu programu Apt są zbiorami pakietów oprogramowania i są zazwyczaj podzielone na kategorie. Repozytoria, z których będziemy pobierać oprogramowanie do systemu, określamy w pliku sources.list umieszczonym w katalogu /etc/apt. Bardziej przezorni starają się nie konfigurować podzbiorów o takich nazwach jak kde-unstable czy kernel-of-the-day. Ponadto z rozwagą należy WWW.LINUX-MAGAZINE.PL Ramka 1: Apt w starszych wersjach Suse Apt może działać nie tylko w najnowszej wersji popularnej dystrybucji Suse (9.2), ale także w dowolnej innej, począwszy od 7.3. Architektura AMD64 jest obsługiwana w wersjach 9.x. Pakiety apt, apt-libs oraz synaptic można znaleźć pod adresem [1]. Pod podanym adresem wystarczy zamienić numer wersji 9.2 na numer odpowiadający posiadanej wersji Suse. Do uruchomienia programu Apt na wersjach wcześniejszych niż 8.2 konieczne jest zainstalowanie dodatkowego pakietu lua-5.0.2-rb1.i586.rpm. W starszych wersjach Apt działa nieco inaczej niż w Suse 9.x. Na przykład, w dystrybucjach Suse w wersjach 7.3-8.1 plik apt.conf jest zapisany bezpośrednio w katalogu /etc/apt/. NUMER 16 MAJ 2005 61 KNOW HOW Apt dla pakietów RPM zumienie zasady jego działania nie jest proste. Przedstawimy tutaj działanie tego programu z punktu widzenia użytkowników potrafiących korzystać z oprogramowania YaST i narzędzia do uaktualnień online YOU. Bardziej szczegółowe informacje o działaniu programu Apt można znaleźć na stronach podręcznika tego narzędzia. Po skonfigurowaniu pliku sources.list w katalogu /etc/apt, w wierszu poleceń wpisujemy polecenie apt-get update. Powoduje ono przetestowanie bieżącej struktury oprogramowania, zlokalizowanie zasobów danych określonych w pliku sources.list oraz wyświetlenie opcji uaktualnień. Aby zainstalować lub usunąć określony pakiet, w wierszu poleceń wpisujemy odpowiednio apt-get install packagename lub apt-get remove packagename. Co odważniejsi mogą pokusić się o uaktualnienie całego systemu poleceniem apt-get upgrade. Operacji tej nie należy wykonywać, jeśli nie jesteśmy pewni jej wyników. Oparte na złych założeniach albo nieostrożne decyzje mogą spowodować zainstalowanie pakietów wątpliwego Rysunek 1: Polecenie „apt -s upgrade” pozwala przejrzeć planowane czynności przed rozpoczę- Ramka 2: Repozytoria ciem uaktualniania. podchodzić do zawartości repozytorium usr-local-bin. Jeśli bieżąca postać interfejsu graficznego zupełnie nam odpowiada, nic nie stoi na przeszkodzie, żeby usunąć podzbiór X.org. Jako root otwieramy plik /etc/apt/apt.conf.d/ gpg-checker.conf i wartość zmiennej GPG:: CHECK zamieniamy z true na false. Spowoduje to, że Apt będzie akceptował niepodpisane pakiety. W przeciwnym razie wielu pakietów w ogóle nie da się załadować ze względu na brak sygnatur. Przezorni użytkownicy starają się nie uaktualniać jądra w automatyczny sposób. Aby zablokować jądro przed aktualizacjami, otwieramy plik /etc/apt/apt.conf.d/apt.conf i – w systemach z jądrem 2.6 – dodajemy następujący fragment: Hold {"kernel-default"; U "kernel-source"; }; Natomiast posiadacze jądra w wersji 2.4 powinni zastosować wpis: Hold {"k_deflt"; "kernel-source";U }; Osoby, które nie przepadają za konfigurowaniem przez edytowanie plików tekstowych, mogą zmienić ustawienia za pomocą interfejsu graficznego Synaptic; w programie tym wystarczy wybrać Ustawienia | Repozytoria. Za pomocą wiersza poleceń Apt udostępnia liczne funkcje zarządzania oprogramowaniem komputera. Jednak zro- Tabela 1: Ważniejsze metody wywołania programu apt-get apt-get update Przeanalizuj zawartość dostępnych repozytoriów oprogramowania apt-get upgrade Automatycznie uaktualnij wszystkie dostępne i zainstalowane pakiety apt-get -s upgrade Wyświetl informacje o planowanym uaktualnieniu apt-get -s install Wyświetl informacje o planowanej instalacji apt-get install nazwa_pakietu Instaluj pakiet (i pakiety, od których on zależy) apt-get remove nazwa_pakietu Usuń pakiet 62 NUMER 16 MAJ 2005 WWW.LINUX-MAGAZINE.PL Repozytorium zawsze zawiera jedną ścieżkę dostępu do plików binarnych (RPMS.nazwa), a drugą do pakietów z kodem źródłowym (SRPMS.nazwa). Do działania systemu potrzebujemy tylko pierwszej z nich; druga przyda się wtedy, gdy zajdzie potrzeba skorzystania z kodu źródłowego oprogramowania. Przykładową listę repozytoriów można pobrać pod adresem [2]; plik ten można przekopiować do katalogu /etc/apt i zmienić jego nazwę na sources.list. Oto stosunkowo konserwatywna konfiguracja sources.list, niepowodująca uaktualniania każdego dostępnego programu do najnowszej wersji: # # Repository created by: aptateU (version 0.69.0) # At: Fri Jan 28 17:16:18 MET 2005 # More info about aptate at:U http://apt4rpm.sourceforge.net # rpm ftp://ftp.gwdg.de/pub/linux/U suse/apt SuSE/9.2-i386rpmkeys baseU funktronics update misc mozillaU suser-rbossuser-guru suser-gbvU packman packman-i686wineU suse-projects kde3-stable security Każdy może sam przejrzeć liczne repozytoria i dodać zasoby odpowiednio do preferencji. Apt dla pakietów RPM pochodzenia lub w wersji niestabilnej. Przed taką operacją zawsze należy wykonać polecenie apt-get -s upgrade, które spowoduje wyświetlenie pakietów planowanych do uaktualnienia; pomoże to uniknąć problemów z niespełnionymi zależnościami. Narzędzie apt-get doskonale nadaje się natomiast do instalowania np. oficjalnych poprawek zabezpieczeń albo oprogramowania z drzewa kde-stable. Natomiast do bardziej zaawansowanych operacji warto użyć narzędzia graficznego Synaptic. Za pomocą programu Synaptic Jako użytkownik root instalujemy pakiet synaptic-0.55.3-0.suse092.rb1.i586.rpm (polecenie apt-get install synaptic). Założono tutaj, że w komputerze jest już zainstalowana biblioteka Gtk, albo w pliku sources.list istnieje wpis dla repozytorium base. W tym ostatnim przypadku Apt sam oferuje wymagane pakiety. Jeśli posiadamy stosunkowo nową wersję KDE z tzw. technologią vFolder, program uruchamiamy, klikając kolejno System | Menedżer pakietów (Synaptic). Po wprowadzeniu hasła root pojawia się okno, którego lewa część jest podzielona na podczęści, podobnie KNOW HOW lub Zaznacz do aktualizacji. Następnie na pasku narzędzi klikamy przycisk Zastosuj, co spowoduje pobranie i zainstalowanie pakietów. Jeśli zależy nam tylko na przejrzeniu nowych wersji (apt-get update), na pasku narzędzi klikamy przycisk Odśwież. W menu Ustawienia znajdziemy wiele opcji konfiguracyjnych, z których większość nie wymaga objaśnień. Żeby kontrolować, które pakiety przychodzą z którego repozyRysunek 2: Synaptic jest wygodnym interfejsem graficznym torium, warto dodatkowo zaprogramu Apt. znaczyć kolumnę Dział w zakładce Kolumny i czcionki okna Ustawienia | jak w programie YaST. Same pakiety wiPreferencje. Jeśli w różnych repozytoriach doczne są po prawej stronie. Zielony znadostępne są różne wersje danego pakietu, czek świadczy o tym, że dany program jest instalację wymaganej wersji możemy wyjuż zainstalowany. Jeśli dodatkowo widnieje musić poleceniem Pakiet | Wymuś wersję. tam gwiazdka, oznacza to, że dostępna jest Polecenie Pakiet | Zablokuj wersję uniemożnowsza wersja pakietu. Szczegółowe inforliwia nieopatrzne uaktualnienie pakietu, macje można znaleźć, klikając kolejno Poktóry zainstalowany jest już we właściwej moc | Opis ikon. wersji. Instalowanie i uaktualnianie pakietu przeW oknie programu Synaptic, w panelu po biega podobnie jak w programie YaST. Wylewej stronie, pakiety są pogrupowane webieramy żądany pakiet i w podręcznym medług kategorii. Poniżej znajdują się przycinu wskazujemy opcję Zaznacz do instalacji Rysunek 3: Informacje o najnowszych pakietach znajdziemy w serwisie Freshrpms. WWW.LINUX-MAGAZINE.PL NUMER 16 MAJ 2005 63 KNOW HOW Apt dla pakietów RPM instalacyjnych w związku z problemami licencyjnymi. Tradycyjnie pakiety takie trzeba byłoby pobrać z odpowiedniego serwisu [3], a następnie zainstalować. W związku z tym instalacja takich narzędzi jak DVD::RIP i rozmaitych odtwarzaczy DVD wiązała się z masowymi wycieczkami na fora dyskusyjne Rysunek 4: apt-iselect szybko odnajduje pakiety pasujące do z pytaniami o kolejność specyficznego słowa kluczowego. instalacji pakietów. Jednak dodanie repozytoski umożliwiające zmianę zawartości lewego riów packman i packman-i686 do listy sourpanelu. Przycisk Stan służy do sortowania ces.list sprowadza instalację programów Xine, zainstalowanych lub dostępnych pakietów MPlayer itp. do kilku kliknięć myszą w prona podstawie wybranych kryteriów. Przycisk gramie Synaptic. Własne umożliwia skonfigurowanie ustawień domyślnych tak, aby odpowiadały wymagaKruczki i sztuczki niom użytkownika. Apt bardzo ułatwia instalowanie oprogramowania, ale mimo to warto zapoznać się z kilkoma dobrymi radami, dzięki którym korzyPraktyczne zastosowania stanie z systemu zarządzania pakietami bęJak wspomnieliśmy, nie zaleca się aktualizadzie bezpieczniejsze. cji kompletnego systemu, chyba że dobrze Przed wykonaniem poważnego uaktualznamy zasadę działania programu Apt. Nowi nienia warto sprawdzić, jakie nowe pakiety użytkownicy powinni raczej ograniczyć się są dostępne. Informacje tego typu można do pobierania poprawek zabezpieczeń z reuzyskać w serwisie Freshrpms [4] (Rysunek pozytorium security albo najwyżej do uaktu3). Aby zlokalizować odpowiednią stronę, do alniania wybranych pakietów. Apt potrafi zaadresu serwisu dodajemy oznaczenie #suse92 oszczędzić dużo pracy nawet przy wykonylub #suse73, w zależności od wykorzystywawaniu tych względnie prostych czynności, nej wersji. o czym łatwo przekonać się, analizując nastęOd czasu do czasu zdarza się, że próba inpujące przykłady. stalacji pewnego pakietu, np. abc, nie udaje Załóżmy, że wciąż posiadamy Suse w wersię i widzimy komunikat, że pakietsji 9.0 lub 9.1 i trochę obawiamy się skut-xyz.so.2 wymaga abc. Programowi Apt trzeba ków kompletnego uaktualnienia do najnowwtedy pomóc znaleźć brakujący pakiet, wpiszej wersji. Mimo tego bardzo zależy nam sując apt-get install abc paket-xyz.so.2. na zainstalowaniu najnowszej wersji środoWygodniejsze w użyciu jest narzędzie wiska KDE, bo zastosowano w nim wiele apt-iselect. Łączy ono funkcje apt-cache senowych rozwiązań i ulepszeń. Ręczna instaarch i apt-get install, bardzo ułatwiając pralacja pakietów Suse przyprawiła nas o załacę. Program ten można zainstalować z repomanie nerwowe, bo co chwilę pojawiały się zytorium suser-oc2pus, wpisując apt install komunikaty o niespełnionych zależnoapt-iselect. ściach. Wyszukujemy więc słowa „kde” Na przykład wpisanie apt-iselect libgnutlsw programie Synaptic. Otrzymujemy listę -extra.so.11 powoduje wyświetlenie informacji, pakietów, które musimy zainstalować i uakże wymagany plik znajduje się w pakiecie gnutualnić. Teraz wystarczy tylko wybrać intetls. Można przejrzeć informacje o takim pakieresujące nas pakiety. Po zastosowaniu cie (suma kontrolna, zależności, opis, pliki, zmian Apt automatycznie obsłuży wszelkie wielkość itp.), a nawet od razu go zainstalować. usunięte lub niedawno zainstalowane paTo także dobra metoda wyszukiwania pakiekiety KDE i uwzględni zależności. tów według słów kluczowych, np. „chess”. PoPodobnie postępujemy, gdy mamy nową lecenie wyświetla listę pakietów, na podstawie wersję Suse o numerze 9.2, ale bez wielu proktórej można zainstalować np. popularny frongramów multimedialnych, ponieważ firma ton KDE do gry w szachy knights. Novell/ Suse nie umieściła ich na nośnikach 64 NUMER 16 MAJ 2005 WWW.LINUX-MAGAZINE.PL Kiedy zachodzi konieczność usunięcia pakietu, pamiętamy o tym, że apt-get remove pakiet usuwa tylko sam program, a nie pakiety zainstalowane dla spełnienia zależności. Aby usunąć także programy, od których pakiet zależy, wydajemy polecenie apt-get -D remove pakiet. O programie Apt dla Suse można przeczytać w specjalnie przygotowanym dokumencie HOWTO [5]. Dostępne są także inne materiały związane z różnymi aspektami pracy programu Apt w dystrybucjach opartych na pakietach RPM. Podsumowanie Przygotowanie systemu Apt do pracy w dystrybucji Suse nie jest trudne ani czasochłonne. Świetny i wydajny fronton graficzny Synaptic bardzo ułatwia pracę, szczególnie początkującym. Kompletna aktualizacja systemu wymaga nieco większego doświadczenia, ponieważ w infrastrukturze Apt repozytoria są zdecentralizowane. W razie wątpliwości lepiej zrezygnować z aktualizowania właściwie działającego systemu niż narazić się na problemy wynikające np. z konfliktów miedzy pakietami lub niespełnionymi zależnościami. Oczywiście z programu Apt mogą korzystać nie tylko użytkownicy Suse. Narzędzie to jest dostępne w zasobach większości komercyjnych i otwartych dystrybucji opartych na menedżerze pakietów RPM. Procesy instalacji i konfiguracji bardzo przypominają kroki opisane w niniejszym artykule; inna może być liczba dostępnych repozytoriów. Szczegółowe informacje można znaleźć pod adresami [6] i [7]. ■ INFO [1] Apt dla RPM: http://ftp.gwdg.de/pub/linux/suse/apt/Suse/9.2-i386/RPMS.suser-rbos [2] Przykładowy plik sources.list: http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.2-i386/examples/ [3] PackMan: http://packman.links2linux.org/ [4] Freshrpms: http://linux01.gwdg.de/apt4rpm/freshrpms.html [5] Apt dla Suse: http://linux01.gwdg.de/apt4rpm/apt4suse.html [6] Apt dla Red Hata: http://apt.42h.de/index.en.shtml [7] Apt4rpm: http://apt4rpm.sourceforge.net/