Ru:Portage

From Sabayon Wiki
Jump to: navigation, search
i18n: de en ru

Portage - это система управления пакетами, используемая в Gentoo и Sabayon для установки, удаления и поддержки прикладных программ в вашей системе. Portage состоит из Portage tree (дерева портеджей), команды emerge и настроек в файле make.conf.


Дерево Portage

Дерево портеджей - это локальная копия (находится в /usr/portage) списка пакетов в главном репозитории. Каждый раз когда вы устанавливаете программное обеспечение при помощи emerge, происходит поиск в дереве портеджей. Если имя пакета найдено, происходит подсчет его зависимостей, загрузка исходного кода пакета и его зависимостей, распаковка кода, его сборка и установка запрашиваемого ПО в вашу систему.


Поддержка дерева Portage
Вы должны регулярно обновлять дерево портеджей (раз в неделю, или чаще) для того чтобы система "знала" о актуальных версиях ПО:

 emerge --sync
                                                                                           

Еще одно место где Portage нуждается в поддержке это директория /usr/portage/distfiles. В ней хранятся загруженные пакеты, как с исходным кодом так и бинарные. Следует удалять ее содержимое раз в 4-6 месцев для того чтобы не загромождать дисковое пространство. Для этого можно использовать команду rm:

 rm -rf /usr/portage/distfiles/*

Команда emerge

Emerge это главная команда, при помощи которй вы, пользователи, будете взаимодействовать с Portage. Для запуска "emerge" нужно открыть ваш любимый эмулятор терминала и войти в систему как root.
(Обратите внимание на то что эта страница затрагивает emerge только поверхностно. Для того чтобы узнать о emerge больше обратитесь к соответствующей странице wiki (англ.), или к man emerge)

Установка пакетов
Для установки пакета просто напишите "emerge" и название пакета, который вы хотите установить. К примеру, если вы хотите установить браузер Opera:

 emerge opera

Имена некоторых пакетов могут быть не очень предсказуемыми. Если вы захотите установить firefox, к примеру:

 emerge mozilla-firefox

Обычно полезно добавить ключ --ask к emerge и убедится что установится именно то что вам нужно еще до начала установки:

 emerge -a mozilla-firefox
 These are the packages that would be merged, in order:
 Calculating dependencies... done!
 [ebuild     U ] www-client/mozilla-firefox-2.0 [2.0_beta2]     
 Would you like to merge these packages? [Yes/No] 


Если вы точно не знаете как называется пакет, можно поискать его в дереве Portage. Для этого используйте ключ -s:

 emerge -s firefox

would output something like this:

 Searching...  
 [ Results for search key : firefox ]
 [ Applications found : 2 ]

 www-client/mozilla-firefox
     Latest version available: 1.5.0.4
     Latest version installed: 1.5.0.4
     Size of files: 39,034 kB
     Homepage:      http://www.mozilla.org/projects/firefox/
     Description:   Firefox Web Browser
     License:       MPL-1.1 NPL-1.1
 
 www-client/mozilla-firefox-bin
     Latest version available: 1.5.0.4
     Latest version installed: [ Not Installed ]
     Size of files: 12,751 kB
     Homepage:      http://www.mozilla.org/projects/firefox
     Description:   Firefox Web Browser

Также можно искать пакеты в Gentoo Online Package Database: http://packages.gentoo.org/categories/

Удаление пакетов
Для удаления пакета emerge нужно запустить с ключем "--unmerge" (или -C ). На пример если вы хотите удалить Opera:

 emerge --unmerge opera

(Это "безопасный" способ удаления программ, установленных при помощи emerge. Существуют способы удалить пакет вместе со всеми зависимостями, но так можно испортить систему.)

Обновление системы

Для начала, обновите дерево портеджей, как сказано в разделе про поддержку дерева Portage

После того как дерево будет обновлено, можно начать обновление системы, набрав команду:

 emerge -auDN world

Так будет пересобран (re-emerge) каждый пакет, версия которого в дереве Portage новее установленной в системе.
(Пересборка системы отличается от переустановки: текущие версии пакетов будут заменены пересобраными, но конфигурационные файлы, настройки программ, закладки, часто посещаемые места, используемые файлы, темы оформления и т.д. - все это не будет затронуто)

Однако, обновление системы может привести к обновлению некоторых конфигурационных файлов. Смотрите страницу emerge(англ.) этой wiki, если хотите узнать больше об этом.

make.conf

От содержимого make.conf во многом будет зависеть поведение Portage и emerge, а также как GCC будет компилировать код. (Вы узнаете больше о make.conf, посетив страницу make.conf(англ.) в этой wiki, или заглянув в файл /etc/make.conf.example .)

USE флаги
USE флаги позволяют управлять функциональностью программ и контролировать их зависимости еще на этапе сборки пакета. Они задаются в файле make.conf, в файле package.use или прямо в командной строке.Это оин из тех инструментов, которые делают Gentoo и Sabayon такими гибкими в настройке. Вы можете собрать пакет именно с тем функционалом, которые будете использовать и выбросить из него все лишнее. На пример, в моем ноутбуке нет пишущего DVD-привода. Установив USE flag "-dvdr", я могу собрать программу для записи CD/DVD K3B без поддержки записи на DVD.

Mmake.conf открывает перед нами очень обширные возможности, однако их описание выходит далеко за пределы этой поверхностной заметки о Portage. Вы можете узнать больше о переменной CFLAGS, маскировках пакетов, установке директории Portage и других впечатляющих возможностях, изучив страницу make.conf(англ.) этой wiki.