▲ Zwiń komunikat

Wpłać dowolną kwotę na rozwój LinuxPortal.pl

Jeśli LinuxPortal.pl jest dla Ciebie ważnym miejscem w Internecie to prosimy Cię o wpłatę dowolnej kwoty na rozwój portalu.
Nawet 1 zł.
Bardzo dziękujemy!

Wybierz metodę wpłaty

« wróć do listy
Następny Wpis NA LIŚCIE (W DÓŁ)
Amarok 2.5 Beta KDEFamily.pl
4 osoby twierdzą:: warto przeczytać
Następny Wpis NA LIŚCIE (W GÓRĘ)
Książka "Linux. Biblia. Ubuntu, Fedora, Debian i 15 innych dystrybucji" trafiła już do przedsprzedaży! Księgarnia informatyczna Helion.pl
10 osób twierdzi: warto przeczytać

Trzecia część rozdziału nr 3 Zarządzanie pakietami z książki:
Ubuntu Serwer. Oficjalny podręcznik. Wydanie II

Zarządzanie pakietami w Ubuntu

Administrator każdej instalacji Ubuntu, zarówno serwerowej, jak i biurkowej, musi poznać podstawowe mechanizmy zarządzania pakietami. Ponieważ administrator musi znajdować nowe oprogramowanie w celu rozwiązywania określonych problemów, metadane w systemie pakietów mogą być dobrym punktem wyjścia. Kiedy administrator chce zainstalować nowe oprogramowanie, system zarządzania pakietami jest najlepszym sposobem realizacji takiego zadania. Oferowany w Ubuntu system pozwala użytkownikom na instalację i usuwanie oprogramowania, sprawdzanie dostępności aktualizacji i ich aktualizację - w szczególności dotyczy to aktualizacji bezpieczeństwa. Wreszcie, po wydaniu nowej wersji Ubuntu, system zarządzania pakietami pozwala na przeprowadzenie aktualizacji do nowszego wydania systemu.

Ubuntu oferuje różnorodne narzędzia przeznaczone do zarządzania pakietami. W biurkowej wersji systemu użytkownicy pracują z systemem zarządzania pakietami za pomocą małej ikony widocznej na pulpicie, która informuje o dostępności nowych wersji oprogramowania. Ponadto w systemie znajduje się aplikacja graficzna pozwalająca na instalację i usuwanie oprogramowania, a także graficzny program do zarządzania pakietami, o nazwie Synaptic, który pozwala użytkownikom na przeglądanie archiwów pakietów. Ponieważ wspomniane programy zostały szczegółowo omówione w książce Ubuntu. Oficjalny podręcznik. Wydanie V http://helion.pl/view/1201M/124/ubuop5.htm (również wydanej przez Helion), a niniejsza książka dotyczy serwerowego wydania Ubuntu, tutaj skoncentrujemy się na działających w powłoce narzędziach służących do przeglądania pakietów i zarządzania nimi.

Do zarządzania pakietami na wysokim poziomie większość administratorów wykorzystuje przede wszystkim narzędzia z rodziny APT. Oryginalnym narzędziem opracowanym do tego celu było apt-get. Aptitude to często stosowana alternatywa dla narzędzia apt-get, która oferuje zarówno interaktywny interfejs, jak i większość funkcji znajdujących się w apt-get. Wiele poleceń przedstawionych w pozostałej części rozdziału, a wywołujących aptitude może być używanych również z apt-get. Sposób działania i dane wyjściowe obydwu narzędzi są takie same bądź jedynie z niewielkimi różnicami. Podstawowe różnice między wymienionymi narzędziami dotyczą sposobów rozwiązywania skomplikowanych problemów z zależnościami pakietów, co na pewno nie ma żadnego wpływu na całkiem proste operacje omówione w tym rozdziale.

Zapewnienie aktualności systemu

Każdy system Ubuntu w pliku /etc/apt/sources.list przechowuje listę repozytoriów pakietów. Wspomniany plik zawiera listę „miejsc”, w których systemy zarządzania pakietami - początkowo po prostu APT, a teraz także kilka innych narzędzi - będą szukały uaktualnionych wersji oprogramowania. Źródła oprogramowania mogą zawierać repozytoria lokalne w systemie plików, na płycie CD umieszczonej w napędzie komputera i - jak ma to miejsce w większości sytuacji - pod określonym adresem sieciowym. W celu uaktualnienia listy pakietów należy wydać polecenie apt-get update lub aptitude update.

Wymienione polecenia powodują pobranie uaktualnionych list pakietów dla wszystkich repozytoriów wymienionych w pliku /etc/apt/sources.list i sprawdzają wszystkie podpisy kryptograficzne tych uaktualnień względem kluczy znajdujących się w systemie. W nowym systemie sprawdzane są tylko repozytoria pakietów Ubuntu zawierające uaktualnienia bezpieczeństwa.

