Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00363 007062 14666538 na godz. na dobę w sumie
Ubuntu Serwer. Oficjalny podręcznik. Wydanie II - książka
Ubuntu Serwer. Oficjalny podręcznik. Wydanie II - książka
Autor: , Liczba stron: 480
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-3300-5 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> systemy operacyjne >> ubuntu
Porównaj ceny (książka, ebook, audiobook).

Najlepszy podręcznik dla systemu Ubuntu Serwer!

Ubuntu to dystrybucja systemu operacyjnego Linux, która podbiła serca użytkowników domowych. Możliwość zapoznania się z systemem bez ingerencji w dotychczas używany system, banalna instalacja, wyjątkowo atrakcyjny interfejs użytkownika oraz małe wymagania to tylko niektóre atuty tego systemu. Autorzy postanowili pójść za ciosem i przygotowali wersję dla serwerów. Co sprawia, że jest wyjątkowa? Co ją odróżnia od innych dystrybucji? Czy warto ją zainstalować?

Na te pytania znajdziesz odpowiedź w jedynym oficjalnym podręczniku poświęconym dystrybucji Ubuntu w wersji serwerowej. Autorzy prezentują sposób instalacji systemu oraz podstawowe operacje administracyjne. Po szybkim i pełnym konkretnych informacji wstępie zajmiesz się zarządzaniem zainstalowanym oprogramowaniem, usługami dostarczanymi przez Ubuntu, zapewnieniem bezpieczeństwa w systemie oraz tworzeniem kopii zapasowej. Ponadto dowiesz się, jak monitorować pracę serwera, wirtualizować go oraz zwiększać odporność na awarie. Punkt po punkcie autorzy rozwieją wszystkie Twoje wątpliwości związane z systemem Ubuntu w tej wersji. Jeżeli nie jesteś pewien, czy to coś dla Ciebie, chcesz poznać ten system lub jesteś pasjonatem Linuksa - musisz mieć tę książkę!

