Gentoo Logo

[ << ] [ < ] [ Powrót ] [ > ] [ >> ]


2. Konfigurowanie Portage

Spis treści:

2.a. Konfiguracja Portage

Portage konfiguruje się poprzez zmienne znajdujące się na ogół w pliku /etc/make.conf. Dla uzyskania pełnych informacji na temat tego pliku, zalecamy przeczytanie jego mana:

Listing 1.1: Wywoływanie man make.conf

$ man make.conf

2.b. Opcje budowania programów

Opcje kompilacji

W trakcie budowania programu, Portage przekazuje kompilatorowi następujące zmienne:

  • Zmienna CFLAGS & CXXFLAGS definiują żądane flagi dla kompilacji kodu C i C++
  • Zmienna CHOST zawiera informację o hoście na którym budowany jest program
  • Zmienna MAKEOPTS jest przekazywana do polecenia make i jej wartość jest najczęściej ilością równoległych zadań podczas kompilacji. Więcej informacji o make można znaleźć na jego stronie man.

Również flagi USE są używane podczas budowania programów przez Portage, ale zostały już szczegółowo omówione w poprzednich rozdziałach, nie ma zatem potrzeby omawiania ich tutaj po raz kolejny.

Opcje instalacji za pomocą emerge

Kiedy Portage instaluje nowszą wersję danego programu, usuwa przestarzałe pliki z systemu. Usunięcie to jest poprzedzone odpowiednim komunikatem, a użytkownik ma 5 sekund na przerwanie całej operacji i pozostanie przy aktualnej wersji programu. Owe 5 sekund definiowanie jest zmienną CLEAN_DELAY.

Wszelkie opcje, które będą wykonywane za każdym razem podczas wykonania polecenia emerge, możemy przekazać za pomocą zmiennej EMERGE_DEFAULT_OPTS. Takimi opcjami mogą być np. --ask, --verbose, --tree itd.

2.c. Ochrona plików konfiguracyjnych

Chronione przez Portage katalogi

Jeśli plik nie znajduje się w lokacji chronionej przez Portage, to przy instalowaniu nowszej wersji programu, do którego należy, zostanie po prostu nadpisany. Te chronione katalogi również możemy skonfigurować, są one przechowywane w zmiennej CONFIG_PROTECT.

Plik znajdujący się w takiej chronionej lokacji nie zostanie nadpisany, Portage zapisze nowy plik pod inną nazwą i poinformuje użytkownika o pojawieniu się nowszej wersji.

Więcej informacji na temat aktualnego ustawienia zmiennej CONFIG_PROTECT można uzyskać po wpisaniu polecenia emerge --info:

Listing 3.1: Znajdowanie aktualnego ustawienie zmiennej CONFIG_PROTECT

$ emerge --info | grep 'CONFIG_PROTECT='

Więcej informacji na temat ochrony plików konfiguracyjnych w Portage znajduje się na stronie man emerge.

Listing 3.2: Więcej informacji nt. ochrony plików konfiguracyjnych w Portage

$ man emerge

Odsłanianie chronionych katalogów

Aby odsłonić konkretny chroniony katalog i umożliwić w nim bezpośrednie nadpisywanie plików, dodajemy go do zmiennej CONFIG_PROTECT_MASK.

2.d. Opcje pobierania

Serwery

Jeśli potrzebne są jakieś pliki lub informacje, które nie znajdują się na dysku, Portage będzie zmuszone pobrać je z Internetu. Miejsca, w których program będzie ich szukał definiujemy w następujących zmiennych:

  • GENTOO_MIRRORS zawiera adresy serwerów lustrzanych z kodami źródłowymi (distfiles) programów z Portage.
  • PORTAGE_BINHOST zawiera adresy serwerów z prekompilowanymi pakietami.

Kolejna zmienna zawiera adres serwera rsync, z którego pobierane będą aktualizacje drzewa Portage:

  • Zmienna SYNC zawiera nazwę serwera, z którego Portage będzie pobierało aktualizacje drzewa Portage.

Zmienne GENTOO_MIRRORS i SYNC mogą zostać ustawione przy pomocy programu mirrorselect. Przedtem należy go zainstalować, robimy to poleceniem emerge mirrorselect. Więcej informacji o programie uzyskamy wpisując:

Listing 4.1: Więcej informacji o mirrorselect

# mirrorselect --help

Jeśli dodatkowo chcemy korzystać z serwera proxy, używamy do tego zmiennych http_proxy, ftp_proxy i RSYNC_PROXY.

Komendy pobierania

Do pobierania kodów źródłowych Portage domyślnie używa programu wget. Możemy to zmienić poprzez zmienną FETCHCOMMAND.

Portage jest w stanie wznowić przerwany transfer. Używa w takim przypadku jednej z możliwości programu wget. Jeśli chcemy to zmienić, wystarczy wyedytować zmienną RESUMECOMMAND.

Należy upewnić się, że wybrane przez nas nowe polecenia FETCHCOMMAND i RESUMECOMMAND umieszczają kody źródłowe w odpowiednich miejscach. Wewnątrz zmiennych powinno się umieścić \${URI} i \${DISTDIR} odpowiednie dla lokacji kodów źródłowych i distfiles.

Można również wybrać osobne polecenia pobierania w zależności od protokołu, który akurat jest używany. Służą do tego zmienne: FETCHCOMMAND_FTP, RESUMECOMMAND_HTTP, RESUMECOMMAND_FTP, itd.

Ustawienia rsync