Instalacja nowej wersji pakietu jest bardzo prosta i sprowadza się do wykonania polecenia aptitude safe-upgrade, które jest odpowiednikiem polecenia apt-get update znanego bardziej doświadczonym użytkownikom. Argument safe-upgrade próbuje uaktualnić wszystkie zainstalowane pakiety do ich najnowszych dostępnych wersji. Zainstalowane pakiety nie będą usuwane, o ile nie były używane, choć w celu spełnienia wszystkich zależności uaktualnianego pakietu mogą zostać zainstalowane inne.

Narzędzie apt może zostać skonfigurowane do automatycznego pobierania i uaktualniania pakietów do ich najnowszych dostępnych wersji. To jest atrakcyjna propozycja dla administratorów, którzy nie chcą logować się do systemu tylko w celu przeprowadzenia jego aktualizacji. Jednak automatyczna aktualizacja jest podatna na błędy wynikające z istnienia określonego oprogramowania w systemie lub nawet wprowadzenia pewnych zmian w konfiguracji. W takich przypadkach proces automatycznej aktualizacji pakietów może zakończyć się pozostawieniem systemu w stanie niestabilnym bądź spowodować brak działania systemu. Dlatego też uaktualnienia automatyczne nie są zalecane przez autorów i nie będą omówione w książce.

Wyszukiwanie i przeglądanie

Wcześniej stosowanym podstawowym sposobem wyszukiwania nowych pakietów było użycie programu o nazwie dselect. Obecnie użytkownicy biurkowych wydań Ubuntu stosują graficzne narzędzie do dodawania i usuwania programów, a także graficzny menedżer pakietów o nazwie Synaptic. Użytkownicy konsoli mają kilka dodatkowych opcji. (W nowych wydaniach Ubuntu wprowadzono nowe narzędzie Centrum oprogramowania Ubuntu pozwalające na instalację i usuwanie oprogramowania - przyp. tłum.)

Pierwszą z nich jest prosty program o nazwie apt-cache, dostarczający danych statystycznych dotyczących pakietów. Przykładowo: jeżeli użytkownik będzie chciał znaleźć program stronicujący wyświetlane dane, taki jak less, wówczas można wydać następujące polecenie:

$ apt-cache search pager less
less - Pager program similar to more
wdiff - Compares two files word by word
console-log - Puts a logfile pager on virtual consoles
gdesklets-data - Applets for gdesklets
jless - A file pager program, similar to more(1) supporting ISO2022
most - Pager program similar to more and less
nagios-plugins-basic - Plugins for the nagios network monitoring
and management system

Jak można zobaczyć na powyższej liście, polecenie apt-cache search zwróciło osiem „trafionych” wyników wyszukiwania dwóch słów kluczowych pager i less. Dane wyjściowe są przedstawione w postaci listy nazw pakietów wraz z krótkim opisem. Słowo kluczowe było szukane na pełnej liście pakietów, proces wyszukiwania skoncentrował się na nazwach pakietów, opisach krótkich i długich, choć te ostatnie nie znajdują się w danych wyjściowych polecenia. Użytkownik może dowiedzieć się więcej na temat określonego pakietu, ponieważ po użyciu argumentu show narzędzie apt-cache wyświetli więcej informacji na temat wskazanego pakietu, na przykład jak przedstawiono poniżej:

$ apt-cache show most
Package: most
Priority: optional
Section: universe/text
Installed-Size: 172
Maintainer: Ubuntu MOTU Developers 
Original-Maintainer: Benjamin Mako Hill 
Architecture: i386
Version: 5.0.0a-1
Depends: libc6 (>= 2.7), libslang2 (>= 2.0.7-1)
Filename: pool/universe/m/most/most_5.0.0a-1_i386.deb
Size: 48092
MD5sum: e089c00005b536e1b8848b7087df2bae
SHA1: 4f4ab395f340be4804732452aa112007916f90cb
SHA256:
ccf50fb49270e7ddf7735da23e699afcd11dcfc8e241973bb17ad03bf49e6f4a
Description: Pager program similar to more and less
Most is a paging program that displays, one windowful at a time, the
contents of a file on a terminal. A status line at the bottom of the
screen displays the file name, the current line number, and the
percentage of the file so far displayed.
.
Unlike other paging programs, most is capable of displaying an
arbitrary number of windows as long as they all fit on the screen,
and different windows could be used to view the same file in
different positions.
.
In addition to displaying ordinary text files, most can also display
binary files as well as files with arbitrary ascii characters.
Bugs: mailto:ubuntu-users@lists.ubuntu.com
Origin: Ubuntu

Czytelnik może dostrzec, że całkiem spora ilość informacji przedstawionych powyżej pokrywa się z informacjami umieszczonymi w pakiecie kodu źródłowego oraz w pliku control pakietu binarnego (co zostało dokładnie omówione w poprzednim podrozdziale). Oczywiście, w tym miejscu są wyodrębniane metadane zaszyte w pakietach.

