Назад | Перейти на главную страницу

Техническое обслуживание Gentoo [обновить]

Я установил и настроил дистрибутив 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 файл.

Вопросы:

  1. Могу ли я добавить предложенную строку, не удаляя старую mutter-3.1 родственная линия? Это безопасно, верно?
  2. Если 1-й вопрос в порядке, горячо могу ли я получить его надежно и автоматически?
  3. Как в целом поддерживать (удалить / обновить) package.accept_keywords файл, особенно если он содержит много строк (предпочтительно автоматически)?
  4. Могу я просто транскать package.accept_keyword файл, а затем обновите мир или запустите emerge ... --autounmask-write? Это безопасно, что будет?
  5. Почему я становлюсь нестабильным 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, и очень вероятно, что сборка просто не удалась бы где-то посередине.