Ignorar uma atualização específica no mundo emerge -auvD

30

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

Por exemplo, atualmente há uma quebra media-sound/teamspeak-server-bin-3.0.5-r1 marcada como estável na árvore do portage, que interrompe toda a atualização, pois esse pacote é o primeiro da lista. É claro que eu poderia simplesmente mascarar esta versão usando o package.maskarquivo, mas prefiro uma variável de ambiente ou uma linha de comando para ignorá-la agora - provavelmente será corrigida em breve.

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

ThiefMaster
fonte

Respostas:

38

Parece que a --excludeopção faz isso:

--exclude ATOMS
Uma lista separada por espaço de nomes de pacotes ou átomos de slot. O Emerge não instala nenhum pacote ebuild ou binário que corresponda a nenhum dos átomos de pacote fornecidos.

Então, isso fez o trabalho para mim:

emerge -auvD --exclude=media-sound/teamspeak-server-bin world
ThiefMaster
fonte
Não consegui encontrar um exemplo de alguém excluindo vários pacotes em uma instrução, portanto, para referência: cada pacote requer uma --excludetag afaik. emerge --deep --update @world -av --exclude=chromium --exclude=firefox.
NuclearPeon
12

Se você não deseja mascará-lo, pode usar a --keep-goingopção Isso faz com que o emerge redefina sua lista e continue, sem o pacote com falha na lista.

Keith
fonte
3

A resposta do ThiefMaster é o caminho certo a seguir, mas há outra opção, que eu acho que melhora a resposta do Keith . Nomeadamente, com sua resposta, o surgimento será tentado e poderá levar tempo. Caso você saiba que o primeiro pacote é problemático porque acabou de encontrar um problema, você pode usar --resumee --skipfirst:

--resume(-r)

Retoma a lista de mesclagem mais recente que foi interrompida devido a um erro. Isso reutiliza os argumentos e opções que foram fornecidos com o comando original que está sendo retomado, e o usuário também pode fornecer opções adicionais ao chamar --resume. É um erro fornecer átomos ou conjuntos como argumentos --resume, pois os argumentos do comando resumido são usados. Observe que esta operação retornará apenas um erro em caso de falha. Se não houver nada para o portage fazer, o portage sairá com uma mensagem e uma condição de sucesso. Uma lista de resumo persistirá até que seja concluída na íntegra ou até que outra lista de mesclagem anulada a substitua. O histórico do resumo é capaz de armazenar duas listas de mesclagem. Após a conclusão de uma lista de resumos, é possível chamar--resumemais uma vez para retomar uma lista mais antiga. As listas de resumos são armazenadas /var/cache/edb/mtimedbe podem ser descartadas explicitamente pela execução emaint --fix cleanresume(consulte emaint (1)).

--skipfirst

Esta opção é válida apenas quando usada com --resume. Ele remove o primeiro pacote na lista de resumos. As dependências são recalculadas para os pacotes restantes e quaisquer que tenham dependências insatisfeitas ou mascaradas serão automaticamente descartadas. Veja também a --keep-goingopção relacionada .

equaeghe
fonte