LINUX.ORG.RU
ФорумTalks

что вы делаете в генту

 ,


0

1

когда обнаруживаете, что пакеты намертво блокируют друг друга и вы ни обновиться, ни пересобрать мир, ничего другого не можете

Перемещено tailgunner из admin

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 1)

У меня не было таких ситуаций, которые вовсе не решались. И это при том, что я использую хард-микс из stable, testing и hard-masked. И даже ряд пакетов 9999.

Обычно я или был не внимательный, или не прочитал нужные главы из мануала.

Chaser_Andrey ★★★★★
()

Обычно удаляю их нафиг, потом ставлю их назад, редактирую флаги.
Последний раз были проблемы с флагами qt: В итоге -qt4 qt5 -qt3support

media-video/vlc qt4 -qt5

Ну, и некоторые другие пакеты.

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

есть универсальное решение — emerge -C для всего, что вызывает блокировки.

Это тоже решение, но иногда и оно тебе ничего не даст, а может даже вызвать похитрее блоки.

Вообще, чтобы понимать, как это случается, нужно не просто тыкаться как слепой котёнок, а читать. Не всё написано в документации, многое проще понять открыв ебилды, посмотрев в выхлоп emerge с опцией -t, залезть в сорцы, мейкфайл, или в ридми. Гента не любит лентяев, в генте ты сам себе мейнтейнер, и ты просто обязан знать, как устроена твоя гента. Иначе тебе проще свалить на дистр, где решают за тебя.

r3lgar ★★★★★
()

1. Если цикл с USE-флагом, делаю ему «минус», чтобы собрать зависимость. А потом «плюс», чтобы собрать с поддержкой Пример: ipython (USE:notebook = notebook) и notebook (ipython). 2. Если цикл с пакетом, то `emerge -C`, `packege.provided` или патчинг или оверлеинг. autounmask или как его так ни разу не использовал. Боюсь нарваться на еще большие проблемы. Локальный оверлей быстро разрастается, и тоже может вызывать проблемы с зависимостями. 3. Еще редко бывают проблемы со слотами и virtual. Здесь просто собираю пакет с контретным слотом в world. icedtea:8 4. Еще в крайне специфичных случаях приходится ковыряться в /var/db/pkg/. Когда очень старый portage, или полгода не обновлялся, когда пакет завязал на bash (ncurses), portage удаляет старый ncurses, пытается запустить баш, который был собран со старым, но не находит динамически слинкованной ncurses и все... твой шелл - это последний шелл, исправь или умри. 5. --buildpkg в EMERGE_DEFAULT_OPTS помогает со всякими бутстрап-пакетами. Например, обновился до ncurses-6, а пакет с ghc-binary собран с ncurses-5. Собрал свой ghc c ncurses-6 один раз, пользуешься постоянно (emerge -k ghc (USE:ghcbootstrap)). 6. ... забыл, еще бывают какие-то кейсы, но в целом все логично и устраивает, не хочу чтобы что-то ломали (автоматизировали), потому что привык к этому пейоту. Как будто в ubuntu или в винде не бывает проблем с зависимостями, которые надо разгребать руками. Там еще жестче я думаю.

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

Проблемы, связанные со сборкой пакета, гораздо хуже разрешаются... Когда приходится искать патчи по всему интернету для какой-нибудь софтины, которая уже не поддерживается никем, чтобы она собралась с обновившейся библиотекой. Например, giflib с 4 до 5 немного изменили объявления функций... Это еще самое простое, но очень частое явление... А бывает, когда нужно одевать шляпу Шерлока и брать лупу, чтобы вообще найти где проблема. Здесь гораздо вариаций. Проблемы с зависимостями в portage сущий пустяк.

trupanka
()
Ответ на: комментарий от Deleted

Смысл в том, что чем больше систем, тем больше вероятность наступить на какой-то баг или грабли, короче, на аномалию в работе. Так вот, с 30ю генту баги и проблемы начинают сыпаться как из рога изобилия и админу приходится туго. Нормальный же админ с нормальным дистром привыкает считать сотнями - и 30 это уже курам на смех. В галерее вот товарищ приводил скриншот - у них в сумме, кажется, восемь тысяч.

А 3 системы... особенно, если ты в школе или вузе - ну да, можно.

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

о, еще один «линукс не для десктопов» пришел. SELinux уже настроил на своих 8000 нормальных дистрибутивах или все также setenforce 0? #ятакизнал

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

да ты пиши свой цикл с use-флагами, не отвлекайся.:) компилируй там. а мы за это время все что угодно, даже selinux настроить успеем. главное, настроим на одном - на остальной тысяче будет работать также. а вот тебя будет тысяча варианций бинарников.

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

мы за это время все что угодно, даже selinux настроить успеем

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

который даже не удосуживается подготовить серверы к очередной смене президента/часового пояса

зато знает 100 и одну поговорку и присказку про работу админа

главное, настроим на одном - на остальной тысяче будет работать также

сказал типичный reference policy (targeted) админ

лучше разберись с USE-флагами своих кривых рук

все утилиты, которые ты используешь для автоматизации своей центоси, ты можешь использовать и с генту

trupanka
()

