Jaka jest różnica między pakietami deb a kulkami tar? Jakie są zalety / wady każdego z nich?

9

Nie wiem o kulkach smoły. Większość pakietów jest dostępna w postaci tar tar, ale pakiety Ubuntu są pakietami Debiana.

Jaka jest różnica między pakietami deb a kulkami tar?

Jakie są zalety / wady każdego z nich?

Siraj
źródło

Odpowiedzi:

7

Smoły są zwykle kodem źródłowym, który musisz skompilować. Deb to wstępnie skompilowane programy, już zbudowane i skonfigurowane dla Ubuntu / Debian.

Zdecydowanie zalecam używanie debów, gdy są one dostępne, ponieważ są one łatwiejsze i integrują się z menedżerem pakietów, dzięki czemu można je łatwo odinstalować.

Debs zainstaluje również wszelkie potrzebne zależności. Instalacja ze źródła może prowadzić do czegoś, co nazywa się pieszczotą zależności. Większość programów typu open source zależy od kilku innych programów / bibliotek do działania. Podczas instalacji ze źródła nie zainstaluje ich i zamiast tego (mam nadzieję) narzeka, że ​​zależność nie jest spełniona. Następnie próbujesz zainstalować tę zależność, a następnie bombarduje, wymagając innej zależności itp.

Instalowanie ze źródła może również umieszczać pliki w nieoczekiwanych miejscach, ponieważ różne dystrybucje układają się nieco inaczej.

Kiedy muszę zainstalować program, wypróbowuję opcje w następującej kolejności:

  1. Zajrzyj do Centrum oprogramowania. Jest to oczywiście najłatwiejsze, chociaż Software Center nie jest kompleksowe i nie jest aktualne w najnowszych wersjach.

  2. Spróbuj znaleźć repozytorium, które je udostępnia. Dodanie repozytorium sprawi, że program pojawi się w Centrum oprogramowania, otrzyma terminowe aktualizacje itp.

  3. Poszukaj pakietu .deb.

  4. Zainstaluj ze źródła (smoła kulowa).

reverendj1
źródło
6

smoły są po prostu kolejną formą kompresji, taką jak zip. Chociaż formaty i techniki kompresji różnią się, jest to w zasadzie pojemnik na grupę plików i folderów.

Zazwyczaj kod źródłowy i potrzebne mu pliki będą udostępniane w Internecie przez osobę / grupę, która napisała oprogramowanie w postaci tar tar. Możesz go pobrać, rozpakować, skompilować oprogramowanie i zainstalować.

Jednak to, co robią pakiety deb, to ułatwienie ci procesu instalacji poprzez utrzymanie standardu. Oprogramowanie dostępne w Internecie zostanie przejęte przez opiekunów pakietów Debiana, przekształcone w odpowiadające im pakiety .deb i umieszczone w repozytorium Debiana.

wprowadź opis zdjęcia tutaj

Możesz przeczytać o tym na blogu opiekuna pakietu Debian tutaj: http://www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/

Jeśli chodzi o zalety i wady, pakietami .deb zarządzają menedżerowie pakietów, tacy jak apt i aptitude. Dlatego za każdym razem, gdy instalujesz z nim oprogramowanie, automatycznie stwierdzą, czy masz zależności wymagane do uruchomienia tego oprogramowania w systemie i zainstalują je dla Ciebie.

Ale jeśli używasz tar tar, zainstaluj go, będziesz musiał dowiedzieć się, od czego zależy to oprogramowanie i za każdym razem będziesz musiał ręcznie sprawdzić, czy zależności, które instalujesz, były już wcześniej zainstalowane.

Ale apt robi to wszystko za Ciebie.

Również instalacja ze źródła (instalacja ze smoły) będzie mieć różne metody dla różnych programów. Istnieje filozofia GNU polegająca na instalowaniu programu make-make-make i istnieją inne metody zależne od sposobu pisania oprogramowania.

Jednak konwersja ich w deb całkowicie usuwa wszystkie te różnice i ułatwia użytkownikowi instalację i używanie oprogramowania.

Jeszcze jeden punkt. Kiedy musisz zainstalować ze źródła? To jest ze smoły? Zasadniczo są dwie sytuacje.

  1. Jeśli zespół zajmujący się pakowaniem w Debianie nie spakował jeszcze oprogramowania.
  2. Jeśli chcesz przyczynić się do projektu. Oznacza to, że możesz dokonać zmian w kodzie źródłowym, skompilować go i przetestować zmiany.

