View previous topic :: View next topic |
Author |
Message |
Azik Apprentice
Joined: 03 Apr 2005 Posts: 151 Location: Russia, Ufa
|
Posted: Thu Jan 24, 2008 5:39 am Post subject: Проблема взаимной блокировки coreutils и mktemp |
|
|
Coreutils версии 6.10 и выше теперь содержат в себе команду /bin/mktemp, из-за чего блокируется пакет sys-apps/mktemp. Этот пакет может быть необходим другим пакетам, поэтому при обновлении возникает взаимная блокировка обоих указанных пакетов.
Решение: обновить дерево портежей и удалить sys-apps/mktemp. Подробности: https://bugs.gentoo.org/show_bug.cgi?id=207118
Code: | emerge -C sys-apps/mktemp
emerge -av sys-apps/coreutils
|
Что делать, если удален coreutils
Найти и скачать бинаруный пакет coreutils и установить его, либо попросить кого-нибудь сделать такой для себя.
Установка пакета
Code: | emerge -k coreutils |
_________________ From Siberia with Love!
Last edited by Azik on Sun Apr 20, 2008 4:16 am; edited 2 times in total |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Sat Apr 19, 2008 3:05 am Post subject: |
|
|
Подскажите, из каких посылок правильный пользователь Gentoo Linux делает вывод, что после удаления mktemp система будет достаточно работоспособна, чтобы суметь нормально обновить coreutils? |
|
Back to top |
|
|
Azik Apprentice
Joined: 03 Apr 2005 Posts: 151 Location: Russia, Ufa
|
Posted: Sat Apr 19, 2008 7:40 pm Post subject: |
|
|
не понял? _________________ From Siberia with Love! |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Sat Apr 19, 2008 9:44 pm Post subject: |
|
|
Обычно, если делается unmerge чего-то, что пользователь сам не ставил, всегда есть опасность получить нерабочую систему. Например, некоторые в описанной ситуации удаляли coreutils, после чего уже вообще ничего не могли делать, не говоря уж о том, чтобы вновь сделать emerge.
Приведённый Вами рецепт подразумевает, что после удаления mktemp система будет работоспособна. По крайней мере, emerge coreutils в такой ситуации сработает.
Посмотрев на сообщение о блокировке и почитав ChangeLog у coreutils, можно понять, что теперь /bin/mktemp является частью coreutils, а потому mktemp не нужен. То есть можно смело снести mktemp и *одновременно* обновить coreutils.
Но в portage нет команды "сделать A и B" одновременно. Где-то в гугле советуют сначала *собрать* новый coreutils, а потом снести mktemp и поставить только что собранный coreutils. Здесь Вы советуете смело сносить mktemp, и лишь потом собирать новый coreutils. То есть подразумевается безопасность такой процедуры.
Вопрос в том, откуда пользователь может сделать о безопасности такой последовательности действий, если бы он не прочитал Вашего сообщения? Например, Вашего сообщения ещё нет. Или, возможно, он сам на Вашем месте?
Возможно Вашем случае был такой вариант - попробовать, и, если получилось, написать об этом на форуме, чтобы другие уже делали это смело. Ну, а если не получится, то... взять с полки бакап.
Или всё же Вы наверняка знали, что именно так делать можно? Если да, как Вы пришли к этому выводу? Какие именно слова в https://bugs.gentoo.org/show_bug.cgi?id=207118 это означают?
Мой вопрос не о том, что мне сделать правильно. Мой вопрос о том, как мне рассуждать, чтобы делать правильно, и не утруждать других вопросами типа "я сделал unmerge coreutils, т.к. в handbook рекомендовали удалить один из blocker-пакетов. Как жить дальше?". |
|
Back to top |
|
|
Azik Apprentice
Joined: 03 Apr 2005 Posts: 151 Location: Russia, Ufa
|
Posted: Sun Apr 20, 2008 4:09 am Post subject: |
|
|
Обратно не понял.
Данный пост я на писал из эмпирическеского опыта, самолично столкнувшись с проблемой и успешно решив ее так, как это указано. И ход мыслей был таков
1. Почему они блокируют друг друга
2. Кто из них менее ценен
3. Что по этому поводу пишет багзилла
Найдя все ответы и убедившись в верности рассуждений, я обнаружил, что многие на формумах не делают так, а именно сносят вчистую coreutils, не думая о последствиях. Это меня побудило создать этот пост. _________________ From Siberia with Love! |
|
Back to top |
|
|
Laitr Keiows Bodhisattva
Joined: 04 Jul 2005 Posts: 891 Location: Kobe, Japan
|
Posted: Sun Apr 20, 2008 4:57 am Post subject: |
|
|
user11 wrote: | Приведённый Вами рецепт подразумевает, что после удаления mktemp система будет работоспособна. По крайней мере, emerge coreutils в такой ситуации сработает.
Посмотрев на сообщение о блокировке и почитав ChangeLog у coreutils, можно понять, что теперь /bin/mktemp является частью coreutils, а потому mktemp не нужен.
|
Этот рецепт работает, я неоднократно проверял. Более того, разве из того что теперь /bin/mktemp является частью coreutils не следует что coreutils могут собраться без mktemp? |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Sun Apr 20, 2008 10:35 am Post subject: |
|
|
Quote: | Данный пост я на писал из эмпирическеского опыта, самолично столкнувшись с проблемой |
Quote: | Этот рецепт работает, я неоднократно проверял |
Спасибо. Подход я понял, буду иметь в виду.
Остаётся понять, есть ли какой-то формальный путь, пусть даже негласно:
Quote: | Более того, разве из того что теперь /bin/mktemp является частью coreutils не следует что coreutils могут собраться без mktemp? |
А почему следует? Afaik, утверждение "если A является частью B, то B может собраться без A" в общем виде не верно. Пример: /bin/mv является частью coreutils, но coreutils без mv собраться не может (src_install() использует mv). Видимо, в этом рассуждении пропущен ещё какой-то неведомый мне шаг.
PS. К слову, несмотря ни на что, перед unmerge mktemp я всё же на всякий случай "cp `which mktemp` ~" |
|
Back to top |
|
|
OpticalDezires n00b
Joined: 22 Aug 2005 Posts: 72 Location: Riga, Latvia
|
Posted: Tue Jun 03, 2008 7:45 am Post subject: |
|
|
Сделал так:
Code: | emerge -f coreutils && emerge -C mktemp && emerge coreutils |
и всё работает =) |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|