Пропустить конкретное обновление в мире emerge -auvD
Есть ли простой способ пропустить определенное обновление в emerge -auvD world
?
Например, в настоящее время есть сломанный media-sound/teamspeak-server-bin-3.0.5-r1
помечен как стабильный в дереве портежей, которое нарушает все обновление, поскольку этот пакет является первым в списке. Конечно, я мог бы просто замаскировать эту версию, используя package.mask
файл, но я бы предпочел, чтобы переменная окружения или параметр командной строки пропускали ее только сейчас - она, вероятно, скоро будет исправлена.
Обратите внимание, что я не хочу использовать emerge -auvD1 list of working packages
(т.е. только обновляя другие пакеты, указав все их имена).
3 ответа
Выглядит как --exclude
опция делает это:
--exclude ATOMS
Разделенный пробелами список имен пакетов или атомов слотов. Emerge не будет устанавливать никакой ebuild или бинарный пакет, который соответствует любому из указанных атомов пакета.
Так что это сделало работу для меня:
emerge -auvD --exclude=media-sound/teamspeak-server-bin world
Если вы не хотите маскировать это, вы можете использовать --keep-going
вариант. Это заставляет emerge сбрасывать свой список и продолжать работу, без сбойного пакета в списке.
Ответ ThiefMaster - правильный путь, но есть и другой вариант, который, я думаю, улучшает ответ Кейта. А именно, с его ответом emerge будет опробован и может занять время. Если вы знаете, что первый пакет проблемный, потому что вы только что столкнулись с проблемой, вы можете использовать --resume
а также --skipfirst
:
--resume(-r)
Возобновляет последний список слияния, который был прерван из-за ошибки. Это повторно использует аргументы и параметры, которые были даны с исходной командой, которая возобновляется, и пользователь может также предоставить дополнительные параметры при вызове
--resume
, Ошибочно указывать атомы или множества в качестве аргументов--resume
, поскольку вместо этого используются аргументы возобновленной команды. Обратите внимание, что эта операция будет возвращать только ошибку при сбое. Если для portage ничего нет, то portage завершит работу с сообщением и условием успеха. Список возобновления будет сохраняться до тех пор, пока он не будет завершен полностью или пока другой прерванный список слияния не заменит его. История резюме может хранить два списка слияния. После того, как один список резюме завершен, можно вызвать--resume
еще раз, чтобы возобновить старый список. Списки резюме хранятся в/var/cache/edb/mtimedb
и может быть явно отброшен при запускеemaint --fix cleanresume
(см. emaint(1)).
--skipfirst
Эта опция действительна только при использовании с
--resume
, Удаляет первый пакет в списке резюме. Зависимости пересчитываются для оставшихся пакетов, и любые, которые имеют неудовлетворенные зависимости или маскируются, будут автоматически отбрасываться. Также смотрите связанные--keep-going
вариант.