LINUX.ORG.RU
ФорумAdmin

Gentoo: что есть world, и что есть system?


0

0

Пролистал Gentoo Handbook, но так и не нашёл ответа на вопрос что же такое system, и чем оно отличается от world. Что делает emerge -e system (взято из описания установки из stage1), например?

★★★★★

system - это жёстко заданный набор пакетов, необходимых для работы системы. Список этих пакетов размазан по нескольким файлам с именем packages в подкаталогах каталога /usr/portage/profiles и зависит от выбранного профиля (симлинк /etc/make.profile).

world - это те пакеты, которые ты сам поемёржил (автоматически установленные зависимости туда не входят). Список хранится в файле /var/lib/portage/world.

ero-sennin ★★
()
Ответ на: комментарий от ero-sennin

Разрази меня GCC.

Спасибо за объяснение.

Как, по случаю установки свежей версии GCC, пересобрать все программы? emerge --update --newuse --deep world только освежит всё что можно освежить и всё что связано зависимостями. Надо действовать просто, emerge world?

Camel ★★★★★
() автор топика
Ответ на: Разрази меня GCC. от Camel

Нужно выполнить # gcc-config -l, например:
# gcc-config -l
[1] x86_64-pc-linux-gnu-3.4.6
[2] x86_64-pc-linux-gnu-3.4.6-hardened
[3] x86_64-pc-linux-gnu-3.4.6-hardenednopie
[4] x86_64-pc-linux-gnu-3.4.6-hardenednopiessp
[5] x86_64-pc-linux-gnu-3.4.6-hardenednossp
[6] x86_64-pc-linux-gnu-4.1.1 *

На прокив текущей версии gcc стоит зеленая звездочка. Также показывает все установленные версии gcc. Для того чтоб переключить использование системой другой версии gcc, тебе необходимы выполнить gcc-config <номер версии>. Например:

# gcc-config 1
* Switching native-compiler to x86_64-pc-linux-gnu-3.4.6 ...
>>> Regenerating /etc/ld.so.cache... [ ok ]

* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:

* # source /etc/profile

...ну и понятное дело выполнить то что сказано.
Чтоб пересобрать все программы, нужно выполнить emerge -e world

iron ★★★★★
()
Ответ на: комментарий от iron

Век живи, век учись.

О как оказывается. То есть emerge gcc недостаточно чтобы использовать свежий компиляторы? Нужно ещё запустить gcc-config -l. А какие ещё программы надо подобным образом конфигурировать после установки? Glibc, binutils? Откуда можно почерпнуть такие глубокие знания?

Camel ★★★★★
() автор топика
Ответ на: Век живи, век учись. от Camel

Ну glibc в системе бывает только один. :) А вот разные версии gcc и binutils запросто можно держать. Поэтому есть gcc-config, binutils-config, ещё java-config и т. д. В последнее время все эти скрипты плавно вытесняет eselect.

ero-sennin ★★
()
Ответ на: комментарий от spirit

"Я бы взял частями, но мне нужно сразу. "

На серверочке всё собралось на ура. А вот на десктопе есть проблемы. world с зависимостями это почти 600 пакетов. Собрать их разом не получается, то один, то другой выдают ошибки, приходится менять для них USE-флаги, маскировать версии. Но если ошибка вылезла пакете, так, на трёхсотом, не собирать же всё заново. Как можно собирать world частями? А лучше, как продолжить сборку world от точки останова?

Camel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.