Explicação detalhada do pacote RPM e como fazer o pacote RPM

Introdução aos pacotes RPM

  • O nome completo do RPM é RedHat Package Manager.Ele era originalmente apenas o formato de pacote do Red Hat Linux. Seu nome original era Red Hat Package Manager. Desde então, o RPM passou a ser conhecido como um formato de pacote aceito por muitas outras distribuições Linux. A especificação de padronização do Linux tem RPM como seu formato de pacote oficial.

As principais vantagens do RPM

  • Amplamente utilizado. Muitas distribuições Linux podem pelo menos instalar pacotes RPM ou usar RPM como formato de pacote padrão.
  • Capacidade de instalar pacotes com apenas um comando. Da mesma forma, remover ou atualizar um pacote requer apenas um comando.
  • Apenas um arquivo precisa ser processado. Um pacote RPM é armazenado em um único arquivo, o que facilita muito a transferência de pacotes entre diferentes sistemas.
  • O RPM lida automaticamente com a verificação de dependência entre os pacotes. O sistema RPM contém um banco de dados que registra informações sobre todos os pacotes que foram instalados, incluindo o que cada pacote fornece e os requisitos para instalação de cada pacote.
  • Os pacotes RPM são projetados para vir do código-fonte "mais limpo", para que possam ser recompilados. O RPM oferece suporte a ferramentas Linux, como patch, que pode corrigir o código-fonte do software durante o processo de compilação.

Estrutura do diretório do pacote RPM

  • BUILD : O comando rpmbuild constrói software neste diretório
  • RPMS : diretório de armazenamento RPM após a produção
  • SOURCES : O diretório onde os arquivos de origem do aplicativo são armazenados
  • SPECS : diretório para armazenar arquivos SPEC
  • SRPMS : O comando rpmbuild colocará os pacotes de código-fonte RPM neste diretório
  • BUILDROOT : Diretório de instalação virtual, instalado temporariamente neste diretório durante todo o processo de instalação, e use este diretório como raiz. Todos os arquivos neste diretório são os arquivos do diretório real, e há um estágio de limpeza no arquivo SPEC final, e o conteúdo deste diretório será excluído.

Introdução aos documentos SPEC

  • O arquivo SPEC do pacote RPM contém muitas informações de configuração, incluindo: informações básicas de software, scripts executados antes e depois da instalação e desinstalação, aplicação de patches, descompactação, compilação e instalação do pacote fonte.
  • Nome : nome do software
  • Resumo : Conteúdo da embalagem
  • Versão : número da versão do software
  • Lançamento : número de série do lançamento, 1 significa a primeira criação
  • Grupo : agrupamento de software, é recomendável usar: Aplicativos/Sistema
  • Licença : Método de autorização de software GPLv2
  • Fonte : pacote de código-fonte, pode trazer várias fontes, como Source1, Source2, etc., e também pode ser referenciado posteriormente por %{source1}, %{source2}
  • BuildRoot : Este é o diretório temporário usado durante a instalação ou compilação, ou seja, o diretório de arquivo gerado após a instalação simulada: %_topdir/BUILDROOT pode ser referenciado posteriormente por $RPM_BUILD_ROOT.
  • URL : URI do software
  • Fornecedor : organização de embalagem ou pessoal
  • %description : Descrição detalhada do software
  • %define : Variáveis ​​predefinidas, como definir o caminho do log: _logpath /var/log/weblog
  • %prep : Preparando parâmetros, geralmente %setup -q
  • %build : Compilar parâmetros./configure --user=nginx --group=nginx --prefix=/usr/local/nginx/…
  • %install : etapa de instalação, você precisa especificar o caminho de instalação neste momento, criar um diretório que é gerado automaticamente ao compilar e copiar o arquivo de configuração para o diretório correspondente
  • %pre : tarefas que precisam ser feitas antes da instalação, como: criar um usuário
  • %post : tarefas que precisam ser executadas após a instalação, como: tarefas iniciadas automaticamente
  • %preun : tarefas que precisam ser feitas antes da desinstalação, como: parar a tarefa
  • %postun : tarefas a serem executadas após a desinstalação, como: excluir usuários, excluir/fazer backup de dados comerciais
  • %clean : Limpa os arquivos temporários gerados pela última compilação, que é o diretório virtual mencionado acima
  • %files : Defina os atributos do arquivo, incluindo os diretórios, arquivos e permissões correspondentes às atribuições que precisam ser geradas para os arquivos compilados

Fazer pacote RPM

  • Criar um diretório

    • Crie a seguinte estrutura de diretórios
      insira a descrição da imagem aqui
  • Faça um arquivo spec.

    • Crie um arquivo de especificação diretamente em SPECS, o modelo a seguir pode ser usado sem requisitos especiais
    •   Name: smallwolf
        Version: 1.0.0
        Release: 1%{
              
              ?dist}
        Summary: this is small gray wolf
        Buildroot: %{
              
              _tmppath}/%{
              
              name}-%{
              
              version}-root
        License: GPL
        URL: http://www.csdn.net
        Source0: %{
              
              name}-%{
              
              version}.tar.gz
        
        %description
        This package is small gray wolf
        
        %prep
        %setup -q
        
        
        %install
        rm -rf %{
              
              buildroot}
        mkdir -p %{
              
              buildroot}/opt/smallwolfres
        cp -r %{
              
              _builddir}/smallwolf-1.0.0/opt/smallwolfres/* %{
              
              buildroot}/opt/smallwolfres
        
        %post
        mkdir -p /opt/smallwolfres
        chmod 0755 /opt/smallwolfres
        
        %files
        /opt/smallwolfres
        
        %postun
        rm -rf /opt/smallwolf
        echo "clean /opt/smallwolf"
        
        
        %changelog
        * Wed Jul 4 2018 VBird Tsai <[email protected]> 0.1
        - Build the program
      
      
  • Faça um arquivo de pacote

    • Compacte o diretório smallwolf-1.0.0 no diretório SOURCES tar -zcvf smallwolf-1.0.0.tar.gz smallwolf-1.0.0/
    • Copie SOURCES/smallwolf-1.0.0.tar.gz para rpmbuild/BUILD
  • Execute rpmbuild -bb SPECS/smallwolf.spec no diretório rpmbuild

    • Depois de executar este comando, se for bem-sucedido, um pacote de instalação com o sufixo rpm será gerado no diretório rpmbuild/RPMS/x86_64

Instalação e desinstalação do pacote RPM

  • Instalar
  • rpm -ivh smallwolf-1.0.0-1.el8.x86_64.rpm
  • Depois que a instalação for bem-sucedida, haverá nosso programa no diretório correspondente
    insira a descrição da imagem aqui

  • Desinstalar

  • rpm -e --nodeps smallwolf

Acho que você gosta

Origin blog.csdn.net/new9232/article/details/131314007
Recomendado
Clasificación