Sprawdź możliwości Ubuntu Serwer!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Idź do • Spis treści • Przykładowy rozdział Katalog książek • Katalog online • Zamów drukowany katalog Twój koszyk • Dodaj do koszyka Cennik i informacje • Zamów informacje o nowościach • Zamów cennik Czytelnia • Fragmenty książek online Kontakt Helion SA ul. Kościuszki 1c 44-100 Gliwice tel. 32 230 98 63 e-mail: helion@helion.pl © Helion 1991–2011 Ubuntu Serwer. Oficjalny podręcznik. Wydanie II Autorzy: Kyle Rankin, Benjamin Hill Tłumaczenie: Robert Górczyński ISBN: 978-83-246-3300-5 Tytuł oryginału: Official Ubuntu Server Book, The (2nd Edition) Format: 170×230, stron: 464 Najlepszy podręcznik dla systemu Ubuntu Serwer! • Jak zainstalować Ubuntu Serwer? • Jak wykonywać typowe zadania administracyjne? • Jak zwiększyć odporność systemu na awarie? Ubuntu to dystrybucja systemu operacyjnego Linux, która podbiła serca użytkowników domowych. Możliwość zapoznania się z systemem bez ingerencji w dotychczas używany system, banalna instalacja, wyjątkowo atrakcyjny interfejs użytkownika oraz małe wymagania to tylko niektóre atuty tego systemu. Autorzy postanowili pójść za ciosem i przygotowali wersję dla serwerów. Co sprawia, że jest wyjątkowa? Co ją odróżnia od innych dystrybucji? Czy warto ją zainstalować? Na te pytania znajdziesz odpowiedź w jedynym oficjalnym podręczniku poświęconym dystrybucji Ubuntu w wersji serwerowej. Autorzy prezentują sposób instalacji systemu oraz podstawowe operacje administracyjne. Po szybkim i pełnym konkretnych informacji wstępie zajmiesz się zarządzaniem zainstalowanym oprogramowaniem, usługami dostarczanymi przez Ubuntu, zapewnieniem bezpieczeństwa w systemie oraz tworzeniem kopii zapasowej. Ponadto dowiesz się, jak monitorować pracę serwera, wirtualizować go oraz zwiększać odporność na awarie. Punkt po punkcie autorzy rozwieją wszystkie Twoje wątpliwości związane z systemem Ubuntu w tej wersji. Jeżeli nie jesteś pewien, czy to coś dla Ciebie, chcesz poznać ten system lub jesteś pasjonatem Linuksa – musisz mieć tę książkę! • Historia projektu Ubuntu • Instalacja systemu i proces uruchamiania Ubuntu • System plików i administrowanie systemem • Zarządzanie pakietami oprogramowania • Automatyzacja procesu instalacji • Konfiguracja serwera DNS, WWW • Uruchomienie serwera poczty elektronicznej • Konfiguracja serwera baz danych • Umożliwienie dostępu zdalnego do serwera – OpenSSH • Bezpieczeństwo w Ubuntu • Wykrywanie włamań do systemu • Monitorowanie pracy serwera • Wirtualizacja – KVM, VMware Server • Konfiguracja macierzy RAID • Rozwiązywanie typowych problemów • Tryb ratunkowy i odzyskiwanie • Przydatne zasoby Ubuntu Server Sprawdź możliwości Ubuntu Serwer! Rozdział 1 Spis treści Przedmowa ......................................................................................................................17 O autorach .......................................................................................................................23 Wprowadzenie ................................................................................................................25 Witamy w Ubuntu Serwer .................................................................................................................25 Wolne oprogramowanie, open source i Linux ..................................................................................26 Wolne oprogramowanie i GNU ....................................................................................................26 Linux ...............................................................................................................................................27 Open source ...................................................................................................................................28 Krótka historia projektu Ubuntu .......................................................................................................29 Mark Shuttleworth .........................................................................................................................29 The Warthogs .................................................................................................................................30 Co oznacza słowo Ubuntu? ...........................................................................................................32 Utworzenie Canonical ...................................................................................................................33 Społeczność Ubuntu ......................................................................................................................33 Obietnice i cele Ubuntu ....................................................................................................................34 Cele ideologiczne ...........................................................................................................................35 Realizacja celów i zasady postępowania .......................................................................................36 Cele techniczne ..............................................................................................................................37 Canonical i fundacja Ubuntu .............................................................................................................39 Canonical, Ltd. ...............................................................................................................................39 Usługi i wsparcie techniczne oferowane przez Canonical ..........................................................40 Fundacja Ubuntu ...........................................................................................................................41 Historia Ubuntu Serwer ....................................................................................................................41 Prosty, bezpieczny i obsługiwany .....................................................................................................43 8 Spis treści Rozdział 1. Instalacja ......................................................................................................47 Pobierz Ubuntu ..................................................................................................................................48 Ekran rozruchowy ..............................................................................................................................49 Partycjonowanie dysku ......................................................................................................................50 Co to jest partycja? ........................................................................................................................51 Przewodnik — cały dysk ...............................................................................................................53 Przewodnik — cały dysk i ustawienie LVM ................................................................................53 Ręcznie ...........................................................................................................................................54 Przeznaczenie serwera .......................................................................................................................58 Konsola instalatora .............................................................................................................................60 Ponowne uruchomienie systemu ......................................................................................................60 Rozdział 2. Zasadnicza administracja systemem ........................................................61 Podstawowa administracja powłoką ..................................................................................................62 Poruszanie się po systemie ............................................................................................................62 Właściciele plików .........................................................................................................................64 Sprawdzenie działających procesów .............................................................................................65 Edycja plików .................................................................................................................................67 Uzyskanie uprawnień użytkownika root .......................................................................................67 Proces uruchamiania Ubuntu ............................................................................................................68 Program rozruchowy GRUB .........................................................................................................68 Proces uruchamiania jądra ............................................................................................................69 /sbin/init ..........................................................................................................................................70 Usługi .............................................................................................................................................76 Hierarchia systemu plików ................................................................................................................80 Sieć ......................................................................................................................................................85 Pliki konfiguracyjne sieci ...............................................................................................................85 Podstawowe programy sieciowe ...................................................................................................87 Rozdział 3. Zarządzanie pakietami ...............................................................................89 Wprowadzenie do zarządzania pakietami .........................................................................................90 Ogólny opis pakietów ....................................................................................................................90 Czym są pakiety? ...........................................................................................................................91 Podstawowe funkcje zarządzania pakietami .................................................................................92 Zaawansowane funkcje systemów zarządzania pakietami ...........................................................95 Pakiety systemu Debian ....................................................................................................................96 Pakiety kodu źródłowego ..............................................................................................................97 Pakiety binarne ..............................................................................................................................99 Zarządzanie pakietami w Ubuntu ...................................................................................................100 Zapewnienie aktualności systemu ...............................................................................................100 Wyszukiwanie i przeglądanie ......................................................................................................101 Instalacja i usuwanie ....................................................................................................................103 Operacje na zainstalowanych pakietach .....................................................................................105 Operacje na repozytoriach ..........................................................................................................106 Spis treści 9 Domyślne repozytoria Ubuntu ...................................................................................................108 Używanie innych repozytoriów ..................................................................................................109 Uaktualnienie całego systemu .....................................................................................................110 Tworzenie lustrzanej kopii systemu ...........................................................................................111 Tworzenie własnych pakietów ........................................................................................................111 Przebudowanie pakietu ...............................................................................................................112 Nowe wersje upstream ................................................................................................................113 Tworzenie pakietu zupełnie od początku ...................................................................................114 Hosting własnych pakietów .........................................................................................................115 Rozdział 4. Zautomatyzowane instalacje Ubuntu .....................................................117 Metoda preseeding ...........................................................................................................................118 Podstawowa konfiguracja metody preseed dla płyty CD-ROM ...............................................119 Opcje sieciowe .............................................................................................................................122 Partycjonowanie ...........................................................................................................................124 Pakiety i serwery lustrzane ..........................................................................................................128 Ustawienia użytkownika ..............................................................................................................130 Program rozruchowy GRUB .......................................................................................................131 Pozostałe ustawienia ....................................................................................................................132 Dynamiczny preseeding ..............................................................................................................132 Kickstart ............................................................................................................................................135 Podstawowe konfiguracje Kickstart dla CD-ROM ....................................................................135 Zmiany i ograniczenia w Ubuntu Kickstart ................................................................................139 Wykonywanie własnych poleceń w trakcie instalacji ................................................................141 Instalacja za pomocą serwera PXE .................................................................................................141 DHCP ...........................................................................................................................................142 TFTPD .........................................................................................................................................143 Konfiguracja pxelinux ..................................................................................................................143 Sieć ...............................................................................................................................................145 Testowanie serwera PXE ............................................................................................................146 Dostosowanie zautomatyzowanych instalacji do własnych potrzeb .............................................147 Wiele plików Kickstart ................................................................................................................148 Kody Boot Cheat ..........................................................................................................................149 Wybór DHCP ..............................................................................................................................150 Wybór DHCP przez podsieć ......................................................................................................152 Rozdział 5. Najczęściej spotykane rodzaje serwerów Ubuntu ................................153 Serwer DNS .....................................................................................................................................154 Instalacja BIND ...........................................................................................................................155 Konwencje Ubuntu ......................................................................................................................155 Caching Name Server .................................................................................................................156 Główny serwer DNS ...................................................................................................................156 Zapasowy serwer DNS ................................................................................................................159 Zarządzanie BIND za pomocą rndc ...........................................................................................160 10 Spis treści Serwer WWW ..................................................................................................................................161 Instalacja serwera WWW ............................................................................................................162 Konwencje serwera Apache w Ubuntu ......................................................................................162 apache2ctl .....................................................................................................................................165 Dokumentacja Apache .................................................................................................................166 WordPress — przykładowe środowisko LAMP .........................................................................167 Serwer poczty ...................................................................................................................................169 Instalacja Postfix ..........................................................................................................................170 Typy konfiguracji Postfix .............................................................................................................170 Konwencje Ubuntu Postfix .........................................................................................................171 Administracja Postfix ...................................................................................................................172 Domyślny przykład Postfix ..........................................................................................................174 Zapasowy serwer poczty ..............................................................................................................177 Serwer szarej listy ........................................................................................................................178 Serwer POP/IMAP ...........................................................................................................................179 Włączenie Maildir w Postfix .......................................................................................................180 Instalacja Dovecot .......................................................................................................................180 Konwencje Ubuntu Dovecot ......................................................................................................181 Serwer OpenSSH .............................................................................................................................182 Konwencje OpenSSH w Ubuntu ................................................................................................182 Serwer DHCP ..................................................................................................................................183 Instalacja DHCP ..........................................................................................................................183 Konwencje DHCP w Ubuntu .....................................................................................................183 Konfiguracja DHCP ....................................................................................................................184 Serwer bazy danych .........................................................................................................................186 MySQL .........................................................................................................................................186 PostgreSQL ..................................................................................................................................189 Serwer plików ...................................................................................................................................195 Samba ...........................................................................................................................................195 NFS ...............................................................................................................................................197 Edubuntu i LTSP .............................................................................................................................199 Czym jest LTSP? .........................................................................................................................200 Informacje techniczne dotyczące procesu uruchamiania LTSP ...............................................201 Zalety LTSP .................................................................................................................................202 Inne sposoby wykorzystania ........................................................................................................202 Dostępność LTSP w Ubuntu ......................................................................................................203 Instalacja serwera LTSP ..............................................................................................................203 Konfiguracje serwera LTSP ............................................................................................................203 Procedura instalacji .....................................................................................................................204 Początkowa konfiguracja serwera LTSP .....................................................................................207 Początkowa konfiguracja klienta LTSP ......................................................................................207 Instalacja LTSP w serwerowym lub biurkowym wydaniu Ubuntu ..........................................209 Przypadki specjalne dotyczące LTSP .........................................................................................209 Zmiana adresu IP .........................................................................................................................212 Spis treści 11 Urządzenia lokalne w LTSP ........................................................................................................213 Dźwięk poprzez LTSP ................................................................................................................213 Rozdział 6. Bezpieczeństwo .........................................................................................215 Ogólne zasady bezpieczeństwa .......................................................................................................216 Sudo ..................................................................................................................................................217 Konfiguracja sudo ........................................................................................................................219 Aliasy sudo ....................................................................................................................................220 AppArmor .........................................................................................................................................221 Profile AppArmor .........................................................................................................................222 Tryby enforce i complain ............................................................................................................224 Konwencje AppArmor w Ubuntu ...............................................................................................225 Bezpieczeństwo SSH .......................................................................................................................225 sshd_config ...................................................................................................................................225 Uwierzytelnianie na podstawie kluczy .......................................................................................226 Ataki brutalnej siły w SSH ..........................................................................................................228 Zapory sieciowe ................................................................................................................................229 Polecenia ufw ...............................................................................................................................230 Składnia reguł ufw .......................................................................................................................231 Rozszerzone reguły ufw ..............................................................................................................232 Przykłady poleceń uwf .................................................................................................................233 Konwencje ufw w Ubuntu ..........................................................................................................237 Wykrywanie włamań ........................................................................................................................238 Uaktualnienie polityki systemu Tripwire ...................................................................................240 Inicjalizacja bazy danych systemu Tripwire ..............................................................................241 Uaktualnianie bazy danych Tripwire ..........................................................................................242 Konwencje Tripwire w Ubuntu ..................................................................................................243 Odpowiedź na incydenty .................................................................................................................244 Czy będzie oskarżenie? ...............................................................................................................244 Wyciągnięcie wtyczki ..................................................................................................................245 Utworzenie obrazu serwera ........................................................................................................245 Ponowne wdrożenie serwera ......................................................................................................245 Narzędzia do przeprowadzania analizy ......................................................................................246 Rozdział 7. Kopia zapasowa .........................................................................................249 Zasady tworzenia kopii zapasowej ..................................................................................................250 Tworzenie obrazu dysku ..................................................................................................................252 Kopia zapasowa bazy danych ...........................................................................................................253 MySQL .........................................................................................................................................254 PostgreSQL ..................................................................................................................................256 BackupPC .........................................................................................................................................257 Pamięć masowa dla BackupPC ...................................................................................................259 Konfiguracja domyślna BackupPC .............................................................................................259 Konfiguracja komputera klienta ..................................................................................................262 12 Spis treści Dodanie klienta w programie BackupPC ...................................................................................263 Wykonanie pierwszego zadania programu BackupPC ..............................................................264 Optymalizacja rsync .....................................................................................................................264 Przywracanie plików ....................................................................................................................270 Konwencje BackupPC w Ubuntu ...............................................................................................271 Rozdział 8. Monitorowanie ..........................................................................................273 Lokalne narzędzia monitorowania ..................................................................................................274 Smartmontools .............................................................................................................................274 sysstat ............................................................................................................................................275 Ganglia ..............................................................................................................................................278 Instalacja monitora Ganglia we wszystkich komputerach .........................................................279 Konfiguracja serwera Ganglia .....................................................................................................281 Instalacja interfejsu dla Ganglii ..................................................................................................283 Nagios ...............................................................................................................................................284 Instalacja GroundWork ...............................................................................................................285 Konwencje plików GroundWork ................................................................................................286 Konfiguracja początkowa .............................................................................................................287 Konfiguracja Nagios .....................................................................................................................288 Zatwierdzanie zmian w Nagios ...................................................................................................292 Konfiguracja listy osób kontaktowych ........................................................................................292 Włączenie powiadomień w Nagios .............................................................................................292 Dodanie procedury sprawdzania usługi w danym komputerze ................................................293 Dodanie nowego komputera .......................................................................................................294 Konfiguracja zaawansowana ........................................................................................................295 Więcej informacji na temat GroundWork ..................................................................................298 Rozdział 9. Wirtualizacja .............................................................................................299 KVM ..................................................................................................................................................300 Instalacja KVM ............................................................................................................................300 Włączenie obsługi KVM w BIOS-ie ...........................................................................................301 Instalacja pakietów KVM ............................................................................................................301 Konfiguracja sieci w KVM ..........................................................................................................302 Utworzenie nowej maszyny wirtualnej ......................................................................................304 Opcje dodatkowe narzędzia vmbuilder ......................................................................................307 Zarządzanie maszynami wirtualnymi za pomocą virsh ..............................................................309 Konsola graficzna KVM i narzędzia administracyjne ................................................................312 VMware Server ................................................................................................................................314 Instalacja serwera VMware .........................................................................................................314 Konfiguracja serwera VMware ....................................................................................................316 Skrypty init VMware Server .......................................................................................................317 Administracja serwerem VMware ..............................................................................................318 Utworzenie nowej maszyny wirtualnej w VMware ...................................................................319 Konsola dostępu VMware ...........................................................................................................320 Spis treści 13 Migawki maszyn wirtualnych ......................................................................................................321 Wstrzymanie maszyny wirtualnej ...............................................................................................322 Lokalny magazyn maszyn wirtualnych .......................................................................................322 Virtual Appliance .........................................................................................................................324 Ubuntu Enterprise Cloud ................................................................................................................324 Wymagania systemu UEC ..........................................................................................................325 Instalacja serwera interfejsu UEC ..............................................................................................325 Instalacja serwera węzła UEC ....................................................................................................326 Zarządzanie chmurą .....................................................................................................................326 Instalacja nowego obrazu serwera ..............................................................................................327 Uruchomienie nowego egzemplarza ..........................................................................................327 Rozdział 10. Odporność na awarie .............................................................................331 Ogólne zasady dotyczące odporności na awarie .............................................................................332 Macierz RAID ..................................................................................................................................333 Poziomy macierzy RAID .............................................................................................................334 Konfiguracja macierzy RAID w trakcie instalacji ......................................................................335 Konfiguracja macierzy RAID po instalacji .................................................................................338 Zarządzanie programową macierzą RAID .................................................................................340 Migracja z systemu bez macierzy do systemu z macierzą programową ...................................343 Migracja z macierzy RAID 1 do RAID 5 ...................................................................................346 Dodawanie napędu do macierzy RAID 5 ..................................................................................353 LVM ..................................................................................................................................................355 Informacje o systemie usługi woluminów logicznych (LVM) ...................................................355 Teoria i żargon LVM ...................................................................................................................356 Konfiguracja LVM .......................................................................................................................357 Ethernet Bonding ............................................................................................................................358 Klastry ...............................................................................................................................................362 Heartbeat ......................................................................................................................................364 DRBD ...........................................................................................................................................370 Rozdział 11. Rozwiązywanie problemów ...................................................................379 Ogólna filozofia dotycząca rozwiazywania problemów ..................................................................380 Zmniejszanie płaszczyzny problemu ..........................................................................................380 Szybkie i proste testy są lepsze od wolnych i skomplikowanych ..............................................381 Warto korzystać ze znanych rozwiązań ......................................................................................381 Dobra komunikacja ma kluczowe znaczenie podczas współpracy ...........................................382 Sposób działania systemu ............................................................................................................382 Udokumentowanie problemów i ich rozwiązań .........................................................................382 Z rozwagą korzystaj z internetu ..................................................................................................383 Unikaj ponownego uruchamiania komputera ............................................................................383 Rozwiązywanie problemów lokalnych ............................................................................................383 Komputer jest ociężały i wolno reaguje .....................................................................................384 Brak miejsca na dysku .................................................................................................................391 14 Spis treści Rozwiązywanie problemów związanych z siecią ............................................................................394 Serwer A nie może komunikować się z serwerem B .................................................................394 Czy można określić trasę do zdalnego komputera? ...................................................................398 Lokalne sprawdzenie komputera zdalnego ................................................................................400 Rozwiązywanie problemów związanych ze sprzętem komputerowym ........................................401 Błędy kart sieciowych ..................................................................................................................402 Sprawdzanie dysków twardych ...................................................................................................402 Sprawdzanie pamięci ...................................................................................................................403 Rozdział 12. Tryb ratunkowy i odzyskiwanie ............................................................405 Tryb ratunkowy w Ubuntu ..............................................................................................................406 Nie można zamontować systemu plików ....................................................................................408 Problem ze skryptami init ...........................................................................................................409 Wyzerowanie haseł ......................................................................................................................410 Ratunkowa płyta CD Ubuntu Serwer .............................................................................................410 Uruchomienie trybu ratunkowego ..............................................................................................411 Naprawa programu rozruchowego GRUB .................................................................................413 Naprawa głównego systemu plików ...........................................................................................413 Płyta Live CD z systemem Ubuntu Desktop .................................................................................414 Uruchomienie płyty Live CD .....................................................................................................414 Dodanie repozytorium Universe ................................................................................................414 Odzyskanie usuniętych plików ...................................................................................................415 Przywrócenie tablicy partycji ......................................................................................................417 Ratunek dla „padających” dysków ..............................................................................................418 Rozdział 13. Pomoc i zasoby ........................................................................................421 Płatna pomoc techniczna oferowana przez Canonical ...................................................................422 Fora internetowe ..............................................................................................................................423 IRC ....................................................................................................................................................423 Listy dyskusyjne ...............................................................................................................................427 Dokumentacja w internecie .............................................................................................................427 Dokumentacja w komputerze lokalnym .........................................................................................428 Lokalne społeczności Ubuntu .........................................................................................................429 Inne języki ........................................................................................................................................429 System odpowiedzi na pytania techniczne (Launchpad) ...............................................................430 Zgłaszanie błędów ............................................................................................................................430 Podsumowanie ..................................................................................................................................431 Rozdział 14. Podstawowa administracja systemem Linux .......................................433 Znaki specjalne powłoki ...................................................................................................................434 Wyrażenia regularne ....................................................................................................................435 Potokowanie i przekierowanie .........................................................................................................436 Potokowanie .................................................................................................................................436 Przekierowanie .............................................................................................................................439 Spis treści 15 Uprawnienia plików .........................................................................................................................441 chmod ...........................................................................................................................................442 Typy plików w systemie Linux ........................................................................................................443 Dowiązanie symboliczne .............................................................................................................443 Dowiązanie twarde ......................................................................................................................444 Pliki urządzeń ...............................................................................................................................445 Mechanizmy at i cron .......................................................................................................................446 at ...................................................................................................................................................446 cron ...............................................................................................................................................447 Dodatek Użyteczne wskazówki i sztuczki ..................................................................451 Uniknięcie wyświetlania polecenia grep w danych wyjściowych wygenerowanych przez grep ......452 Skrót do ścieżki dostępu ..................................................................................................................452 Wyczyszczenie dysku za pomocą pojedynczego polecenia ...........................................................453 Nieustanne uruchamianie polecenia ...............................................................................................453 Wywołanie hałasu, gdy serwer ponownie jest gotowy do działania .............................................454 Wyszukiwanie i zastępowanie tekstu w pliku ................................................................................454 Polecenia find i exec ........................................................................................................................454 Polecenia powłoki bash ze zbyt wieloma argumentami .................................................................455 Używanie historii powłoki bash ......................................................................................................455 Czy te pliki są identyczne? ..............................................................................................................456 Powrót do poprzedniego katalogu ...................................................................................................456 Dowiedz się, co uniemożliwia odmontowanie systemu plików ....................................................456 Wysłanie testowej wiadomości e-mail za pomocą telnet ...............................................................457 Łatwe współdzielenie klucza SSH ..................................................................................................458 Maksymalne wykorzystanie narzędzia dig ......................................................................................458 Skorowidz ......................................................................................................................461 Rozdział 3 Zarządzanie pakietami (cid:81) Wprowadzenie do zarządzania pakietami (cid:81) Pakiety systemu Debian (cid:81) Zarządzanie pakietami w Ubuntu (cid:81) Tworzenie własnych pakietów 90 Rozdział 3 (cid:81) Zarządzanie pakietami Na początku rozdziału zostaną przedstawione ogólne informacje na temat pakietów. Skoncen- trujemy się na podstawowych funkcjach pakietów oraz systemach zarządzania pakietami do- stępnych w większości dystrybucji GNU/Linux. Czytelnik dowie się, czym są pakiety oraz jakie są zadania systemów zarządzania pakietami. Wprawdzie przedstawione przykłady pochodzą z Ubuntu, ale analiza będzie dotyczyła ogólnej koncepcji kryjącej się za pakietami. Po solidnym omówieniu podstaw zostaną zaprezentowane pakiety projektu Debian — ten rodzaj pakietów jest stosowany w Ubuntu — a także pokrótce inne, odmienne rodzaje pakietów: kodu źródłowego oraz binarne. Natomiast w pozostałej części rozdziału skoncentrujemy się na zarządzaniu pakie- tami w Ubuntu za pomocą narzędzi powłoki. Wprawdzie wielu użytkowników biurkowej wersji Ubuntu zna procedurę uaktualnienia systemu, jednak w rozdziale będzie przedstawiona taka procedura, tyle że przeprowadzana bez użycia interfejsu graficznego. Czytelnik pozna podsta- wowe i bardziej zaawansowane sposoby używania systemów zarządzania pakietami, które wielu administratorów serwerów uzna za przydatne. Wreszcie ostatnie poruszone zagadnienie — tworzenie, modyfikowanie i rozprowadzanie własnych pakietów — będzie szczególnie intere- sowało zaawansowanych użytkowników i administratorów. Wprowadzenie do zarządzania pakietami W systemie Ubuntu — oraz innych środowiskach GNU/Linux — pakiety są podstawowym spo- sobem tworzenia, implementacji i instalacji oprogramowania. Niemal każda ważniejsza dystry- bucja systemu operacyjnego GNU/Linux rozprowadza oprogramowanie w postaci pakietów; dotyczy to zarówno plików binarnych, jak i kodu źródłowego. Wspomniane pakiety są najczęściej w formacie RPM (na przykład w dystrybucji Red Hat) lub DEB (projekt Debian) dla oprogramo- wania binarnego oraz odpowiadających im formatów RPM i DEB dla kodu źródłowego. Ponie- waż Ubuntu jest ściśle powiązane z projektem Debian i kontynuuje stosowanie jego osiągnięć, to jest oczywiste, że Ubuntu stosuje pakiety w formacie DEB. Upraszczając, pakiety stanowią alternatywę dla procesu pobierania, budowania i instalacji oprogramowania zupełnie od zera. W stosunku do standardowego modelu „budowy na podstawie kodu źródłowego” pakiety oferują pewne istotne zalety pod względem instalacji, usuwania, monitorowania i wzajemnych relacji między oprogramowaniem. Ponieważ stosowanie pakietów nie jest aż tak bardzo rozpowszechnione poza światem GNU/Linux — lub przynajmniej nie jest przedstawiane w takich kategoriach — to przed przejściem do omawiania sposobu implementacji pakietów w Ubuntu warto wcześniej poznać pewne ogólne informacje dotyczące pakietów. Ogólny opis pakietów Niemal każdy system operacyjny bazujący na GNU/Linux — Fedora, RHEL, openSUSE, Slac- kware, Debian i inne — zawiera prawie że w całości taki sam zestaw oprogramowania podsta- wowego. Z definicji każdy z wymienionych systemów operacyjnych zawiera jądro opracowane przez Linusa Torvaldsa oraz dużą ilość oprogramowania w postaci projektów GNU, czyli aplikacji przeznaczonych dla programistów i użytkowników, a niezbędnych do zbudowania i używania Wprowadzenie do zarządzania pakietami 91 tego systemu. Większość wymienionych systemów operacyjnych zawiera także oprogramowanie typowo serwerowe, na przykład OpenSSH, Apache, implementację systemu X Window w postaci XFree86 lub X.org oraz bardzo często wyjątkowo obszerną kolekcję narzędzi powłoki i aplikacji graficznych. Warto w tym miejscu wyraźnie powiedzieć, że wymieniona kolekcja oprogramo- wania nosi nazwę dystrybucji. Ubuntu jest dystrybucją. Kiedy użytkownicy używają pojęcia „Linux” w odniesieniu do systemu operacyjnego, wówczas bardzo często mają na myśli system Linux lub dystrybucję GNU/Linux. Podstawowym celem wszystkich dystrybucji jest zapewnienie automatycznej instalacji, konfigu- racji, usuwania, obsługi i uaktualniania oprogramowania — zarówno poprzez dostarczenie prze- znaczonej do tego infrastruktury, jak również utworzenie zmodyfikowanych wersji istniejącego już oprogramowania. Wspomniane modyfikacje istniejącego oprogramowania w taki specjalny spo- sób noszą nazwę „przygotowywania pakietów” i stanowią większą część zadań wykonywanych przez programistów Ubuntu. W ogromnym stopniu ma to wpływ na konkretną zawartość dys- trybucji Ubuntu. Chociaż przygotowywanie pakietów to podstawowe zadanie przeprowadzane przez twórców dystrybucji takich jak Ubuntu, zadanie to może być wykonywane także przez użytkowników dystrybucji lub dostawców oprogramowania. Celem tych pierwszych jest zapew- nienie czystej integracji oprogramowania niedostarczanego w pakietach, natomiast celem tych drugich jest ułatwienie użytkownikom procesu instalacji i obsługi danego oprogramowania. Czym są pakiety? Utworzenie pakietu — zarówno w Ubuntu, jak i innych dystrybucjach — rozpoczyna się od oprogramowania, które ma być umieszczone w pakiecie. W większości przypadków, ale nie zawsze, oznacza to nabycie odpowiedniego kodu źródłowego. We wszystkich sytuacjach kod trzeba pobrać z oryginalnego kodu źródłowego, co w świecie dystrybucji zwykle nosi nazwę „upstream”. Następnym krokiem będzie utworzenie dodatkowych metadanych, w których najczę- ściej znajdują się następujące dane: (cid:132) nazwa programu; (cid:132) autor upstreamu oraz osoba tworząca pakiet; (cid:132) licencja na dane oprogramowanie; (cid:132) położenie upstream danego oprogramowania (lub opis przedstawiający w jaki sposób uzyskano kod źródłowy); (cid:132) architektura bądź architektury na których gwarantowane jest działanie danego oprogramowania; (cid:132) informacje odnośnie klasyfikacji oprogramowania, najczęściej związane z przeznaczeniem pakietu; podstawowym zadaniem tych informacji jest pomoc użytkownikom przeglądającym pakiety; (cid:132) opis oprogramowania w formacie możliwym do przetworzenia przez komputer; (cid:132) informacje na temat ważności, czyli „priorytet” pakietu w ramach większego systemu Ubuntu (na przykład wymagany, opcjonalny itp.). 92 Rozdział 3 (cid:81) Zarządzanie pakietami Powyższe informacje będą używane przez system zarządzania pakietami lub dowolny program pozwalający użytkownikowi na wyszukiwanie, sortowanie i pracę z zainstalowanym bądź dostęp- nym do instalacji oprogramowaniem — to jedno z zadań systemu zarządzania pakietami. Jednak choć przedstawione powyżej metadane są ważne dla użytkowników, ponieważ pozwalają na uzyskanie dalszych informacji na temat danego oprogramowania, najważniejsza grupa metadanych dodawanych do pakietów dotyczy dokumentacji dotyczącej powiązania oprogramowania znajdu- jącego się w pakiecie z innymi pakietami w dystrybucji. Wprawdzie składnia i semantyka różnią się w zależności od dystrybucji, ale zawarte tam informacje są podobne i odwołują się do: (cid:132) innego oprogramowania wymaganego do zbudowania danego programu; (cid:132) innego oprogramowania wymaganego do instalacji lub konfiguracji programu; (cid:132) innego oprogramowania wymaganego do uruchomienia danego programu; (cid:132) innego oprogramowania, z którym dany program nie może być jednocześnie zainstalowany bądź używany; (cid:132) innego oprogramowania, dla którego dany program może być zamiennikiem; (cid:132) innego oprogramowania, które może usprawnić lub rozbudować dany program. Nowoczesne systemy zarządzania pakietami rejestrują jeszcze większą ilość informacji. Przykła- dowo w trakcie uaktualniania oprogramowania pliki konfiguracyjne w przeciwieństwie do zwy- kłych plików nie mogą być po prostu zastąpione nowszą wersją. Z tego powodu systemy zarządza- nia pakietami mają wbudowane infrastruktury odpowiedzialne za sprawdzanie i przechowywanie podstawowych informacji na temat konfiguracji. Te dane są wykorzystywane podczas uaktual- niania pakietów wymagających wprowadzania zmian w plikach konfiguracyjnych. Wreszcie ostatnim zdefiniowanym celem pakietów jest dostarczenie struktury zbudowanej wokół meta- danych pakietu — takich jak opisy — które mogą być tłumaczone w celu dostarczenia użyt- kownikowi interfejsu prowadzącego do oprogramowania zlokalizowanego w jego języku i kul- turze. Szczegółowe informacje dotyczące tworzenia i uzyskiwania dostępu do tych wszystkich metadanych w pakietach Ubuntu będą przedstawione w kolejnych podrozdziałach. Podstawowe funkcje zarządzania pakietami Szeroka gama funkcji może być uznawana za podstawowe funkcje systemu zarządzania pakie- tami. Wspomniane funkcje najczęściej są implementowane przez narzędzia lub zestaw narzędzi niskiego poziomu. W przypadku projektów Ubuntu i Debian będzie to skrypt dpkg i powiązane z nim inne skrypty. W przeszłości były to podstawowe narzędzia używane przez większość użyt- kowników do przeprowadzania wszelkich zadań związanych z pakietami. Jednak sytuacja uległa zmianie kilka lat temu, gdy utworzono wysokiego poziomu narzędzia zarządzania pakietami. Wspomniane narzędzia zapewniają interfejs dla narzędzi niskiego poziomu. Większość użyt- kowników systemów operacyjnych bazujących na pakietach rzadko więc używa już narzędzi niskiego poziomu. Nadal są one stosowane przez programistów bądź administratorów, którzy chcą tworzyć własne pakiety. Ujmując ogólnie i bardzo nieprecyzyjnie, wiele z tych narzędzi niskiego poziomu odpowiada narzędziu apt używanemu w Ubuntu i Debianie. Wprowadzenie do zarządzania pakietami 93 Podstawowym celem pakietów jest automatyzacja kompilacji oprogramowania. Pakiety DEB są dostarczane w dwóch formatach: po jednym dla kodu źródłowego i programów binarnych. Pakiety kodu źródłowego są doskonałym systemem rozprowadzania i kompilacji kodu źródłowego. W systemie Ubuntu oraz innych pakiety zostały zaprojektowane do ich budowy w sposób nie- interaktywny, w przypadku oficjalnych pakietów Ubuntu mogą być budowane automatycznie dla wielu różnych architektur za pomocą oprogramowania nazywanego „autobilder”. Pakiety oferują prostą (zwykle w postaci pojedynczego polecenia) metodę tworzenia oprogra- mowania, która jest spójna i stosowana we wszystkich pakietach. Problemy związane z konfigu- racjami i innymi opcjami są rozwiązywane wcześniej przez twórcę pakietu. Wadą jest przepro- wadzanie konfiguracji w trakcie budowy pakietu, natomiast zalety są ogromne, o czym Czytelnik przekona się w pozostałej części rozdziału. Zależności wymagane w trakcie budowy programu są deklarowane w pakiecie, więc ich spełnienie może być zrealizowane automatycznie. Przykładowo pakiety źródłowe przeznaczone dla konkretnej architektury (na przykład pakiety, które muszą być ponownie zbudowane dla każdej architektury) są umieszczane w postaci kodu źródłowego Ubuntu i w większości przypadków bez wprowadzania jakichkolwiek zmian w pakiecie źródłowym są automatycznie budowane we wszystkich architekturach obsługiwanych przez Ubuntu. Z pojedynczego pakietu danych źródłowych można zbudować dowolną liczbę pakietów binar- nych. Możliwość tworzenia wielu pakietów binarnych na podstawie pojedynczego pakietu kodu źródłowego jest szczególnie użyteczna w ogromnych projektach, które wydają ogromne lub monolityczne pakiety kodu źródłowego zawierające szeroką gamę różnorodnego oprogramowania. To także ważne w przypadku ściśle powiązanych ze sobą elementów oprogramowania i (lub) dokumentacji, których rozdzielenie może być niebezpieczne. Przykładem może być tutaj system graficzny XFree86 — obecnie zastąpiony i już zmodularyzowany przez X.org — który był dostar- czany w postaci pojedynczego pakietu kodu źródłowego, ale tworzył dziesiątki innych pakietów binarnych. W tym przypadku dostarczenie pakietu pozwala użytkownikom na rozprowadzanie, instalowanie i usuwanie serwera X niezależnie od emulatora terminalu, pakietu biblioteki xlib oraz menedżera okien. Jak można wywnioskować na podstawie powyższych informacji, kluczową zaletą systemów zarzą- dzania pakietami jest oferowana przez nie pomoc w automatyzacji instalacji oprogramowania. Kiedy pakiet binarny jest zainstalowany, wówczas: (cid:132) „Zawartość” tego oprogramowania może być zweryfikowana w celu zagwarantowania spójności pakietu. Pochodzenie oprogramowania można zweryfikować poprzez użycia uwierzytelniania kryptograficznego. (cid:132) Istnieje możliwość przeanalizowania zależności danego oprogramowania, a następnie system można sprawdzić pod kątem dostępności wymaganych komponentów innego oprogramowania koniecznych do poprawnego działania danego oprogramowania. Gdy zależności nie będą spełnione, użytkownik zostanie poinformowany o brakach i o tym, jakie oprogramowanie jest wymagane, a instalacja będzie przerwana1. 1 Niektóre systemy w takim przypadku proponują instalację brakujących komponentów — przyp. tłum. 94 Rozdział 3 (cid:81) Zarządzanie pakietami (cid:132) W pewnym momencie podczas procesu instalacji pakietu użytkownik może zostać zapytany o opcje konfiguracyjne. Odpowiedzi na takie pytania będą zapisane w systemie, a następnie użyte podczas dostosowywania pliku konfiguracyjnego instalowanego oprogramowania. (cid:132) Zawartość pakietu jest przechowywana w systemie. (cid:132) Metadane i powiązane z nimi informacje w różnych formach są umieszczane w bazie danych systemu, która zawiera bieżące informacje o zainstalowanych pakietach i ich stanie instalacji (na przykład zainstalowany, choć jeszcze nie skonfigurowany), listę plików należących do poszczególnych pakietów i inne informacje. Prawdopodobnie najważniejsze jest tutaj sprawdzenie zależności instalowanego pakietu oraz obsługa listy pakietów zainstalowanych w systemie. W przypadku informacji dotyczących zależności użytkownik może dowiedzieć się, jakie oprogramowanie jest wymagane do urucho- mienia oprogramowania znajdującego się w instalowanym pakiecie. Z tego powodu osoby two- rzące oprogramowanie przeznaczone do umieszczania pakietów mogą bardzo łatwo tworzyć i implementować oprogramowanie z uwzględnieniem bibliotek współdzielonych. Sukces syste- mów zarządzania oprogramowaniem to jeden z powodów powszechnego wykorzystywania w środowisku GNU/Linux dynamicznie dołączanych bibliotek współdzielonych. Kiedy użytkownik chce usunąć wybrane oprogramowanie, system zarządzania pakietami wraz ze swoim katalogiem zawierającym listę plików pakietu i działań przeprowadzonych w trakcie instalacji jest doskonale przygotowany do zapewnienia użytkownikowi pomocy w celu zagwa- rantowania przeprowadzenia procesu pełnego usunięcia danego oprogramowania. Proces automatycznego uaktualniania oprogramowania jest podobny do instalacji i stanowi kolejny obszar, na którym z powodzeniem można wykorzystać system do zarządzania pakietami. Dzięki temu użytkownik takiego systemu może bezpiecznie i bardzo łatwo przeprowadzić uaktualnienie oprogramowania z jednej wersji do innej. Proces uaktualniania oprogramowania będzie niemal iden
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Ubuntu Serwer. Oficjalny podręcznik. Wydanie II
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: