Глубочайшее обновление системы [РЕШЕНО]
Давно мучал меня этот вопрос, вот добрался наконец его запостить.
Возможно это уже спрашивали и есть решение, но я или плохо искал или правда ничего нет. Сильно не бейте, если что. :-)
При обновлении системы я обычно синхронизирую дерево портежей (portage tree), потом делаю emerge -uDNpv world, если что-то меня не устраивает - привожу в порядок и делаю само обновление emerge -uDN world.
После того, как система обновилась я делаю emerge --depclean, revdep-rebuild и чищу дистфайлы с помощью eclean.
Так вот если сделать снова emerge -uDNpv world показывает, что обновлять нечего. А если сделать emerge -epv world показывает что какие-то пакеты программ надо обновить (U), а какие-то вовсе (N) неустановлены.
Для наглядности привожу вывод emerge -epv world:
localhost vad # emerge -epv world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-apps/portage-2.1.6.4 USE="-build -doc -epydoc (-selinux)" LINGUAS="-pl" 0 kB [0] [ebuild R ] dev-util/pkgconfig-0.23 USE="-hardened" 0 kB [0] [ebuild R ] sys-libs/zlib-1.2.3-r1 0 kB [0] [ebuild R ] virtual/libintl-0 0 kB [0] [ebuild R ] app-arch/lzma-utils-4.32.7 USE="-nocxx" 0 kB [0] [ebuild R ] dev-libs/expat-2.0.1-r1 0 kB [0] [ebuild R ] sys-devel/gnuconfig-20080928 0 kB [0] [ebuild R ] media-libs/libogg-1.1.3 0 kB [0] [ebuild R ] app-arch/bzip2-1.0.5-r1 USE="-static" 0 kB [0] [ebuild R ] virtual/libiconv-0 0 kB [0] [ebuild R ] app-arch/unzip-5.52-r2 0 kB [0] [ebuild R ] sys-devel/automake-wrapper-3-r1 0 kB [0] [ebuild R ] dev-db/sqlite-3.6.8 USE="threadsafe -debug -doc -soundex -tcl" 0 kB [0] ..... [ebuild U ] app-arch/cabextract-1.2-r1 [1.2] USE="-extra-tools%" 0 kB [0] [ebuild N ] dev-perl/yaml-0.68 91 kB [0] [ebuild N ] dev-perl/IO-String-1.08 8 kB [0] [ebuild N ] perl-core/Package-Constants-0.02 3 kB [0] [ebuild N ] dev-perl/IO-Compress-Bzip2-2.015 74 kB [0] [ebuild N ] perl-core/IO-Zlib-1.09 10 kB [0] [ebuild N ] virtual/perl-IO-Zlib-1.09 0 kB [0] [ebuild N ] perl-core/Archive-Tar-1.42 USE="bzip2" 48 kB [0] [ebuild N ] virtual/perl-Archive-Tar-1.42 0 kB [0]
Что это? И почему так?
- Для комментирования войдите или зарегистрируйтесь
emerge -auvDN world
emerge -auvDN world рассчитывает только те обновления, которые
1. вызваны сменой USE-флагов установленных пакетов;
2. вызваны изменением версии чего-то, указанного в world/system или его runtime-зависимостей.
Однако, кроме runtime-зависимостей (RDEPEND в ебилдах), есть ещё и зависимости для сборки (DEPEND), которые не нужны для собственно работы пакета, а только для компиляции. Не обновляются они потому, что, раз собирать нечего (например, пакет, в DEPEND которого входит искомый, уже наипоследней версии), то и пользы от обновления никакой не будет. Для полного обновления того, что как-то повлияет на работу системы, достаточно выполнить
В данном случае, например, видно, что app-arch/cabextract был нужен для распаковки чего-то во время установки. Чтобы он обновился тоже, нужно добавить его в world, то есть явно указать, что он нам нужен.
В дополнении к выше сказанному...
emerge -vauDN --with-bdeps=y world будет пересобирать всё, включая сборочные зависимости. А ключ -e нужен для тотального отслеживания зависимостей вплоть до glibc, и для обычного обновления не требуется (если вы конечно не меняли тулчейн - glibc, gcc, etc)...
спасибо за --with-bdeps=y
спасибо за --with-bdeps=y
Спасибо за ответы! Все
Спасибо за ответы! Все понятно сразу стало. Только вот неясно про перловые пакеты, почему они N, ведь если это сборочные зависимости - они должны быть уже установлены. А так оно хочет новые поставить, не понятно для каких целей.
Изучайте catalyst
и таинства инфраструктуры сборки стейджей и LiveCD! ;-)
Загвоздка в том, что после сборки стейджа много ненужного сносится, разумеется, для уменьшения размера тарбола...
Небольшое уточнение...
Здесь понятие сборочных зависимостей не совсем верно.
Потому как в gentoo абсолютно всё собирается из сорцов
и сборочные зависимости как раз-таки разрешаются всегда
(dependecies resolution).
В этом треде (и ключе --with-bdeps) речь как раз идёт о
т.н. НЕОБЯЗАТЕЛЬНЫХ зависимостях времени сборки (not stricticly
required). Каким образом они определяются, честно говоря, не знаю,
но думаю, что это не чистая дельта между DEPENDS и RDEPENDS в ебилдах.
Они всё равно подтягиваются на этапе сборки, но для них не
выполняется процедура инсталляции в рут-систему (обновления файла
world). --with-bdeps=y изменяет это поведение, и они окажутся
установленными, что увеличит размер образа системы и ускорит
последующие обновления.
Чтобы заморозить такое поведение emerge навсегда и не прописывать
опцию каждый раз, можно прописать этот ключ в EMERGE_DEFAULT_OPTS.
Важно ещё заметить, что эта опция также будет влиять на поведение
emerge --depclean: с ключом --with-bdeps=y такие пакеты не будут
удаляться... ;-)
Еще раз спасибо! Добавлю в
Еще раз спасибо! Добавлю в тему [РЕШЕНО].
Большое спасибо модераторам,
"Большое спасибо" модераторам, что тему перенесли в "Афтар пеши есчо!" Может мне надо было на удафф.ком вопрос этот задать?
всегда пожалуйста, приношу
всегда пожалуйста, приношу свои извинения - сделал это поздновато...
на досуге советую почитать
http://www.gentoo.ru/node/8754
http://www.gentoo.ru/node/8278
Ну Вашего любимого
Ну Вашего любимого "Олбанского" в моих постах вообще нет, если вы внимательно прочли и заметили.
Слова "выхлоп" и "мешки" конечно жаргонные, но сути для поиска не меняет, если человек ищет по словам "обновление системы". А не это - "как постирать носки?"
Не нравится наверное слово "Глубочайшее", а как еще это назвать? "Самое глубокое"? Может конечно Вам что-то это и напоминает, но я лично писал о gentoo.
В чем вообще причина переноса темы? Маны не внимательно читал? Ну может быть - не спорю. Но я об этом написал же в первых строках своего поста.
Вообще не в моих правилах обсуждать действие администрации, но этот ваш "афтар" выводит из себя. Я никогда не уподоблялся этому, национально-быдлянскому поветрию, а меня кунают в это дерьмо ни за что.
Если честно, во всём виноват модератор! =))))
Это evadim-а надо благодарить! В своё время спросил его, как он делает emerge world,
а то в сети навалом вариантов. Так что эти тонкости ко мне тоже не из мана пришли...
Но я всё время, как открывал сабж "Глубочайшее..." тоже невольно смеялся. Хотя честно
не понимаю, почему? Мне так и не удалось подобрать более лаконичного названия сабжу.
Тотальное - вроде как слово не совсем русское. Но тут же проскочила тема "emerge world"
и её не стали расстреливать. ;-) Может это имелось ввиду? А может, что слишком большая
простыня вложена, и это мешает индексации сайта и даже написанию/чтению текста, приходится
разносить строки, не знаю...
Но в любом случае - спасибо за хороший вопрос!
Порою сам начинаю понимать, чего отвечать надо!!! =)))
к обычаям употребления слов
Однако, предлагаю термину "мешок" придать статус официального и легального. "Пакет" совершенно непригоден, особенно когда объясняешь заключенную в нем важность непосвященному, и особенно если ранее упоминались TCP/IP "пакеты" (где данный термин вполне адекватен).
Есть ли у товарищей замечания, предложения?
:}
звучит бредово, сколько лет я
звучит бредово, сколько лет я всегда слышал "пакет" а не "мешок", про мешок я вообще ни разу не слышал, и к какому он тут месту не понятно. Помоему слово пакет в отношении программ является общеупотребильным.
в целом кто такие "портки"?
в целом кто такие "портки"? портянки? не понимаю, они тут причём?
мешки? с "картохами" ?
слово "выхлоп" как и сам вывод emerge на два десятка страниц тоже "слегка" покоробили, сам пост написан (ИМХО) в "кулхацкерском" стиле - вцелом сложилось мнение о том что это "аффтарский криатифф".
я не прав?
поправь эти 3 слова (желательно ещё-бы вывод всётаки на pastebin перезалить) и я верну пост на место.
P.S. если случайно обидел - приношу свои извинения
но ведь package != packet
Ну ладно, ладно... Буду говорить "инсталлируемая единица", чтоб только не издеваться над русским языком, произнося "пэкидж" :}
:}
А зачем? IMHO довольно тонкий
А зачем? IMHO довольно тонкий момент запрошен/описан, другое дело как.
Все исправил. Огромное
Все исправил. Огромное спасибо за понимание. Очень рад, что пришли к консенсусу.
Ведь я тоже был не прав, пост действительно получился очень похож на "кулхацкерский" стиль, но к "афтарам" отношения не имеет.
Отдельно извиняюсь за огромный листинг вывода emerge, мне казалось что так будет нагляднее о чем идет речь. Исправил.
И о названии самой темы:
Слово "Тотальное" на мой взгляд действительно может сбивать с толку, т.к. можно подумать, что под этим подразумевается обычный emerge -uDN world.
Поэтому выбрал слово "Глубочайшее".
Кому-то возможно оно режет слух в связи с выполнением плана Даллеса у нас в России, т.к. произошел сдвиг ценностей в сторону сисек-пиписек у населения - но это не ко мне, я всего лишь высказал свое мнение.
Предлагаю варианты:
"Особо глубокое"
"Очень глубокое"
И так как в голову ничего другого не приходит, прошу модераторов переименовать тему по своему вкусу с сохранением смысла или воспользоваться одним из моих вариантов.
Благодарю за понимание, а про
Благодарю за понимание, а про название темы я ничего не говорил - название как название, странноватое слегка и только.
а для огромных листингов (которые несомненно иногда нужны) есть сайты вроде http://paste.org.ru/ или подобные, и даже утилитка wgetpaste