Gentoo Logo

1.  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

1.  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.

1.  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 1.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 1.1: 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.

1.  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 1.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.

1.  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).

1.  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 1.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.

Zaktualizowano 28 lutego 2008

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

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.