Ten dokument odpowiada na często zadawane pytania dotyczące systemu Debian GNU/Linux.
Copyright © 1996-2003 by Software in the Public Interest
Udziela się zgody na dystrybuowanie wiernych kopii tego dokumentu pod warunkiem opatrzenia wszystkich kopii informacją o prawach autorskich a także niniejszym pozwoleniem.
Udziela się zgody na tworzenie i dystrybucję zmodyfikowanych wersji tego dokumentu na warunkach takich, jak w przypadku wiernych kopii, pod warunkiem, że całe zmodyfikowane dzieło rozprowadzane jest na zasadach identycznych do zawartych w niniejszym pozwoleniu.
Udziela się zgody na kopiowanie i dystrybucję tłumaczeń tego dokumentu w innym języku, zgodnie z powyższymi warunkami dotyczącymi modyfikowanych wersji dokumentu, z tym wyjątkiem, iż tłumaczenie niniejszego pozwolenia musi zostać zatwierdzone przez Free Software Foundation lub pozostać w brzmieniu oryginalnym.
Powyższe tłumaczenie nie zostało zatwierdzone przez Free Software Fundation i w związku z tym nie jest w żadnym stopniu wiążące. Ma jedynie charakter informacyjny, a w przypadku redystrybucji lub modyfikacji dokumentu należy stosować się do oryginału zamieszczonego poniżej.
Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.
Debian GNU/Linux jest szczególną dystrybucją systemu operacyjnego Linux i licznych pakietów, które można na nim uruchomić.
W zasadzie, użytkownicy mogą pobrać z Internetu lub innych źródeł jądro Linux, a następnie je samodzielnie skompilować. Mogą dalej pobrać kody źródłowe wielu aplikacji w ten sam sposób, skompilować je, a potem zainstalować na swoim systemie. W przypadku skomplikowanych programów, ten proces może być nie tylko czasochłonny, ale też może powodować błędy. Aby tego uniknąć, użytkownicy często wolą otrzymać system operacyjny i pakiety z oprogramowaniem od jednego z dystrybutorów Linuksa. To co wyróżnia od siebie różne dystrybucje Linuksa to wybór oprogramowania, protokołów, sposób tworzenia, instalacji i zarządzania pakietami wraz z narzędziami za to odpowiedzialnymi. Do tego dochodzi jeszcze dokumentacja i inne usługi.
Debian GNU/Linux jest wynikiem prac i poświecenia wielu ochotników, którym przyświecał cel stworzenia wysokiej jakości wolnego systemu operacyjnego zawierającego pełną gamę aplikacji. Idea wolnego systemu uniksopodobnego zrodziła się wraz z projektem GNU, a wiele aplikacji, które czynią system Debian GNU/Linux tak użytecznym, zostało opracowanych w ramach właśnie tego projektu.
Dla Debiana wolność (z angielskiego ,,free'', co znaczy zarówno ,,wolność'' jak
i ,,darmowość'') ma znaczenie zgodne z rozumieniem projektu GNU (zobacz
Wytyczne
Debiana dotyczące Oprogramowania Wolnodostępowego). Kiedy mówimy o
wolnym oprogramowaniu, odnosimy się do wolności, nie do jego szybkości
działania. Wolne oprogramowanie oznacza, że masz wolną rękę do dystrybuowania
kopii, że otrzymałeś kody źródłowe, że możesz zmieniać te programy, lub używać
ich części w innych wolnych programach.
Projekt Debian został stworzony przez Iana Murdocka w 1993 roku i na początku był sponsorowany przez projekt GNU Fundacji Wolnego Oprogramowania (FSF). Dziś deweloperzy Debiana myślą o nim jak o bezpośrednim potomku projektu GNU.
Debian GNU/Linux jest:
serwerów lustrzanych
Debiana.
Archiwum FTP Debiana zawiera również około 350 pakietów (w archiwum non-free i contrib), które są rozprowadzane pod specyficznymi warunkami (warunki rozprowadzania zawarte są w każdym pakiecie).
Mimo, że Debian GNU/Linux jest Wolnym Oprogramowaniem, jest on podstawą na której mogą powstawać kolejne dystrybucje Linuksa. Przez dostarczanie niezawodnego, szeroko rozbudowanego systemu podstawowego, Debian dostarcza system Linux użytkownikom ze zwiększoną kompatybilnością i pozwala twórcom dystrybucji Linuksa skupić uwagę na rzeczach, które powodują, że ich dystrybucja jest szczególna. Zobacz Robię specjalną dystrybucję Linuksa dla specyficznego rynku. Czy mogę użyć Debiana GNU/Linux i dodać moje własne oprogramowanie?, Rozdział 13.3 w celu uzyskania większej ilości informacji.
Mówiąc krótko, Linux jest jądrem uniksopodobnego sytemu operacyjnego. Pierwotnie był on przeznaczony dla maszyn 386 (i lepszych), a teraz jest on w trakcie przenoszenia na inne architektury, włącznie z wieloprocesorowymi. Linuksa napisał Linus Torvalds i wielu informatyków z całego świata.
Poza samym jądrem, system ,,Linux'' zazwyczaj posiada:
http://www.pathname.com/fhs/.
Kombinacja jądra Linuksa, jego systemu plików, oprogramowania pochodzącego z projektu GNU i FSF, oraz innego oprogramowania, jest tak zaprojektowana, aby osiągnąć kompatybilność ze standardem POSIX (IEEE 1003.1); zobacz Jak bardzo kompatybilny jest kod źródłowy Debiana z kodem źródłowym innych systemów Uniksowych?, Rozdział 3.3.
W celu uzyskania większej ilości informacji na temat Linuksa, zobacz stronę
Michaela K. Johnsona Linux Information
Sheet oraz Meta-FAQ.
Hurd jest zespołem serwerów uruchamianych na mikrojądrze GNU Mach. Razem tworzą podstawę dla systemu operacyjnego GNU.
Obecnie Debian jest dostępny tylko dla Linuksa, ale razem z Debian GNU/Hurd zaczęliśmy również oferować Hurda jako platformę programistyczną, serwer oraz stację roboczą. Jednak Debian GNU/Hurd nie został jeszcze oficjalnie wydany i nie nastąpi to jeszcze przez pewien czas.
Proszę zobaczyć http://www.gnu.org/software/hurd/
w celu uzyskania większej ilości informacji o GNU/Hurd, oraz http://www.debian.org/ports/hurd/
aby uzyskać więcej informacji o Debian GNU/Hurd.
Oto kluczowe cechy, które odróżniają Debiana od innych dystrybucji Linuksa:
Ponad 900 ochotników pracuje nad pakietami w liczbie ponad 8250 i polepszaniem systemu Debian GNU/Linux. Deweloperzy Debiana zasilają projekt nie przez pisanie nowych programów (w większości przypadków), ale przez tworzenie pakietów, według standardów projektu, zawierających istniejące oprogramowanie, poprzez informowanie zewnętrznych deweloperów o nowych błędach, oraz poprzez zapewnianie wsparcia użytkownikom. Więcej informacji dotyczącej tego jak zostać współpracownikiem znajduje się w W jaki sposób mogę zostać deweloperem Debiana?, Rozdział 12.1.
Więcej informacji o tym znajdziesz na naszej stronie o powodach dla których warto
wybrać Debiana.
System Debian jest tworzony w myśl idei Wolnego Oprogramowania, które było
najpierw bronione przez Fundację Wolnego
Oprogramowania (FSF) a w szczególności przez Richarda Stallmana. Potężne
narzędzia programistyczne, aplikacje i innego rodzaju oprogramowanie FSF, są
również kluczową częścią Debiana.
Projekt Debian jest oddzielną jednostką Fundacji Wolnego Oprogramowania (FSF), jednakże komunikujemy się regularnie i razem współpracujemy nad różnymi projektami. Na wyraźną prośbę Fundacji Wolnego Oprogramowania nazywamy nasz system ,,Debian GNU/Linux'' i jesteśmy szczęśliwi, że spełniamy tę prośbę.
Stałym celem Fundacji Wolnego Oprogramowania (FSF) jest rozwijanie nowego
systemu operacyjnego zwanego GNU, bazującego na Hurdzie. Debian pracuje z
FSF nad tym systemem zwanym Debian GNU/Hurd.
Słowo Debian wymawiamy: Deb'-i-en, z krótkim /e/ w części Deb i akcentem na pierwszą sylabę. Słowo Debian jest połączeniem imion Debry oraz Iana Murdocka, który założył projekt. (Słowniki dwuznacznie podają sposób wymowy słowa Ian (!), ale Ian preferuje ee'-en.)
Obecnie istnieją trzy wersje systemu Debian GNU/Linux:
Chcąc uzyskać więcej informacji zobacz Ile dystrybucji Debiana jest w katalogu dists?, Rozdział 5.2.
Obrazy płyt instalacyjnych możesz zdobyć pobierając odpowiednie pliki z jednego
z serwerów lustrzanych
Debiana.
Pliki instalacyjne systemu są wydzielone w podkatalogach katalogu
dists/stable/main , a nazwy tych podkatalogów odnoszą się do
Twojej architektury, w następujący sposób: disks-arch
(arch to "i386", "sparc", itd, sprawdź witrynę,
aby uzyskać dokładną listę). W każdym z podkatalogów dla danej architektury
może znajdować się kilka katalogów, każdy dla wersji instalacyjnej systemu, a
aktualnie używana znajduje się w katalogu `current' (który jest dowiązaniem
symbolicznym).
Zobacz plik README.txt w tym katalogu w celu uzyskania dalszych
instrukcji.
Linux obsługuje system plików ISO 9660 (CD-ROM) z rozszerzeniami Rock Ridge
(dawniej znany jako "High Sierra"). Kilku sprzedawców dostarcza
system Debian GNU/Linux w tym formacie.
Ostrzeżenie: Kiedy instalujesz system z płyt CD-ROM, zazwyczaj nie jest dobrym pomysłem wybór metody dostępu do cdrom przy pomocy narzędzia dselect. Metoda ta jest zazwyczaj bardzo wolna. Na przykład metody mountable i apt są znacznie lepsze przy instalacji z CD-ROMów (zobacz dpkg-mountable, Rozdział 8.2.4 i APT, Rozdział 8.2.1).
Tak. Aby ułatwić sprzedawcom płyt CD dostarczanie dysków wysokiej jakości,
udostępniamy oficjalne obrazy płyt
CD.
Najpierw ostrzeżenie: cały Debian GNU/Linux jest zdecydowanie zbyt duży, aby instalować go ze standardowych dyskietek 1.44 MB - instalacji takiej raczej nie nazwałbyś bardzo przyjemnym doświadczeniem.
Skopiuj pakiety Debiana na sformatowane dyskietki. Obsługiwane formaty to DOS, rodzimy format Linuksa "ext2" lub "minix"; nie zapomnij użyć polecenia mount właściwego dla użytego formatu dyskietki.
Użycie dyskietek powoduje następujące komplikacje:
serwerach lustrzanych
Debiana.
Chcąc odczytywać i zapisywać dane z dyskietki, musisz posiadać obsługę dyskietek wkompilowaną w jądro; większość jąder wspiera obsługę napędów dyskietek.
Chcąc zamontować dyskietkę w punkcie montowania /floppy (katalog powinien zostać utworzony w czasie instalacji) wpisz
mount -t msdos /dev/fd0 /floppy/
jeżeli dyskietka znajduje się w napędzie A: i posiada system plików MS-DOS,
mount -t msdos /dev/fd1 /floppy/
jeżeli dyskietka znajduje się w napędzie B: i posiada system plików MS-DOS,
mount -t ext2 /dev/fd0 /floppy/
jeżeli dyskietka znajduje się w napędzie A: i posiada system plików ext2 (tj. podstawowy system plików Linuksa).
Tak. Możesz zainicjować system instalacyjny Debiana z zestawu plików, który możesz pobrać z naszego serwera FTP i jego serwerów lustrzanych.
Możesz pobrać mały plik z obrazem płyty CD, utworzyć z niego płytę startową,
zainstalować z niej system podstawowy, a resztę poprzez sieć. Aby uzyskać
więcej informacji zobacz http://www.debian.org/CD/netinst/.
Możesz także pobrać pliki z obrazami dyskietek, utworzyć z nich dyskietki
startowe, uruchomić procedurę instalacyjną, a resztę Debiana pobrać poprzez
sieć. Aby uzyskać więcej informacji zobacz http://www.debian.org/distrib/floppyinst.
Debian GNU/Linux zawiera kompletny kod źródłowy dla wszystkich zawartych w nim
aplikacji, więc powinien działać na wszystkich platformach, które są wspierane
przez jądro Linux; szczegóły można znaleźć w Linux
FAQ
Obecne wydanie systemu Debian GNU/Linux 3.0, zawiera kompletną binarną dystrybucję dla następujących architektur:
i386: obejmuje komputery pracujące z procesorami Intela lub kompatybilnymi z Intelem, czyli Intelowskie 386, 486, Pentium, Pentium Pro, Pentium II (zarówno Klamath jak i Celeron), Pentium III, i większość kompatybilnych procesorów AMD, Cyrix i innych.
m68k: obejmuje komuptery Amiga i Atari posiadające procesory Motorola 680x0 dla x>=2; z MMU.
alpha: systemy Alpha produkowane przez Compaq/Digital
sparc: obejmuje systemy Sun'a: SPARC i większość UltraSPARC.
powerpc: obejmuje maszyny PowerPC IBM/Motorola, wlicząjąc w to CHRP, PowerMac i maszyny PReP.
arm: maszyny ARM i StrongARM.
mips: systemy big-endian MIPS SGI: Indy i Indiago2; mipsel: maszyny little-endian MIPS, Digital DECstations.
hppa: maszyny Hawlett-Packard'a PA-RISC (712, C3000, L2000, A500).
ia64: komputery Intel IA-64 ("Itanium").
s390: systemy IBM S/390 mainframe.
Binarna dystrybucja Debiana dla architektury Sparc64 (natywny UltraSPARC) jest obecnie w trakcie rozwoju.
Więcej informacji dotyczących uruchamiania systemu, partycjonowania Twoich
dysków, obsługi urządzeń PCMCIA (PC Card) i podobnych zagadnień można znaleźć w
Installation Manual, który jest dostępny na Naszej stronie WWW http://www.debian.org/releases/stable/installmanual.
Deweloperzy Debiana komunikują się z twórcami innych dystrybucji Linuksa w celu zachowania binarnej kompatybilności pomiędzy dystrybucjami Linuksa. Większość linuksowych, komercyjnych produktów działa równie dobrze pod kontrolą Debiana jak i pod kontrolą systemów dla których zostały stworzone.
Debian GNU/Linux przestrzega Linux
Filesystem Hierarchy Standard. Jednak standard dopuszcza własną
interpretację niektórych zasad w nim opisanych, więc mogą istnieć nieznaczne
różnice pomiędzy Debianem a pozostałymu systemami Linuksowymi.
Dla większości aplikacji kod źródłowy Linuksa jest kompatybilny z innymi systemami Uniksowymi. Linux wspiera prawie wszystko co jest dostępne w Uniksach System V i darmowowych oraz komercyjnych pochodnych BSD. Jednak w obszarze biznesu związanego z Uniksem takie twierdzenie nie ma prawie żadnego znaczenia, ponieważ nie ma sposobu aby je udowodnić. W przemyśle związanym z tworzeniem oprogramowania wymagana jest całkowita kompatybilność, a nie kompatybilność "w prawie" wszystkich przypadkach. Z tego powodu przez lata narastała potrzeba stworzenia standardu, i dzisiaj takim głównym standardem kompatybilności kodu źródłowego w Uniksowych systemach operacyjnych jest POSIX.1 (IEEE Standard 1003.1-1990).
Linux w zamierzeniach ma przestrzegać POSIX.1, ale certyfikat POSIX.1 (i FIPS 151-2) jest dosyć drogi; stąd praca na zasadach zgodnych z POSIX jest dla deweloperów Linuksa trudniejsza. Koszty certyfikatu sprawiają, że zdobycie przez Debiana certyfikatu, nawet w przypadku przejścia procesu sprawdzania, jest mało prawdopodobne. (Proces ten jest obecnie przeprowadzany za darmo, więc oczekuje się, że więcej ludzi będzie pracować zgodnie z wytycznymi POSIX.1)
Unifix GmbH (Braunschweig, Niemcy) stworzył system Linuksowy, który dostał certyfikat jako system zgodny z FIPS 151-2 (rozszerzenie POSIX.1). Ta technologia jest dostępna we własnej dystrybucji Unifix nazwanej Unifix Linux 2.0 i w Linux-FT Lasermoon'a.
Różne dystrybucje Linuksa używają różnych formatów pakietów i różnych programów do zarządzania tymi pakietami.
Alien jest używany do
konwersji pomiędzy różnymi typami pakietów.
Czy na pewno ciągle masz takie programy? :-)
Aby uruchomić program, który ma format a.out (np., QMAGIC lub ZMAGIC),
Jeżeli jądro Twojego Debiana obsługuje uruchamianie plików wykonywalnych a.out za pośrednictwem modułu, wtedy musisz być pewny, że moduł binfmt_aout jest załadowany. Możesz to zrobić w czasie procesu startu sytemu poprzez dodanie lini binfmt_aout do pliku /etc/modules. Możesz to także zrobić z lini poleceń, poprzez wpisanie polecenia insmod DIRNAME/binfmt_aout.o gdzie DIRNAME jest nazwą katalogu, gdzie jest przechowywany moduł zbudowany dla tej wersji jądra, która w danej chwili jest używana. W systemie z jądrem w wersji 2.2.17 DIRNAME będzie /lib/modules/2.2.17/fs/.
libc4, który możesz znaleźć w jednej z
dystrybucji wydanej przed 2.0 (ponieważ wtedy usunięto ten pakiet). Możesz
spróbować jakiegoś starego CD-ROMu z Debianem (Debian 1.3.1 nadal zawiera ten
pakiet) lub zobacz ftp://archive.debian.org/debian-archive/.
xcompat (zobacz powyżej w celu sprawdzenia
dostępności).
Jeśli posiadasz komercyjny program w formacie a.out, to dobry czas na poproszenie autorów o aktualizację w formacie ELF.
Tak. Zainstaluj po prostu wymagane biblioteki libc5 z części
oldlibs (zawierającej stare pakiety właśnie dla zgodności ze
starymi aplikacjami).
Tak. Zainstaluj libc5-altdev i altgcc (z części
oldlibs). Możesz znaleźć odpowiednie, skompilowane z libc5
gcc i g++ w katalogu
/usr/i486-linuxlibc1/bin. Umieść je w zmiennej $PATH tak by
make i inne programy uruchamiały je jako pierwsze.
Jeśli musisz skompilować klienta X-ów libc5, zainstaluj pakiety
xlib6 i xlib6-altdev.
Uważaj, bo środowisko libc5 nie jest już w pełni obsługiwane przez nasze pakiety.
Pliki znajdujące się w katalogu /usr/local/ nie są pod kontrolą systemu zarządzania pakietami Debiana. Dlatego dobrą praktyką jest umieszczanie źródeł swoich programów w /usr/local/src/. Dla przykładu możesz rozpakować pliki z archiwum "cośtam.tar" do katalogu /usr/local/src/foo. Po kompilacji binaria przenieś do /usr/local/bin/, biblioteki do /usr/local/lib/, a wszelkie pliki konfiguracyjne do /usr/local/etc/.
Jeśli Twoje programy i/lub pliki naprawdę muszą być umieszczone w jakichś innych lokalizacja to nadal możesz trzymać je w /usr/local/ i utworzyć odpowiednie dowiązania symboliczne z wymaganych lokalizacji do /usr/local/. Np. możesz zrobić dowiązanie
ln -s /usr/local/bin/cośtam /usr/bin/cośtam
W każdym przypadku, jeśli licencja programu pozwala na redystrybucję powinieneś zastanowić się nad stworzeniem pakietu i przesłaniu go do Debiana. Przewodniki jak stać się opiekunem pakietu są załączone w podręczniku Polityki Debiana (zobacz Jakie inne dokumentacje istnieją dla systemu Debian GNU/Linux?, Rozdział 11.1).
Taki błąd oznaczać może, że program jest złączony z bibliotekami X11 w wersji
libc5. W takim przypadku musisz zainstalować pakiet
xlib6 z części oldlibs.
Możesz otrzymywać podobne komunikaty o błędach odnoszące się do pliku
libXpm.so.4. W takim przypadku należy zainstalować bibliotekę XPM w wersji
libc5 z pakietu xpm4.7 z części oldlibs.
Zamiast bazy oraz biblioteki termcap Debian używa bazy terminfo oraz biblioteki ncurses opisującej interfejsy terminali. Użytkownicy kompilujący programy, które wymagają pewnej wiedzy o interfejsie terminali powinni podmienić odwołania do biblioteki libtermcap na libncurses.
By obsługiwać binaria, które zostały już połączone z biblioteką
termcap i do których nie posiadasz źródeł, Debian udostępnia
pakiet termcap-compat. W nim zawarte są
libtermcap.so.2 i /etc/termcap. Zainstaluj ten
pakiet jeśli program nie uruchamia się wypisując komunikat "can't load
library 'libtermcap.so.2'" lub wspomina o brakującym pliku
/etc/termcap.
AccelX używa do instalacji biblioteki termcap. Zobacz Dlaczego nie mogę skompilować programów używających libtermcap?, Rozdział 3.10.
Musisz zainstalować pakiet motifnls, który dostarcza pliki
konfiguracyjne dla XFree-2.1 pozwalające aplikacjom Motifa skompilowanym pod
XFree-2.1 uruchamiać się pod XFree-3.1.
Bez tych plików niektóre aplikacje Motifa skompilowane na innych komputerach (takich jak Netscape) mogą się zawieszać przy próbie kopiowania i wklejania do pól tekstowych. Mogą występować również inne problemy.
Tak jak większość dystrybucji Linuksa, Debian GNU/Linux oferuje:
Debian obejmuje ponad 7890 pakietów, począwszy od serwerów wiadomości i przeglądarek poprzez programy obsługujące dźwięk, programy faksujące, bazy danych i arkusze kalkulacyjne, programy do obróbki obrazu, komunikacji, sieci, narzędzia pocztowe, serwery sieciowe, a nawet programy obsługujące ham-radio.
Część programów jest dostępna jako pakiety Debiana, choć - z powodu restrykcji licencyjnych - nie są formalną częścią dystrybucji. Ich aktualna ilość to 350.
Autorzy każdego z programów w pakiecie są wymienieni w pliku /usr/doc/PAKIET/copyright, gdzie PAKIET należy zastąpić nazwą pakietu.
Koordynatorzy, którzy z tego oprogramowania utworzyli pakiet dla systemu Debian GNU/Linux są wymienieni w pliku kontrolnym (zobacz Czym jest plik kontroli w pakiecie systemu Debian?, Rozdział 6.4), znajdującym się w każdym pakiecie.
Kompletna lista jest dostępna w dwóch częściach:
serwera
lustrzanego Debiana, w pliku indices/Maintainers. Ten
plik zawiera nazwy pakietów oraz nazwiska i adresy ich koordynatorów.
serwera
lustrzanego Debiana non-US, w pliku
indices-non-US/Maintainers. Ten plik zawiera nazwy pakietów oraz
nazwiska i adresy ich koordynatorów.
Strona Dostęp do pakietów Debiana
przez WWW w wygodny sposób przedstawia informację o pakietach
podzielonych na około dwadzieścia "sekcji" archiwum Debiana.
Lista programów, które wciąż czekają na umieszczenie w pakietach Debiana to
Work-Needing and Prospective
Packages list.
Więcej informacji o dodawaniu brakujących rzeczy znajdziesz W jaki sposób mogę zostać deweloperem Debiana?, Rozdział 12.1.
Polityka Debiana wymaga, by taki link symboliczny (np. do libfoo.so.x.y.z) był umieszczany w oddzielnym pakiecie dla deweloperów. Takie pakiety zwykle nazywają się libfoo-dev lub libfooX-dev (zakładając, że pakiet z biblioteką nazywa się libfooX, gdzie X jest numerem).
Oficjalny Java Development kit z Sun Microsystems nie jest oprogramowaniem wolnodostępnym, i nie może znajdować się w dystrybucji Debiana. Jednakże zarówno JDK jak i kilka wolnych implementacji technologii Java są dostępne w pakietach Debiana. Możesz pisać, poprawiać i uruchamiać w Debianie programy napisane w Javie.
Uruchomienie apletu Javy wymaga przeglądarki internetowej z możliwością obsługi technologii Java. Kilka przeglądarek dostępnych w Debianie, takie jak Mozilla czy Konqueror obsługuje wtyczkę Java, co pozwala na uruchamianie w nich apletów Java. Netscape Navigator, choć nie jest wolnym oprogramowaniem, również jest dostępny jako pakiet Debiana i potrafi uruchamiać aplety Javy.
Sięgnij do Debian Java
FAQ po więcej informacji.
W celu upewnienia się, że twój system został zainstalowany z prawdziwych dysków dystrybucyjnych Debiana sprawdź, czy istnieje plik /etc/debian_version, który zawiera tylko jedną linię z numerem wersji takim, jaki wynika z pakietu base-files.
Obecność programu dpkg świadczy o tym, że możesz instalować pakiety Debiana w swoim systemie, ale program ten został zaadoptowany przez wiele innych systemów operacyjnych i architektur, więc przestał to być wiarygodny sposób upewniania się, że twój system to Debian GNU/Linux.
Musisz pamiętać, że Debian składa się z wielu części, z których niemal każda może być uaktualniana niezależnie. Każde wydanie Debiana zawiera starannie zdefiniowaną i niezmienną zawartość. Uaktualnienia są dostępne oddzielnie. Jednowierszowy opis statusu instalacji pakietu foo jest dostępny po wydaniu polecenia dpkg --list foo. By zobaczyć wersję wszystkich aktualnie zainstalowanych pakietów, uruchom:
dpkg -l
Bardziej szczegółowa informacja dostępna jest przez:
dpkg --status foo
Podczas instalacji systemu użytkownik jest proszony o określenie klawiatury
Na przykład dla polskich stron dokumentacji (tzw. manuals), zmienna
LC_MESSAGES musi mieć wartość 'pl_PL'. Spowoduje to, że program
man będzie starał się znaleźć w /usr/share/man/pl/
polską dokumentację.
Prawo amerykańskie zabrania eksportu zaawansowanych technologii obronnych, takich jak np. programy szyfrujące. Dotyczy to m.in. PGP czy SSH.
Aby uchronić przed ryzykiem postępowania wbrew prawu, niektóre pakiety Debiana
dostępne są tylko z serwera non-US ftp://non-US.debian.org/debian-non-US/.
Jest także kilka serwerów lustrzanych poza Stanami Zjednoczonymi. Pełna lista
znajduje się tutaj.
Z powodu obostrzeń w licencji, znajduje się on w obszarze non-free. Ponadto licencja nie zezwala nawet na rozpowszechnianie zmodyfikowanych plików binarnych, będziesz więc musiał samodzielnie go skompilować z plików źródłowych i nakładek Debiana.
Nazwa pakietu ze źródłami to pine. Możesz użyć pakietu
pine-tracker by uzyskać informację o koniecznościach uaktualnień.
Zauważ, że jest wiele darmowych zamienników zarówno pine jak i pico, takich jak
mutt i nano, które dostępne są w głównej części
pakietów.
Programy przystosowane dla Debiana dostępne są w jednym z kilku katalogów na każdym serwerze lustrzanym Debiana.
Katalog dists jest skrótem od "distributions" (z ang. dystrybucje) i jest miejscem, gdzie umieszczane są aktualnie dostępne wydania (i zapowiedzi wydań).
Katalog pool zawiera aktualne pakiety, zobacz Co jest w katalogu pool?, Rozdział 5.11.
Dodatkowo udostępnione są następujące katalogi:
Zazwyczaj są tam trzy dystrybucje, "stable" (stabilna), "testing" (testowana), "unstable" (niestablina, rozwijana). Czasami jest także dystrybucja "frozen" (zamrożona) (zob. A co z "frozen"?, Rozdział 5.4).
Są to tylko swego rodzaju "kryptonimy". Kiedy dystrybucja Debiana jest w fazie przygotowywania, nie ma numeru wersji, tylko kryptonim. Zostały one nadane, żeby ułatwić pracę serwerom lustrzanym i uniknąć zbędnego kopiowania, kiedy dystrybucja np. zmienia stan z niestabilnego na stabilny.
Aktualnie, stable jest dowiązaniem symbolicznym do woody (i.e. Debian GNU/Linux 3.0) a testing do sarge. Oznacza to, że woody jest aktualnie dystrybucją stabilną, a sarge jest w fazie testów.
unstable jest stałym dowiązaniem symbolicznym do sid, jako że sid jest zawsze wersją niestabilną (see Dystrybucja "sid"?, Rozdział 5.5).
Wcześniej używano nazw: buzz dla wydania 1.1, rex dla wydania 1.2, bo dla wydania 1.3.x, hamm dla wydania 2.0, slink dla wydania 2.1 i potato dla wydania 2.2.
Jak na razie były zapożyczane z filmu "Toy Story" wytwórni Pixar.
Kiedy dystrybucja "testing" jest wystarczająco dojrzała, kierownik wydania zaczyna ją "zamrażać". Zmniejszane jest tempo aktualizacji pakietów, aby ograniczyć ilość błedów, które pojawiają się w wersji niestabilnej, przenoszonych do testowej.
Po pewnym czasie, dystrybucja "testing" jest całkowicie zamrożona, co oznacza wstrzymanie aktualizacji pakietów, o ile nie zawierają krytycznych dla wydania błędów. Dystrybucja zamrożona przechodzi przez kilkumiesięczny okres próbny składający się na przemian z aktualizacji i z okresów głębokiego zamrożenia nazywanych "cyklami testowymi".
Prowadzimy listę błędów w dystrybucji "testing", które mogą spowodować wstrzymanie konkretnego pakietu, lub całego wydania. W momencie, kiedy liczba takich błędów spadnie poniżej maksymalnej akceptowalnej wartości, dystrybucja uznawana jest za stabilną i wydawana z kolejnym numerem wersji.
Wraz z nowym wydaniem, zdezaktualizowana poprzednia dystrybucja
"stable" przenoszona jest do archiwum. Więcej informacji znajdziesz
pod adresem Debian -
archiwum.
sid czyli unstable jest miejscem, do którego trafia większość nowych pakietów. Dystrybucja ta nigdy nie doczeka się bezpośredniego wydania, ponieważ pakiety przeznaczone do wydania muszą najpierw wejść do dystrybucji testing, aby mogły być poźniej wydane w dystrybucji stable. sid zawiera pakiety zarówno dla architektur przeznaczonych do wydania jak i tych nie wydawanych.
Nazwa "sid" także pochodzi z filmu "Toy Story": Sid był chłopcem z sąsiedztwa, który psuł zabawki :-)
Kiedy dzisiejszy Sid jeszcze nie istniał, organizacja sieciowych archiwów Debiana miała jedną dużą wadę: kiedy dokładano nową architekturę do bieżącej dystrybucji unstable, pakiety zrobione dla niej mogły być wydane dopiero wtedy, gdy ta dystrybucja stawała się nową dystrybucją stable. Dla wielu architektur nie dochodziło do tego i trzeba było przenosić odpowiadające im katalogi, gdy dochodziło do wydania dystrybucji. Było to niepraktyczne, ponieważ przenoszenie katalogów silnie obciążało łącza.
Administratorzy archiwów sieciowych przez kilka lat obchodzili ten problem, umieszczając binaria dla architektur jeszcze nie wydanych w specjalnym katalogu o nazwie sid. Dla architektur jeszcze nie wydanych, tworzono w chwili wydania dowiązanie z aktualnego katalogu stable do sid i od tej pory tworzono je w drzewie unstable, jak zwykle. Takie rozwiązanie było trochę mylące dla użytkowników.
Z nadejściem katalogu ,,pool'' (zobacz Co jest w katalogu pool?, Rozdział 5.11) zaczęto zapisywać pakiety binarne w lokalizacji kanonicznej w tymże katalogu, niezależnie od dystrybucji, więc wydanie dystrybucji przestało być związane z poddawaniem serwerów lustrzanych dużym obciążeniom (natomiast mamy do czynienia z dość sporymi, rozłożonymi w czasie obciążeniami w trakcie całego procesu rozwijania dystrybucji).
Wszystkie z tych pakietów są zgodne z Wytycznymi Debiana
dotyczącymi Oprogramowania Wolnodostępnego i można je swobodnie
używać, a także rozpowszechniać.
Na przykład, licencje niektórych pakietów zabraniają komercyjnego rozpowszechniania. Inne znowu mogą być redystrybuowane, ale są typu shareware, a nie wolnym oprogramowaniem. Zanim włączy się którykolwiek z tych pakietów do jakiejś redystrybucji (np. na CD-ROMie), należy przestudiować jego licencję i prawdopodobnie przeprowadzić odpowiednie negocjacje.
Pakiety są przenoszone do katalogu testing po tym gdy przejdą stosowny okres testowania w unstable. Muszą być zsynchronizowane ze wszystkimi architekturami na których były zbudowane i nie mogę posiadać zależności, które czyniłyby je niemożliwymi do zainstalowania. Muszą również posiadać mniej błędów krytycznych dla wydania od wersji która jest dostępna w testing. W ten sposób mamy nadzieję, że 'testing' jest zawsze bliżej by stać się kandydatem do wydania.
Więcej informacji o ogólnym stanie "testing" oraz o poszczególnych
pakietach dostępnych jest na http://www.debian.org/devel/testing
Katalog 'unstable' to aktualny stan prac deweloperów. Zapraszamy użytkowników do używania i testowania tych pakietów, ale ostrzegamy, o ich stanie gotowości. Przewagą używania dystrybucji niestabilnej jest fakt bycia zawsze na czasie z nowinkami systemu GNU/Linux, ale jeśli coś pójdzie nie tak to nie licz na pomoc ;)
W 'unstable' istnieją również podkatalogi main, contrib, non-free o takim samym przeznaczeniu jak w 'stable',
W każdym z głównych drzew katalogów (dists/stable/main, dists/stable/contrib, dists/stable/non-free, dists/unstable/main/, itd.), pakiety binarne przechowywane są w podkatalogach których nazwy wskazują na jaką architekturę zostały skompilowane:
Zauważ, że aktualne pakiety binarne dla woodiego i kolejnych wydań nie znajdują się już w tych katalogach, ale w głównym katalogu pool. Pliki indeksów (Packages i Packages.gz) zostały zostawione dla zgodności.
Zobacz Na jakim sprzęcie można uruchomić system Debian GNU/Linux?, Rozdział 3.1 by dowiedzieć się więcej.
Udostępniony jest kod źródłowy każdego elementu systemu Debian. Co więcej, ustalenia licencji większości programów w systemie nakazują aby kod źródłowy, albo informacja, gdzie jest udostępniony była rozpowszechniana razem z programami.
Zazwyczaj kod źródłowy jest umieszczony w katalogach "source", które są umieszczone w tym samym miejscu, co katalogi z binariami przeznaczonymi dla konkretnych architektur. Aktualnie można go znaleźć w katalogu pool (zobacz Co jest w katalogu pool?, Rozdział 5.11). Aby pobrać źródła bez zagłębiania się w strukturę archiwum, spróbuj użyć polecenia apt-get source nazwapakietu.
Niektóre pakiety, ze względu na ograniczenia zawarte w ich licencji, publikowane są tylko w postaci źródeł. Przykładem takiego pakietu jest pine, zajrzyj do Gdzie podział się pine?, Rozdział 4.10 aby dowiedzieć sie więcej.
Kod źródłowy może, ale nie musi być dostępny dla pakietów w katalogach "contrib" i "non-free", które formalnie nie są częścią systemu Debian.
Dawniej pakiety były składowane w podkatalogach katalogu dists odpowiadających dystrybucji, która je zawierała. Wynikały z tego różne trudności, np. serwery lustrzane musiały pobierać duże ilości danych, kiedy wprowadzano większe poprawki.
Pakiety przechowywane są w wielkim "worku" ("pool"), którego struktura oparata jest na nazwach pakietów źródłowych. Aby dało się nim łatwiej zarządzać, podzielono go na podkatalogi według sekcji ("main", "contrib", "non-free") oraz pierwszych liter nazw pakietów. W tym drzewie umieszczone są katalogi dla każdego pakietu, które zawierają binaria dla wszystkich architektur oraz źródła, z których je wygenerowano.
Możesz sprawdzić gdzie jest umieszczony pakiet wydając polecenie apt-cache showsrc nazwapakietu i odczytując linię "Directory:". Na przykład pakiety apache są przechowywane w pool/main/a/apache/. Ponieważ jest bardzo dużo pakietów lib*, są one traktowane w nieco odmienny sposób: na przykład pakiety libpaper umieszczone są w pool/main/libp/libpaper/.
Katalogi dists są ciągle używane do przechowywania plików z indeksami przez programy takie jak apt. Także, starsze dystrybucje nie zostały przystosowane do używania mechanizmu "pools".
Nie musisz zaprzątać sobie głowy tymi informacjami, apt i przypuszczalnie dpkg-ftp (zobacz Jak mogę utrzymać ciągle aktualną wersję Debiana?, Rozdział 8.2) zajmą się tym za ciebie.
Kiedy opiekun przesyła pakiet do archiwum, umieszcza się go w katalogu "incoming" do czasu potwierdzenia jego pochodzenia i sprawdzenia, czy rzeczywiście ma zostać tam umieszczony.
Zazwyczaj nikt nie powinien instalować pakietów z tego katalogu. Jednakże dla
bardzo rzadkich przypadków awaryjnych jest on udostępniony pod adresem http://incoming.debian.org/.
Możesz pobrać z niego pakiety samodzielnie, sprawdzić podpisy GPG i sumy
kontrolne MD5 w plikach .changes i .dsc a następnie je zainstalować.
Pakiety ogólnie zawierają wszystkie pliki potrzebne aby zaimplementować zbiór powiązanych poleceń lub cech. Są dwa typy pakietów w Debianie:
Instalacja oprogramowania przez system pakietów używa "zależności",
które są ostrożnie projektowane przez opiekunów pakietów. Te zależności są
udokumentowane w pliku control związanym z każdym pakietem. Dla
przykładu, pakiet zawierający kompilator GNU C (gcc
"zależy" od pakietu binutils, który zawiera konsolidator
i asembler. Jeżeli użytkownik spróbuje zainstalować gcc bez
wcześniej zainstalowanego binutils, system zarządzania pakietami
(dpkg) wyśle wiadomość z błędem, że potrzeba jeszcze binutils i
zatrzyma instalację gcc. (Jednak, ułatwienie to może być
pominięte przez upartego użytkownika, zobacz dpkg(8).) Zobacz
więcej w Co oznacza powiedzenie, że pakiet
Zależy, Zaleca, Proponuje, Wchodzi w
konflikt, Zastępuje lub Dostarcza inny pakiet?, Rozdział
6.9 poniżej.
Narzędzia pakietowe systemu Debian mogą być użyte do:
"Pakiet" systemu Debian lub plik archiwum systemu Debian zawiera pliki wykonywalne, biblioteki i dokumentację, związane z poszczególnymi częściami programu lub zbiorem powiązanych programów. Normalnie, plik archiwum systemu Debian ma nazwę, która kończy się na .deb.
Wewnętrzny format pakietu binarnego Debiana jest opisany w instrukcji
deb(5). Ten wewnętrzny format jest tematem zmian (pomiędzy
głównymi wydaniami systemu Debian GNU/Linux), dlatego zawsze używaj
dpkg-deb(8) do manipulowania plikami .deb .
Nazwy plików pakietów binarnych systemu Debian są podporządkowane następującej konwencji: <foo>_<VersionNumber>-<DebianRevisionNumber>.deb
Zauważ, że foo jest zobowiązane być nazwą pakietu. Można poznać nazwę pakietu, związanego ze szczególnym plikiem archiwum systemu Debian (.deb file), wykorzystując do sprawdzenia jeden z następujących sposobów:
Część VVV jest numerem wersji ustanawianym przez głównego programistę. Nie ma standardów w tym miejscu, więc numer wersji może posiadać format tak zróżnicowany jak "19990513" i "1.3.8pre1".
Część RRR jest numerem weryfikacji w systemie Debian, i jest ustalany przez dewelopera Debiana (lub indywidualnego użytkownika jeśli wybierze zbudowanie pakietu samemu). Ten numer zgadza się z poziomem weryfikacji pakietu systemu Debian, dlatego nowy poziom weryfikacji zazwyczaj oznacza zmiany w pliku Makefile (debian/rules), pliku kontroli (debian/control), skryptach instalacyjnych i usuwających (debian/p*), lub w plikach konfiguracyjnych użytych w pakiecie.
Szczegóły dotyczące treści pliku kontroli są zawarte w instrukcji Debian Packaging, rozdział 4, zobacz Jakie inne dokumentacje istnieją dla systemu Debian GNU/Linux?, Rozdział 11.1.
W skrócie, przykładowy plik kontroli jest pokazany poniżej dla pakietu systemu Debian hello:
Package: hello
Priority: optional
Section: devel
Installed-Size: 45
Maintainer: Adam Heath <doogie@debian.org>
Architecture: i386
Version: 1.3-16
Depends: libc6 (>= 2.1)
Description: The classic greeting, and a good example
The GNU hello program produces a familiar, friendly greeting. It
allows nonprogrammers to use a classic computer science tool which
would otherwise be unavailable to them.
.
Seriously, though: this is an example of how to do a Debian package.
It is the Debian version of the GNU Project's `hello world' program
(which is itself an example for the GNU Project).
Pole Package zawiera nazwę pakietu. To jest nazwa, za pomocą której pakiet może być przetwarzany przez narzędzia pakietowe i zazwyczaj jest podobna, ale nie koniecznie taka sama, jak pierwsza część nazwy pliku archiwum systemu Debian.
Pole Version zawiera numer wersji nadany przez głównego programistę i (w ostatniej części) poziom weryfikacji programu w pakiecie systemu Debian, tak jak jest to wyjaśnione w Dlaczego nazwy plików pakietów w systemie Debian są tak długie?, Rozdział 6.3.
Pole Architecture określa chip, dla którego ten konkretny pakiet binarny został skompilowany.
Pole Depends podaje listę pakietów, które muszą być zainstalowane w podanej kolejności, aby z sukcesem zainstalować pakiet.
Pole Installed-Size wskazuje ile miejsca na dysku zabierze zainstalowany pakiet. Pole to jest przeznaczone do użytku przez programy instalujące, aby pokazać czy jest dostępna wystarczająca ilość miejsca na dysku by zainstalować program.
Linia Section podaje nazwę "sekcji", czyli gdzie ten pakiet systemu Debian jest przechowywany na stronach FTP systemu Debian. Jest to nazwa podkatalogu (wewnątrz jednego z głównych katalogów, zobacz Do czego służą te wszystkie katalogi w archiwach FTP Debiana?, Rozdział 5.1), gdzie pakiet jest przechowywany.
Pole Priority wskazuje jak ważny jest ten pakiet dla instalacji tak, aby pseudo-inteligentne programy jak dselect lub console-apt mogły sortować pakiety w kategorie np. pakiety opcjonalnie instalowane. Zobacz Co to jest pakiet Wymagany, Ważny, Standardowy, Opcjonalny lub Dodatkowy?, Rozdział 6.7.
Pole Maintainer zawiera adres e-mail osoby, która jest aktualnie odpowiedzialna za utrzymywanie tego pakietu.
Pole Description zawiera krótkie podsumowanie cech pakietu.
Więcej informacji o wszystkich możliwych polach jakie może mieć pakiet, proszę zobacz Debian Packaging Manual, rozdział 4., "Control files and their fields".
Conffiles jest listą plików konfiguracyjnych (zazwyczaj umieszczonych w /etc), których system zarządzania pakietami nie będzie nadpisywał gdy pakiet będzie aktualizowany. To gwarantuje, że zawartość tych plików będzie zachowana i jest krytycznie ważną cechą, umożliwiającą aktualizację pakietu w działającym systemie.
Aby ustalić dokładnie, które pliki są zachowywane podczas aktualizacji pakietu, uruchom:
dpkg --status pakiet
I zobacz poniżej "Conffiles:".
Te pliki są wykonywalnymi skryptami, które są automatycznie uruchamiane przed lub po instalacji pakietu. Wraz z plikiem o nazwie control, wszystkie z tych plików są częścią sekcji "control" w pliku archiwum systemu Debian.
Indywidualne pliki to:
Obecnie wszystkie pliki control można znaleźć w katalogu /var/lib/dpkg/info. Pliki związane z pakietem foo zaczynają się od "foo" i mają rozszerzenie odpowiednio "preinst", "postinst", itd. . Plik foo.list w tym katalogu zawiera listę wszystkich plików, które były zainstalowane z pakietem foo. (Zauważ, że pliki te zlokalizowane są wewnątrz katalogu związanego z programem dpkg; nie powinieneś polegać na nim.)
Każdy pakiet systemu Debian ma przydzielony priorytet przez opiekunów dystrybucji, jako pomoc dla systemu zarządzania pakietami. Priorytety to:
Zawiera wszystkie niezbędne narzędzia do naprawy wad w systemie. Nie możesz usuwać tych pakietów, ponieważ Twój system może stać się całkowicie zepsuty i może być nawet niemożliwe użycie programu dpkg, aby to odwrócić. Systemy z samymi pakietami wymaganymi są prawdopodobnie nieużyteczne, ale mają wystarczającą funkcjonalność, aby umożliwić administratorowi systemu uruchomienie i instalację programów.
Są to inne pakiety, bez których system nie będzie działał dobrze lub nie będzie użyteczny. Tutaj NIE SĄ zawarte wielkie aplikacje jak np. Emacs, X11 lub TeX. Te pakiety stanowią tylko samą infrastrukturę.
Są to pakiety, które będą zainstalowane domyślnie jeśli użytkownik nie wybierze niczego innego. Nie są tu zawarte duże aplikacje, ale znajduje się tutaj Emacs (jest to bardziej część infrastruktury niż aplikacja) i spora część TeX i LaTeX (jeśli to możliwe, aby były dostępne bez systemu X-windows).
Znajdują się tu X11, pełna dystrybucja TeX i dużo innych aplikacji.
Wirtualny pakiet jest ogólną nazwą, która odnosi się do jednej z grupy pakietów, w której każdy z pakietów dostarcza podobnej podstawowej funkcjonalności. Dla przykładu oba programy tin i trn są czytnikami wiadomości i dlatego powinny spełnić zależności programów, które wymagają czytnika wiadomości w systemie, aby pracować lub być użytecznym. Dlatego też o obu programach można powiedzieć, że dostarczają "wirtualny pakiet" nazwany news-reader.
Podobnie smail i sendmail, oba dostarczają funkcjonalności agenta transportu wiadomości. Oba mogą powiedzieć że dostarczają wirtualny pakiet "agent transportu wiadomości". Jeśli jeden z nich jest zainstalowany, wtedy dowolny program zależny od instalacji mail-transport-agent będzie usatysfakcjonowany przez istnienie wirtualnego pakietu.
System Debian dostarcza mechanizm, który, jeśli jest zainstalowany więcej niż jeden pakiet dostarczający ten sam wirtualny pakiet, pozwala administratorowi systemu ustawić jeden preferowany pakiet. Odpowiednie polecenie to update-alternatives i jest opisane dalej w Niektórzy użytkownicy lubią mawk, inni gawk; jedni lubią vim'a, inni lubią elvis'a; niektórzy lubią trn, inni lubią tin. Jak Debian wspiera taką różnorodność upodobań?, Rozdział 10.10.
System pakietów Debiana posiada zasięg "zależności" pakietu, który jest zaprojektowany aby wskazywać (w pojedynczej fladze) poziom, na którym Program A może działać niezależnie od istnienia Programu B w danym systemie:
Bardziej szczegółowe informacje o użyciu tych terminów można znaleźć w Packaging manual i Policy manual.
"Pre-Depends" jest specjalną zależnością. W przypadku wielu pakietów, dpkg rozpakuje ich pliki archiwum (np. są to pliki .deb) niezależnie od tego, czy pliki od których one zależą istnieją w systemie czy nie. Upraszczając, rozpakowanie oznacza, że dpkg wydobędzie pliki z pliku archiwum, które zostały przeznaczone do zainstalowania w twoim systemie plików i umieści je we właściwym miejscu. Jeśli te pakiety depend istnieją w kilku innych pakietach w Twoim systemie, dpkg odmówi dokończenia instalacji (przez wykonanie akcji "configure"), dopóki inne pakiety nie zostaną zainstalowane.
Jakkolwiek dla pewnych pakietów dpkg będzie odrzucał nawet ich rozpakowanie, dopóki nie zostaną spełnione pewne zależności . Takie pakiety są nazywane "Pre-depend" i zależą od obecności innych pakietów. System Debian dostarcza ten mechanizm, aby wspierać bezpieczne aktualizowanie wersji systemów z formatu a.out do formatu ELF, gdzie porządek w którym są rozpakowywane pakiety jest krytycznie ważny. Są też inne aktualizacje, gdzie metoda ta jest użyteczna, np. aktualizacja pakietów z priorytetem wymagane i ich zależność od LibC.
Tak, jak poprzednio, dokładniejsze informacje o tym można znaleźć w Packaging manual.
Te flagi mówią, co użytkownik chciał zrobić z pakietem (jako wskazanie albo przez akcję użytkownika w części "Wybór" programu dselect, lub bezpośrednie wywołanie programu dpkg).
Ich znaczenie to:
Są dwie drogi zatrzymania pakietów, używając dpkg lub dselect.
Używając dpkg możesz wyeksportować listę wyborów pakietów poleceniem:
dpkg --get-selections \* > selections.txt
Potem wyedytować wynikowy plik selections.txt, zmieniając linię
zawierającą pakiet, który chcesz zatrzymać, np. libc6, z tego:
libc6 install
na to:
libc6 hold
Zachować plik i wczytać to do bazy dpkg poleceniem:
dpkg --set-selections < selections.txt
Używając dselect wystarczy wybrać ekran [S]elect, znaleźć pakiet, który chcesz zatrzymać w obecnym stanie i nacisnąć klawisz `=' (lub `H'). Zmiany wejdą w życie natychmiast po wyjściu z ekranu [S]elect.
Pakiety źródłowe systemu Debian nie mogą być aktualnie "zainstalowane", są one po prostu rozpakowywane do katalogu, w którym chcesz zbudować pakiety binarne przez nie tworzone.
Pakiety źródłowe są rozpowszechniane w większości na tych samych serwerach
lustrzanych, na których możesz uzyskać pakiety binarne. Jeśli ustawisz swoje
APT sources.list(5) aby zawierało stosowne linie
"deb-src", będziesz zdolny łatwo ściągnąć każdy pakiet źródłowy
uruchamiając
apt-get source foo
Aby pomóc w tworzeniu aktualnego pakietu, Pakiet źródłowy systemu Debian dostarcza tak zwanego mechanizmu tworzenia zależności. Oznacza to, że opiekun pakietu źródłowego utrzymuje listę innych pakietów, które są wymagane aby stworzyć pakiet. Aby zobaczyć jak jest to użyteczne uruchom
apt-get build-dep foo
przed tworzeniem pakietu.
Aby skompilować źródła, będziesz potrzebował wszystkie pliki typu foo_*.dsc, foo_*.tar.gz i foo_*.diff.gz (zauważ: czasami nie ma plików .diff.gz dla pakietów, które są rodzime dla systemu Debian).
Gdy masz pakiety (Jak mogę zainstalować pakiet
źródłowy?, Rozdział 6.13) i jeśli masz pakiet dpkg-dev
zainstalowany, następujące polecenia:
dpkg-source -x foo_version-revision.dsc
rozpakuje pakiet do katalogu nazwanego foo-version.
Jeśli chcesz tylko skompilować pakiet, możesz przejść do katalogu foo-version i wydać polecenie
dpkg-buildpackage -rfakeroot -b
aby zbudować pakiet (zauważ że to także wymaga pakietu fakeroot )
i potem
dpkg -i ../foo_version-revision_arch.deb
aby zainstalować nowo-zbudowany pakiet.
Bardziej dokładnego opisu o tym szukaj w Instrukcji dla nowych opiekunów,
dostępnej w pakiecie maint-guide lub na stronie http://www.debian.org/doc/devel-manuals#maint-guide.
Jest to główny program służący do zarządzania pakietami. dpkg
może być wywołany z wieloma różnymi opcjami. Najczęściej stosowane to:
Ten program zapewnia Debianowi interfejs dla systemu zarządzania pakietami z opcjami pogrupowanymi w menu. Jest on szczególnie przydatny przy instalowaniu i uaktualnianiu systemu na dużą skalę.
dselect potrafi:
dselect przedstawia użytkownikowi na początek menu złożone z 7
opcji/elementów, z których każdy/a reprezentuje inny aspekt funkcjonalności
programu. Użytkownik może wybrać jedną z opcji używając klawiszy strzałek aby
podświetlić wybraną opcję i zatwierdzić wybór naciskając klawisz/przycisk
<enter>.
Dalsze zachowanie programu zależy od dokonanego wcześniej wyboru. Jeżeli nie
wybrano Dostęp/Access ani Wybór/Select, wtedy
dselect po prostu wykona wybrane polecenie: np. jeżeli użytkownik
wybrał polecenie Usuwanie/Remove wtedy dselect przystąpi do
usuwania wszystkich plików wybranych/zaznaczonych ostatnio do usunięcia przy
pomocy polecenia Wybór/Select.
Zarówno opcja Dostęp/Access, jak i opcja Wybór/Select, prowadzą do dodatkowego menu wyboru. W obydwu przypadkach, każde menu zostaje wyświetlone osobno, na podzielonym ekranie; w górnej części ekranu znajdują się opcje wyboru, a w dolnej części krótkie opisy ("info") dla każdej z wybranych opcji.
Dostępna jest także poszerzona/rozszerzona dokumentacja online, użyj klawisza '?' aby uzyskać dostęp do pomocy w dowolnej chwili.
Kolejność, w jakiej czynności są prezentowane w pierwszym menu programu
dselect, reprezentuje kolejność w jakiej użytkownik normalnie
dokonuje instalacji pakietów. Jednakże można wybrać dowolną pozycję z menu,
tak często, jak to konieczne.
dselect odczytuje plik ,,Packages.gz'', który powinien
znajdować się w głównym katalogu zawierającym przeznaczone do instalacji
pakiety Debiana. (Jeżeli brak jest takiego pliku, dselect utworzy
go dla Ciebie.
Górna część ekranu zawiera przewijaną listę pakietów poukładanych w grupy związane ze sobą. Dolna część zawiera opis pakietu lub grupy pakietów aktualnie podświetlonych.
Podświetlając nazwę pakietu lub grupę pakietów, wskazujemy stan, który mamy zamiar zmieniać. Następnie możesz zaznaczyć pakiet:
Zauważ, że nie jest możliwe usunięcie grupy ,,Wszystkie pakiety'' ("All Packages"). Gdy tego spróbujesz, system zostanie zredukowany do początkowego stanu po instalacji wersji podstawowej (base system)
Tak, jak możesz zawiesić uaktualnianie wersji danych pakietów, tak możesz anulować zawieszenie poprzez naciśnięcie `:'. Oznacza to zezwolenie na uaktualnianie wersji pakietów, jeśli nowsze są dostępne. Jest to domyślne ustawienie dla pakietu.
Możesz wybrać różne sposoby prezentacji listy pakietów, używając klawisza ,,o'' do przełączania pomiędzy różnymi metodami sortowania pakietów. Domyślne sortowanie przeprowadzane jest według parametru Priorytet. Wewnątrz tego samego priorytetu, pakiety są poukładane według katalogów (zwanych też sekcjami) archiwum, w których są przechowywane. W tym trybie, niektóre pakiety z sekcji (powiedzmy) A mogą być umieszczane jako pierwsze, następnie niektóre pakiety z sekcji (powiedzmy) B, zaś po nich znów pakiety z sekcji A, ale posiadające niższy priorytet.
Możesz również poszerzyć znaczenie etykiet na górze ekranu, wykorzystując klawisz ,,v'' (ang. verbose = rozwlekły). Ta metoda przesuwa dużą cześć widocznych poprzednio informacji poza prawą granicę ekranu. Aby je zobaczyć, naciśnij strzałkę w prawo, aby powrócić na lewo, możesz skorzystać z klawisza strzałki w lewo.
Gdy zaznaczysz pakiet do instalacji lub do usunięcia, przykładowo
foo.deb, i ten pakiet jest powiązany zależnościami z innym
pakietem, przykładowo blurf.deb, to dselect wyświetli
odpowiednie okno, w którym możesz wybrać spośród powiązanych pakietów,
akceptując sugerowaną akcję (instalować lub nie instalować, oto jest pytanie)
lub odrzucić je całkowicie. Tą drugą czynność przeprowadzamy klawiszami
Shift+D. Natomiast, aby powrócić do poprzedniego wyboru, naciśnij Shift+U. W
każdym razie, możesz zapisać swój wybór i powrócić do głównego ekranu
kombinacją klawiszy Shift+Q.
Ten program służy do pracy z plikami-archiwami Debiana (*.deb). Kilka najczęstszych zastosowań to:
Zauważ, że dowolne pakiety, które były po prostu rozpakowane przy pomocy dpkg-deb -extract nie zostały poprawnie zainstalowane. W celu instalacji należy użyć polecenia dpkg --install.
Więcej informacji na stronach podręcznika systemowego:
dpkg-deb(1).
apt-get umożliwia prostą instalację pakietów z linii poleceń. W
przeciwieństwie do dpkg, apt-get nie obsługuje nazw
plików .deb, ale pracuje w oparciu o właściwe nazwy pakietów. Korzysta ze
źródeł pakietów wymienionych w /etc/apt/sources.list.
Jeśli potrzebujesz więcej informacji, zainstaluj pakiet apt i
przeczytaj strony podręcznika systemowego: apt-get(8),
sources.list(5) oraz opis
/usr/share/doc/apt/guide.html/index.html.
Ten program dzieli duże pakiety na małe pliki (na przykład, w celu umieszczenia
na dyskietkach -- kto teraz używa dyskietek :-) ) oraz scala takie podzielone
pliki w jeden. Może on być jedynie wykorzystany w systemie opartym o Debiana
(to jest takim, który zawiera pakiet dpkg), ponieważ uruchamia on
inny program, dpkg-deb, do rozbioru pliku pakietu Debiana na jego
rekordy składowe.
Dla przykładu, chcąc podzielić duży plik .deb na N kawałków:
Jądro (system plików) w Debianie umożliwia podmianę plików, nawet jeśli są używane.
Dostarczamy także program o nazwie start-stop-daemon, który jest
używany do uruchamiania demonów w czasie startu systemu oraz do ich
zatrzymywania, podczas gdy poziom startu (runlevel) jest zmieniany. Ten sam
program jest używany przez skrypty instalacyjne podczas instalacji nowego
pakietu zawierającego demona.
Aby poznać stan wszystkich pakietów zainstalowanych w systemie, wykonaj polecenie:
dpkg --list
Wypisze ono jednolinijkowe podsumowanie dla każdego pakietu, zawierające dwuznakowe oznaczenie statusu (wyjaśnione w nagłówku), nazwę pakietu, wersję, która jest zainstalowana, oraz krótki opis.
Aby poznać stan pakietów, których nazwy zawierają określony ciąg znaków, możesz wykonać polecenie (to polecenie pokazuje pakiety z nazwami rozpoczynającymi się od ,,foo''):
dpkg --list 'foo*'
Aby otrzymać obszerniejsze informacje na temat określonego pakietu, wykonaj:
dpkg --status nazwa_pakietu
Aby zidentyfikować pakiet odpowiedzialny za pojawienie się pliku nazwa_pliku wykonaj:
To polecenie spowoduje wyszukanie pliku o nazwie nazwa_pliku w zainstalowanych paczkach. (Jest to ekwiwalent poszukiwania wszystkich plików mających rozszerzenie .list i znajdujących się w katalogu /var/lib/dpkg/info/, a następnie wypisywania nazw wszystkich pakietów zawierających te pliki i odwrotnie).
To polecenie poszukuje plików zawierających tekst foo w ich pełnej ścieżce dostępu. Pliki Contents-ARCH.gz (gdzie ARCH oznacza właściwą architekturę), znajdują się w głównym katalogu z pakietami (main, non-free, contrib), na serwerze FTP Debiana. Pliki Contents odnoszą się tylko do pakietów z drzewa pakietów, do którego należą. Z tego powodu użytkownik może będzie musiał przeszukać więcej niż jeden plik Contents, aby znaleźć pakiet zawierający plik foo.
Ta metoda ma tą przewagę nad dpkg --search, że znajduje dowolne pliki w dowolnych pakietach, nie tylko aktualnie zainstalowane w systemie.
Celem Debiana jest udostępnianie spójnych sposobów uaktualnień oraz bezpiecznego procesu unowocześniania wersji. Robimy wszystko, co w naszej mocy, aby zapewnić łagodny system uaktualniania. Jeśli podczas aktualizacji pakietu użytkownik musi zostać o czymś poinformowany, zostanie to uczynione, a często także zostanie poinstruowany w jaki sposób rozwiązać ewentualne problemy.
Należy czytać notatki do wydań (Release Notes), które opisują szczegóły
uaktualnień i które są dostępne na wszystkich płytach CD Debiana oraz pod
adresem: http://www.debian.org/releases/stable/releasenotes.
Istnieje kilka dróg takiego uaktualnienia:
dselect do masowej instalacji wymaganych pakietów.
Jest to rekomendowana, aczkolwiek nie jedyna metoda.
Obecnie najnowsze wydanie skryptu autoup.sh może być znalezione w następujących miejscach:
Debian
libc5 to libc6 Mini-HOWTO uaktualniać najważniejsze pakiety ręcznie.
Skrypt autoup.sh bazuje na tym właśnie Mini-HOWTO, więc ta metoda
działa mniej więcej tak, jak użycie autoup.sh.
dselect. Obecnie
apt działa z linii poleceń lub jako jedna z metod dostępu
dselecta. Wersję bazującą na libc5 znajdziesz w katalogu
dists/slink/main/upgrade-older-i386 w archiwum Debiana.
dselect bez uaktualniania wcześniej żadnych
pakietów ręcznie. Stanowczo NIE polecamy tej metody jeśli możesz jej uniknąć,
ponieważ dselect nie instaluje pakietów w optymalnej kolejności.
APT działa o wiele lepiej i jest bezpieczniejszy.
Można po prostu połączyć się anonimowo przez FTP z serwerem zawierającym archiwum Debiana, uważnie przyjrzeć się katalogom, znaleźć pożądane pliki, pobrać je i zainstalować z użyciem dpkg. dpkg instaluje uaktualnienia na żywo, nawet na pracującym systemie. Czasami poprawione pakiety wymagają instalacji innych, również poprawnionych wersji pakietów powiązanych i wtedy instalacja się nie uda, póki owe pakiety nie zostaną zainstalowane.
Wielu użytkowników uzna takie podejście za zbyt czasochłonne, zwłaszcza że Debian rozwija się szybko i typowo około tuzin lub więcej pakietów jest uaktualnianych tygodniowo. Ta ilość jest o wiele większa przed wydaniem kolejnej głównej wersji. Aby poradzić sobie z taką lawiną, użytkownicy zazwyczaj wolą używać bardziej zautomatyzowanych metod.
Oto kilka metod automatyzacji:
APT to zaawansowany interfejs do systemu pakietów Debiana. apt-get to oparte o
linię poleceń narzędzie do obsługi pakietów, a metoda APT dselecta to interfejs
do APT z programu dselect. Obydwa z nich udostępniają prostszy i
bezpieczniejszy sposób instalacji oraz uaktualniania pakietów.
APT potrafi ustalać kolejność instalacji, pobierać dane z wielu źródeł jak również wiele innych, unikalnych rzeczy, o których możesz przeczytać w /usr/share/doc/apt/guide.html/index.html.
Zainstaluj pakiet apt i zmodyfikuj plik
/etc/apt/sources.list. Jeśli chcesz używać jako źródła pakietów
najnowszej, stabilnej wersji Debiana, możesz użyć np.:
http://http.us.debian.org/debian stable main contrib non-free
Możesz również zastąpić http.us.debian.org nazwą szybszego serwera lustrzanego
dostępnego z Twojej lokalizacji. Listę serwerów znajdziesz tutaj: http://www.debian.org/misc/README.mirrors.
Więcej informacji na ten temat znajdziesz w podręczniku systemowym:
apt-get(8) oraz sources.list(8) a także w przewodniku
/usr/share/doc/apt/guide.html/index.html.
Uruchom:
apt-get update
a następnie:
apt-get dist-upgrade
Odpowiedz na wszystkie ewentualne pytania, zadane przez system i Twój Debian zostanie uaktualniony.
Aby używać systemu APT z programem dselect, wybierz metodę dostępu
APT w głównym ekranie programu dselect (opcja 0) i określ źródła
pakietów, jakie mają być używane. Plik konfiguracyjny to
/etc/apt/sources.list, a jego format opisany jest na stronach
podręcznika systemowego: sources.list(5).
Jeśli chcesz wykorzystać płyty CD do instalacji pakietów, możesz użyć programu
apt-cdrom. Szczegóły znajdziesz w notatkach z wydań (Release
Notes) w sekcji ,,Uaktualnienia z lokalnych serwerów lustrzanych''
("Setting up for an upgrade from a local mirror").
Pamiętaj, że po pobraniu i zainstalowaniu pakietów są one nadal przechowywane w
hierarchii katalogu /var. Aby nie dopuścić do zapełnienia partycji, usuwaj
zbędne pliki przy użyciu poleceń apt-get clean i apt-get
autoclean lub przenoś je w inne miejsce (np. programem
apt-move).
Jest to starsza metoda wykorzystywana przez program dselect. Może
zostać wywołana z dselecta, przez co pozwala na pobranie plików
oraz ich zainstalowanie w jednym kroku Aby tego dokonać, wybierz metodę
ftp dostępu do źródła pakietów w programie dselect
(opcja 0) i określ nazwę odległej maszyny oraz katalog. dpkg-ftp
automatycznie pobierze pliki, które są wybrane (w tej lub poprzednich sesjach
dselecta).
Zauważ, że w przeciwieństwie do programu mirror,
dpkg-ftp nie pobiera wszystkiego z serwera, a jedynie tylko te
pliki, które zostały zaznaczone (podczas uruchomienia dpkg-ftp) i
które wymagają uaktualnienia.
dpkg-ftp jest nieco przestarzały. Należy raczej używać systemu
APT z odnośnikami do źródeł na FTP (ftp://) w pliku sources.list).
Ten skrypt napisany w Perlu oraz jego (opcjonalny) dodatek o nazwie
mirror-master mogą być używane do pobrania określonej części
drzewa katalogów z wybranego serwera poprzez anonimowy dostęp do FTP.
mirror jest szczególnie użyteczny do pobierania dużych zbiorów
oprogramowania. Po pierwszym załadowaniu plików, na lokalnym komputerze
powstaje plik .mirrorinfo. Zmiany w odległym systemie plików są
śledzone automatycznie przez mirror, który porównuje ten plik z
analogicznym po stronie odległego systemu i pobiera tylko zmienione elementy.
Program mirror jest zazwyczaj używany do uaktualniania lokalnej
kopii umieszczonego na odległym systemie drzewa katalogów. Pobierane pliki nie
muszą być plikami Debiana. (Ponieważ mirror jest skryptem Perla,
może być uruchamiany również na nieuniksowych systemach). Chociaż
mirror udostępnia mechanizmy pozwalające na wyłączenie plików,
których nazwy pasują do określonych wzorców, to jednak program jest najbardziej
użyteczny, gdy jego celem jest pobieranie całych fragmentów drzewa katalogów, a
nie wybranych pakietów.
dpkg-mountable dodaje nową metodę dostępu do listy dselecta - tzw. `mountable'. Pozwala ona na instalację pakietów z dowolnego systemu plików podanego w /etc/fstab. Może to być na przykład zwykła partycja na dysku lub serwerze NFS, która w razie potrzeby zostanie automatycznie zamontowana i odmontowana.
Obsługuje także parę rzeczy niedostępnych w zwykłym dselect,
takich jak obsługa lokalnych sytemów katalogów (zarówno równoległych do
głównego, dystrybucyjnego drzewa, jak i dla zupełnie oddzielnych), ściąganie
jedynie tych pakietów, które są wymagane, zamiast czasochłonnego,
rekurencyjnego przeszukiwania katalogów, jak również rejestrowanie wszystkich
czynności wykonanych przez dpkg w fazie instalacji.
Nie. Pakiety mogą być uaktualniane nawet w trakcie normalnej pracy systemu. Debian zawiera program start-stop-daemon, który jest wykonywany w celu zatrzymania, a później ponownego uruchomienia działających procesów, jeśli to konieczne, podczas uaktualniania pakietu.
Nie. Jeśli masz na dysku pobrane pliki (takie, które nie są koniecznie potrzebne - zobacz opis dpkg-ftp powyżej), to po zainstalowaniu pakietów, możesz usunąć te pliki z systemu.
dpkg notuje jakie pakiety były rozpakowywane, konfigurowane,
usuwane, dodawane lub przeczyszczane, jednakże nie przechowuje (obecnie)
informacji o działaniach użytkownika na terminalu podczas operacji na pakiecie.
Najlepszym obejściem tego problemu jest uruchomienie
dpkg/dselect/apt-get/cokolwiek wewnątrz
sesji programu script(1).
Tak.
Z jednym tylko zastrzeżeniem: biblioteki języka C w systemie Debian są budowane
z wykorzystaniem najnowszych stabilnych wersji plików nagłówkowych
jądra systemu. Jeśli chcesz skompilować program z
wykorzystaniem nowszych plików nagłówkowych jądra niż te ze stabilnej wersji,
stoisz przed wyborem pomiędzy uaktualnieniem pakietu zawierającego pliki
nagłówkowe (libc6-dev), a użyciem nowych plików nagłówkowych,
które znajdują się w katalogu z rozpakowanymi plikami źródłowymi jądra. Jeżeli
pliki źródłowe jądra znajdują się w katalogu /usr/src/linux/,
wtedy przy kompilowaniu do polecenia musisz dodać opcję
-I/usr/src/linux/include/.
Użytkownicy którzy pragną zbudować własną wersję jądra systemu mogą pobrać i
zainstalować pakiet kernel-package. Zawiera on skrypt wykonujący
kompilację i umożliwia stworzenie pakietu Debiana z gotowym jądrem przy pomocy
polecenia
make-kpkg kernel_image
, które należy wpisać znajdując się w katalogu z plikami źródłowymi jądra. Więcej informacji można uzyskać przy pomocy polecenia
make-kpkg --help
lub podręcznika systemowego make-kpkg(8).
Ponieważ opisany pakiet nie zawiera plików źródłowych jądra, użytkownicy muszą pobrać je oddzielnie z wybranego przez siebie serwera lub w postaci pakietu Debiana jeśli pakiet kernel-source-wersja jest dostępny (gdzie wersja to numer pożądanej wersji jądra).
Szczegółowe instrukcje dotyczące korzystania z pakietu
kernel-package można znaleźć w pliku
/usr/doc/kernel-package/README. W skrócie powinno się:
libncurses5-dev.
Wykorzystanie któregokolwiek z powyższych poleceń spowoduje utworzenie nowego pliku .config w katalogu z plikami źródłowymi.
grub czy loadlin, skopiuj ten plik w inne miejsce
(np. do katalogu /boot/grub lub na partycję z systemem plików
MS-DOS).
Do tego celu możesz z powodzeniem posłużyć się pakietem
boot-floppies, który znajduje się w sekcji admin
zasobów FTP Debiana. Skrypt powłoki znajdujący się w tym pakiecie tworzy
dyskietki startowe w formacie SYSLINUX. Są to dyskietki z
systemem plików MS-DOS, których główny rekord startowy został
zmodyfikowany tak aby bezpośrednio ładował jądro Linuksa (lub innego systemu w
zależności od definicji zawartej w pliku syslinux.cfg znajdującym się na
dyskietce). Pozostałe skrypty w tym pakiecie służą do tworzenia dyskietek
awaryjnych lub instalacyjnych.
Więcej informacji znajdziesz w pliku /usr/doc/boot-floppies/README
po zainstalowaniu pakietu boot-floppies.
Pakiet Debiana modconf udostępnia skrypt powłoki
(/usr/sbin/modconf), który może być wykorzystywany do
dostosowywania konfiguracji modułów dla własnych potrzeb. Skrypt ten oferuje
interfejs oparty o menu, który pyta użytkownika o szczegóły dotyczące modułów
sterowników urządzeń w systemie. Uzyskane odpowiedzi służą do stworzenia
odpowiednich wpisów w pliku /etc/modules.conf (który zawiera listę
aliasó