sudopacman, Camel, под вендой исповедуется принцип «все свое ношу с собой», потому проблем с зависимостями нет и быть не может (конечно если не отклоняться от этого принципа). А пакетный менеджер такие проблемы только создает.

drull ★☆☆☆
()

drull, из-за этого принципа винда раздувается на 100500 гигов. А в современных пакетных менеджерах таких проблем почти не встречается. Тем более, когда сильно надо, можно и контейнер запилить.

//Не отвечаю напрямую, потому что вдруг сейчас опять у кого-нибудь из модераторов зачешется удалятор, и мне по 7.1 прилетит.

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

дружище, ты правда не того чела учишь.:) я же говорю, с генту я закончил очень давно.) при сборке пакетов порядок не очень строгий. на одном компе сначала библиотека обновится, потом программа, на другом наоборот. а еще если оставить gentoo без обновления слишком долго, то ломается сам emerge. не может сам себя обновить.

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

не угадал:)

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

из-за этого принципа винда раздувается на 100500 гигов

Сама Windows - нет, а софт, он и в Африке софт, и весит достаточно много.

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

который даже не удосуживается подготовить серверы к очередной смене президента/часового пояса

встречный вопрос: на вскидку скажешь, что именно нужно подготовить?:)

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

все утилиты, которые ты используешь для автоматизации своей центоси, ты можешь использовать и с генту

вопрос не в утилитах. у тебя сами сборки будут разные. никто все комбинации сборки тестировать не будет. нестыковок будет море. особенно, если это не сервер, а десктоп, который на линуксе гораздо более глючный, чем сервер. опять же если ты не собираешься компилять все на 1000 серверов и то фактически перейдешь к использованию бинарников. только за QA будешь сам отвечать. и я не верю в то, что ты сделаешь это лучше специализированной команды.

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

если оставить gentoo без обновления слишком долго, то ломается сам emerge. не может сам себя обновить

так и запишем. типичный админ оставляет сервер без обновлений «слишком долго». хотя это я итак знал

trupanka
()
Ответ на: комментарий от sudopacman

из-за этого принципа винда раздувается на 100500 гигов.

Не страшно, место на винте дешевое.

Не отвечаю напрямую

Модерастов бояться - на ЛОР не ходить :)

drull ★☆☆☆
()
Ответ на: комментарий от trupanka

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

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

Ответ на 4.2

под вендой исповедуется принцип «все свое ношу с собой», потому проблем с зависимостями нет и быть не может

Кем-то может и исповедуется, но не поголовно всеми и не во всех аспектах, поэтому проблемы с зависимостями бывают, это факт. Могут быть запутанные взаимоотношения у одинэса, его «конфигураций», программ для банковских операций («банк-клиентов»), SSL-ных библиотек, dotNet'а, IE6, каких-то приблуд для запуска замшелых DOS'овских программ и других штук-дрюк.

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

Место на винте дешёвое

Не страшно, место на винте дешевое.

А вот тут я 99,9% согласен. 0,1% случаев очень специфичны, нет смысла их рассматривать в нашей обзорной дискуссии.

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

К каждой жопе затычка

вопрос не в утилитах. у тебя сами сборки будут разные. никто все комбинации сборки тестировать не будет. нестыковок будет море. особенно, если это не сервер, а десктоп, который на линуксе гораздо более глючный, чем сервер. опять же если ты не собираешься компилять все на 1000 серверов и то фактически перейдешь к использованию бинарников. только за QA будешь сам отвечать. и я не верю в то, что ты сделаешь это лучше специализированной команды.

Меня, меня спросите какой пакетный менеджер решает эту проблему! Что, я достал всех со своим Guix'ом? Ну ладно, я тут рядом постою.

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

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

Естественная ситуация, когда один типичный админ сменяется на другого типичного админа. Типичный админ винит во всех грехах предыдущего или последующего админа, потому что типичный админ не виноват. типичный админ:

никто все комбинации сборки тестировать не будет.

не любит ничего делать

нестыковок будет море.

боится трудностей. выбирает путь наименьшего сопротивления в любой ситуации

я не верю в то, что ты сделаешь это лучше специализированной команды

привык сидеть на всем готовеньком, а если что-то поломалось, то всегда можно обоснать диструбитив, подготовленный «специализированной командой»

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

ЧТД. досвиданья

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

p.s.

будем рады узнать ваше мнение, что именно нужно подготовить при смене часового пояса)

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

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

а если про прикладное по, то это вопрос dependency hell vs dll hell :)

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 3)

Примерно вот так.

nepank

Пишем

 .. emerge -1 gcc

Получаем

Total: 21 packages (21 new), Size of downloads: 0 KiB

 * Error: circular dependencies:

(sys-devel/gcc-4.9.3:4.9.3/4.9.3::gentoo, ebuild scheduled for merge to '/') depends on
 (sys-libs/glibc-2.22-r4:2.2/2.2::gentoo, ebuild scheduled for merge to '/') (buildtime)
  (sys-devel/gcc-4.9.3:4.9.3/4.9.3::gentoo, ebuild scheduled for merge to '/') (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

была довольно хорошая пища для размышлений..

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