https://wiki.gentoo.org/wiki/Profile_(Portage)
Зачем нужен профиль?
ну, захочется, например собрать @world с какими-то определёнными настройками, рраз, выбрал профиль и собрал.
О, чуваак, так тебе нужен catalyst, говорят на канале #gentoo-dev-help
https://wiki.gentoo.org/wiki/Project:Catalyst
https://wiki.gentoo.org/wiki/Project:Catalyst/FAQ
https://wiki.gentoo.org/wiki/Catalyst
https://gitweb.gentoo.org/proj/catalyst.git/tree/README
https://www.linux.org.ru/forum/admin/7704897
http://www.anticore.org/ratgentoo/
https://forum.jenkler.se/linux/gentoo-catalyst-building-installation-stages-t101.html
а что такое вообще этот ваш @world ?
Ну, world set
это группа пакетов
перечисленных в файле
/var/lib/portage/world
Ну ок, а что такое set ?
https://wiki.gentoo.org/wiki//etc/portage/sets
one-to-many relationship between a set name and an arbitrary group of package atoms.
ну это разные файлы в директории /etc/portage/sets
User-defined set names correspond to the name of the file. Each file should contain a list of package atoms and nested package sets, one per line.
You can see the full list of sets that exist at any time with user $emerge --list-sets
да, а почему тогда файл world лежит не в той директории, а в другой?
/etc for configuration, /etc/ is meant to be per-machine
"world" is not a set you are meant to manipulate via manual edits.
/var/lib for state information
https://dev.gentoo.org/~zmedico/portage/doc/ch02.html
There are multiple locations where portage looks for set configuration files, which are usually named sets.conf. Not all of these locations have to contain a sets.conf, missing files are simply ignored.
At first it reads the default configuration from all of the files located in /usr/share/portage/config/sets directory.
The default config includes sets that are expected on all systems and often critical for normal operation, like world, system or security.
After that it will read configurations located in repositories configured in repos.conf.
Finally a system-specific set configuration may reside in /etc/portage to either define additional sets or alter the default and repository sets.
Откуда берется список сетов?
$ emerge --list-sets
changed-deps
downgrade
installed
live-rebuild
module-rebuild
preserved-rebuild
profile
rebuilt-binaries
security
selected
selected-packages
selected-sets
system
unavailable
unavailable-binaries
world
x11-module-rebuild
Как определяется текущий профиль?
can profile define what the world file should contain?
<iamben> no
Как задать, что должно находится в system set?
Когда используется файл world?
При выполнении команд обновления
when a world update is requested (through emerge -uDN @world or similar command),
Portage will use the world file as the base for its update calculations.
/usr/sbin/emaint --check world
The emaint command can be used to see if any problems exist in the world file
Как почистить файл world?
The emerge --deselect option will remove these entries without unmerging them.
while read i ; do if [ -n "$(qdepends -Q $i)" ]; then echo $i >> /tmp/deselect ; fi; done < /var/lib/portage/world
emerge --ask --deselect $(cat /tmp/deselect)
emerge --ask --noreplace <atom>
It will add the atom to the /var/lib/portage/world file without compiling it again.
Профиль заменит всё?
для сборки нужен файл world, профиль и настроенный /etc/portage
вопрос - можно ли в профиле определить всё, что есть в /etc/portage ?
как потом начать сборку с пустым /etc/portage ?
Нет, всё профиль не заменит. Зато есть пакет каталист (catalyst), который предназначен как раз для разных сборок