Jak utworzyć RPM dla własnego skryptu w Centos/Redhat

Jak utworzyć RPM dla własnego skryptu w Centos/Redhat

RPM (menedżer pakietów Redhat) to system zarządzania pakietami dla systemów opartych na RHEL. Być może widziałeś, że wszystkie pakiety w systemach opartych na Redhat mają rozszerzenie .RPM. Ten samouczek pomoże ci stworzyć RPM dla własnego skryptu

Stworzyłem skrypt, aby wziąć kopię zapasową bazy danych, dziś stworzyłem plik RPM tego skryptu, to mój pierwszy RPM stworzony w historii. Poniżej znajdują się kroki, które podążam, aby to zrobić.

Krok 1 - Zainstaluj wymagane pakiety

Przede wszystkim musisz zainstalować wymagane pakiety w systemie, aby utworzyć pliki RPM.

$ yum instaluj rpm-build RPMDevTools 

Krok 2 - Utwórz strukturę katalogu

Przejdź do katalogu domowego użytkowników i utwórz wymaganą strukturę katalogu za pomocą komendy poniżej.

$ rpmdev-setuptree 

Powyższe polecenie utworzy strukturę katalogu jak poniżej.

$ ls -l rpmbuild Drwxr-xr-x 2 root 6 października 25 03:09 Build Drwxr-xr-x 2 Root 6 października 25 03:09 RPMS DRWXR-XR-X 2 Root 6 października 25 03:09 źródła źródła DRWXR-XR-X 2 Root root 6 października 25 03:09 DRWXR-XR-X 2 Root root 6 października 25 03:09 SRPMS 

W razie RPMDEV-SETUptree Polecenie nie utworzyło struktury, możesz ją ręcznie utworzyć

$ mkdir -p ~/rpmbuild/build, rpm, źródła, specyfikacje, srpms, tmp 

Krok 3 - Utwórz plik RPMMacro

Teraz utwórz ~/.plik rpmmacros, z następującymi treściami. Zmień wartości czerwonych podświetlonych nazwisk

~/.rpmmacros

%Packager Your_name %_topdir %(echo $ home)/rpmbuild %_smp_mflags %(\ [-z "$ rpm_build_ncpus"] \\\ && rpm_build_ncpus = "'/usr/bin/nproc 2>/dev/null || \\ \\ \/usr/bin/getConf _nprocessors_onln '"; \\\ if [" $ rpm_build_ncpus "-gt 16]; następnie \\\ echo" -J16 "; \\\ elif [" $ rpm_build_ncpus "-Gt 3]; wówczas \\\ echo "-J $ rpm_build_ncpus"; \\\ else \\\ echo "-J3"; \\\ fi) %__ arch_install_post \ [" %buildarch" = "noarch"] || Qa_check_rpaths = 1; \ case "$ qa_check_rpaths:-" w [1YY]*)/usr/lib/rpm/check-rpaths ;; esac \/usr/lib/rpm/check-buildroot 

Krok 4 - Kopiuj pliki w katalogu źródeł

Skopiuj wszystkie folder plików i skryptów w środku ~/rpmbuild/źródła katalog, który musimy dodać do pliku RPM. W tym samouczku użyłem wszystkich plików utworzonych w naszym samouczkowym skrypcie Bash dla MySQL.

$ cd ~/rpmbuild/Źródła $ ls -l myDumpadmin-1 -Rw-r-r-- 1 root root 125 października 25 03:54 poświadczenia.TXT -RW-R-R-- 1 root root 4693 25 października 03:54 Mysql-Dump.sh -Rw-r-r-- 1 root 1008 października 25 03:54 README.MD -RW-R-R-- 1 Korzenie 3445 25 października 03:54 Ustawienia.conf 

Utwórz tarball swojego kodu.

$ tar czf mydumpadmin-1.0.smoła.GZ mydumpadmin-1 

Krok 5 - Utwórz plik Spec

Utwórz plik Spec ~/rpmbuild/specyfikacje/mydumpadmin.Spec Korzystanie z poniższej zawartości.

~/rpmbuild/specyfikacje/mydumpadmin.Spec

Nazwa: MyDumpAdmin Wersja: 1 Wydanie: 0 Podsumowanie: Skrypt Bash Advance Bash dla MySQL Batase Backup Group: Tecadmin Buildarch: Noarch Licencja: GPL URL: https: // github.com/tecrahul/mydumpadmin.Git Source0: MyDumpadmin-1.0.smoła.GZ %Opis Zapisz opis o pakiecie tutaj %prep %konfiguracja -q %kompilacja %instalacja instalacja -m 0755 -d $ rpm_build_root/etc/mydumpadmin instaluj -m 0600 poświadczenia.txt $ rpm_build_root/etc/mydumpadmin/poświadczenia.instalacja txt -m 0755 mysql -dump.sh $ rpm_build_root/etc/mydumpadmin/mysql-dump.sh instalacja -m 0644 readme.md $ rpm_build_root/etc/mydumpadmin/readme.MD instalacja -m 0644 Ustawienia.conf $ rpm_build_root/etc/mydumpadmin/ustawienia.conf %pliki/etc/mydumpadmin/etc/mydumpadmin/poświadczenia.txt/etc/mydumpadmin/mysql-dump.sh/etc/mydumpadmin/readme.MD/etc/mydumpadmin/ustawienia.conf %changelog * wt. 24 października 2017 Rahul Kumar 1.0.0 - Początkowa wersja RPM 

Zmień nazwę pakietu, ścieżka skryptu, nazwa archiwum, opis itp.

Krok 6 - Zbuduj RPM

Po ukończeniu powyższych kroków, zbudujmy RPM, wykonując następujące polecenie.

$ cd ~/rpmbuild $ rpmbuild -ba specyfikacje/mydumpadmin.Spec 

Po udanym zbudowaniu plik RPM będzie tworzony jak ~/rpmbuild/rpms/noarch/mydumpadmin-1-0.Noarch.RPM

Zainstaluj RPM za pomocą poniższego polecenia. Po sprawdzeniu instalacji pliki są poprawnie zainstalowane jako zdefiniowana lokalizacja.

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

Dziękujemy za skorzystanie z tego artykułu. Mam nadzieję, że powyżej kroków pomoże ci stworzyć własną RPM.