Como criar RPM para seu próprio script em Centos/Redhat
- 2162
- 45
- Loren Botsford
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.
- « Como redefinir a senha do MySQL Root no Linux
- Configurar a autenticação Freeradius com o OpenLDAP »