Como criar RPM para seu próprio script em Centos/Redhat

Como criar RPM para seu próprio script em Centos/Redhat

RPM (gerente de pacotes Redhat) é um sistema de gerenciamento de pacotes para sistemas baseados em RHEL. Você pode ter visto que todos os pacotes em sistemas baseados em redhat têm extensão .RPM. Este tutorial o ajudará a criar RPM para seu próprio script

Eu havia criado um script para fazer backup de banco de dados, hoje criei um arquivo de RPM desse script, este é o meu primeiro RPM criado. Abaixo estão as etapas que eu sigo para fazer isso.

Etapa 1 - Instale os pacotes necessários

Primeiro de tudo, você precisa instalar os pacotes necessários em seu sistema para criar arquivos RPM.

$ yum install rpm-build rpmdevtools 

Etapa 2 - Crie estrutura de diretório

Vá para os usuários Diretório Home e crie a estrutura de diretório necessária usando o comando abaixo.

$ rpmdev-setuptree 

O comando acima criará uma estrutura de diretório como abaixo.

$ ls -l rpmbuild drwxr-xr-x 2 raiz raiz 6 out 25 03:09 build drwxr-xr-x 2 raiz raiz 6 out 25 03:09 rpms drwxr-xr-x 2 raiz raiz 6 out 25 03:09 Fontes drwxr-xr-x 2 raiz raiz 6 out 25 03:09 especificações drwxr-xr-x 2 raiz 6 out 25 03:09 srpms 

Em caso rpmdev-setuptree O comando falhou em criar estrutura, você pode criá -lo manualmente

$ mkdir -p ~/rpmbuild/build, rpms, fontes, especificações, srpms, tmp 

Etapa 3 - Crie arquivo rpmmacro

Agora crie ~//.arquivo rpmmacros, com o seguinte conteúdo. Altere os valores dos nomes destacados vermelhos

~/.rpmmacros

%packager your_name %_topdir %(echo $ home)/rpMbuild %_smp_mflags %(\ [-z "$ rpm_build_ncpus"] \\\ && rpm_build_ncpus = "'/usr/bin/nproc. \/usr/bin/getConf _nprocessors_onln '"; \\\ se [" $ rpm_build_ncpus "-gt 16]; então \\\ eco" -j16 "; \\\ elif [" rpm_build_ncus "-gt 3]; \\\ echo "-j $ rpm_build_ncpus"; \\\ else \\\ eCHO "-j3"; \\\ fi) %__ arch_install_post \ [" %buildarch" = "noarch"] || Qa_check_rpaths = 1; \ case "$ qa_check_rpaths:-" em [1yy]*)/usr/lib/rpm/check-rpaths ;; ESAC \/usr/lib/rpm/check-buildroot 

Etapa 4 - Copiar arquivos em diretório de fontes

Copie todos os seus arquivos e scripts pasta dentro ~/rpmbuild/fontes diretório, que precisamos adicionar no arquivo rpm. Para este tutorial, usei todos os arquivos criados em nosso script Bash Advance para MySQL do tutorial para MySQL.

$ cd ~/rpMbuild/fontes $ ls -l mydumpadmin-1 -rw-r- r-- 1 raiz 125 out 25 03:54 Credenciais.txt -rw-r- r-- 1 raiz 4693 25 de outubro 03:54 mysql-dump.sh -rw-r-r-- 1 raiz raiz 1008 out 25 03:54 Readme.md -rw-r- r-- 1 raiz raiz 3445 25 de outubro 03:54 Configurações.conf 

Crie um tarball do seu código.

$ tar czf mydumpadmin-1.0.alcatrão.gz mydumpadmin-1 

Etapa 5 - Criar arquivo de especificação

Crie um arquivo de especificação ~/rpmbuild/specs/mydumpadmin.espec usando o conteúdo abaixo.

~/rpmbuild/specs/mydumpadmin.espec

Nome: MyDumpadmin Versão: 1 Liberação: 0 Resumo: Um script Bash Advance para MySQL Backup Backup Group: Tecadmin BuildArch: Noarch Licença: GPL URL: https: // github.com/tecrahul/mydumpadmin.Git Source0: MyDumpadmin-1.0.alcatrão.GZ %Descrição Escreva alguma descrição sobre o seu pacote aqui %Prep %Configuração -q %build %Install -m 0755 -d $ rpm_build_root/etc/mydumpadmin install -m 0600 credenciais.txt $ rpm_build_root/etc/mydumpadmin/credenciais.txt install -m 0755 mysql -dump.sh $ rpm_build_root/etc/mydumpadmin/mysql-dump.SH Install -M 0644 ReadMe.md $ rpm_build_root/etc/mydumpadmin/readme.MD Instale -m 0644 Configurações.conf $ rpm_build_root/etc/mydumpadmin/configurações.Conf %arquivos/etc/mydumpadmin/etc/mydumpadmin/credenciais.txt/etc/mydumpadmin/mysql-dump.sh/etc/mydumpadmin/readme.md/etc/mydumpadmin/configurações.conf %changelog * Ter 24 de outubro de 2017 Rahul Kumar 1.0.0 - liberação inicial de rpm 

Altere o nome do pacote, caminho do script, nome do arquivo, descrição etc. conforme o seu requisito.

Etapa 6 - Construa RPM

Depois de concluir as etapas acima, vamos construir seu RPM executando o seguinte comando.

$ CD ~/rpMbuild $ rpMbuild -ba Specs/myDumpadmin.espec 

Após o sucesso construído, um arquivo de rpm será criado como ~/rpmbuild/rpms/noarch/mydumpadmin-1-0.Noarch.RPM

Instale seu rpm usando o comando abaixo. Após a instalação, a verificação, os arquivos são instalados corretamente como local definido.

$ rpm -ivh mydumpadmin-1-0.Noarch.RPM 

Obrigado por usar este artigo. Espero que as etapas acima o ajudem a criar seu próprio RPM.