Plik źródłowy zawiera oryginalny kod napisany przez programistę w dowolnym wybranym przez niego języku (C, C ++, Python itp.) I jest ogólny. Nie jest specyficzny dla żadnej dystrybucji, aw wielu przypadkach dla żadnego systemu operacyjnego.
Pakiet (na przykład RPM lub DEB) to binarny plik wykonywalny (lub zinterpretowany skrypt itp.) Wstępnie przygotowany dla konkretnej dystrybucji. Zadanie przygotowania źródła do kompilacji (dodanie niezbędnych poprawek itp.), Faktyczna kompilacja, tworzenie plików konfiguracyjnych specyficznych dla dystrybucji, tworzenie skryptów przedinstalacyjnych i poinstalacyjnych itp. Są wykonywane przez opiekuna pakietu.
Innymi słowy, cała praca z osłem została wykonana dla ciebie w pakiecie, ale będziesz musiał zrobić to sam, jeśli zdecydujesz się zainstalować ze źródła.
O wiele łatwiej jest użyć pakietu w prawie wszystkich przypadkach, ponieważ:
- Są znacznie łatwiejsze do zainstalowania
- Są one specjalnie zaprojektowane do pracy z Twoją dystrybucją
- Czasami są one załatane przez opiekuna pakietu, aby naprawić błędy specyficzne dla dystrybucji
- Menedżer pakietów je odinstaluje
- Menedżer pakietów zarządza za Ciebie wszystkimi zależnościami
- Menedżer pakietów zajmie się aktualizacjami
- Nie musisz instalować narzędzi programistycznych w swoim systemie (kompilatory, make itp.)
Czasami jednak wersja spakowana jest wersją starą lub, co gorsza, nie ma wersji spakowanej; w takim przypadku jedyną opcją jest samodzielne skompilowanie. Jeśli to zrobisz, musisz wziąć pod uwagę następujące kwestie:
- Musisz zainstalować wszystkie narzędzia programistyczne w swoim systemie
- Będziesz odpowiedzialny za sprawdzenie aktualizacji i ponowną kompilację
- Musisz upewnić się, że wszystkie zależności są zainstalowane, w tym
dev
pakiety - może być ich wiele.
- Może być konieczne debugowanie problemów, jeśli nie działa zgodnie z oczekiwaniami w dystrybucji
Jeśli chcesz włożyć dodatkowy wysiłek, wówczas kompilacja ze źródła może zapewnić następujące korzyści:
- Dostęp do najnowszej dostępnej wersji
- Opcja optymalizacji procesu kompilacji pod kątem wydajności / stabilności
- Przyjemność!
Zauważ, że chociaż niektóre wstępnie przygotowane pakiety niektórych dystrybucji zawierają binarne pliki wykonywalne, które są gotowe do zainstalowania i uruchomienia (przykłady to RPM i DEB), inne dystrybucje zapewniają pakiety, które po prostu automatyzują proces kompilacji.
Gentoo ebuilds
jest tego przykładem - pakiet jest w zasadzie instrukcjami dla menedżera pakietów opisującymi, jak skompilować i zainstalować plik wykonywalny. Ma to wiele zalet tradycyjnych menedżerów pakietów (automatyczne aktualizacje, odinstalowywanie itp.), A jednocześnie pozwala użytkownikowi zoptymalizować proces kompilacji według własnego gustu.
Arch Linux ma system pakowania, w którym pakiety głównego nurtu są binarne, podczas gdy wiele dodatkowych pakietów jest kompilowanych w systemie za pomocą PKGBUILD
plików.