Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Agent_SMITH в Mar 29, 2006, 01:51



Титла: Gentoo: update ама не съвсем
Публикувано от: Agent_SMITH в Mar 29, 2006, 01:51
Здравейте:

Понеже ми е трудно да формулирам точно питане към бат' Google реших да си изплача мъката тук с надежата форума (или поне Румен) да ми помогне... ;)

Когато се сетя правя --sync, сетне emerge -uDNav world... два пъти по-рядко ровя из пакетите и напоследък попадам на следния парадокс - буквално минути след като съм изпълнил ъпдейт, (примерно)
Примерен код
emerge -s mozilla

вади сред резултатите
Примерен код
*  mail-client/mozilla-thunderbird
      Latest version available: 1.5-r2
      Latest version installed: 1.5
      Size of files: 102,679 kB
      Homepage:      http://www.mozilla.org/projects/thunderbird/
      Description:   Thunderbird Mail Client
      License:       MPL-1.1 NPL-1.1

т.е. има вече r2, а при мен все още е чистата 1.5, ерго системата не е ъпдейтнала пакета...

Аз ли не чета като хората, проспал ли съм някой USE flag, или...


Титла: Gentoo: update ама не съвсем
Публикувано от: ray в Mar 29, 2006, 07:36
Здравей,
Мисля (това е само в мойте мисли ;) че проблема е в стария/неактуален вече portage 'кеш'.
Накратко, когато искаш (с дадеш команда) да се инсталира даден пакет portage (pyhton based) първо трябва да го намери. В най-общия случай това може да стане като се обходи 'дървото' с търсене, но проблема е че ще стане много бавно (python + >10000 ebuilds).
Затова се генерира portage 'кеш' (мисля в /var/cache/edb или нещо такова).
Това трябва да става в края на "emerge --sync", и след това за всяко търсене (emerge -s нешо-си) се използва този 'кеш', а не самото дърво.
Вероятно при 'emerge -uDNav world/emerge package' се обхожда пак самото дърво а не се ползва кеша, тъй като след няколко обновени пакета той вече ще е неактуален (както май в случая ;)
Ако искаш да провериш дали това е така: emerge --metadata.
Горното ще генерира отново кеша (ще го обнови); после дай "emerge -s package" да видиш дали най новата версия се вижда.
Тук темата е малко дълга, но не е зле да ползваш последния клон 2.1_preX (~x86) на portage, там има доста промени (спрямо 2.0.53/54), включително пренаписан модул за работа (и формат) на кеша. Синхронизацията (с FEATURES=" ... -metadata-transfer ..." става за по-малко от половината време (около 1/3-та от времето) необходимо с 2.0.53/54).
PS;препоръчвам да ползваш 'eix' - emerge eix. Тогава вместо 'emerge --sync' дай "eix-sync" (или пък след 'emerge --sync' обнови 'eix-cache' с update-eix). След това търсиш с 'eix -option search-item' (виж man eix).
Това е. Успех. Румен