ALPM-HOOKS(5)

NOME
alpm-hooks - Formato de arquivo de ganchos do alpm

SINOPSE

[Trigger] (Obrigatório, repetível)
Operation = Install|Upgrade|Remove (Obrigatório, repetível)
Type = Path|Package (Obrigatório)
Target = <Caminho|NomePacote> (Obrigatório, repetível)
[Action] (Obrigatório)
Description = ... (Opcional)
When = PreTransaction|PostTransaction (Obrigatório)
Exec = <Comando> (Obrigatório)
Depends = <NomePacote> (Opcional)
AbortOnFail (Opcional, somente pré-transação)
NeedsTargets (Opcional)

DESCRIÇÃO

libalpm fornece a capacidade de especificar ganchos a serem executados antes ou depois das transações com base nos pacotes e/ou arquivos sendo modificados. Os ganchos consistem em uma única seção [Action] que descreve a ação a ser executada e uma ou mais seções [Trigger] descrevendo para quais transações devem ser executadas.

Ganchos são lidos a partir de arquivos localizados no diretório de ganchos do sistema /usr/share/libalpm/hooks, e diretórios personalizados adicionais especificados em pacman.conf(5) (o padrão é /etc/pacman.d/hooks). Os nomes dos arquivos devem ter o sufixo ".hook". Os ganchos são executados em ordem alfabética de seus nomes de arquivo, onde a ordem ignora o sufixo.

GATILHOS

Os ganchos devem conter pelo menos uma seção [Trigger] que determina quais transações farão com que o gancho seja executado. Se várias seções de gatilhos forem definidas, o gancho será executado se a transação corresponder a qualquer dos gatilhos.

Operation = Install|Upgrade|Remove
    Selecione o tipo de operação para comparar com os alvos. Pode ser especificado várias vezes. As instalações são consideradas uma atualização se o pacote ou arquivo já estiver presente no sistema, independentemente de a nova versão do pacote ser realmente superior à versão atualmente instalada. Para gatilhos de caminho, isso é verdadeiro mesmo se o arquivo mudar de propriedade de um pacote para outro. Obrigatório.

Type = Path|Package
    Selecione se os destinos correspondem aos pacotes ou arquivos de transação. Consulte RESSALVAS para notas especiais sobre gatilhos de caminho. File é um alias obsoleto para Path e será removido em uma versão futura. Obrigatório.

Target = <caminho|pacote>
    O caminho ou nome do pacote para corresponder à transação ativa. Os caminhos referem-se aos arquivos no arquivo do pacote; a raiz da instalação não deve ser incluída no caminho. Padrões glob no estilo shell são permitidos. É possível inverter as correspondências adicionando um ponto de exclamação ao início de um alvo. Pode ser especificado várias vezes, com correspondências subsequentes substituindo as anteriores. Obrigatório.

AÇÕES

Description = ...
    Uma descrição opcional que descreve a ação que está sendo executada pelo gancho para uso na saída de front-end.

Exec = <comando>
    Comando para executar. Os argumentos do comando são divididos em espaços em branco. Valores contendo espaços em branco devem ser colocados entre aspas. Obrigatório.

When = PreTransaction|PostTransaction
    Quando executar o gancho. Obrigatório.

Depends = <pacote>
    Pacotes que devem ser instalados para que o gancho execute. Pode ser especificado várias vezes.

AbortOnFail
    Faz com que a transação seja abortada se o gancho sair diferente de zero. Aplica-se apenas a ganchos PreTransaction.

NeedsTargets
    Faz com que a lista de alvos de gatilho correspondentes seja passada para o gancho em execução em stdin.

SUBSTITUINDO GANCHOS

Ganchos podem ser substituídos colocando um arquivo com o mesmo nome em um diretório de ganchos de prioridade mais alta. Os ganchos podem ser desabilitados substituindo-os por um link simbólico para /dev/null.

EXEMPLOS

    # Força a sincronização dos discos para reduzir o risco de corrupção de dados
    [Trigger]
    Operation = Install
    Operation = Upgrade
    Operation = Remove
    Type = Package
    Target = *
    [Action]
    Depends = coreutils
    When = PostTransaction
    Exec = /usr/bin/sync

RESSALVAS

Existem situações em que os gatilhos de caminho podem agir de maneiras inesperadas. Ganchos são acionados usando a lista de arquivos do pacote instalado, atualizado ou removido. Ao instalar ou atualizar um arquivo extraído com uma extensão .pacnew, o nome do arquivo original é usado para acionar o gancho. Ao remover um pacote, todos os arquivos pertencentes a esse pacote podem disparar um gancho, estivessem ou não realmente presentes no sistema de arquivos antes da remoção do pacote.

Os ganchos PostTransaction não serão executados se a transação não for concluída por qualquer motivo.

Consulte o site do pacman em https://archlinux.org/pacman/ para obter informações atuais sobre o pacman e suas ferramentas relacionadas.

BUGS

Bugs? Você deve estar brincando; não há erros neste software. Mas se por acaso estivermos errados, relate-os no rastreador problemas em https://gitlab.archlinux.org/pacman/pacman/-/issues com informações específicas tal como sua linha de comando, a natureza do erro e até mesmo a base de dados se isso ajudar.

AUTORES

Atuais mantenedores:

    • Allan McRae <allan@archlinux.org>

    • Andrew Gregory <andrew.gregory.8@gmail.com>

    • Morgan Adamiec <morganamilo@archlinux.org>

Principais colaboradores anteriores:

    • Judd Vinet <jvinet@zeroflux.org>

    • Aurelien Foret <aurelien@archlinux.org>

    • Aaron Griffin <aaron@archlinux.org>

    • Dan McGee <dan@archlinux.org>

    • Xavier Chantry <shiningxc@gmail.com>

    • Nagy Gabor <ngaba@bibl.u-szeged.hu>

    • Dave Reisner <dreisner@archlinux.org>

    • Eli Schwartz <eschwartz@archlinux.org>

Para outros contribuidores, use git shortlog -s no repositório pacman.git.

TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por Rafael Fontenelle <rafaelff@gnome.org>

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 (https://www.gnu.org/licenses/gpl-3.0.html) ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores (debian-l10n-portuguese@lists.debian.org).