Pule uma atualização específica no emerge -auvD world

28

Existe uma maneira simples de pular uma certa atualização em emerge -auvD world ?

Por exemplo, atualmente há um quebrado media-sound/teamspeak-server-bin-3.0.5-r1 marcado como estável na árvore de portagem que quebra toda a atualização já que esse pacote é o primeiro da lista. É claro que eu poderia simplesmente mascarar esta versão usando o arquivo package.mask , mas eu preferiria uma variável de ambiente ou um switch de linha de comando para pular apenas agora - provavelmente será corrigido em breve de qualquer maneira.

Note que eu não quero usar emerge -auvD1 list of working packages (ou seja, apenas atualizando os outros pacotes especificando todos os seus nomes).

    
por ThiefMaster 17.05.2012 / 11:45

3 respostas

36

Parece que a opção --exclude faz isso:

--exclude ATOMS
A space separated list of package names or slot atoms. Emerge won't install any ebuild or binary package that matches any of the given package atoms.

Então, isso fez o trabalho para mim:

emerge -auvD --exclude=media-sound/teamspeak-server-bin world
    
por 17.05.2012 / 11:54
11

Se você não quiser mascarar, use a opção --keep-going . Isso faz com que o emerge redefina sua lista e continue, sem o pacote com falha na lista.

    
por 17.05.2012 / 12:22
3

A resposta do ThiefMaster é o caminho certo a seguir, mas há outra opção, que acho que melhora em A resposta de Keith . Ou seja, com sua resposta, o emerge será julgado e pode levar tempo. Caso você saiba que o pacote primeiro é problemático porque você encontrou um problema, use --resume e --skipfirst :

--resume(-r)

Resumes the most recent merge list that has been aborted due to an error. This re-uses the arguments and options that were given with the original command that's being resumed, and the user may also provide additional options when calling --resume. It is an error to provide atoms or sets as arguments to --resume, since the arguments from the resumed command are used instead. Please note that this operation will only return an error on failure. If there is nothing for portage to do, then portage will exit with a message and a success condition. A resume list will persist until it has been completed in entirety or until another aborted merge list replaces it. The resume history is capable of storing two merge lists. After one resume list completes, it is possible to invoke --resume once again in order to resume an older list. The resume lists are stored in /var/cache/edb/mtimedb, and may be explicitly discarded by running emaint --fix cleanresume (see emaint(1)).

--skipfirst

This option is only valid when used with --resume. It removes the first package in the resume list. Dependencies are recalculated for remaining packages and any that have unsatisfied dependencies or are masked will be automatically dropped. Also see the related --keep-going option.

    
por 25.05.2016 / 11:07