Nie można wprawdzie zastąpić innym polecenia rsync, używanego do aktualizowania drzewa Portage, ale mamy za to do dyspozycji kilka zmiennych, dzięki którym można dostosować niektóre parametry jego działania.

  • Zmienna PORTAGE_RSYNC_OPTS ustawia kilka domyślnych zmiennych używanych podczas aktualizacji. Każda z nich oddzielona jest spacją. Nie należy zmieniać wartości tej zmiennej, chyba że dokładnie wiemy co robimy. Dodatkowo należy mieć na uwadze, że istnieją takie opcję, które zawsze będą używane, nawet w przypadku gdy zmienna ta będzie pusta.
  • Zmienna PORTAGE_RSYNC_EXTRA_OPTS może być użyta do ustawienia dodatkowych opcji podczas aktualizacji drzewa. Każda z nich powinna być oddzielona spacją od poprzedniej.
    • --timeout=<liczba>: Definiuje liczbę sekund po jakich bezczynne połączenie z serwerem zostanie uznane za martwe. Domyślną wartością jest 180, jednak użytkownicy korzystający z modemów lub osoby z wolnymi komputerami powinny zwiększyć tę wartość do 300 lub więcej.
    • --exclude-from=/etc/portage/rsync_excludes: Wskazuje na plik, w którym znajduje się lista pakietów i/lub kategorii, które powinny zostać zignorowane podczas procesu aktualizacji drzewa. W tym przypadku jest to plik /etc/portage/rsync_excludes. Aby zapoznać się ze składnią tego pliku, należy przeczytać rozdział Mieszanie gałęzi Portage.
    • --quiet: Zmiejsza ilość wysyłanych komunikatów na ekran
    • --verbose: Wyświetla kompletną listę plików
    • --progress: Wyświetla pasek postępu dla każdego pliku
  • W zmiennej PORTAGE_RSYNC_RETRIES definiujemy ile prób połaczenia się z serwerem lustrzanym umieszczonym w zmiennej SYNC powinien podejmować rsync. Domyślną wartością jest 3.

Aby dowiedzieć się więcej o opcjach, należy zapoznać się z manualem, wywoływanym poleceniem man rsync.

2.e. Konfiguracja Gentoo

Wybór gałęzi

Wyboru gałęzi dokonujemy poprzez zmianę zmiennej ACCEPT_KEYWORDS. Domyślnie jest to stabilna gałąź naszej architektury, więcej informacji o innych gałęziach znaleźć można w dalszych rozdziałach Podręcznika.

Portage Features

Przy pomocy zmiennej FEATURES aktywujemy rozmaite dodatkowe możliwości Portage, które szerzej są omawiane w poświęconym im rozdziale Możliwości Portage.

2.f. Zachowanie Portage

Zarządzanie zasobami

Zmienna PORTAGE_NICENESS służy do zwiększania lub zmniejszania wartości nice z jaką działa Portage. Wartość ze zmiennej PORTAGE_NICENESS jest dodawana do aktualnej wartości nice.

Więcej informacji o wartościach nice znajduje się w manie programu nice:

Listing 6.1: Więcej informacji o nice

$ man nice

Konfiguracja danych wyjściowych

Zmienna NOCOLOR, domyślnie ustawiona na "false" (fałsz), przestawiona na "true" (prawda), zakaże Portage kolorowania danych wyjściowych.


[ << ] [ < ] [ Powrót ] [ > ] [ >> ]


Drukuj

Pokaż całość

Zaktualizowano 7 lipca 2008

Oryginalna wersja tego dokumentu została po raz ostatni zaktualizowana 4 października 2009. Jeśli chcesz pomóc w aktualizacji tego dokumentu do najnowszej wersji, skontaktuj się z Łukaszem Damentko, koordynatorem polskiego projektu tłumaczeń dokumentacji Gentoo.

Podsumowanie: Proces konfigurowania systemu Portage poprzez zmianę odpowiednich plików konfiguracyjnych i zmiennych środowiskowych.

Sven Vermeulen
Autor

Grant Goodyear
Autor

Roy Marples
Autor

Daniel Robbins
Główny Architekt

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 Developer

Tavis Ormandy
Gentoo Alpha Developer

Jason Huebel
Gentoo AMD64 Developer

Guy Martin
Gentoo HPPA developer

Pieter Van den Abeele
Gentoo PPC developer

Joe Kallar
Gentoo SPARC developer

John P. Davis
Redaktor

Pierre-Henri Jondot
Redaktor

Eric Stockbridge
Redaktor

Rajiv Manglani
Redaktor

Jungmin Seo
Redaktor

Stoyan Zhekov
Redaktor

Jared Hudson
Redaktor

Colin Morey
Redaktor

Jorge Paulo
Redaktor

Carl Anderson
Redaktor

Jon Portnoy
Redaktor

Zack Gilburd
Redaktor

Jack Morgan
Redaktor

Benny Chuang
Redaktor

Erwin
Redaktor

Joshua Kinard
Redaktor

Tobias Scherbaum
Redaktor

Xavier Neys
Redaktor

Gerald J. Normandin Jr.
Korekta

Donnie Berkholz
Korekta

Ken Nowack
Korekta

Lars Weiler
Współpracownik

Joshua Saddler
Editor

Karol Wojtaszek
Tłumacz

Łukasz Damentko
Tłumacz

Donate to support our development efforts.

Support OSL
Gentoo Centric Hosting: vr.org
Tek Alchemy
SevenL.net
Global Netoptex Inc.
Bytemark
Online Kredit Index
Copyright 2001-2009 Gentoo Foundation, Inc. Questions, Comments? Contact us.