Większość danych wyjściowych omawianego polecenia stanowi treść długiego opisu pakietu, która została pominięta we wcześniejszym przykładzie. Dane zawierają jeszcze kilka innych interesujących pól, na przykład Original-Maintainer informujące o osobie przygotowującej dany pakiet w systemie Debian lub pole Maintainer informujące o osobie bądź grupie, z którą można się kontaktować w sprawach dotyczących pakietu. Ponadto znaleźć można tutaj informacje o wielkości pakietu, sumach kontrolnych (na przykład MD5Sum, SHA1, SHA256) zapewniających sposób identyfikacji danej wersji pakietu, co pozwala na upewnienie się, że pakiet został pobrany prawidłowo i nie został zmodyfikowany przez nieupoważnioną osobę.

Po wywołaniu bez argumentów narzędzie Aptitude dostarcza użytkownikowi interfejs tekstowy bazujący na bibliotece Curses, który pozwala na bardziej interaktywne przeglądanie wszystkich dostępnych pakietów. Użytkownicy znających interfejs programu Synaptic mogą to potraktować jako tekstową wersję interfejsu menedżera Synaptic. W tym trybie działania wiele wyników wyszukiwania można przeglądać za pomocą klawiszy kursora i „zaznaczać” różne programy do instalacji.

Przed kontynuacją przedstawiania kolejnych opcji służących do wyszukiwania i przeglądania pakietów warto wspomnieć o witrynie internetowej http://packages.ubuntu.com/. Interfejs zastosowany na wymienionej witrynie pozwala użytkownikom na wyszukiwanie pakietów w podobny sposób jak przy użyciu omówionych tutaj narzędzi, choć oferuje kilka dodatkowych, użytecznych opcji. Wymieniona witryna internetowa pozwala więc użytkownikowi na wyszukanie określonego pliku w dowolnym pakiecie Ubuntu. Zwykle użytkownicy mogą wyszukiwać pliki jedynie w „posiadanych” pakietach, czyli pakietach zainstalowanych w systemie. Przykładowo: jeśli użytkownik potrzebuje określonego pliku nagłówkowego lub biblioteki współdzielonej, a zna jedynie nazwę pliku, wówczas może przeszukać wszystkie pakiety dostępne w archiwum Ubuntu, używając wymienionej witryny internetowej pod kątem znanej nazwy pliku.

Instalacja i usuwanie

Instalacja i usuwanie pakietów to kolejne proste zadanie, które administrator będzie często wykonywał. W celu instalacji pakietu można wywołać polecenie apt-get lub aptitude w sposób podobny do przedstawionego wcześniej. Jednak instalacja, w przeciwieństwie do wyszukiwania, wymaga uprawnień użytkownika root. Zalecanym sposobem uzyskania tych uprawnień jest użycie polecenia sudo. Ponieważ poprzedzanie każdego wydawanego w tej sekcji polecenia poleceniem sudo byłoby żmudne, przyjęto założenie, że bieżący użytkownik to root. Warto pamiętać, że logowanie się jako użytkownik root nie jest uznawane za najlepsze rozwiązania. W celu instalacji programu most wystarczy wydać poniższe polecenie (trzeba pamiętać o uprawnieniach użytkownika root):

# aptitude install most
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Odczyt dodatkowych informacji o stanie
Inicjalizacja stanów pakietów... Gotowe

Następujące NOWE pakiety zostaną zainstalowane:
libslang2 most
0 pakietów aktualizowanych, 2 instalowanych, 0 do usunięcia i 0 nieaktualizowanych.
Do pobrania 509kB archiwów. Zajęte po rozpakowaniu: 1323kB.
Kontynuować? [Y/n/?] y
Zapisywanie dodatkowych informacji o stanie... Gotowe
Zaznaczenie poprzednio niezaznaczonego pakietu libslang2.
(Odczytywanie bazy danych ... 125915 plików i katalogów obecnie zainstalowanych.)
Rozpakowanie libslang2 (z .../libslang2_2.1.3-3ubuntu1_i386.deb) ...
Konfigurowanie libslang2 (2.1.3-3ubuntu1) ...
Zaznaczenie poprzednio niezaznaczonego pakietu most.
(Odczytywanie bazy danych ... 125915 plików i katalogów obecnie zainstalowanych.)
Rozpakowanie most (z .../most_5.0.0a-1_amd64.deb) ...
Przetwarzanie wyzwalaczy dla man-db...
Konfigurowanie most (5.0.0a-1) ...

Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Odczyt dodatkowych informacji o stanie
Inicjalizacja stanów pakietów... Gotowe
Zapisywanie dodatkowych informacji o stanie... Gotowe

Z powyższych danych wyjściowych wynika, że wraz z programem most została zainstalowana biblioteka libslang2. W tym konkretnym przypadku narzędzie aptitude „zauważyło” brak wymaganej biblioteki S-Lang. Narzędzie poprosiło więc użytkownika o potwierdzenie instalacji pakietu dodatkowego (na co użytkownik się zgodził), następnie pobrało oba wymagane pakiety, zainstalowało i skonfigurowało je w systemie.

Usunięcie pakietu również zalicza się do prostych operacji. Jeżeli użytkownik zdecyduje się na usunięcie programu most z systemu, wówczas wystarczy po prostu wydać polecenie:

