portage
1. portage.5.man
Manpage of PORTAGE
PORTAGE
Section: Portage (5)Updated: Styczeń 2007
Index Return to Main Contents
NAZWA
portage - serce GentooOPIS
W trakcie działania Portage korzysta z wielu różnych plików konfiguracyjnych, większość z nich nie jest znana większości użytkowników, czy zwykłym deweloperom. W tym podręczniku można znaleźć informacje o tym, w jaki sposób można efektywnie wykorzystać potencjał drzemiący w Portage, a także znaleźć opis poszczególnych plików konfiguracyjnych nieposiadających własnych stron podręcznika.Ustawienia znajdujące się w plikach w katalogu make.profile mogą zostać nadpisane przez profil nadrzędny, gdy używane są profile kaskadowe. Więcej informacji na ten temat można znaleźć na stronie http://www.gentoo.org/proj/en/releng/docs/cascading-profiles.xml
- UWAGA:
- Więcej informacji o tym, jak zainstalować pakiet, można odnaleźć w podręczniku emerge(1).
STRESZCZENIE
- /etc/
-
make.globals make.conf(5)
- /etc/make.profile/
-
deprecated make.defaults packages packages.build package.provided package.use package.use.force package.use.mask parent profile.bashrc use.force use.mask virtuals
- /etc/portage/
-
bashrc modules package.keywords package.mask package.unmask package.use mirrors categories
- /etc/portage/profile/
- Własne ustawienia nadpisujące /etc/make.profile/
- /usr/portage/profiles/
-
arch.list categories info_pkgs info_vars package.mask profiles.desc thirdpartymirrors use.desc use.local.desc
- /var/lib/portage/
- world
TERMINOLOGIA
W kolejnych sekcjach można napotkać wiele sformułowań, które mają specyficzne znaczenie dla Portage. Poniżej znajduje się słowniczek najważniejszych pojęć. Proszę skonsultować się także z wymienionymi podręcznikami, by uzyskać dokładniejsze informacje.-
- Atom DEPEND
- Łańcuch znaków pasujący do pakietu. Jego format to kategoria/pakiet. Dodatkowo może zawierać informacje o wersjach, a także operatory logiczne. Więcejinformacji: ebuild(5)
- KEYWORD
- Każda architektura posiada unikalny identyfikator - KEYWORD. Więcejinformacji: ebuild(5)
- virtual
- Atom DEPEND będący częścią kategorii wirtualnej. Może zostać użyty, gdy w drzewie Portage znajduje się wiele pakietów, które mogą zaspokoić daną zależność, a tylko jeden z nich jest niezbędny do poprawnej kompilacji, czy działania aplikacji. Więcejinformacji: ebuild(5)
OPIS POSZCZEGÓLNYCH PLIKÓW
- /etc/
-
-
- make.globals
- Globalne, domyślne ustawienia Portage. Plik ten wchodzi w skład pakietu Portage. Parametry i ustawienia, które się w nim znajdują, mogą zostać nadpisane przez te zawarte w pliku make.conf. Dokładny opis formatu znajduje się na stronie podręcznika make.conf(5).
- make.conf
- Globalne ustawienia Portage. Dokładny opis formatu znajduje się w podręczniku make.conf(5).
-
- /etc/make.profile/
-
Zazwyczaj jest to tylko dowiązanie symboliczne do właściwego profilu
znajdującego się w katalogu /usr/portage/profiles/. Jako, że jest to część
drzewa Portage, łatwo może zostać zaktualizowane/poprawione po użyciu
polecenia `emerge --sync`. Znajduje się tam definicja używanego profilu
(zazwyczaj są to ustawienia związane z konkretną architekturą). W przypadku gdy
chcemy stworzyć własny profil to należy utworzyć katalog
/etc/make.profile/ i zapełnić go odpowiednimi plikami. Jeżeli jednak
naszym celem jest tylko zmiana niektórych ustawień to lepiej nie edytować
żadnego z plików należących do używanego profilu, ponieważ zmiany będą utracone
przy najbliższym procesie synchronizacji drzewa Portage. By nadpisać interesujące
nas ustawienia najlepiej posłużyć się instrukcjami, które można znaleźć poniżej, w
kolejnej części tego podręcznika opisującej /etc/portage/.
-
- deprecated
-
Jeśli w danym profilu istnieje ten plik to jest on uważamy za przestarzały, co
oznacza że nie jest on już wspierany przez deweloperów Gentoo. Pierwsza linia
musi zawierać nazwę profilu, do którego najlepiej dokonać migracji, w pliku mogą
dodatkowo znajdować się instrukcje opisujące tę procedurę, jaką należy wykonać w
czasie zmiany profilu.
Przykład:
default-linux/x86/2005.0 # emerge -n '>=sys-apps/portage-2.0.51' # rm -f /etc/make.profile # ln -s /usr/portage/profiles/default-linux/alpha/2005.0 /etc/make.profile
- make.defaults
-
Domyślne ustawienia Portage w danym profilu. Schemat pliku jest opisany w
podręczniku make.conf(5). Znajdują się tu definicje kilku
specyficznych zmiennych:
-
- ARCH
- typ architektury (x86/ppc/hppa/etc...).
- USERLAND = GNU
- wsparcie dla BSD/cygwin/etc...
- PORTAGE_LIBC = glibc
- wsparcie dla uClibc/BSD libc/etc...
- PROFILE_ARCH
- rozróżnia różne typy komputerów posiadających tę samą architekturę (ARCH), np. wszystkie komputery sparc posiadają ARCH=sparc, ale wartość tej zmiennej to 'sparc32' lub 'sparc64'.
- STAGE1_USE
- specjalne flagi USE, które mogą być potrzebne w przypadku przeprowadzania bootstrapu podczas instalacji
- GRP_STAGE23_USE
- specjalne flagi, używane przez catalyst w czasie budowania pakietów GRP i pliku stage3.
-
- packages
-
Plik konfiguracyjny, który służy do maskowania specyficznych pakietów/wersji z
poziomu profilu, zawiera on także listę pakietów należących do specjalnego
zestawu system.
Format:
- komentarze zaczynają się # - jeden atom DEPEND na jedną linię - pakiety należące do zestawu system powinny mieć dodany prefiks '*'
Uwaga: W ustawieniach profili kaskadowych można usunąć flagi USE w profilach potomnych, które to flagi USE zostały dodane w profilach rodzicielskich, dodając do flagi przedrostek '-'.Przykłady:
# komentarz # glibc tylko w wersjach niższych niż 2.3 <sys-libs/glibc-2.3 # dodaj dowolną wersję bashu do zestawu system *app-shells/bash # readline tylko w wersjach niższych niż 4.2 # dodaj readline do zestawu system *<sys-libs/readline-4.2
- packages.build
- Lista pakietów (jeden w jednej linijce) tworzących plik stage1. Przydatne tylko dla aplikacji budujących pliki stage.
- package.provided
-
Lista pakietów (jeden w jednej linijce), które Portage powinno uważać jako
zainstalowane i nie zajmować się ich zarządzaniem. Bardzo przydatna opcja dla
portów w nie-linuksowym środowisku. Nie będą one aktualizowane, chyba że wśród
zależności będzie wymagana jego nowsza wersja. Ta lista zastępuje składnię
emerge --inject.
Dla przykładu, jeśli chcesz własnoręcznie zarządzać jądrem w wersji 2.6, to używając tego pliku możesz powiedzieć Portage, że 'sys-kernel/development-sources-2.6.7' jest już niezależnie zainstalowane.
Wirtualne pakiety (virtual/*) nie powinny być wymienione w package.provided. Zależnie od typu wirtuału może być konieczne dodanie pozycji do pliku virtuals i/lub dodanie pakietu zapewniającego wirtuał do package.provided.
Format:
- komentarze zaczynają się # - jeden depend atom na jedną linię - nie można używać operatorów relacji - obowiązkowa specyfikacja numeru wersji
Przykład:
# zarządzanie jądrem sys-kernel/development-sources-2.6.7 # specjalna wersja Qt x11-libs/qt-3.3.0 # zainstalowana modularna wersja X, ale pakiety wymagają wersji monolitycznej x11-base/xorg-x11-6.8
- package.use.force
-
Wymuszanie flag USE w wypadku danych pakietów.
Uwaga: W ustawieniach profili kaskadowych można usunąć flagi USE w profilach potomnych, które to flagi USE zostały dodane w profilach rodzicielskich, dodając do flagi przedrostek '-'.
Format:
- komentarze zaczynają się # - jeden atom DEPEND, a następnie lista, oddzielonych spacjami flag USE, w jednej linii
Przykład:
# wymuś instalację dokumentacji dla GTK+ 2.x =x11-libs/gtk+-2* doc # przestań wymuszać wsparcie MySQL przez Qt x11-libs/qt -mysql
- package.use.mask
-
Maskowanie flag USE w wypadku danych pakietów.
Note: W ustawieniach profili kaskadowych można usunąć flagi USE w profilach potomnych, które to flagi USE zostały dodane w profilach rodzicielskich, dodając do flagi przedrostek '-'.
Format:
- komentarze zaczynają się # - jeden atom DEPEND, a następnie lista, oddzielonych spacjami flag USE, w jednej linii.fi Przykład: # zamaskuj instalację dokumentacji dla GTK+ 2.x =x11-libs/gtk+-2* doc # odmaskuj wsparcie MySQL przez Qt x11-libs/qt -mysql
- parent
- Zawiera lokalizację profilu nadrzędnego, może to być zarówno ścieżka względna jak i absolutna. Najczęściej zawartość tego pliku jest postaci '..', aby wskazać katalog nadrzędny. Ten plik konfiguracyjny jest jedynie używany w przypadku profili kaskadowych.
- profile.bashrc
- Jeśli potrzeba, ten plik może zostać użyty w celu ustawienia specjalnych zmiennych środowiskowych dla ebuildów posiadających inne niż standardowe środowisko. Składnia jest identyczna, jak dla innych skryptów bashowych.
- use.force
-
Nie ma sensu mieć wyłączone niektóre flagi USE w pewnych warunkach. Tutaj wymienia
się wymuszone flagi.
Note: W ustawieniach profili kaskadowych można usunąć flagi USE w profilach potomnych, które to flagi USE zostały dodane w profilach rodzicielskich, dodając do flagi przedrostek '-'.
Format:
- komentarze zaczynają się # - jedna flaga USE w jednej linii
- use.mask
-
Niektóre flagi USE nie mają sensu na wybranych architekturach (np. altivec ma
sens tylko dla ppc, a mmx dla x86) lub nie zostały jeszcze wystarczająco
przetestowane, tak więc tutaj mogą być one zamaskowane.
Uwaga: W ustawieniach profili kaskadowych można usunąć flagi USE w profilach potomnych, które to flagi USE zostały dodane w profilach rodzicielskich, dodając do flagi przedrostek '-'.
Format:
- komentarze zaczynają się # - jedna flaga USE w jednej linii
- virtuals
-
W pliku znajdują się domyślne powiązania pomiędzy pakietem, a kategorią
wirtualną, na przykład gdy pakiet do poprawnego działania wymaga możliwości
wysyłania e-maili, to będzie potrzebował virtual/mta. W przypadku gdy w naszym
systemie nie będzie zainstalowana odpowiednia aplikacja (jak qmail, sendmail,
postfix, itd.), Portage użyje odpowiedniego wpisu znajdującego się w tym pliku,
by zapewnić pożądaną funkcjonalność, w podanym przykładzie będzie to
net-mail/ssmtp, jako że jest to aplikacja zapewniająca potrzebne minimum
możliwości.
Format:
- komentarze zaczynają się # - jedna para, kategoria wirtualna i atom DEPEND, w jednej linii
Przykład:
# użyj net-mail/ssmtp jako domyślnego mta virtual/mta net-mail/ssmtp # app-dicts/aspell-en jest domyślnym słownikiem virtual/aspell-dict app-dicts/aspell-en
-
- /etc/portage/
-
Każdy plik w tym katalogu, który zaczyna się od "package.", może być czymś więcej
niż tylko zwykłym plikiem. Jeśli jest katalogiem, wtedy wszystkie pliki w tym
katalogu będą połączone tak, jak gdyby był pojedyńczym plikiem.
Przykład:
/etc/portage/package.keywords/kde /etc/portage/package.keywords/wspólne /etc/portage/package.keywords/e17
-
- bashrc
-
Gdy zajdzie taka potrzeba, plik ten określa środowisko, w jakim wykonywane są
ebuildy, w tym przypadku nie jest używane środowisko domyślne. Składnia jest
analogiczna, jak w przypadku zwykłych skryptów używających powłoki bash.
- modules
-
Ten plik może zostać użyty w celu zmiany sposobu przechowywania informacji
wewnętrznych Portage. W praktyce portdbapi.auxdbmodule jest jedyną zmienną,
którą użytkownik mógłby chcieć zmieniać.
Przykład:
portdbapi.auxdbmodule = cache.metadata_overlay.database
Moduł metadata_overlay umożliwia ustawienie FEATURES="metadata-transfer" w make.conf(5). Gdy użytkownik uruchomi metadata_overlay w /etc/portage/modules, wszystkie pliki zawierające się w /var/cache/edb/dep/${PORTDIR} muszą zostać ręcznie usunięte, by uniknąć zbędnego procesu regeneracji informacji Portage. Użytkownicy korzystający z modułu metadata_overlay nie mogą modyfikować eklas w ${PORTDIR}, ponieważ Portage nie będzie w stanie stwierdzić czy regeneracja powyższych informacji jest potrzebna. Jeśli użytkownik chciałby modyfikować eklasy, można używać modułu metadata_overlay wraz z PORTDIR_OVERLAY w make.conf.
- package.keywords
-
Ustawienia flag KEYWORD dla poszczególnych pakietów, przydatne gdy chcemy używać
niestabilnych pakietów na stabilnym systemie, i na odwrót. Zawartość tego pliku
pozwala dostosować wartość zmiennej ACCEPT_KEYWORDS dla pojedyńczych wersji
aplikacji.
Uwaga: Istnieją dwie specjalne flagi KEYWORD, które mogą pomóc w odpowiedniej konfiguracji: * dowolny stabilny KEYWORD ~* dowolny niestabilny KEYWORD Format: - komentarze zaczynają się # - jeden atom DEPEND, a następnie KEYWORD, w jednej linii - linie nie zawierające KEYWORD będą domyślnie traktowane jako żądanie pakietu niestabilnego Przykład: # używaj niestabilnego libgd media-libs/libgd ~x86 # tylko stabilny mplayer media-video/mplayer -~x86 # używaj niestabilnego netcat net-analyzer/netcat
Dodatkowa uwaga: W przypadku, gdy dany pakiet oznaczony jest przez KEYWORD -*, to oznacza to, że jest on uznany jako zepsuty na wszystkich architekturach, chyba, że jest inaczej we fladze KEYWORD danego ebuilda. Przykładowo, jeśli dana aplikacja jest dostępna tylko w formie binarnej dla x86, to odpowiednia część ebuilda może wyglądać następująco:
games-fps/quake3-demo-1.11.ebuild:keywords="-* x86"
Jeśli pomimo tego chcesz zainstalować dany pakiet, to dodaj flagę -* w pliku package.keywords przy odpowiednim wpisie:
games-fps/quake3-demo -*
- package.mask
-
Lista pakietów, które powinny być zamaskowane. Bardzo przydatne, gdy dana
aplikacja lub jej wersja działają nieprawidłowo na danym systemie, umożliwia
także zablokowanie aktualizacji pakietu np. jądra. W przypadku, gdy chcemy
używać sterowników kart graficznych Nvidia, ale tylko w wersjach starszych niż
1.0.4496, nie ma problemu, używając ten plik, można zrobić to z łatwością.
Format:
- komentarze zaczynają się # - jeden atom DEPEND w jeden linii
Przykład:
# zamaskuj sterowniki nvidia nowsze niż 1.0.4496 >media-video/nvidia-kernel-1.0.4496 >media-video/nvidia-glx-1.0.4496
- package.unmask
- Podobna funkcjonalność jak w przypadku package.mask, tylko że w tym przypadku wskazane pakiety zostaną odmaskowane. Może to zostać użyte do nadpisania globalnej konfiguracji package.mask (zobacz poniżej). Należy zauważyć, że nie ma to wpływu na aplikacje zamaskowane przez KEYWORD.
- package.use
-
Flagi USE definiowane dla poszczególnych pakietów. Bardzo przydatna
funkcjonalność umożliwiająca zmianę globalnych flag USE i ustawienie lokalnej
flagi, która jest wspierana jedynie przez dany pakiet. Przykładowo deweloper
GTK+ będzie prawdopodobnie zainteresowany instalacją dokumentacji dla GTK+, ale
już niekoniecznie dla Qt. Używając tego pliku z łatwością można uzyskać taką
konfigurację.
Format:
- komentarze zaczynają się # - jeden atom DEPEND, a następnie lista, oddzielonych spacjami flag USE, w jednej linii
Przykład:
# zainstaluj dokumentację dla GTK+ 2.x =x11-libs/gtk+-2* doc # wyłącz wsparcie dla mysql w Qt x11-libs/qt -mysql
- mirrors
-
Gdy Portage napotka URL w postaci mirror://, to będzie próbował odnaleźć
odpowiedni adres z pomocą tego pliku, a w przypadku niepowodzenia skorzysta z
globalnej listy serwerów lustrzanych znajdujących się w pliku
/usr/portage/profiles/thirdpartymirrors. Dodatkowo istnieje możliwość
zdefiniowania listy specjalnych serwerów - "local", będą one zawsze przeglądane
w pierwszej kolejności przed GENTOO_MIRRORS nawet w przypadku, gdy dany ebuild
używa zmiennej RESTRICT="mirror" lub RESTRICT="fetch".
Format:
- komentarze zaczynają się # - typ serwera, a następnie lista hostów
Przykład:
# lokalny, serwer lustrzany, używany tylko przez firmę local ftp://192.168.0.3/mirrors/gentoo http://192.168.0.4/distfiles # mieszkańcy Japonii woleliby używać japońskiego serwera lustrzanego sourceforge http://keihanna.dl.sourceforge.net/sourceforge # lokalny serwer gnu na Tajwanie gnu ftp://ftp.nctu.edu.tw/unix/gnu/
- categories
-
Lista kategorii znajdujących się w /usr/portage, w PORTDIR_OVERLAY, a także w
PKGDIR (patrz make.conf(5)). Umożliwia dodanie nowych kategorii.
Format:
- jedna kategoria w jednej linii
Przykład:
app-hackers media-other
-
- /usr/portage/profiles/
-
Globalna konfiguracja Gentoo nadzorowana przez deweloperów. By nadpisać
poszczególne jej ustawienia, można użyć plików znajdujących się w
/etc/portage/.
-
- arch.list
-
Lista poprawnych architektur (KEYWORD), nie zawiera możliwych modyfikatorów.
Format:
- jeden KEYWORD w jednej linii
Przykład:
x86 ppc sparc
- categories
-
Prosta lista rozpoznawanych kategorii /usr/portage, PORTDIR_OVERLAY, a także
PKGDIR (patrz make.conf(5)).
Format:
- jedna kategoria w jednej linii
Przykład:
app-admin dev-lang games-strategy sys-kernel
- info_pkgs
- Lista pakietów, których wersje będzie można zobaczyć po wykonaniu polecenia `emerge --info`.
- info_vars
- Lista zmiennych, które zostaną wyświetlone po wykonaniu `emerge --info`.
- package.mask
-
Zawiera listę DEPEND dla pakietów, które nie powinny być zainstalowane w
którymkolwiek z profili, przydatne w momencie dodawania wersji beta aplikacji,
by mieć pewność, że w domyślnej konfiguracji nie dojdzie do przypadkowej
aktualizacji. Umożliwia także zamaskowanie specyficznych wersji w przypadku
wykrycia błędów bezpieczeństwa. ZAWSZE należy dodać odpowiedni komentarz, który
wyjaśni, dlaczego dany pakiet został zamaskowany i KTO dodał odpowiedni wpis.
Format:
- komentarze zaczynają się # - jeden atom DEPEND w jednej linii
Przykład:
# zamaskowane z powodów bezpieczeństwa <sys-libs/zlib-1.1.4 # <caleb@gentoo.org> (10 sep 2003) # nowe wersje beta KDE =kde-base/kde-3.2.0_beta1 =kde-base/kdeaccessibility-3.2.0_beta1
- profiles.desc
-
Lista wszystkich stabilnych i deweloperskich profili, które mają być sprawdzane
przez repoman. W obecnej chwili wspierany jest tylko jeden profil na jedną
konfigurację stable/dev/KEYWORD. W przypadku, gdy w pliku będzie znajdowało
się więcej podobnych wpisów, tylko ostatni z nich będzie używany.
Format:
- komentarze zaczynają się # - jeden profil w formacie: architektura katalog status, w jednej linii - KEYWORD (architektura) musi znajdować się w pliku arch.list - lokalizacja katalogu określona jest przez ścieżkę względną do profiles.desc - dopuszczalne wartości słowa kluczowego status to 'stable' i 'dev'
Przykład:
alpha default-linux/alpha/2004.3 stable m68k default-linux/m68k dev x86 default-linux/x86/2004.3 stable
- thirdpartymirrors
-
Nadzoruje aktualne powiązania pomiędzy URL-ami typu mirror:// i właściwą listą
używanych hostów na których znajdują się pliki, umożliwia odciążenie
poszczególnych serwerów i zmniejszenie przez to ich obciążenia.
Format:
- komentarze zaczynają się # - typ serwera lustrzanego, a następnie lista hostów w jednej linii
Przykład:
sourceforge http://aleron.dl.sourceforge.net/sourceforge http://unc.dl.sourceforge.net/sourceforge gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo/distfiles kernel http://www.kernel.org/pub http://www.us.kernel.org/pub
- use.desc
-
Lista wszystkich globalnych flag USE oraz ich krótki opis.
Format:
- komentarze zaczynają się # - flaga USE - opis
Przykład:
3dfx - Adds support for 3dfx video cards acl - Adds support for Access Control Lists doc - Adds extra documentation
- use.local.desc
-
Lista wszystkich lokalnych flag USE wraz z używającymi ich pakietami i opisami.
Format: - komentarze zaczynają się # - pakiet:flaga USE - opis Przykład: app-editors/nano:justify - Toggles the justify option dev-libs/DirectFB:fusion - Adds Multi Application support games-emulation/xmess:net - Adds network support
-
- /var/lib/portage/
-
-
- world
-
Zawiera listę pakietów należących do specjalnego zestawu - world. Jest ona za
każdym razem odświeżana po instalacji lub po odinstalowaniu aplikacji. W
przypadku użycia komendy `emerge -up world` jest ona używana do określenia,
które aplikacje powinny zostać zaktualizowane. Należy zauważyć, że lista ta nie
zawiera pakietów zainstalowanych jako zależności, np. w przypadku polecenia
`emerge mod_php` do tego pliku zostanie dodany tylko wpis "dev-php/mod_php",
natomiast "net-www/apache" już nie. Dodatkowe informacje można znaleźć w
podręczniku emerge(1).
Format:
- jeden atom DEPEND w jednej linii
Przykład:
games-misc/fortune-mod-gentoo-dev dev-libs/uclibc app-cdr/cdemu
-
ZGŁASZANIE BŁĘDÓW
Prosimy o zgłaszanie błędów przy pomocy http://bugs.gentoo.org/AUTORZY
Marius Mauch <genone@gentoo.org> Mike Frysinger <vapier@gentoo.org> Drake Wyrm <wyrm@haell.com>
ZOBACZ TAKŻE
emerge(1), ebuild(1), ebuild(5), make.conf(5)TŁUMACZENIE
Michał Kurgan <moloh@gentoo.org>Polski projekt tłumaczenia manuali Gentoo
http://gentoo.org/~rane/tlumaczenie-manuali
Arfrever Frehtes Taifersar Arahesis <FFTA@WP.PL>
Index
- NAZWA
- OPIS
- STRESZCZENIE
- TERMINOLOGIA
- OPIS POSZCZEGÓLNYCH PLIKÓW
- ZGŁASZANIE BŁĘDÓW
- AUTORZY
- ZOBACZ TAKŻE
- TŁUMACZENIE
This document was created by man2html using the manual pages.
Time: 17:40:46 GMT, May 11, 2012
