AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 429511
Accepted
pah8J
pah8J
Asked: 2018-03-11 19:13:55 +0800 CST2018-03-11 19:13:55 +0800 CST 2018-03-11 19:13:55 +0800 CST

Como usar o rpmbuild para construir um pacote rpm a partir do tarball binário?

  • 772

Os recursos na Internet são sobre como construir arquivos rpm a partir do código-fonte.

Mas eu já tenho um tarball binário compilado de software. Mas não quero extraí-lo diretamente para /, porque é difícil de manter. Como posso construir um pacote rpm a partir do tarball binário.

Existe uma série de softwares famosos que fornecem o pacote binário em um tarball que tem uma estrutura de árvore claramente igual à estrutura de árvore no diretório raiz.

  • Scilab
  • Gmsh

E assim por diante.

Muitos provedores de software lançam tarball universal para tornar o software universal em diferentes distribuições do Linux.

Existe uma maneira essencial?

rhel fedora
  • 1 1 respostas
  • 8190 Views

1 respostas

  • Voted
  1. Best Answer
    Yurij Goncharuk
    2018-03-13T01:45:38+08:002018-03-13T01:45:38+08:00

    UPD Obrigado a @msuchy que me corrigiu.

    Suponha que você já tenha criado um esqueleto de diretório 'rpmbuild' em seu diretório inicial: SPECS, BUILD, SOURCES... Copie o tarball para o diretório SOURCE e escreva um arquivo de especificação simples, pulando as seções: %prep, %build.

    Pequeno exemplo:

    Tarball:

    [yurij@centos7 SOURCES]$ ls -lah
    total 4.0K
    drwxrwxr-x. 2 user user  33 Mar 12 12:22 .
    drwxrwxr-x. 8 user user  89 Dec  8 15:54 ..
    -rw-rw-r--  1 user user 231 Mar 12 12:14 binarius-0.1.tar.gz
    [yurij@centos7 SOURCES]$ tar -tvf binarius-0.1.tar.gz
    drwxrwxr-x user/user       0 2018-03-12 12:11 ./binarius-0.1/
    drwxrwxr-x user/user       0 2018-03-12 12:11 ./binarius-0.1/usr/
    drwxrwxr-x user/user       0 2018-03-12 12:11 ./binarius-0.1/usr/local/
    drwxrwxr-x user/user       0 2018-03-12 12:12 ./binarius-0.1/usr/local/bin/
    -rwxr-xr-x user/user      30 2018-03-12 12:12 ./binarius-0.1/usr/local/bin/binarius
    

    Arquivo de especificação:

    Name:       binarius
    Version:    0.1
    Release:    1%{?dist}
    Summary:    Binarius package
    
    Group:      System Environment/Base
    License:    GPLv3+
    Source0:    binarius-0.1.tar.gz
    
    %description
    Testing package.
    
    %prep
    %setup -q #unpack tarball
    
    %build
    
    %install
    cp -rfa * %{buildroot}
    
    
    %files
    /*
    
    • 4

relate perguntas

  • linux redhat 7 (ou centos 7) + firewalld mascarar o firewall

  • comando systemctl não funciona no RHEL 6

  • Como instalo o docker no RHEL 7 offline?

  • Como particionar corretamente um SSD para uma configuração de inicialização dupla

  • Desativar a maximização automática de janelas no Gnome3

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve