Jak utworzyć RPM dla własnego skryptu w Centos/Redhat
- 3088
- 762
- Laura Zygmunt
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.