Я установил и настроил дистрибутив Gentoo с GNOME-3.1
. Чтобы выполнить эту установку, мне пришлось добавить много-много строк в package.accept_keywords
. Теперь (через пару месяцев) я решил обновить свою систему с помощью следующей команды:
emerge --sync
emerge -pv --update --deep --with-bdeps=y --newuse world
как было предложено Gentoo Handbook, и у меня много конфликтов. Причиной многих из них было то, что обновленное программное обеспечение (mutter-3.6
в качестве примера) использовал тот же SLOT
как установлено mutter-3.1
. И вот такая строчка:
=bla-bla-bla/mutter-3.1 ~amd64
был добавлен в мой package.accept_keywords
.
Насколько я понимаю, мне нужно обновить свой package.accept_keywords
удаление =bla-bla-bla/mutter-3.1 ~amd64
и добавление =bla-bla-bla/mutter-3.6 ~amd64
. Таким образом, ситуация следующая (насколько я понимаю):
mutter-3.6
и mutter-3.1
не могут сосуществовать в системе (и не должны). mutter-3.6
собирается обновить mutter-3.1
, но так как он еще не прошел надлежащих испытаний, он отмечен "~amd64"
. Таким образом, мне нужно добавить следующую строку, предложенную emerge
:
>=bla-bla-blah/mutter-3.6 ~amd64
к моему package.accept_keywords
файл.
Вопросы:
mutter-3.1
родственная линия? Это безопасно, верно?package.accept_keywords
файл, особенно если он содержит много строк (предпочтительно автоматически)?package.accept_keyword
файл, а затем обновите мир или запустите emerge ... --autounmask-write
? Это безопасно, что будет?mutter-3.6
в моей системе, если package.accept_keyword
содержит точно =bla-bla-bla/mutter-3.1 ~amd64
говоря, что только эта версия mutter
можно быть нестабильным?1. Can I add proposed line without deleting the old mutter-3.1 related line? It it safe, correct?
Да, это нормально. После завершения обновлений просто удалите строки старой версии.
2. If the 1st question is OK, hot can I get it reliable and automatically?
--autonunmask-write подойдет для этого. Я поддерживаю accept_keywords вручную, но за эти годы я довольно свободно владею им.
3. How in general maintain (delete/update) package.accept_keywords file, especially when it contains many lines (preferred way is automatically)?
Полная «магическая» автоматизация этого - вещь типа Святого Грааля. Машины у всех разные, поэтому их нельзя автоматизировать на 100%. Как правило, я храню свои accept_keywords в алфавитном порядке + принимаю только одну версию пакета.
4. Can I just trancate package.accept_keyword file and then update world or run emerge ... --autounmask-write? Is it safe, what will happen?
Конечно, вы можете спокойно убить его. Просто это сильно повлияет на вычисления зависимостей. Многие пакеты будут замаскированы по ключевым словам, и portage не сможет решить ваши зависимости, или он просто снизит все до максимально стабильной версии.
5. Why I'm getting unstable mutter-3.6 on my system if package.accept_keyword contains exactly =bla-bla-bla/mutter-3.1 ~amd64 saying that only this version of mutter is possible to be unstable?
Потому что для некоторых пакетов требуется более высокая версия mutter. Вот откуда portage узнает, что даже предлагает его для разоблачения. Без этого портеж просто позволил бы вам начать сборку этих пакетов против mutter-3.1, и очень вероятно, что сборка просто не удалась бы где-то посередине.