Jak budować pakiety ze źródła za pomocą CheckInstall
Jakiś czas temu pisaliśmy o narzędziu o nazwie Fpm, które pomaga w łatwym tworzeniu pakietów dla wielu platform Linux. Dzisiaj omówimy CheckInstall, który jest również używany do budowania pakietów dla Linuksa z kodu źródłowego.
Krótkie wprowadzenie do CheckInstall
Zwykle instalujemy pakiety za pomocą menedżerów pakietów dystrybucji. Jeśli jednak aplikacja, którą chcesz zainstalować, nie jest dostępna w twoich repozytoriach dystrybucyjnych, nie masz innego wyjścia, jak tylko ręcznie skompilować i zainstalować z kodu źródłowego.
Kompilowanie i instalowanie aplikacji z kodu źródłowego jest nieco trudne dla niektórych osób, zwłaszcza początkujących. Tutaj z pomocą przychodzą programy takie jak FPM i CheckInstall.
CheckInstall to program, który kompiluje program z kodu źródłowego i tworzy natywny pakiet dla Twojej dystrybucji Linuksa. Abyś mógł zainstalować pakiety za pomocą systemu zarządzania pakietami swojej dystrybucji (dpkg, obr./min lub installpkg).
Obecnie CheckInstall tworzy natywne pakiety dla systemów opartych na DEB, systemów opartych na RPM i Slackware. W tym krótkim samouczku omówimy, jak budować pakiety ze źródeł za pomocą programu CheckInstall.
Zainstaluj CheckInstall w systemie Linux
CheckInstall jest dostępny w domyślnych repozytoriach większości dystrybucji Linuksa. Możesz więc zainstalować go za pomocą menedżerów pakietów.
Powiedzmy na przykład: W systemach opartych na Debianie możesz go zainstalować za pomocą następującego polecenia:
sudo apt-get install checkinstallW SUSE/openSUSE:
sudo zypper install checkinstallW CentOS, RHEL, Fedorze:
Pobierz i zainstaluj plik RPM CheckInstall z tego linku.
wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpmyum install checkinstall-1.6.2-3.el6.1.x86_64.rpmKompiluj pakiety ze źródła za pomocą CheckInstall
Oto proste kroki, aby utworzyć pakiet DEB programu „hello”. Przetestowałem następujące kroki w Ubuntu 16.04 LTS.
Najpierw pobierz archiwum tar programu „hello”.
wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gzWyodrębnij archiwum tar za pomocą polecenia:
tar -zxvf hello-2.10.tar.gzPrzejdź do katalogu, do którego rozpakowałeś plik hello tar.
cd hello-2.10/Uruchom kolejno następujące polecenia, aby je skompilować.
./configuremake
Teraz zamiast wpisywać polecenie "make install" w celu zainstalowania programu, wpisujemy następujące polecenie:
sudo checkinstall --install=noTo polecenie utworzy pakiet .deb, ale go nie zainstaluje. Naciśnij T, aby utworzyć katalog dokumentacji pakietu o nazwie "doc-pak".
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: y
Preparing package documentation...OK
Please write a description for the package.
End your description with an empty line or EOF.
>> Simple Hello Program ## Type your Program name and hit ENTER key.
>>
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@ubuntuserver ]
1 - Summary: [ Simple Hello Program ]
2 - Name: [ hello ]
3 - Version: [ 2.10 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ hello-2.10 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ hello ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
Enter a number to change any of them or press ENTER to continue: ## Hit ENTER key
[...]
Building file list...OK
Building Debian package...OK
NOTE: The package will not be installed
Erasing temporary files...OK
Deleting temp dir...OK
**********************************************************************
Done. The new package has been saved to
/home/sk/hello-2.10/hello_2.10-1_amd64.deb
You can install it in your system anytime using:
dpkg -i hello_2.10-1_amd64.deb
**********************************************************************Teraz możesz zainstalować nowo utworzony pakiet .deb za pomocą menedżera pakietów dpkg:
sudo dpkg -i hello_2.10-1_amd64.debJeśli wykonasz powyższe polecenie bez flagi "--install=no", automatycznie utworzy pakiet deb i zainstaluje go w twoim systemie.
sudo checkinstallPrzykładowe dane wyjściowe:
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@ubuntuserver ]
1 - Summary: [ Simple Hello Program ]
2 - Name: [ hello ]
3 - Version: [ 2.10 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ hello-2.10 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ hello ]
12 - Conflicts: [ ]
13 - Replaces: [ ]
Enter a number to change any of them or press ENTER to continue: ##Press ENTER
[...]
Installing Debian package...OK
Erasing temporary files...OK
Writing backup package...OK
OK
Deleting temp dir...OK
**********************************************************************
Done. The new package has been installed and saved to
/home/sk/hello-2.10/hello_2.10-1_amd64.deb
You can remove it from your system anytime using:
dpkg -r hello
**********************************************************************To polecenie utworzy plik .deb i zainstaluje go automatycznie w systemie. Możesz usunąć pakiet instalacyjny w dowolnym momencie za pomocą polecenia:
sudo dpkg -r helloCheckInstall automatycznie utworzy pakiet .rpm lub .deb, w zależności od typ używanej obecnie dystrybucji Linuksa. Jeśli chcesz utworzyć pakiet .rpm, po prostu wykonaj powyższe kroki w dowolnym systemie opartym na RPM. W przypadku pakietów Slackware wykonaj tę czynność w systemie Slackware.
Więcej szczegółów znajdziesz na stronach podręcznika:
man checkinstallMożesz też sprawdzić sekcję pomocy.
checkinstall --helpPowiązana lektura:
- Jak konwertować pakiety Linux za pomocą programu Alien
- Jak zbudować pakiety Debiana ze źródła
Zasób:
- Sprawdź witrynę internetową