Dystrybucje Linuksa
Autorzy: Adam Michalik, Kacper Rybczyński, Jakub Wilk.
Co to jest dystrybucja?
Co składa się na współczesną dystrybucję?
- jądro Linuksa,
- system operacyjny GNU,
- darmowe/opensource'owe oprogramowanie w postaci pakietów,
- menedżer pakietów,
- ew. oprogramowanie komercyjne,
- dokumentacja,
- multimedia,
- kod źródłowy skompilowanych programów/jądra/bibliotek
systemowych,
- instalator,
- środowisko graficzne.
Realizacja dystrybucji przez firmy i jako projekty społeczności
linuksowej:
- rozwijanie kodu,
- dobieranie i organizacja zawartości dystrybucji,
- rozwiązania właściwe każdej dystrybucji,
- testy,
- rozpowszechnianie i promocja.
Historia
Skąd potrzeba tworzenia dystrybucji?
Ułatwienie użytkowania Linuksa. Przed powstaniem zintegrowanych
dystrybucji, użytkownik musiał sam nie tylko dobrze wiedzieć, jakich plików
wykonywalnych i bibliotecznych potrzeba, żeby system się uruchomił
i poprawnie działał, ale również musiał znać szczegółowe dane
systemowe, takie jak detale dotyczące konfiguracji oraz rozmieszczenie
i znaczenie poszczególnych plików systemowych i programowych.
Pierwsze dystrybucje pojawiły się wkrótce po rozpowszechnieniu jądra poza
grupę jego programistów, którzy bardziej byli zainteresowani rozwojem samego
systemu niż aplikacji, interfejsu czy wygodnej instalacji nowych aplikacji.
Nowym użytkownikom trzeba było tego jednak dostarczyć.
Pierwsze dystrybucje
- MCC Interim Linux, dostępny publicznie przez FTP Uniwersytetu
Manchester w lutym 1992;
- TAMU — Texas A&M University, 1992;
- SLS (Softlanding Linux System). Tę dystrybucję Patrick
Volkerding rozwinął do Slackware'a, który jest najdłużej podtrzymywaną
istniejącą dystrybucją Linuksa.
Bibliografia
GNU/Linux
Większość dystrybucji oparta jest na GNU/Linux — jądrze Linuksa,
ale zatopionym w GNU. Znakomita większość najpopularniejszych pakietów
(jak choćby bash, fileutils, textutils, finger, tar, grep, GRUB, binutils,
make, gcc, GIMP, GNOME, Emacs) to właśnie GNU.
- 1984 — rozpoczęcie prac nad systemem operacyjnym GNU.
- 1991 — udostępnienie jądra Linuksa. Jądro GNU (GNU Hurd) wciąż
niegotowe, ale reszta systemu — tak. Projektanci Linuksa dopasowują
jądro do GNU, zaś twórcy GNU przystosowują je do nowego jądra.
- 1992 — Dystrybucja Yggdrasil używa nazwy Linux/GNU/X.
- 1994 — Debian zostaje nazwany GNU/Linux i ta nazwa
funkcjonuje do dziś, choć większość dystrybucji najczęściej jest nazywana
po prostu Linuksem — argumenty za i przeciw takiemu
uproszczeniu można znaleźć w artykule
Wikipedii: Linux naming controversy.
Bibliografia
Standaryzacja
Potrzebne stało się ujednolicenie dystrybucji Linuksa i zniwelowanie
różnic między nimi, przez wyznaczanie wspólnych standardów. Tylko wtedy
twórcy aplikacji mogli pisać programy niezależne od dystrybucji, opierające
się na ujednoliconych podstawach.
POSIX
(Backronim stworzony przez Richarda Stallmana od: Portable Operating
System Interface, X wskazuje na Uniksowe dziedzictwo) — Zestaw
standardów opracowywanych od 1985 r. przez IEEE (Institute of Electrical
and Electronics Engineers — organizację non-profit skupiającą
profesjonalistów, opracowująca m.in. standardy urządzeń elektronicznych oraz
urządzeń i formatów komputerowych).
POSIX standaryzuje m.in.:
- interfejs programistyczny (API),
- interfejs użytkownika,
- właściwości powłoki systemu,
- obsługę IO,
- wątki,
- synchronizację procesów.
Do tego zawiera serię testów PCTS (POSIX Conformance Test Suite)
sprawdzających zgodność z POSIX.
POSIX jest niezależny od systemu operacyjnego, chociaż używany głównie
w systemach uniksowych (ale np. Windows NT jest zgodny w części
dotyczącej wykonania w czasie rzeczywistym). Linus Torvalds projektował
Linuksa by był jak najbardziej zgodny z POSIX-em.
Ponieważ jednak IEEE pobiera bardzo wysokie opłaty za dokumentację POSIX
i nie zezwala na jej publikację w Internecie, powstał znacznie
tańszy i dostępny w Sieci standard Single UNIX Specification.
Bibliografia
Single UNIX Specification (SUS)
Od 2001 r. SUS stał się bardziej popularny od POSIX-a, przede wszystkim
ze względu na niskie koszty dostępu do tego standardu, ale jako podstawy
przyjął rozwiązania POSIX-owe. Obecnie opracowywany jest SUS version 3. Za
zgodność z nim dystrybucja może być certyfikowana stopniem “UNIX
03” (za zgodność z SUS version 2 — “UNIX 98”).
Jednakże większość dostawców dystrybucji Linuksa nie stara się (ze względu
na minimalizację kosztów) o certyfikację zgodności z SUS,
zwłaszcza, że zmiany zawartości dystrybucji są tak częste, że ponowne
wydawanie zaświadczeń byłoby dalece nieopłacalne.
Bibliografia
Linux Standard Base (LSB)
1 listopada 2005 specyfikacja LSB w wersji 2.0.1 stała się
standardem ISO 23360.
Cel — stworzenie i wypromowanie standardów, które rozszerzą
kompatybilność między dystrybucjami Linuksa, co umożliwi twórcom
oprogramowania pisanie i przenoszenie oprogramowania bez ponoszenia
dodatkowych nakładów finansowych na dostosowanie go do specyfiki kilku
dystrybucji. Wtedy również mniej popularne dystrybucje (dla których wsparcie
jest często zaniedbywane) będą mogły korzystać z oprogramowania jeśli
ich twórcy zadbają o dostosowanie ich do LSB.
LSB jest oparty na standardach POSIX i SUS, ale w pewnym
zakresie również je rozszerza. Definiuje m.in.:
- biblioteki standardowe,
- serię poleceń i aplikacji rozszerzających standard POSIX,
- układ hierarchii systemu plików,
- poziomy działania systemu operacyjnego,
- rozmaite rozszerzenia systemu X.
Projekt LSB spotkał się z wdzięcznym przyjęciem, choć zarzuca mu się
zamknięcie na projekty i dystrybucje niezwiązane z realizatorami
Linux Standard Base, zwłaszcza niebranie pod uwagę wkładu Debiana, np.
uznanie za standard pakietów RPM (podczas gdy Debian jako wcześniejszy
stworzył format deb). Jest również krytykowany m.in. przez Ulricha
Dreppera, głównego zarządzającego projektem Glibc — standardowej
biblioteki C GNU —, za słabo przygotowane testy dystrybucji, mogące
dawać pozytywne rezultaty w niepoprawnych przypadkach oraz za
testowanie wyłącznie samych dystrybucji, a nie aplikacji dla nich
przeznaczonych.
Bibliografia
Filesystem Hierarchy Standard (FHS)
Prace nad standaryzacją hierarchii systemu katalogów i plików
rozpoczęły się w 1993 r., w 1994 był gotowy pierwszy standard dla
Linuksa (Filesystem Standard — FSSTND), w 1996 r. rozszerzony na
ogół systemów uniksowych, nazwany FHS i prowadzony przez Free Standards
Group. Pozwala zarówno programom jak i użytkownikom przewidywać
umiejscowienie instalowanych plików i katalogów. Określa strukturę
i przeznaczenie predefiniowanych katalogów w systemie plików, ich
minimalny zakres, wylicza odstępstwa od tych reguł i prowadzi zapis
udokumentowanych przypadków konfliktów związanych z FHS. Ułatwia pracę
twórcom oprogramowania, autorom systemów uniksowych oraz użytkownikom,
pozwalając na budowanie przenośnych aplikacji i zapewnianie poprawnego
ich funkcjonowania.
Mimo szczegółowego opracowania standardu, wciąż znaczna większość
dystrybucji Linuksa, nawet te realizowane przez członków Free Standards
Group, nie jest w pełni zgodna z FHS. W szczególności
niewykorzystane w szerszym zakresie pozostają takie ścieżki jak
/media/ czy /srv/. Niektóre systemy, jak np. GoboLinux,
zrywają wręcz ze standardem FHS na rzecz innych podejść.
FHS definiuje następującą strukturę:
katalog |
opis |
/bin/ |
Podstawowe binaria dla wszystkich użytkowników (np. cat,
ls, cp) |
/boot/ |
Pliki programu startowego (np. jądra, initrd) |
/dev/ |
Podstawowe urządzenia (np. /dev/null) |
/etc/ |
Globalne pliki konfiguracyjne właściwe danej maszynie |
/etc/opt/ |
Pliki konfiguracyjne dla /opt/ |
/etc/X11/ (opcjonalne) |
Pliki konfiguracyjne dla X Window System, version 11 |
/etc/sgml/ (opcjonalne) |
Pliki konfiguracyjne dla SGML |
/etc/xml/ (opcjonalne) |
Pliki konfiguracyjne dla XML |
/home/ (opcjonalne) |
Katalogi domowe użytkowników |
/lib/ |
Biblioteki niezbędne dla binariów zawartych w /bin/
i /sbin/ |
/mnt/ |
Tymczasowo zamontowane systemy plików |
/media/ |
Punkty montowania urządzeń wyjmowalnych, np. CD-ROM-u (od
FHS-2.3) |
/opt/ |
Statyczne pakiety aplikacji |
/proc/ |
Wirtualny system plików dokumentujący działanie jądra
i procesów |
/root/ (opcjonalne) |
Katalog domowy roota |
/sbin/ |
Binaria systemowe (np. init, route,
ifup) |
/tmp/ |
Pliki tymczasowe |
/srv/ |
Lokalne dane obsługiwane przez system |
/usr/ |
Drugorzędna hierarchia dzielonych plików tylko do odczytu |
/usr/bin/ |
Jak /bin/ |
/usr/include/ |
Standardowe pliki include |
/usr/lib/ |
Jak /lib/ |
/usr/sbin/ |
Jak /sbin/ |
/usr/share/ |
Dane niezależne od architektury |
/usr/src/ (opcjonalne) |
Kody źródłowe |
/usr/X11R6/ (opcjonalne) |
X Window System, Version 11 Release 6. |
/usr/local/ |
Trzeciorzędna hierarchia lokalnych danych instalowanych przez
administratora systemu |
/var/ |
Różne inne pliki, np. dzienniki, bazy danych, strony
internetowe i tymczasowe pliki pocztowe |
Bibliografia
DCC Alliance
Projekt zajmujący się standaryzacją powłoki dystrybucji GNU/Linuksa
opartych na Debianie. Dba o zgodność z LSB, wprowadza
usprawnienia, patche i rozszerzenia specyficzne dla Debiana, promuje
certyfikaty LSB oraz debianowskie rozwiązania (jak np. sposób organizacji
pakietów z oprogramowaniem), zarządza repozytorium oprogramowania.
Bibliografia
Standardy dźwięku
Open Sound System (OSS)
Stworzony przez Hannu Savolainen (Finlandia) w 1992 r. interfejs
dźwiękowy, wykorzystywany w 11 systemach uniksowych. Aż do jądra 2.4
włącznie OSS był jedynym wspieranym w Linuksie standardem. Jednakże
widząc popularność swojego projektu, Savolainen zdecydował się go
skomercjalizować, co doprowadziło do powstania darmowego, udostępnianego na
zasadzie GPL standardu ALSA. Te systemy GNU/Linux i *BSD, które wciąż
używają OSS, wykorzystują swoje własne implementacje na licencji GPL/BSD.
Advanced Linux Sound Architecture (ALSA)
Wprowadzony w jądrze 2.5, w wersji 2.6 zupełnie zastępuje OSS
(ewentualnie symulując ten standard). ALSA jest składnikiem jądra
linuksowego, udostępniającym sterowniki do kart dźwiękowych
i pozwalającym na ich automatyczną konfigurację, jak również na obsługę
wielu urządzeń dźwiękowych na jednym systemie.
Bibliografia
Podział
- najważniejsze;
- przyjazne dla użytkownika;
- ogólnego zastosowania;
- edukacyjne;
- specyficzne dla kraju;
- embedded;
- PDA;
- bezpieczne;
- specjalnego zastosowania / mini;
- dyskietkowe / CD / ZIP;
- bezprzewodowe;
- dla specyficznego sprzętu ;
- instalacja z pod DOS/Windows;
- instalacja dla terminali bezdyskietkowych.
Wspierane architektury
|
|
|
|
|
|
|
|
|
|
x86 |
|
|
|
|
|
|
|
|
|
x86 64 |
|
|
|
|
|
|
|
|
|
AMD 64 |
|
|
|
|
|
|
|
|
|
PPC |
|
|
|
|
|
|
|
|
|
IA64 |
|
|
|
|
|
|
|
|
|
Dodatkowo:
- Debian: SPARC, SPARC64, Alpha, MIPS, ARM, PA-RISC, Mac/VME
68k, S/390;
- Gentoo: PowerPC 970, SPARC, SPARC64, Alpha, MIPS;
- Mandrake: x86 (tylko i586 ! nie dziala dla 386
i 486);
- Slackware: S/390;
- PLD: x86 (i386, i586, i686, Athlon), Alpha, PPC, SPARC,
SPARC64.
Popularność
Jeden pingwinek oznacza ok. 10% udziałów w rynku.
Rozmiar
Debian
Ogólnie
Debian powstał w ramach Projektu Debian i jest prawdopodobnie
najpopularniejszą dystrybucją, rozwijaną przez ochotników
z całego świata (ponad 1000 deweloperów). Od samego jej powstania,
Debian (GNU), bazuje na jądrze Linuksa z wieloma podstawowymi
narzędziami systemu z projektu GNU.
Debian jest znany ze swojego przywiązania do filozofii Uniksa
i darmowego oprogramowania i z wprost przytłaczającej liczby
opcjonalnych pakietów. (15 000 pakietów) i bardzo wielu obsługiwanych
architektur.
Debian Linux jest bazą dla kilku innych dystrybucji, m.in. Knoppix
i Ubuntu.
Debian wyróżnia się od innych dystrybucji swoim systemem pakietów,
a w szczególności APT (Advanced Packaging Tool),
za jego restrykcyjne zasady co do jakości pakietów i wydań, i za jego
otwarty proces rozwoju i testów.
Historia
Debian narodził się dzięki Ianowi Murdockowi, ówczesnemu
studentowi Uniwersytetu Purdue, który napisał “Debian
Manifesto”, w którym wzywał do tworzenia otwartej
dystrybucji Linuksa, zgodnej z duchem Linuksa i GNU. Nazwa jest
połączeniem imion jego dziewczyny (żony) Debry i jego samego
(Ian).
W 1996 roku projekt przejął Bruce Perens. Bruce Perens odszedł
w 1998 roku przed wypuszczeniem pierwszego Debiana opartego na
glibc, czyli 2.0. Dochodziło do kolejnych zmian osób prowadzących
projekt. W 1999 roku powstały dwie pierwsze dystrybucje bazujące na
Debianie: Corel i Stormix. Nie są one już rozwijane.
Bardzo wiele innych, do dzisiaj rozwijanych dystrybucji bazuje
na Debianie.
Organizacja projektu
Projekt Debian jest organizacją zrzeszającą ochotników
z trzema najważniejszymi dokumentami:
- Kontrakt Społeczny Debiana — definiuje zestaw podstawowych
zasad, którym podlega projekt i deweloperzy
- Debianowy Przewodnik Darmowego Oprogramowania — definiuje
kryteria „darmowego oprogramowania” i jakie
oprogramowanie jest dopuszczalne w dystrybucji
- Konstytucja Debianowa — opisuje strukturę organizacyjną, wylicza
zakres działania i obowiązki prowadzącego projekt, sekretarza
i deweloperów
Cykl życia pakietu
Jak widać na poniższym obrazku, cykl życia pakietu w Debianie jest
„dość” złożony i długotrwały.
Podsumowanie
zalety | wady |
- Słynna stabilność dystrybucji Debian, zawdzięczana długim
cyklom wydań.
- Istnieją adaptacje na bardzo wiele architektur, obecnie aż
11 a trwają prace nad wersją AMD 64 i SuperH
|
- Z powodu długich cykli wydań, wydania stabilne mogą się okazać
zbyt stare dla pewnych celów. Jednak nie jest aż tak źle dzięki
repozytoriom łatanych pakietów (backports.org i apt-get.org) i temu że testowe wydania
są bardziej stabilne niż mogłoby się wydawać.
- część oprogramowania nie jest dostępna z powodu ostrych
wymagań wolnościowych, np. Adobe Acrobat Reader.
|
Ubuntu
Ogólnie
Ubuntu to kompletna dystrybucja systemu operacyjnego GNU/Linux,
przeznaczona przede wszystkim do zastosowań biurowych i domowych (ang.
desktop). Bazuje na dystrybucji Debian. Termin Ubuntu wywodzi się
z Republiki Południowej Afryki i oznacza “człowieczeństwo
dla innych”.
Dystrybucja Ubuntu są wydawane co pół roku.
Historia
Historii jeszcze nie ma ;) Ubuntu jest młodą dystrybucją. Nowe wersje
dystrybucji Ubuntu wydawane są co pół roku.
- X 2004 — 4.10 “Warty Warthog”;
- IV 2005 — 5.04 “The Hoary Hedgehog”;
- X 2005 — 5.10 “Breezy Badger”.
Charakterystyka
- wykorzystanie mechanizmu sudo:
sudo (ang. superuser do) to program stosowany w systemach
operacyjnych GNU/Linux, Unix i podobnych, w celu umożliwienia użytkownikom
uruchomienia aplikacji, normalnie zarezerwowanych dla administratora
zwanego rootem. Możliwość korzystania z tego przydatnego lecz potencjalnie
niebezpiecznego narzędzia, użytkownik uzyskuje po podaniu swego hasła, co
ma utrudnić wykorzystanie programu przez niepowołane osoby w niecnych
celach;
- mechanizmy ułatwiające korzystanie z systemu osobom
niepełnosprawnym;
- pełna internacjonalizacja dystrybucji;
- format pakietów instalacyjnych deb — wspólny
z Debianem.
Ubuntu jest bardzo silnie związana ze wspólnotą Debiana
Komponenty
- sekcja main — oprogramowanie najważniejsze z punktu
widzenia użytkownika, spełniające wymagania licencyjne Ubuntu i wspierane
przez zespół projektu, posiadają ze strony Ubuntu pełne wsparcie,
dotyczące w usuwaniu błędów bezpieczeństwa;
- sekcja restricted — niezbędne lub istotne dla pracy lub
funkcjonalności systemu, lecz na licencji niezgodnej z wymogami Ubuntu; są
to np. sterowniki kart graficznych;
- sekcja universe — może posiadać przyjazną licencję lecz
nie jest wspierane przez zespół Ubuntu.
Knoppix
Ogólnie
Knoppix jest dystrybucją LiveCD. Działa na CD lub DVD-ROM-ie, nie używa
dysku twardego. Powstał dzięki Klausowi Knopperowi, konsultantowi
GNU/Linux.
Knoppix uzyskał popularność dzięki:
- dobre wykrywanie sprzętu pozwala uruchamiać go bezpośrednio
w środowisku graficznym bez konfiguracji
- podłącza się
automatycznie do większości sieci
- dużo bardziej komfortowy od poprzedniej generacji systemów
startujących z dyskietek.
Zaczynając od wersji 4.0, Knoppix został rozdzielony na edycje DVD
maxi (z ponad 9GB oprogramowania) i edycję CD „light”.
Używanie
Kiedy program jest używany, następuje dekompresja do RAM-dysku.
Dekompresja jest przeźroczysta i „w locie”. Knoppix zaleca
przynajmniej 128MB pamięci RAM aby umieścić w niej RAM-dysk. Knoppix może
być również zainstalowany na dysku z partycją ext3.
Po co uruchamiać z system CD?
- jako wprowadzenie do Linuksa, szczególnie jako system operacyjny dla
desktopa
- demonstracja na konferencjach
- testowanie w sklepach czy dany komputer jest kompatybilny z Linuksem
przed zakupem
- odzyskiwanie niesprawnego systemu lub części jego danych
- uruchamianie większej instalacji (bootstraping), np. Debiana
Przyspieszanie
- katalog Knoppiksa może być skopiowany na pustą partycję FAT32 —
CD-ROM lub DVD jest używany tylko do wgrywania minimalnego systemu
potrzebnego do rozruchu
- instalacja Knoppiksa na dysku twardym.
Wady
- Pracuje na bardzo dużej liczbie PeCetów, ale jednak nie na wszystkich
(co jest naturalne dla automatycznego wykrywania sprzętu).
- Użycie pamięci: Knoppix wymaga min. 128 MB do uruchomienia środowiska
KDE, i nawet wtedy Knoppix ma długie czasy wgrywania z CD lub DVD.
Red Hat
Ogólnie
Jest jedną ze „średniowiecznych” dystrybucji; 1/0 była wydana
w XI 1994. Nie tak stara jak Slackware, ale z pewnością
starsza niż wiele innych. Była pierwszą używającą RPM jako format
pakietów.
Rynek
- głównie rynek serwerów
- dla firm posiadających „farmy komputerów”, przydatne
jest wbudowane skryptowe narzędzie instalacyjne
„kickstart” — ułatwia szybkie konfigurowanie
i ustawianie ustandaryzowanego hardware'u
- od wersji 8.0, Red Hat wycelował także w rynek korporacyjnych
desktopów
Charakterystyka
Red Hat Linux jest instalowany z graficznym instalatorem,
Anaconda, z zamierzania prostym w obsłudze dla nowicjuszy.
Ma także wbudowane narzędzie Lokkit do konfiguracji zapory
ogniowej.
- UTF-8 — dużo łatwiejsza internacjonalizacja i bezproblemowe
wsparcie dla wielu języków. Jest w stanie reprezentować każdy znak
Unicode, i jest kompatybilny wstecz z ASCII
- Brakuje mu wielu funkcji z powodu możliwych problemów prawnych
i patentowych. Dla przykładu, wsparcie MP3 jest wyłączone; zamiast
tego, Red Hat rekomenduje używanie Ogg Vorbis, którego nie chronią patenty.
Jakkolwiek wsparcie MP3 może być później doinstalowane, choć wymaga to
wnoszenia opłat (royalities) w Stanach Zjednoczonych. Wsparcia NTFS
również brakuje, ale może zostać doinstalowane.
Historia
Red Hat Linux był oryginalnie rozwijany wyłącznie wewnątrz Rad
Hata. Użytkownicy zgłaszali tylko błędy i pomagali przy zawartych
pakietach — nie przy dystrybucji jako takiej. Zmieniło się to
późnym 2003 kiedy Red Hat Linux połączył się ze
społecznościowym Projektem Fedora Linux. Powstały komercyjny produkt
jest również w pełni darmowy. Oficjalnie „zwykły” Red
Hat Linux zakończył swój żywot w IV 2004, mimo tego „Projekt Fedora
Legacy” nadal publikuje do niego poprawki.
Natomiast Red Hat przeniósł centrum swojej uwagi na rynek
biznesowy i Red Hata Enterprise Linux. RHEL jest teoretycznie
darmowy. Płaci się „tylko” za wsparcie techniczne.
Wykupienie wsparcia umożliwia otrzymywanie poprawek.
Wersje
- początek: 1.0 (Mother's Day), 3 listopada 1994, $49.95 [tylko wersje
1.x były płatne]
- koniec: 9 (Shrike), 31 Marca 2003
- połączenie: Projekty Fedora i Red Hat połączyły sie 22 września
2003.
Fedora Core
Ogólnie
Fedora Core, wywodzi się od Red Hat Linux, jest rozwijana przez
Projekt Fedora i społeczność internetową. Fedora Core jest sponsorowana
przez Red Hata.
Fedora oferuje darmową wersję Fedora Core i płatną Fedora
Extras, która zawiera wiele dodatków. Linux Fedora Core jest czasem
nieprawidłowo nazywany jako Fedora Linux.
Fedora to rodzaj lekkiego kapelusza.
Wersje
- Yarrow — XI 2003
- Tettnang — V 2004
- Heidelberg — XI 2004
- Stentz — VI 2005
- ? — III 2006
Mandriva
Ogólnie
Mandriva Linux (dawniej Mandrakelinux, Linux Mandrake) —-
dystrybucja Linuksa firmy Mandriva, łatwa w użytkowaniu. Charakteryzuje się
dbałością o graficzny interfejs użytkownika oraz obsługą szerokiej
gamy modeli sprzętu popularnego w zastosowaniach biurkowych. Mandriva Linux
słynie z kompilacji swych pakietów z optymalizacjami na Pentium i klasę
procesorów AMD-64 i inne bardziej zaawansowane. Wiąże się to
z niekompatybilnością Mandrake'a ze starszymi procesorami jak 386 czy
486.
Historia
Dystrybucja stworzona w 1998 r. Początkowo był to zbiór pakietów na Red
Hat Linux, później usamodzielniła się i rozwinęła.
Przez pewien czas firma (wówczas Mandrakesoft) balansowała na krawędzi
bankructwa, ale wyszła z tego obronna ręką, w czym duża zasługa modelu
biznesowego, konsekwentnie opartego o lojalność wobec społeczności
FLOSS.
24 stycznia 2005 r. poinformowano, że Mandrakesoft łączy się
z brazylijską firmą Conectiva a 7 kwietnia tego roku o zmianie
nazwy z Mandrakesoft na Mandriva i zmianie nazwy dystrybucji na
z Mandrakelinux na Mandriva Linux. Zmiana nazwy wiąże się
z procesem wytoczonym przez wydawcę komiksu Mandrake the Magician,
który zarzuca dystrybutorowi naruszenie praw autorskich przez zapożyczenie
nazwy i “magiczne” skojarzenia graficzne.
Instalacja i kontrola
Mandriva Linux jest wyposażony w Centrum Kontroli Mandrakiem (Mandrake
Control Center) przydatne do administrowania Linuksem, zwalnia ono
z konieczności używania w tym celu edytora tekstowego. Wymienione
Centrum Kontroli składa się z wielu programów znanych jako Draki
łącznie nazwanych
drakxtoolami.
- MouseDrake (do myszki)
- DiskDrake (do dysku)
- DrakConnect (DrakNet) (do sieci) — wcześniej znany jako
DrakNet
Pakiety
Mandriva używa zarządcy pakietów nazwanego urpmi, który
funkcjonuje jako przejściówka do systemu pakietów RPM. (ma zautomatyzowane
dodawanie potrzebnych pakietów).
Wersje
- początek: 1998 5.1 Venice
- najnowsza: 2005 2006.0 Mandriva Linux 2006
Potomkowie
Potomkowie czyli dystrybucje które bazują na Mandrake'u, część
stworzona przez samą Mandrakesoft, pozostałe powstały jako niezależne
projekty. Część z nich jest kompatybilna z Mandrakiem, a zatem można
na nich instalować Mandrake'owe RPM-y
- Firewall — dystrybucje typu „Zapora ogniowa”
zapewniają bezpieczeństwo w sieciach komputerowych, mogą być zdalnie
administrowane przez WWW lub ssh
- Edycja do gier (ang. Gaming Edition) — 8.1 ma
Edycje do gier. Zawiera ona grę „The Sims” i używa technologii
WineX do obsługi gier napisanych pod Windows
- CLIC (aka Cluster Linux pour le Calcul) — Celem
projektu CLIC jest realizacja dużych naukowych komputerów, bazująca na
darmowym oprogramowaniu (GPL)
- Mandrake Move — LiveMove łączy w sobie zalety dystrybucji
LiveCD (uruchamianej z płyty) z możliwością zapisu danych na kluczu
USB.
Gentoo
Ogólnie
Gentoo Linux jest dystrybucją nazwaną po pingwinie Gentoo. Stworzoną
z myślą o modularności, przenośności i łatwości w utrzymywaniu
i zoptymalizowaną dla maszyny użytkownika. Zostało to osiągnięte dzięki
budowaniu (building) wszystkich narzędzi i programów z kodu źródłowego,
choć dla wygody, kilka dużych pakietów jest również dostępnych jako
prekompilowane binaria dla różnych architektur. Gentoo osiąga to wszystko
dzięki systemowi Portage.
Historia
Twórca Gentoo, Daniel Robbins, zaczął swoją przygodę z Linuksem od
dystrybucji Debian GNU/Linux. Napisał tam kilka aplikacji i zapoznał
się z tajnikami Linuksa. Wypróbował jeszcze kilka dystrybucji,
ostatecznie postanowił pomóc w rozwoju Stampede Linux. Szybko
zaczął otrzymał posadę koordynatora (ang. developer) i zaczął
się zajmować w nim systemem zarządzania pakietami. Po jakimś czasie
zdecydował się stworzyć własną dystrybucję.
Tak narodził się Enoch. Miała to być dystrybucja szybka. Do
Daniela zaczęli przyłączać się inni i wkrótce nad projektem pracowało już 10
osób. W trakcie rozwoju zmieniono nazwę na Gentoo Linux. Faktycznie szybko,
bo już około wersji 1.0, kiedy Daniel kupił nowy sprzęt komputerowy, okazało
się że system sie na nim zawieszał. Rozwój dystrybucji zatrzymał się.
W kwietniu 2004 roku Daniel zdecydował się zrezygnować z posady
dewelopera Gentoo, a w maju 2005 zatrudnił się w Microsofcie (jako doradza
open-source), przekazując jednocześnie wszystkie patenty niedochodowej
Fundacji Gentoo.
Dystrybucja rozwija się jednak nadal.
Przenośność
Gentoo był oryginalnie zaprojektowany na architekturę x86, ale został
przeniesiony na wiele innych dzięki wysoce-przenośnej naturze Linuksa, gcc,
glibc i Portage'a.
Charakterystyka
- Portage — system zarządzania pakietami wzorowany na
portach FreeBSD
- Ebuild — Ebuild to alternatywa dla typowych w innych
dystrybucjach prekompilowanych paczek oprogramowania. Jest to plik
tekstowy opisujący jak pobrać, skonfigurować, skompilować, zainstalować
źródła — w sposób zoptymalizowany dla danej maszyny.
- Flagi USE — Dla przykładu, jeśli ktoś nie używa
środowiska graficznego GNOME tylko KDE, może ustawić odpowiednie flagi
USE. Flagi USE wpływają na wybór pakietów, zależności między pakietami
i na opcje kompilacji
- Maskowanie pakietów — Określa które pakiety są
odpowiednie dla danego systemu. Bez interwencji nie da rady zainstalować
oprogramowania niestabilnego lub na inną architekturę.
- System init — System init jest inną ważną cechą systemu.
Jest podobny do systemu V, którego używa większość dystrybucji, ale używa
priorytetów (runlevels) nazywanych zamiast numerowanych oraz skryptów
bazujących na zależnościach
Wersje
- Pierwsza: 1.0, 31 marca 2002;
- Najnowsza: 2005.1 maintenance release, 1 listopada 2005.
Wady
- słaba kontrola jakości, niestabilne „stabilne wydania”
i zamknięta „elita zarządzająca” — koncentrowanie
się na jak najbardziej aktualnych wersjach. Kontrola jakości polega
poprawianiu błędów, które użytkownicy zgłoszą — co jest złym
rozwiązaniem w przypadku rzadko używanego oprogramowania
- bardzo skomplikowany proces instalacyjny:
- czasem, na starszym sprzęcie instalacja trwa dniami…
- kompilowanie pakietów ze źródeł
- konieczność skonfigurowania i kompilacji jądra, utworzenia
i podmontowania partycji, zainstalowania bootloadera
- część pakietów (szczególnie większych: X11 i OpenOffice.org) wymaga
wielu dni do skompilowania. Ponadto niektóre ustawienia kompilacji
mogą powodować mniejszą stabilność utworzonych pakietów.
Slackware
Historia i nazwa
Pierwsze wersja 1.00 została wydana w lipcu 1993 przez Patryka
Volkerdinga, bazowała na dystrybucji SLS Linux. Slackware jest aktualnie
najstarszą aktualizowaną dystrybucją.
Nazwa „Slackware” pochodzi od terminu Slack, zdefiniowanego
w „Kościele Podgeniuszy”. Kościół Podgeniuszy jest satyryczną,
postmodernistyczną religijną organizacją, oryginalnie położoną w Dallas.
Głównym wierzeniem w kościele jest poszukiwanie „Slack” co
oznacza wolność, niezależność i oryginalne myślenie przy osiąganiu własnych
celów.
W 1999 roku numery wydania przeskoczyły z 4 na 7 aby pokazać że
Slackware nie jest gorszy od innych dystrybucji, które miały zwykle nr.
6.
Filozofie projektowe
- KISS — oznacza „Keep it Simple, Stupid” — czyli dbaj
o prostotę. Prostota raczej z punktu projektu systemu niż łatwości
używania. Z tego powodu jest mało narzędzi GUI (bo są bardziej złożone,
podatne na problemy). Rezultat to system szybki, bezpieczny kosztem
przyjazności. Krytycy — system czasochłonny.
Entuzjaści —
uzyskane doświadczenie ważniejsze niż GUI.
- Skrypty startowe (init) — Używa skryptów typu BSD, podczas gdy
większość dystrybucji używa skryptów Systemu V. System V ma podkatalogi
na skrypty INIT, a BSD ma jeden skrypt na każdy poziom (runlevel). BSD
podnoć łatwiejsze do edycji. System V ponoć wydajniejsze.
- Zarządzanie pakietami — Instalowanie i usuwanie pakietów jest
łatwe, polega na rozpakowaniu pliku tgz (gzip tarball).
Nie są sprawdzane zależności.
PLD
Ogólnie
PLD jest dystrybucją wytwarzaną głównie przez Polaków, jakkolwiek
przeznaczoną dla ludzi z całego świata. Grupą docelową są bardziej
zaawansowani użytkownicy i administratorzy. System może wymagać ręcznej
konfiguracji, w zamian otrzymujemy dużą elastyczność i wsparcie dla wielu
architektur.
Historia
PLD powstało w 1998 roku jako repozytorium pakietów dla Red Hata. Szybko
się rozrosło i utworzyło samowystarczalną dystrybucję. Obecnie jest to jeden
z najbardziej aktywnych open-source'owych projektów na świecie.
Wydania
- 1.0 Ra — XI 2002 — wydane jakiś czas temu;
- 2.0 Ac — końcowy stan rozwoju;
- 3.0 Th/3.0 — początkowy rozwój.
Aż do maja 2003 wszystkie ważne decyzje w PLD były podejmowane przez,
kierującego projektem, Tomasza Kłoczko. Wielu deweloperów nie zgadzało się
z jego sposobami działania i po kilku próbach poprawy sytuacji, zdecydowali
się zaprzestać używania części infrastruktury kontrolowanej przez Tomasza
(m.im. repozytorium CVS), mimo tego zaproponowali mu posadę zwykłego
dewelopera. Tomasz odmówił i razem z grupą osób rozwija swoją własną wersję
PLD.
Formaty pakietów;
systemy zarządzania
pakietami niskiego poziomu
System zarządzania pakietami to zestaw narzędzi automatyzujących
proces instalacji, aktualizacji, konfiguracji i usuwania
oprogramowania. w tym celu aplikacje, biblioteki, itd.
w skompilowanej formie ujmowane są w pakiety
oprogramowania. Pliki z pakietami najczęściej niosą ze sobą
dodatkowe informacje takie jak:
- nazwa i numer wersji;
- lista innych pakietów niezbędna do działania (zależności);
- sumy kontrolne plików.
Format tgz
- Typ MIME: application/x-tar
- Dystrybucje: Slackware
- Anatomia: archiwum tar skompresowane gzip-em,
zawierające:
- system plików (bez dowiązań symbolicznych!);
- skrypt instalacyjny /install/do_inst.sh (brak skryptu
deinstalacyjnego!);
- opis pakietu /install/slack-desc.
- Metadane:
- w nazwie pliku:
nazwapakietu-wersja-architektura-podwersja.tgz;
- opis pakietu;
- brak informacji o zależnościach między pakietami! (co nie
znaczy, że zależności między pakietami nie ma)
- (nie)bezpieczeństwo: nie ma sum kontrolnych plików, pakiety nie
podpisywane kryptograficznie.
- Narzędzia:
- installpkg pełnanazwapakietu.tgz,
upgradepkg pełnanazwapakietu.tgz:
instalacja/aktualizacja pakietu,
- removepkg nazwapakietu: usunięcie pakietu
- makepkg pełnanazwapakietu: utworzenie pakietu
pełnanazwapakietu.tgz z zawartości bieżącego
katalogu.
-
Baza danych pakietów:
- dla każdego zainstalowanego pakietu:
- plik /var/log/packages/pełnanazwapakietu
zawiera:
- nazwę pakietu,
- jego opis, rozmiar (przed i po rozpakowaniu),
- listę plików wchodzących w skład pakietu;
- skrypt instalacyjny
/var/log/scripts/pełnanazwapakietu;
-
analogiczne pliki dla pakietów usuniętych:
- /var/log/removed_packages/pełnanazwapakietu
- /var/log/removed_scripts/pełnanazwapakietu
Format rpm (RPM Package Manager, Red Hat Package
Manager)
- Typ MIME: application/x-rpm
- Dystrybucje: Fedora Core, RedHat, PLD,
Aurox, Mandriva/Mandrake, SuSE,
Connectiva.
- Anatomia: dość skomplikowana, 4 następujące po sobie części:
- czołówkę (lead),
- nagłówek zawierający metadane,
- sygnaturę umożliwiające weryfikację spójności zawartości
pakietu,
- archiwum cpio skompresowane gzip-em (lub,
w nowszych wersjach, przy pomocy bzip2);
- Metadane:
- w nazwie pliku:
nazwa-wersja-podwersja.architektura.rpm
(to jedynie konwencja, nazwę można dowolnie zmieniać, bez wpływu na
zachowanie systemu zarządzania pakietami);
- w nagłówku:
- podstawowe informacje: Name, Version,
Release, Arch, Summary,
Description
- pochodzenie: OS,
Distribution,
- kategoryzacja: Group;
- zależności (od możliwości (capabilities) i ich
wersji):
- Requires,
- Conflicts,
- Provides, Obsoletes;
- lista plików konfiguracyjnych — jeżeli plik konfiguracyjny
zostanie zmieniony to podczas aktualizacji pakietu nie zostanie
nadpisany przez nową wersję
- lista plików tworzących dokumentację — można zażądać
pomijanie dokumentacji podczas instalacji pakietu;
- bezpieczeństwo:
- pakiety mogą być podpisane kryptograficznie (GPG);
- dla każdego pliku dostarczona jest suma MD5.
- Wyzwalacze (skrypty instalacyjne):
- preinstall (wykonywany przed instalacją pakietu),
- postinstall (wykonywany po instalacji pakietu),
- preuninstall (wykonywany po instalacji pakietu),
- postuninstall (wykonywany po instalacji pakietu);
- Polecenie rpm:
- instalacja pakietów: rpm -i
nazwaplikuzpakietem…;
- aktualizacja
pakietów: rpm -U nazwaplikuzpakietem…;
- usunięcie pakietów: rpm -e
nazwapakietu…;
- wyświetlenie informacji
o zainstalowanym pakiecie: rpm -q[opcje]
nazwapakietu;
- wyświetlenie informacji o pakiecie, do którego należy plik:
rpm -qf[opcje] nazwapliku;
- wyświetlenie listy wszystkich zainstalowanych pakietów: rpm
-qa.
- Transakcyjność polecenia rpm:
- jednoczesne instalowania/uaktualnianie/usuwanie wielu pakietów
jest atomowe;
- używanie opcji --repackage przy aktualizacji/usuwaniu
pakietów pozwala na cofanie tych transakcji: rpm -U --rollback
data.
- Baza danych pakietów: katalog /var/lib/rpm zawiera wiele
plików; każdy z nich jest osobną bazą danych w formacie
Berkley DB, przeznaczoną dla innego rodzaju zapytań.
- Pakiety źródłowe:
- anatomia: po prostu pliki rpm zawierające kod źródłowy
i przepis budowania pakietu (plik spec);
- budowanie pakietu: rpmbuild -bb
nazwaplikuzpakietemźródłowym.
Format deb, system dpkg (Debian Packaging
System)
- Typ MIME: application/x-archive,
application/x-debian-package
- Dystrybucje: Debian, Knoppix, Ubuntu,
Progeny, Linspire, Xandros,
UserLinux.
- Anatomia: archiwum ar zawierające (w tej kolejności) pliki:
- debian-version zawierający numer wersji formatu,
- control.tar.gz: archiwum z plikiem kontrolnym,
skryptami pomocniczymi i sumami MD5 plików,
- data.tar.gz: archiwum systemu plików.
- Metadane:
- w nazwie pliku:
nazwapakietu_wersja-podwersja_architektura.deb
(to jedynie konwencja, nazwę można dowolnie zmieniać, bez wpływu na
zachowanie systemu zarządzania pakietami);
- w pliku kontrolnym, np. takim:
Package: lftp
Priority: optional
Section: net
Maintainer: Noèl Köthe <noel@debian.org>
Architecture: i386
Version: 3.4.0-1
Depends: libc6 (>= 2.3.5-1), libexpat1 (>= 1.95.8), …
Description: Sophisticated command-line FTP/HTTP client programs
Lftp is a file retrieving tool that supports FTP, HTTP, …
⋮
- podstawowe informacje: Package, Version,
Architecture, Description;
- Source, Maintainer;
- kategoryzacja:
- Section,
- Priority (Required, Important,
Standard, Optional lub Extra),
- Essential — pakiet niezbędny do
funkcjonowania systemu,
- rozbudowane zależności (od pakietów i ich wersji):
- Pre-Depends, Depends, Recommends,
Suggests;
- Conflicts;
- Replaces, Provides.
- lista plików konfiguracyjnych — jeżeli plik konfiguracyjny
zostanie zmieniony to podczas aktualizacji pakietu nie zostanie
nadpisany przez nową wersję
- bezpieczeństwo:
- pakiety mogą być podpisane kryptograficznie (GPG);
- dla każdego pliku dostarczona jest suma MD5.
- Skrypty instalacyjne, deinstalacyjne, konfiguracyjne:
- preinst (wykonywany przed instalacją pakietu),
- postinst (wykonywany po instalacji pakietu),
- prerm, (wykonywany przed usunięciem pakietu)
- postrm (wykonywany po usunięciu pakietu),
- config (wykonywany po instalacji pakietu, a także na
życzenie użytkownika);
- Narzędzia:
- polecenie dpkg:
- instalacja/aktualizacja pakietów: dpkg -i
nazwaplikuzpkietem…,
- usunięcie pakietów: dpkg -r
nazwapakietu… lub dpkg -P
nazwapakietu… (usuwa też pliki
konfiguracyjne),
- wyświetlenie informacji o zainstalowanym pakiecie:
dpkg -p nazwapakietu,
- odnalezienie pakietu, do którego należy plik: dpkg -S
nazwapliku,
- wyświetlenie listy wszystkich zainstalowanych pakietów:
dpkg -l;
- przesłanianie uprawnień plików: dpkg-statoverride;
- rozwiązywanie kolizji plików o tej samej nazwie
w różnych pakietach: dpkg-divert,
update-alternatives.
- odnajdywanie zbędnych bibliotek: deborphan.
- tworzenie pakietów zawierających jedynie informację
o zależnościach: equivs.
- Baza danych pakietów:
- /var/lib/dpkg/available: informacje o dostępnych
pakietach;
- /var/lib/dpkg/status: statusy (zainstalowany, częściowo
zainstalowany, …) dostępnych pakietów;
- /var/lib/dpkg/info/*:
- nazwapakietu.list
- nazwapakietu.conffiles
- nazwapakietu.md5sums
- skrypty instalacyjne, deinstalacyjne
i konfiguracyjne
- /var/lib/dpkg/diversions;
- /var/lib/dpkg/alternatives/*;
- pliki te są tekstowe i nie zindeksowane!
- Pakiety źródłowe:
- anatomia: 3 osobne pliki:
- nazwa_wersja.orig.tar.gz: oryginalne
(czasami jedynie w teorii) źródła;
- nazwa_wersja-podwersja.diff.gz:
łata na oryginalne źródła;
- nazwa_wersja-podwersja.dsc:
plik z metadanymi pakietu źródłowego;
- budowanie pakietów: narzędzie dpkg-buildpackage.
- Debtags (Debian Package Tags:
- niemal każdy pakiet z dystrybucji Debian został
poddany klasyfikacji aspektowej, np.:
Package: lftp
⋮
Tag: filetransfer::ftp, interface::shell,
interface::text-mode, protocol::ftp, protocol::http, protocol::ipv6,
protocol::sftp, role::sw:client, uitoolkit::ncurses,
use::downloading, works-with::file
- strona WWW przedsięwzięcia: Debian Package
Tags.
Bibliografia
Systemy zarządzania pakietami wysokiego poziomu
Piekło zależności
W przypadku zaawansowanych systemów zarządzania pakietami,
zainstalowanie pakietu może się nie powieść z powodu niespełnionych
zależności. Pojedynczy pakiet może wymagać dziesiątków innych; te
z kolei jeszcze innych. (Usuwanie a nawet aktualizacja pakietów może
być równie kłopotliwa.) Ręczne zapewnienie, że wszystkie zależności będą
spełnione bywa w praktyce niewykonalne.
Rozwiązaniem są wysokopoziomowe systemy zarządzania pakietami oparte na
repozytoriach:
- system przechowuje informacje o wszystkich dostępnych pakietach
i zależnościach między nimi;
- zależności rozwiązywane są przez system automatycznie;
- nie rozwiązuje to problemu oprogramowania spoza dystrybucji.
apt (Advanced Packaging Tool)
- Dystrybucje: Debian, Knoppix, Ubuntu,
Progeny, Linspire.
- Źródła repozytoriów: CD-ROM-y instalacyjne, serwery FTP i HTTP,
repozytoria lokalne; konfigurowalne w pliku
/etc/apt/sources.list.
- Możemy decydować o tym jakie pakiety mają pochodzić
z jakiego repozytorium (przyszpilanie, pinning);
konfigurowalne w pliku
/etc/apt/preferences;
- Narzędzia:
- apt-get — najpopularniejsze narzędzie oparte
o bibliotekę APT:
- uaktualnienie listy dostępnych pakietów: apt-get
update;
- instalacja pakietów: apt-get install
nazwapakietu…;
- usunięcie pakietów: apt-get remove
nazwapakietu…;
- aktualizacja zainstalowanych pakietów:
- apt-get upgrade: nigdy nie zostaną
zainstalowane nowe pakiety ani usunięte aktualnie
zainstalowane;
- apt-get dist-upgrade: ważniejsze pakiety będą
aktualizowane, być może kosztem mniej ważnych;
- pakiety, których nie udało się zaktualizować są oznaczone
jako odłożone (kept-back).
- aptitute — interaktywne odpowiednik
apt-get-a;
- apt-src — narzędzie do pobierania, instalowania,
aktualizowania i śledzenia pakietów źródłowych.
apt-rpm
- Dystrybucje: PLD, Connectiva.
- Wersja biblioteki APT dostosowana do współpracy
z RPM Package Manager'em.
poldek
- Dystrybucje: PLD.
- Alternatywa dla apt-rpm (w PLD dostępne są oba
rodzaje repozytoriów);
- Nie daje tak dużej kontroli nad wieloma repozytoriami jak
APT
- poldek w trybie wsadowym:
- uaktualnienie listy dostępnych pakietów: poldek
--upa;
- przyrostowe uaktualnienie listy dostępnych pakietów: poldek
--up;
- instalacja pakietów: poldek -i
nazwapakietu…;
- usunięcie pakietów: poldek -e
nazwapakietu…;
- aktualizacja zainstalowanych pakietów: poldek
--upgrade-dist;
- poldek może pracować również w trybie
interaktywnym.
yum
- Dystrybucje: Fedora Core, Yellow Dog Linux.
- Narzędzie yum:
- instalacja pakietu/grupy pakietów: yum install
nazwapakietu, yum groupinstall
nazwagrupy;
- usunięcie pakietu/wszystkich pakietów z grupy: yum
remove nazwapakietu, yum groupremove
nazwagrupy;
- aktualizacja pakietu/wszystkich pakietów z grupy: yum
update nazwapakietu, yum groupupdate
nazwagrupy;
- aktualizacja wszystkich zainstalowanych pakietów: yum
update;
- uaktualnianie danych na temat aktualnie dostępnych pakietów
odbywa się automatycznie.
portage
Bibliografia
Proste sposoby tworzenia pakietów
Gdy potrzebnego nam programu nie ma w dystrybucji, której używamy,
możemy:
- poszukać go w nieoficjalnych repozytoriach:
- samodzielnie zbudować pakiet binarny dla naszej dystrybucji:
- zazwyczaj to jedyny słuszny sposób (jeżeli zawiódł
poprzedni),
- praktycznie niewykonalne gdy dysponujemy jedynie binarnym,
niekonfigurowalnym instalatorem,
- może być dosyć skompilowane i żmudne:
- (skompilować go ze źródeł i) zainstalować
w /usr/local/:
- praktycznie niewykonalne gdy dysponujemy jedynie binarnym,
niekonfigurowalnym instalatorem,
- tracimy informację o zależnościach,
- kłopotliwa deinstalacja i aktualizacja,
- może być czasochłonne;
- rozpakować pakiet binarny z innej dystrybucji:
- Slackware Packages
(Slackware),
- Debian Packages
(Debian),
- ryzykowne, jeżeli rozpakujemy wprost do katalogu głównego
(w przeciwnym przypadku zmniejszamy szanse na poprawne
działanie),
- tracimy informację o zależnościach,
- kłopotliwa deinstalacja i aktualizacja;
- dokonać konwersji pakietu binarnego z innej dystrybucji:
- bardzo prosta metoda,
- tracimy informacje o zależnościach;
- użyć specjalnych programów wspomagających budowanie pakietów.
Rozpakowanie systemu plików
Konwersja formatów pakietów — program alien
- Narzędzie pozwalające na konwersję między różnymi formatami pakietów
binarnych (m.in. deb, rpm, tgz);
- Użycie: alien [--to-deb] [--to-rpm]
[--to-tgz] plikzpakietem;
- Ograniczenia:
- nie jest samodzielny:
- wymagane są narzędzia do budowania odpowiednich
pakietów,
- do konwersji z formatu rpm potrzebny jest
RPM Package Manager;
- brak konwersji zależności;
- ograniczona konwersja skryptów instalacyjnych
i deinstalacyjnych;
- Przydatne linki:
Program checkinstall
Ze względu na uniksową hierarchię systemu plików, instalacja ze źródeł
(lub za pomocą instalatora) powoduje, że usunięcie programu może
wymagać:
- posiadania kopii źródeł (by móc wykonać make uninstall)
lub
- deinstalatora.
Rozwiązaniem tego problemu zajmuje się program checkinstall,
który:
- śledzi jakie pliki są zmieniane przez make install (lub
instalator lub dowolny inny program);
- na podstawie zebranych
informacji buduje pakiet (deb, rpm lub
tgz).
Sposób użycia: checkinstall [-D] [-R]
[-S]
polecenieinstalacyjne.
Ograniczona obsługa zależności: tylko dla formatu rpm, należy
je jawnie podać.
Przydatne linki:
Budowanie pakietu z jądrem — program
make-kpkg
make-kpkg to narzędzie pozwalające w prosty sposób
zbudować debianowy pakiet z jądrem (a także ze źródłami jądra,
z dokumentacją jądra…). Program sam troszczy się
o zależności, tworzy odpowiednie skrypty instalacyjne itd.
Sposób użycia: w katalogu ze skonfigurowanym jądrem
wywołujemy:
make-kpkg --config menuconfig configure
make-kpkg --revision podwersja kernel-image
Bibliografia