# emerge -uD world[SOLVED]

## Terminator

После -uD делаю emerge -e world, и он опять что-то качает. Видимо emerge -uD world обновляет не все пакеты.

Как так?Last edited by Terminator on Fri Dec 01, 2006 6:58 am; edited 1 time in total

----------

## KUV

М.б. он второй раз качал пакеты которые не надо обновлять, но локально их сорцов нет.

----------

## Sysa

 *Terminator wrote:*   

> После -uD делаю emerge -e world, и он опять что-то качает. Видимо emerge -uD world обновляет не все пакеты.
> 
> Как так?

 

You should to use "-uDN world"

----------

## OpticalDezires

ГХ, ЛОЛ!!! Парень почитай ман по emerge, тебе очень поможет. Ты хоть понимаешь что ты делаешь ?

emerge -e - Virtually tweaks your portage tree to consist olny GCC, что-то вроде етого. Разумеется он будет качать те пакэджы которые ты уже давно удалил из системы и забыл про это. Правильней будет как было сказано выше:

```
emerge -DuN world
```

это для апдейта, с пересборкой пакетов с новыми USE флагами.

или если ты хочешь просто глянуть что нужно пересобрать - 

```
emerge -DuNpv world
```

 *Quote:*   

> -D - When used in conjunction with --update, this flag forces emerge to consider the entire dependency tree of packages, instead of checking only the immediate dependencies of the packages. As an example, this catches updates in libraries that are not directly listed in the dependencies of a package.
> 
> -u - Updates packages to the best version available, which may not always be the highest version number due to masking for testing and development. This will also update direct dependencies which may not be what you want. In general, use this option only in combination with the world or system target.
> 
> -N - Tells emerge to include installed packages where USE flags have changed since compilation. An asterisk marks when a USE flag has changed since the package was compiled.
> ...

 

На мой взгляд - это позор, использовать Генту и не уметь правильно пользоваться тем мощным инструментом, который выделяет его в ряду других дистрибьютивов. Это всё равно что ездить на машине не умея обращаться с коробкой передач.   :Very Happy: 

----------

## Terminator

 *OpticalDezires wrote:*   

> ГХ, ЛОЛ!!! Парень почитай ман по emerge, тебе очень поможет. Ты хоть понимаешь что ты делаешь ?
> 
> 

 

Понимаю

 *Quote:*   

> 
> 
> emerge -e - Virtually tweaks your portage tree to consist olny GCC, что-то вроде етого. 

 

Это бред какой-то, вы сами читали man emerge?

 *Quote:*   

>  Разумеется он будет качать те пакэджы которые ты уже давно удалил из системы и забыл про это. 

 

Зачему он будет качать пакеты которые ни мне ни ему(судя по emerge -uDpv world) не нужны?

Причём качает он не пакеты, а патчи.

 *Quote:*   

> 
> 
>  Правильней будет как было сказано выше:
> 
> ```
> ...

 

Теперь всегда добавляю ключик N

...

 *Quote:*   

> 
> 
> На мой взгляд - это позор, использовать Генту и не уметь правильно пользоваться тем мощным инструментом, который выделяет его в ряду других дистрибьютивов. Это всё равно что ездить на машине не умея обращаться с коробкой передач.  

 

Не уместное сравнение. 

Больше подошло бы: - неумея программировать контроллер впрыска.

----------

## OpticalDezires

 *Quote:*   

> --emptytree (-e short option)
> 
>                 Virtually tweaks the tree of installed packages to contain
> 
>                 nothing. This is great to use together with --pretend. This makes
> ...

 

http://linuxreviews.org/man/emerge/help/

А теперь сделай:

```
emerge -epv world
```

и конкретно удивись почему ему нужны все пакеты, которые уже у тебя установленны. И вот только после этого называй мои слова бредом.

```
emerge -e world
```

используется простыми смертными только в 2 случаях

1. Инсталляция Gentoo

2. Когда требуется полная пересборка всей системы. (В случае замены проца например)

----------

## Terminator

 *OpticalDezires wrote:*   

> 
> 
> ...
> 
> А теперь сделай:
> ...

 

Бредом я назвал не это.

 *Quote:*   

> 
> 
> ```
> emerge -e world
> ```
> ...

 

Сюда ещё надо добавить:

3. При обновлении glibc, тоже полезно.

P. S. Предлагаю закрыть тему. Я понял где я ошибся.

Всем спасибо.

----------

## fank

 *Quote:*   

> 3. При обновлении glibc, тоже полезно. 

 

нет, бесполезно...

http://ru.gentoo-wiki.com/Бесполезный_emerge_-e_world

----------

## Terminator

Поднимем тему  :Smile: 

После создания этой темы стал обновлять систему путём emerge -uDN world.

С помощью утилиты dep вычистил лишние пакеты поставленные давно когда занимался экспериментами над генту(distfiles не чистил)

Вчера снова обновил систему и что я вижу утром(emerge --sync, после обновления, не делал):

```
fort ~ # emerge -uDNpv world

These are the packages that would be merged, in order:

Calculating world dependencies   ... done!                              

Total: 0 packages, Size of downloads: 0 kB

fort ~ # emerge -pv glibc

These are the packages that would be merged, in order:

Calculating dependencies ... done!

[ebuild   R   ] sys-libs/glibc-2.5  USE="nls nptl nptlonly -build -glibc-compat20 -glibc-omitfp -hardened (-multilib) -profile (-selinux)" 170 kB 

Total: 1 package (1 reinstall), Size of downloads: 170 kB