# aptitude remove most

Po wydaniu powyższego polecenia biblioteka libslang2 nie zostanie usunięta (ponieważ użytkownik nie poprosił o jej usunięcie). Natomiast w przypadku próby usunięcia samej biblioteki libslang2 narzędzie aptitude poinformuje użytkownika o konieczności usunięcia również wszystkich pakietów zależnych od wymienionej biblioteki. W tym konkretnym systemie będzie to tylko program most, ale w przypadku innych pakietów lub w innym systemie konieczne może być usunięcie większej liczby innych pakietów. Taki rodzaj zarządzania zależnościami oznacza, że użytkownik nie powinien (i tak łatwo nie może) usuwać pakietów podstawowych czy istotnych dla funkcjonowania systemu. Pakiety „nieużywane” mogą być usunięte za pomocą polecenia apt-get autoremove.

Wprawdzie w powyższych przykładach użyto narzędzia aptitude, ale instalację i usuwanie pakietów można przeprowadzać również za pomocą narzędzia niższego poziomu o nazwie dpkg. W rzeczywistości w tle narzędzie aptitude po prostu wywołuje polecenie dpkg i używa go do wykonywania zadań. Narzędzie aptitude - a także apt-get - zawsze w pierwszej kolejności pobierze pakiety i rozwiąże wszelkie problemy z zależnościami i dopiero wtedy zleci odpowiednie zadanie narzędziu dpkg. W przypadku posiadania już zainstalowanych pakietów zależnych pakiet DEB można zainstalować bezpośrednio za pomocą dpkg, używając opcji -i, a następnie nazwy pliku jako argumentu. Przykładowo pakiet DEB z programem most można zainstalować, wydając poniższe polecenie:

$ dpkg -i most_5.0.0a-1_i386.deb

Narzędzie dpkg sprawdzi zależności; w przypadku ich niespełnienia zostanie wygenerowany komunikat błędu. Jednak narzędzie nie będzie automatycznie pobierało lub instalowało pakietów, ponieważ nie ma wbudowanych do tego funkcji. Usunięcie pakietu most za pomocą dpkg następuje po wydaniu polecenia dpkg -r most.

Operacje na zainstalowanych pakietach

Narzędzie dpkg zapewnia dziesiątki metod sprawdzania, wyszukiwania i przeprowadzania operacji na zainstalowanych pakietach. Zawiera bazę danych informacji o pakietach zainstalowanych w systemie. W celu pobrania ogólnych informacji o pakiecie można wydać następujące polecenie:

$ dpkg -l most
Wybór=U=Nieznany/I=Instalacja/R=Usunięcie/P=Wyczyszczenie/H=Zatrzymanie
| Stan=N=Brak/I=Zainst./C=Skonfig./U=Rozpak./F=Nieskonfig./H=Wpół-zainst./W=Wyzw-czek/T=Wyzw-zapl
|/ Błędy?=(brak)/H=Wstrzym./R=Do przeinst. (Stan,Błędy:wielk.lit.=źle)
||/ Nazwa 	Wersja  	Opis
+++-====================-====================-
======================================
ii most   	5.0.0a-1  	Pager program similar to more and 
less

Wydanie powyższego polecenia bez żadnych argumentów (dpkg -l) spowoduje wyświetlenie informacji podstawowych dotyczących stanu instalacji, nazwy, wersji i opisu każdego pakietu znajdującego się w systemie.

Kolejne proste zadanie to pobranie listy plików znajdujących się w pakiecie. W przypadku posiadania niezainstalowanego pakietu DEB listę plików pakietu można wyświetlić po wydaniu polecenia dpkg --contents, jak pokazano poniżej:

$ dpkg --contents /var/cache/apt/archives/most_5.0.0a-1_i386.deb
drwxr-xr-x root/root         0 2008-05-06 12:06 ./
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/bin/
-rwxr-xr-x root/root     59940 2008-05-06 12:06 ./usr/bin/most
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/share/
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/share/man/
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/share/man/man1/
-rw-r--r-- root/root	  5912 2008-05-06 12:06 ./usr/share/man/man1/most.1.gz
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/share/doc/
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/share/doc/most/
-rw-r--r-- root/root      2989 2007-09-09 12:14 ./usr/share/doc/most/changelog.gz
-rw-r--r-- root/root      5544 2008-05-06 12:06 ./usr/share/doc/most/copyright
-rw-r--r-- root/root      3335 2007-09-06 10:15 ./usr/share/doc/most/README
-rw-r--r-- root/root      1386 2006-05-01 13:51 ./usr/share/doc/most/lesskeys.rc
-rw-r--r-- root/root       492 2006-05-01 13:51 ./usr/share/doc/most/most-fun.txt
-rw-r--r-- root/root      3086 2006-05-01 13:51 ./usr/share/doc/most/most.rc
-rw-r--r-- root/root      2028 2008-05-06 12:06 ./usr/share/doc/most/changelog.Debian.gz
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/lib/
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/lib/mime/
drwxr-xr-x root/root         0 2008-05-06 12:06 ./usr/lib/mime/packages/
-rw-r--r-- root/root        94 2008-05-06 12:06 ./usr/lib/mime/packages/most

