debian - apt-build world
gentoo - emerge -aveDN world (можно с u чтобы и обновиться)
а значит это не что иное, как пересобрать всё установленные пакеты или только пакеты и их зависимости в world (файлик такой)
объясняю
eix-sync - синхронизирует дерево
emerge -DNauv world - обновление мира
emerge -av --depclean - почистит систему от лишних пакетов
revdep-rebuild - проверит, всё ли нужные либы присутствуют
найди здесь слово «пересоберёт»
а с e - таки пересоберёт мир!
а предложенное тобой - обычное обновление
Ты прав, но справедливости ради, пакеты с новыми или измененными флагами будут перекомпилированы, а также пакеты, требующие обновления. Мир изменится! Этого может быть вполне достаточно.
Включить режим бога, выпилить из этого мира всех хапуг, бизьнисьменов, буржуев и псевдоправителей, а также идиотов и прочих ненужных личностей, потом собрать мир с новыми параметрамИ, такими как сострадание, любовь, там все дела. В общем сделать мир прекрасным!
//А вообще это значит в генте собрать мир (все пакеты вообще) с нуля, некоторые версии будут новыми.
учись как надо
alias world-update=«einstall -avuDN world && smart-live-rebuild — -avD && revdep-rebuild -i && prelink -amfR»
einstall - обёртка emerge, перед сборкой монтирующая диру сборки в tmpfs
Я не совсем понял мысль. На этапе einstall -avuDN world появляется ошибка, вызванная обновлением на этом же этапе некой (для примера =sys-libs/icu-4.6.1) системной библиотекой. Для завершения обновления world необходимо выполнить revdep-rebuild. И снова выполнить обновление мира. Если дифференцировать процесс (приведу свой пример с разделением на 3 этапа: system, libs, world), то таких ошибок при обновлении не будет. Можно забить это в скрипт и больше не возвращаться к этой проблеме.
Я не знаком со smart-live-rebuild, он делает то же самое?
не было таких ошибок - может потому что после каждого обновления выполняется revdep-rebuild!? ;)
подумай над этим
smart-live-rebuild - для обновления live пакетов
Каждый раз после обновления мира revdep-rebuild - это понятно. Вот, если обновляться часто, то вероятно после обновления этой sys-libs/icu будет вызван revdep-rebuild. А если редко, то обновление этой icu придёт в куче с обновлениями для других пакетов и revde-rebuild не будет выполнен после обновления icu.
Если бы этот «магический» :) smart-live-rebuild вызывался до emerge uDNav world, я бы понял. А так неясно пока... У меня как раз ошибка произошла на самой команде emerge -uDNa world.
>Если бы этот «магический» :) smart-live-rebuild вызывался до emerge uDNav world, я бы понял.
подскажу - это для обновления пакетов 9999 (обычно), т.е. собранных неких ревизий svn, git и иже с ними
Удаление библиотек, от которых зависят какие-либо программы — хреновая практика. Отлетит полсистемы и сиди потом целый день в консоли компилируй. Можно конечно в /usr/local/lib насовать из старых пакетов, если с -b емержится, чтобы потом пересобрать то что надо и /usr/local/lib подчистить, но с новым портежем это делается изкоробочно и без гемора.
cd /usr/portage
git checkout gentoo.org
emerge -sync
ls sys-apps/portage/ | grep 2.2.0
portage-2.2.0_alpha51.ebuild
portage-2.2.0_alpha54.ebuild
portage-2.2.0_alpha55.ebuild
О, в дженте такие криворукие слоупоки. :D
Ты может быть ещё и мог меня поучить, если бы мог, но увы.
проблема
Обновил библиотеку — отлетело половина системы, бинари хотят старую.
решение
Оставить старый рантайм до того момента, когда он будет никому не нужен и только потом его удалить.
в чём страх?
В том, что всякие луддиты на форумах соплями по экрану брызгают.
А теперь подумай над таким вопросом, какая разница, что крутить revdep-rebuild, или emerge @preserved-rebuild? Разницы никакой, только в первом случае в системе есть куча нерабочих бинарей, во втором случае куча мусорных рантайм-либ. Тебе что важнее?
> аха, только и через сеты будет ситуация аналогичная\
Ты раньше хотя бы говорил о том, что знал и щупал наверняка, а сейчас что-то зазвездился через меру. Портишься, уважаемый. :(
Через сеты ситуация ничуть не аналогичная, иначе никто бы городить этот огород никто не стал бы с @preserved-rebuild.
И что? Ну сделали костыль, я рад. Костыль хороший. Но, мне лично он уже не нужен.
Да, портишься и это не радует. Потому что я уже старый и ленивый и в местных перепалках уже давно не участвую. Вся надежда на тебя. Кто ещё будет за честь джентульменов бокс по переписке устраивать?
А насчёт сетов, не знаю уж отчего мантейнер каши тормозянки облопался.
Не джентой единой. Хотя фанта мне нравится именно тем, что без проблем умеет быть джентой. Ветки переключаются и актуализуются тремя командами.
cd /usr/portage
git checkout funtoo.org
emerge --sync
ls -l /sys-apps/portage | grep portage
-rw-r--r-- 1 root root 11409 Сен 11 23:54 portage-2.2.2.ebuild
-rw-r--r-- 1 root root 12028 Сен 11 23:54 portage-2.3-r3.ebuild
-rw-r--r-- 1 root root 12028 Сен 11 23:54 portage-2.3-r4.ebuild
-rw-r--r-- 1 root root 11127 Сен 11 23:54 portage-9999.ebuild