Jeśli chcesz dowiedzieć się więcej o pakiecie debian, możesz przeczytać go tutaj: http://www.debian.org/doc/manuals/maint-guide/

Mam nadzieję że to pomoże.

harisibrahimkv
źródło
1

Pakiety Debian (i stąd Ubuntu) to zbiór plików binarnych i powiązane instrukcje dotyczące ich instalacji. Oznacza to, że sam pakiet wie, jak i gdzie zainstalować, a także zna listę pakietów, od których zależy.

Źródłowe pliki archiwum (pliki z rozszerzeniem .tar.gzlub .tar.bz2- lub nawet .tgz lub .tbz2 ) to po prostu zestawy plików i katalogów, które zostały spakowane razem z tarnarzędziem i również skompresowane za pomocą jednego gziplub drugiego bzip2. Aby zbudować kod źródłowy, musisz:

  1. rozpakuj pliki za pomocą tar xvfz file.tar.gzlub tar xvfj file.tar.bz2(w pustym katalogu)
  2. skonfiguruj pakiet za pomocą ./configure(pakiet testuje system, aby sprawdzić, czy wszystko jest w porządku przed rozpoczęciem kompilacji)
  3. rozpocznij kompilację za pomocą make
  4. jeśli chcesz, uruchom, make installaby zainstalować aplikację w jej „domyślnym” położeniu (zwykle w / usr / {s} bin lub / usr / local / {s} bin, ale zależy to od aplikacji i dystrybucji)

Główną zaletą pakietów Debian / Ubuntu w odniesieniu do źródłowych plików archiwalnych jest to, że pakiety są „samodzielne”, a ich pliki binarne są śledzone. Oznacza to, że proces rozpakowywania jest przejrzysty dla użytkownika, który widzi (z grubsza) jedną paczkę na aplikację. Użytkownik nie musi nawet pamiętać, jakie pliki zainstalowała dana aplikacja i gdzie, więc instalacja / usunięcie aplikacji staje się (w większości) procesem jednej instrukcji.

Głównymi zaletami źródłowych plików tar w odniesieniu do pakietów binarnych jest to, że w pierwszym przypadku kod źródłowy jest kompilowany bezpośrednio na maszynie docelowej, a następnie można go odpowiednio zoptymalizować. Co więcej, nawet najlepszy system pakietów może się zepsuć w szczególnych przypadkach (np. Pakiety oprogramowania zbyt nowe lub zbyt stare) i zwykle oficjalne pakiety są usuwane przez serwery, gdy stają się zbyt stare. W takich przypadkach należy ręcznie wyszukać w Internecie żądaną aplikację i określone biblioteki w określonych wersjach, aby spełnić wszystkie jego zależności.

Avio
źródło
1
Mały punkt. Kroki „konfiguruj, twórz, instaluj” dotyczą oprogramowania używającego filozofii kompilacji automatu GNU. Istnieją programy, które można budować na różne sposoby ze źródeł (z kul smołowych). Dlatego może nie być poprawne powiedzenie „Aby zbudować źródło, skonfiguruj, wykonaj, zainstaluj”. Najlepszym sposobem na wyrażenie
harisibrahimkv
Tak, właśnie mówiłem o tej metodzie, ponieważ jest ona przyjmowana przez zdecydowaną większość źródłowych archiwów.
Avio
Brak debaty. :)
harisibrahimkv
1

Widzę już całkiem dobre odpowiedzi. Ale jest kilka rzeczy, którymi należy się zająć.

W przeciwieństwie do tak zwanego „piekła zależności”, jeśli chodzi o kompilację ze źródła, możesz właściwie skonfigurować Ubuntu w taki sposób, aby automatycznie instalował te zależności, gdy kompilujesz z tarballa / dowolnego źródła.

Przeczytaj, jak to zrobić tutaj:

http://www.howtogeek.com/106526/how-to-resolve-dependencies-while-compiling-software-on-ubuntu/

Ponadto, jeśli odłożysz na bok problem zależności, dobrą rzeczą w plikach archiwalnych jest to, że możesz skonfigurować wiele rzeczy związanych z instalacją, takich jak miejsce instalacji itp., Bardzo łatwo w przypadku instalacji ze źródła.

Również słowo „Pakiety Debiana” może wprowadzić w błąd w tym kontekście. Pamiętaj, że pakiety Debiana są dwojakiego rodzaju, jak to mówi tutaj:

http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html

Oczywiście, jeśli mówisz tylko o plikach deb, to na ogół są to skompilowane programy, takie jak powyższe odpowiedzi.

Bharadwaj Srigiriraju
źródło