Pobranie podobnych informacji, ale dotyczących zainstalowanych pakietów jest możliwe po wydaniu polecenia dpkg -L. Z drugiej strony, jeśli użytkownik ma plik i chciałby dowiedzieć się, do którego pakietu należy dany plik, może użyć polecenia dpkg -S w celu wykonania zapytania do bazy danych zawierającej informacje o wszystkich pakietach. Przykładowo:

dpkg -S /usr/bin/most
most: /usr/bin/most

Nie powinno być zaskoczeniem, że plik binarny /usr/bin/most należy do pakietu o nazwie most. Ponieważ powyższe polecenie powoduje przeszukanie listy plików każdego pakietu, zakończenie operacji może zająć nieco czasu.

Operacje na repozytoriach

Najlepszym sposobem instalacji oprogramowania w „sposób Ubuntu” na pewno nie jest po prostu pobranie pakietu DEB i jego „ręczna” instalacja za pomocą narzędzia dpkg. Jednak narzędzie apt-get zawiera informacje o pakietach, które zna. Podczas gdy narzędzie dpkg pracuje z pakietami, narzędzie apt-get działa z repozytoriami pakietów zawierających informacje na temat wielu różnych pakietów, ich wersji i zależności. Dlatego też w celu zarządzania pakietami za pomocą apt-get do systemu trzeba dodać nie sam pakiet, ale zawierające go repozytorium. To zadanie jest wykonywane poprzez dodanie lub edycję listy „źródeł oprogramowania”. Wprawdzie biurkowa wersja Ubuntu zawiera narzędzie graficzne przeznaczone do operacji na repozytoriach, ale zadanie można bardzo łatwo wykonać ręcznie; w większości tak też będzie wykonywane.

Wspomniany już kilkakrotnie w tym rozdziale plik sources.list znajduje się w katalogu /etc/apt/ w każdym systemie Ubuntu i Debian. Wymieniony plik składa się z serii następujących wierszy:

deb http://us.archive.ubuntu.com/ubuntu/  lucid main universe
deb-src http://us.archive.ubuntu.com/ubuntu/  lucid main universe

Na samym początku wiersza będzie znajdował się znak # oznaczający komentarz lub słowo deb, lub deb-src. W ten sposób można rozróżnić repozytoria kodu źródłowego i pakietów binarnych. Drugi element wiersza to adres podany w postaci URI. Trzeci element to nazwa dystrybucji, którą dokładniej można określić jako wersję dystrybucji. W powyższym przykładzie wersja dystrybucji to lucid, co odnosi się do wydania Ubuntu 10.04 Lucid Lynx (Świetlisty Ryś). Pozostałe argumenty tworzą listę komponentów. Komponenty dostarczane w podstawowych repozytoriach Ubuntu zostaną dokładnie omówione w dalszej części rozdziału.

Proces dodawania repozytorium najlepiej zilustrować na przykładzie. Jeżeli Czytelnik chce zawsze posiadać oprogramowanie Bazaar w najnowszej wersji, instalację trzeba przeprowadzić z pominięciem standardowych repozytoriów Ubuntu, ponieważ w ich przypadku oprogramowanie jest uaktualniane zgodnie z cyklami wydawania systemu. (Bazaar to sponsorowany przez firmę Canonical projekt GNU systemu kontroli wersji - przyp. tłum.)
Na szczęście programiści tworzący Bazaar dostarczają własne „osobiste repozytorium pakietów” - ten temat będzie omówiony na końcu tego rozdziału. Na swojej witrynie podają wiersze, które trzeba dodać do pliku sources.list:

deb http://ppa.launchpad.net/bzr/ubuntu  lucid main
deb-src http://ppa.launchpad.net/bzr/ubuntu  lucid main

Po dodaniu powyższych wierszy i pierwszym uaktualnieniu listy repozytoriów na ekranie zostanie wyświetlony komunikat błędu informujący o braku odpowiednich kluczy kryptograficznych, za pomocą których można potwierdzić, że wskazane repozytorium naprawdę należy do programistów oprogramowania Bazaar:

W: Błąd GPG: http://ppa.launchpad.net lucid
Release: Następujące podpisy nie mogły zostać zweryfikowane z powodu
braku klucza publicznego: NO_PUBKEY FE8956A73C5EE1C9

Powyższy błąd można bardzo łatwo naprawić poprzez pobranie wskazanego klucza z zaufanego źródła, na przykład witryny internetowej dostawców PPA (ang. Personal Package Archives), zapisanie go w pliku (w omawianym przykładzie ten plik to /tmp/plik_klucza), sprawdzenie poprawności klucza, a następnie jego dodanie do bazy danych kluczy za pomocą polecenia:

apt-key add - < /tmp/plik_klucza
OK

