LINUX.ORG.RU

Стабильный выпуск Portage 3.0

 , ,


1

0

Стабилизирован выпуск 3.0 пакетного менеджера Portage дистрибутива Gentoo. Из нововведений:

  • Удалена поддержка Python 2.7. Теперь поддерживается только версия 3.2 и выше.

  • Значительно ускорены вычисления за счёт оптимизаций и применения кэширования результата функций catpkgsplit и use_reduce. Сообщается о приблизительно 50-60% выигрыша при вычислении зависимостей.

>>> Подробности

★★★★★

Проверено: alpha ()
Последнее исправление: alpha (всего исправлений: 3)
Ответ на: комментарий от mx__

Каждый раз. Я пытался лет 10 назад использовать описанный в Вики подход с использованием базы данных для хранения дерева. Уж не знаю что именно в нём хранилось, но этот файл ещё сгенерить нужно после обновления дерева. Некоторые флаги у пакета несовместимы, некоторые требуют включения других. Зависимости от use флагов могут вообще не зависеть. Часть зависимостей тянутся из eclass. Нужно наложить настройки пользователя. Заметного прироста я тогда не заметил. Плюс всё это должно взаимодействовать со сторонними и локальными оверлями.

Когда дерево было мелким и portage более простым, он работал шустро. Сейчас он много делает сам, например, часто сам разруливает блокировки.

Да, при портированием нужно много переписать и в итоге скорее всего прироста не будет большого, так как оптимизация алгоритма обычно даёт больший прирост. То есть даже если и использовать полноценно подход базы данных, то, возможно, придется изменить подход работы с деревом.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

Это только первый раз рассчет идет медленно, а вот второй раз уже все в памяти находится. База данных это шиндовс путь. Оверлеи подключаются легко через layman и в eselect есть рулежка ими. Обновляются вместе с деревом, но это не очень нужно большинству. Можно и без оверлеев жить. Просто после вычисления он раньше тупил подолгу вообще не обращаясь к жесткому диску и потому ввели это улучшение. Работает с версии питона 3.2, а для младших версий затычка. Впрочем системные сейчас это 3.6 - 3.8, так что это надо сильно налажать с выставлением текущей версии питона. 3.2 если и нужен может быть в fallback режиме.

anonymous
()
Ответ на: комментарий от Slackware_user

eix-sync вызывает emerge –sync + eix-update. Первый вызывает rsync, git pull, …., т.е. то, что настроено. Так вот git pull –depth=1 работает очень шустро, в отличии от rsync.

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

Это один из официальных способов сейчас. Работает шустро. Главное правильное зеркало выбрать. Правильное в том смысле, что не тянуть репу разработчиков (gitweb, одно из зеркал на github), а брать зеркало для синхронизации (специальное зеркало на github).

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