```

Как это понимать?

----------

## _Sir_

 *Terminator wrote:*   

>  
> 
> ```
> fort ~ # emerge -uDNpv world
> 
> ...

 А ты хочешь, чтобы тебя лишили возможности принудительно пересобрать какой-либо пакет? Reinstall означает пересборку. Когда меняется portage, или флаги, или появляется новый патч, не затрагивающий номер версии пакета, или когда данный патч вытерт из дистфайлз за "ненадобностью", он будет выкачан, так как этого требует конкретный ebuild файл.

Тебе несколько постов назад сказали -- разберись, как работает portage и emerge, не зная этого лучше уходить на ubuntu, mandrive и прочие облизанные дистрибутивы.

Впрочем, не удивляйся, если, перечитав всю ветку, тебе уже не будут давать квалифицированные советы.  :Smile:  Упрямство отбивает всякое желание помогать.

----------

## Terminator

 *_Sir_ wrote:*   

> Когда меняется portage, или флаги, или появляется новый патч, не затрагивающий номер версии пакета, или когда данный патч вытерт из дистфайлз за "ненадобностью", он будет выкачан, так как этого требует конкретный ebuild файл.
> 
> 

 

emerge может стирать файлы из distfiles? незнал, а по какому принципу он это делает, где это описано?

Я почему-то считал, что если что-то меняется, патчик там новый или ещё что не меняющее версию пакета, то добавляют новый ebuild с добавочкой -rX.

Получается что это не так? ebuild может быть просто изменён без изменения версии?

А зачем так сделали?

Получается, что патчик вышел, а поставится он только после смены версии. Нелогично.

----------

## Terminator

 *_Sir_ wrote:*   

> А ты хочешь, чтобы тебя лишили возможности принудительно пересобрать какой-либо пакет?

 

Нет, меня удивляет почему ему вдруг захотелось что-то скачать? Получается как бы незаметный патчик без изменения версии.

----------

## _Sir_

Я могу ошибаться, но мне кажется нормальным, что логика обновления world (всего, что установлено) и обновление/пересборка отдельного пакета происходят по разным алгоритмам, соответственно, образуется разница в выдаче на экран. 

Как пользователь, я предпочитаю пользоваться системой портежей. Если мне захочется ее улучшать или тестировать, я должен буду переквалифицироваться в программиста или тестера. Реши для себя, какая задача является действительно актуальной для тебя самого. А просто ковыряться можно для бесконечности. (Кстати, для этого есть более интересные места  :Smile:  )

Касательно твоего интереса, что же хочет скачать сборка glibc

Ты можешь узнать об этом, соединив ключи --fetch и --pretend следующим образом:

```
emerge -fp glibc
```

Просто считай ответ...

----------

## Laitr Keiows

Может это и баг... А для этого есть https://bugs.gentoo.org/ и http://www.google.com/

----------

## _Sir_

Кстати, да -- мы живем на "живой" системе... Именно темпом изменчивости она и отличается от бинарных дистрибутивов. Несколько платформ и архитектур, все для того, чтобы нам приходилось знать только emerge <package-name>... Тяжелый труд мэйнтенеров дистрибутива не исключает ошибки, которые в принципе, фиксятся довольно быстро.

В общем...  :Smile:  Хотите помочь -- шлите баг-рипорты и баг-фиксы  :Smile: 

----------

## ArtSh

 *Terminator wrote:*   

> 
> 
> Я почему-то считал, что если что-то меняется, патчик там новый или ещё что не меняющее версию пакета, то добавляют новый ebuild с добавочкой -rX.
> 
> Получается что это не так? ebuild может быть просто изменён без изменения версии?
> ...

 

Меня это тоже очень удивляет, например мейнтейнеры openoffice каждую неделю меняют версию ooo-build дошло уже до 2.0.4.7 (начиналось с 2.0.4) а версия ебилда всё не меняется  :Smile: 

----------

## viy

Никакой это не баг.

emerge -uDNpv world просто проверяет, существуют ли обновленные версии в дереве по отношению к установленым, а также смотрит на изменения в USE-флагах. Для этой процедуры проверять distfiles абсолютно не обязательно.

При emerge -pv glibc уже необходимо проверить все, т.к. пользователь явно попросил переустановить существующий в системе пакет.

Вот и вылазит необходимость кое-что докачать.

А то, что distfiles руками не чистились в момент N не означает, что до того или после был затерт/перемещен какой-нить файлик(и). Если между моментами фактической установки пакета и повторного запуска emerge -pv <atom> прошло около месяца, то я бы не стал чему-либо удивляться.

Также изменения в USE-флажках однозначно влияют на набор требуемых файлов, автор про изменения в /etc/make.conf и для индивидуальных пакетов ничего не упоминал.

----------

## Terminator

 *viy wrote:*   

> Никакой это не баг.
> 
> emerge -uDNpv world просто проверяет, существуют ли обновленные версии в дереве по отношению к установленым, а также смотрит на изменения в USE-флагах. Для этой процедуры проверять distfiles абсолютно не обязательно.

 

Он проверяет наличие нужных файлов без проверки контрольных сумм.

 *Quote:*   

> 
> 
> При emerge -pv glibc уже необходимо проверить все, т.к. пользователь явно попросил переустановить существующий в системе пакет.
> 
> Вот и вылазит необходимость кое-что докачать.
> ...

 

distfiles не чистился, ничего не менялось.

Получается что замеченное мной поведение, обычное дело, хотя и странно это.

Предлагаю закрыть тему

----------

## fank

на англоязычной части видел тему с подобным вопросом

правда, не помню, как там объяснялось, но вроде дело дошло до враппера

----------