W podręczniku polecenia apt-key można znaleźć szczegółowe informacje na temat zarządzania kluczami repozytoriów za pomocą wymienionego polecenia.

Domyślne repozytoria Ubuntu

Większość pakietów, których użytkownik będzie potrzebował, została już przygotowana dla Ubuntu. Wynika to z faktu, że będąc kontynuatorem Debiana, Ubuntu zapewnia dostęp do większości najpopularniejszego oprogramowania w postaci pakietów umieszczonych w repozytoriach Ubuntu.

Te dziesiątki tysięcy pakietów podzielono na różne sekcje i komponenty. Użytkownik może je włączać i wyłączać przez odpowiednie ustawienie listy komponentów w pliku sources.list. Ponieważ ma to istotny wpływ na oprogramowanie, które będzie można zainstalować w systemie, warto poznać poszczególne komponenty i samemu zdecydować, z jakich źródeł będzie się pobierać oprogramowanie. W Ubuntu Serwer dostępne są następujące komponenty oprogramowania: main (oprogramowanie open source obsługiwane przez firmę Canonical), restricted (oprogramowanie open source obsługiwane przez społeczność), universe (własnościowe sterowniki dla urządzeń) oraz multiverse (oprogramowanie ograniczone prawami autorskimi lub problemami natury prawnej). Poniższe opisy poszczególnych komponentów powstały na bazie informacji dostępnych na witrynie internetowej Ubuntu:

  • Main
    Podstawowe komponenty dystrybucji zawierające wolne oprogramowanie, które może być bez przeszkód rozpowszechniane i jest w pełni obsługiwane przez zespół Ubuntu. Tutaj znajdują się najpopularniejsze i najsolidniejsze aplikacje typu open source, z których pewna część jest już zainstalowana w systemie. Oprogramowanie znajdujące się w main obejmuje ręcznie wybraną listę aplikacji, które programiści Ubuntu, społeczność i użytkownicy uważają za ważne, a zespoły odpowiedzialne za bezpieczeństwo i dystrybucję Ubuntu chcą obsługiwać. Instalując oprogramowanie z main, użytkownik ma pewność, że będzie ono obsługiwane, a także uaktualniane w postaci poprawek bezpieczeństwa.
  • Restricted
    Komponent restricted jest zarezerwowany dla oprogramowania, które jest bardzo często używane i tym samym obsługiwane przez zespół Ubuntu, nawet jeśli nie jest rozpowszechniane na w pełni otwartej licencji. Warto pamiętać, że zespół Ubuntu może nie być w stanie zapewnić pełnej obsługi tego oprogramowania na przykład z braku możliwości poprawienia kodu źródłowego. W takim przypadku Ubuntu może przekazać informacje o problemach do rzeczywistych autorów oprogramowania.
  • Universe
    W komponencie universe można znaleźć niemal każde oprogramowanie open source i inne dostępne na mniej otwartych licencjach. Znajdujące się tutaj oprogramowanie jest budowane automatycznie na podstawie różnych publicznych źródeł. Kompilacja tego oprogramowania odbywa się z uwzględnieniem bibliotek i narzędzi z komponentu main, a więc powinno być bez przeszkód instalowane obok oprogramowania pochodzącego z main. Warto pamiętać, że w przypadku oprogramowania z universe nie ma żadnej gwarancji dostarczania poprawek bezpieczeństwa i zapewnienia wsparcia technicznego.
  • Multiverse
    Komponent multiverse zawiera oprogramowanie niebędące wolnym, co oznacza, że warunki licencji tego oprogramowania nie spełniają polityki licencji komponentu main. Sprawdzenie warunków licencji dostępnego tutaj oprogramowania jest obowiązkiem użytkownika. To oprogramowanie nie jest obsługiwane i zwykle nie są dla niego dostarczane poprawki bądź uaktualnienia. Użytkownik używa tego oprogramowania na własną odpowiedzialność.

Używanie innych repozytoriów

Jak Czytelnik mógł się przekonać wcześniej podczas dodawania repozytorium Bazaar, użytkownicy mają możliwość używania różnych pakietów pochodzących z innych repozytoriów, nie tylko z dostarczanych przez Ubuntu. Przykładowo użytkownik może chcieć instalować nowe wersje wybranych programów lub bibliotek z opracowywanych wersji Ubuntu, ale równocześnie może nie chcieć uaktualniania wszystkich pakietów do najnowszych wersji.

Półoficjalne repozytoria Ubuntu zawierające „backporty” to doskonałe źródło oprogramowania. (W użytym tutaj znaczeniu backport to przeniesienie oprogramowania z nowszego wydania systemu do starszego - przyp. tłum.) Mogą one zawierać wersje oprogramowania z opracowywanych właśnie wydań Ubuntu, które zostały przystosowane do instalacji w stabilnych wydaniach systemu. Backporty można dodać do systemu poprzez ręczną instalację pakietu DEB za pomocą narzędzia dpkg lub po dodaniu dodatkowych wpisów do pliku sources.list. Więcej informacji na ten temat można znaleźć na witrynie internetowej Ubuntu pod adresem https://help.ubuntu.com/community/UbuntuBackports.

Jednym z powodów, dla którego wielu użytkowników wybiera właśnie taką metodę - to znaczy ręczne pobieranie pakietu, a następnie jego instalację za pomocą dpkg - zamiast używania repozytorium, jest ograniczenie w sposobie działania apt-get. Chodzi o to, że apt-get oraz inne narzędzia zarządzania pakietami zawsze będą instalowały najnowszą dostępną wersję każdego pakietu, który jest domyślnie dostępny. Dlatego też po dodaniu do pliku sources.list repozytorium z back-portami lub opracowywanymi właśnie wersjami oprogramowania podczas procesu aktualizacji zainstalowane zostaną najnowsze wersje wszystkich pakietów z takiego repozytorium. W przypadku małych repozytoriów (takich jak opisane wcześniej Bazaar PPA zawierające jedynie oprogramowanie Bazaar i ściśle powiązane z nim pakiety) nie stanowi to żadnego problemu. Jednak po dodaniu ogromnego repozytorium z wieloma pakietami (na przykład repozytorium z backportami bądź opracowywanymi właśnie wydaniami Ubuntu), efekt będzie inny od pożądanego (to znaczy zaktualizowane zostaną wszystkie pakiety z repozytorium), mimo że użytkownik chciał uaktualnić tylko kilka pakietów.

Ogólnie rzecz biorąc, rozwiązaniem takiego problemu jest zastosowanie tzw. techniki „pinning” lub inaczej „apt pinning”. Technika pinning oferuje niezwykle potężne możliwości, ale w swej zaawansowanej postaci może być bardzo skomplikowana. Dlatego też pełne omówienie techniki pinning wykracza poza temat niniejszej książki. Warto jednak zapoznać się z poniższym przykładem, gdzie użytkownik ma zainstalowaną wersję Karmic systemu, ale chce, by narzędzie apt-get preferowało pakiety wersji Lucid. W tym celu należy utworzyć plik /etc/apt/preferences.d zawierający następujące sekcje:

Package: *
Pin: release a=karmic
Pin-Priority: 700

Package: *
Pin: release a=lucid
Pin-Priority: 600

Każdy akapit opisuje jedno wydanie, a gwiazdka umieszczona na początku oznacza zastosowanie reguł względem wszystkich pakietów. W ostatnim wierszu każdego akapitu znajduje się priorytet wskazujący względne położenie (w przedstawionym tutaj przykładzie wydanie Karmic jest bardziej preferowane niż Lucid) oraz wagę każdego z wydań. Wagę można dostosować do własnych potrzeb, a więc pakiety będą instalowane bądź nie na podstawie ustalonej wagi, oczywiście poza sytuacjami specjalnymi. Więcej informacji na temat tej techniki można znaleźć na stronach podręcznika apt_preferences, a także w kilku miejscach dokumentacji wiki Ubuntu i Debian.

Uaktualnienie całego systemu

Ostatnim zadaniem, które każdy administrator będzie musiał kiedyś przeprowadzić, jest pełne uaktualnienie systemu do nowszego wydania. W przypadku biurkowego wydania Ubuntu domyślnym sposobem uaktualnienia systemu do nowszego wydania jest użycie Menedżera aktualizacji. Jednak ten program został zaprojektowany specjalnie z myślą o środowisku graficznym. Ponieważ proces uaktualnienia można bardzo łatwo przeprowadzić także z poziomu powłoki, takie rozwiązanie prawdopodobnie będzie odpowiedniejsze dla większości serwerów.

W przeszłości aktualizacja systemu do nowszego wydania była procesem składającym się z dwóch etapów. W pierwszym administrator uaktualniał listę repozytoriów (zostało to dokładnie przedstawione już wcześniej), tak aby odwołania do starszego wydania były zastąpione odwołaniami do nowszego wydania. Przykładowo podczas uaktualniania z wydania Hardy Heron do Gutsy Gibbon w pliku sources.list wszystkie wystąpienia słowa hardy należało zastąpić słowem gutsy. Następnie wydanie polecenia aptitute update (zgodnie z przedstawionym wcześniej opisem) powodowało uaktualnienie lokalnej bazy danych zawierającej metadane. Na tym etapie wspomniana baza danych posiadała informacje o wszystkich pakietach nowej dystrybucji.

Drugi etap to wydanie polecenia aptitude full-upgrade, które w przeciwieństwie do omówionego wcześniej safe-upgrade spowodowało uaktualnienie wszystkich pakietów do ich najnowszych wersji oraz w zależności od potrzeb usunięcie bądź instalację pakietów dodatkowych. Opcja full-upgrade jest mniej konserwatywna niż safe-upgrade i oznacza większe niebezpieczeństwo wystąpienia niepożądanych efektów ubocznych. Jednak ma możliwość uaktualnienia pakietów, których nie uaktualni opcja safe-upgrade. Z powodu możliwości wystąpienia niepożądanych efektów podczas uaktualniania systemu z jednego wydania do drugiego użycie opcji full-upgrade było zalecanym sposobem przeprowadzania aktualizacji. W chwili obecnej obie wymienione metody nie są już obsługiwane.

W bieżących wydaniach Ubuntu prawidłowym sposobem przeprowadzenia aktualizacji systemu do nowszego wydania jest użycie programu do-release-upgrade. Wymieniony program to po prostu skrypt automatyzujący przedstawiony powyżej proces i inteligentnie obsługujący pewne kłopotliwe sytuacje. W tej chwili to jedyny obsługiwany sposób uaktualnienia Ubuntu Serwer do nowszego wydania.

Tworzenie lustrzanej kopii systemu

Jednym z zadań często wykonywanych przez wielu administratorów systemów jest utworzenie lustrzanej kopii systemu w innym komputerze. Ponieważ całe oprogramowanie w domyślnej instalacji Ubuntu pochodzi z pakietów, to dzięki systemowi zarządzania pakietami wspomniane zadanie jest łatwe do wykonania. Za pomocą narzędzia dpkg można utworzyć listę wszystkich pakietów zainstalowanych w danym komputerze:

# dpkg --get-selections > lista_pakietów

Powyższe polecenie spowoduje utworzenie listy pakietów, która następnie zostanie zapisana w pliku o nazwie lista_pakietów. Kolejny krok to przeniesienie tego pliku do drugiego komputera i użycie jako listy pakietów do instalacji:

# dpkg --set-selections < lista_pakietów

Ostatni krok to instalacja wskazanych pakietów w systemie docelowym. W tym celu należy wydać poniższe polecenie:

# apt-get dselect-upgrade

dselect-upgrade odwołuje się do poprzednika apt-get, czyli programu dselect. Jego zadaniem jest po prostu uaktualnienie pakietów w systemie oraz instalacja wszelkich nowych pakietów „oznaczonych” przez dpkg --set-selections do uaktualnienia.

cdn.

Pierwsza część:
Wprowadzenie do zarządzania pakietami
http://www.linuxportal.pl/artykuly/wprowadzenie-do/.../1-id102366

Druga część:
Pakiety systemu Debian
http://www.linuxportal.pl/artykuly/pakiety-systemu/.../2-id102714

Udostępnij informacje o Wpisie w sieciach społecznościowych:
Polub LinuxPortal.pl:

Komentarze:

Nie ma jeszcze komentarzy. Dodaj swój komentarz.
logo:
Aby dodać komentarz: zaloguj się ikona LinuxPortal.pl ikona Facebook.com ikona Google+

Wpisy z blogów/ TOP 30dni

Pliki /etc/shadow, /etc/security/passwd i /etc/group - Dodawanie nowych użytkowników - cz.3 Fragmenty artykułów z książek wydawnictwa Helion.pl
41 osób twierdzi: warto przeczytać
Polecenia useradd i newusers - Dodawanie nowych użytkowników - cz.5 Fragmenty artykułów z książek wydawnictwa Helion.pl
39 osób twierdzi: warto przeczytać
Linux for Woman Beings KDEFamily.pl
35 osób twierdzi: warto przeczytać
Zgłoś pomysł rozbudowy LinuxPortal.pl Blog firmowy LinuxPortal.pl
33 osoby twierdzą: warto przeczytać
Wpisy z blogów więcej:
logo: jack
Wpis z Bloga: jack
2 lat temu

Instalacja sterowników do Wi-Fi

instalacja....

Pokaże na moim przykładzie jak zainstalować sterowniki do Wi-Fi :) Już na samym początku system nas informuje co należy zainstalować ipw2200... w trakcie ładowania: $ lspci -k można jeszcze sprawdzić jaką kartę mamy i nie tylko: 1. To instalujemy ...ipw2200 ...

20 osób twierdzi: warto przeczytać
logo: BlogLinux
Wpis z Bloga: BlogLinux
7 lat temu

Tworzenie bootowalnego pendrive

Tworzenie rozruchowego pendrive odgrywa kluczową rolę w przypadku małych laptopów (tzw netbooków) które nie posiadają wbudowanego napędu CD/DVD, ale również jest bardzo wygodne w przypadku maniaków i testerów nowych systemów Linux (takich jak ja). Wynikają z tego same korzyści: wiadoma ...

19 osób twierdzi: warto przeczytać
W związku z wejściem w życie 25 maja 2018 roku nowego Rozporządzenia o Ochronie Danych Osobowych znanym jako "RODO" pragniemy poinformować Cię,
w jaki sposób przetwarzane są dane osobowe pozostawiane przez Ciebie podczas korzystania z LinuxPortal.pl.
Zapoznaj się z Polityką prywatności.

Klikając „Zamknij”, zamykasz ten komunikat i wyrażasz zgodę na przetwarzanie tych danych, w tym w plikach cookies, przez LinuxPortal.pl sp. z o.o. w celu realizacji usług zgodnie z Regulaminem.
Zamknij »