Czy powinienem instalować programy ze źródłowego archiwum (`.tar.gz`), z Centrum Oprogramowania Ubuntu, czy skądinąd?

29

Istnieje kilka sposobów instalowania aplikacji w Ubuntu:

  • Możesz pobrać źródłowy plik archiwum (zazwyczaj plik .tar.gzlub .tar.bz2plik) i zainstalować go ręcznie. (Zobacz Jak zainstalować plik .tar.gz (lub .tar.bz2)? )

  • Możesz pobrać .debplik i zainstalować go ręcznie za pomocą dpkglub Centrum oprogramowania.

  • Możesz wyszukać aplikację w Centrum oprogramowania Ubuntu i zainstalować ją tam lub używać aptz oficjalnymi repozytoriami Ubuntu.

  • Możesz znaleźć PPA lub repozytorium innej firmy i zainstalować je stamtąd.

Jakie są zalety i wady każdej metody? W odpowiedzi należy omówić wpływ na bezpieczeństwo, częstotliwość aktualizacji i niezawodność programu dla każdej metody.

Flimm
źródło
1
to wiele pytań w jednym. Może nieco lepiej zadać bardziej szczegółowe pytanie. Domyślnie jest używane Centrum oprogramowania Ubuntu. Dobrym porównaniem / kontrastem byłoby między kulkami tar (.tar.gz) a ekosystemem apt-get + .deb (w tym wiersz poleceń i Centrum oprogramowania Ubuntu).
Warren P
Jeśli zostaną zadane jako cztery osobne pytania, odpowiedź będzie / powinna być taka sama dla wszystkich czterech: wolę instalować / aktualizować za pomocą menedżera pkg z repozytorium (głównego lub zewnętrznego). Jeśli to nie jest opcja, możesz zacząć wchodzić w ogólne zalety i wady tego - ale w tym momencie prawdopodobnie sprowadza się to do tego, która aplikacja jest używana i co konkretnie chcesz z tym zrobić. (Np. Instaluję standardową „java” z publicznego repozytorium, ale jako programista instaluję również 5 różnych wersji w / opt / java za pośrednictwem tar.gz's).
Michael

Odpowiedzi:

33
  • Niezawodność:
    • Podczas instalacji z tarballa, oprogramowanie może próbować zastąpić inne oprogramowanie. Zależności kompilacji są potrzebne, a proces ma wysoki wskaźnik awaryjności. Jeśli instalujesz oprogramowanie, od którego zależą pakiety w repozytoriach, to nie spełni tej zależności, ponieważ nie jest ono zarejestrowane dpkg, chyba że użyjesz go checkinstalldo tymczasowej konwersji na pakiet debian. Dzięki temu ryzykujesz zerwanie dpkg. Nawet jeśli kod jest open source, chyba że upewnisz się, że nie został zmieniony, nadal powinieneś pobrać go z zaufanej strony. Możesz zainstalować wiele wersji oprogramowania, o ile korzysta ono z różnych katalogów. Możesz to zmienić w pliku makefile.
    • Użycie pakietu debian zapewni, że pliki nie nadpisują plików innych programów, jednak jeśli go używasz sudo dpkg -i file.deb, najpierw należy zainstalować zależności. Po zainstalowaniu w ten sposób nie otrzymasz aktualizacji, chyba że pakiet znajduje się również w repozytoriach, ale pakiet ten spełni zależności wymagające tego oprogramowania. Najprawdopodobniej również nada temu pakietowi pozycję menu lub przynajmniej zarejestruje strony podręcznika. Pakiety Debiana są zwykle testowane za pomocą Lintian, co zapewnia, że ​​pakiety spełniają lub przekraczają zestaw standardów, które mogą być dość rygorystyczne, sięgając nawet tego, czy niektóre pliki mają kod wykonywalny, czy nie. Nie można zainstalować wielu wersji tego samego pakietu. Źle wykonany pakiet może nie zostać zainstalowany, nie można go usunąć, a nawet zepsuć DPKG, co prowadzi do trudnych napraw, gorączkowych poszukiwań kopii zapasowych, a nawet ponownej instalacji, jeśli problem jest poważny.
    • Używanie aptjest najlepszą opcją, jeśli to możliwe. Zależności będą automatycznie pobierane i instalowane, a pakiety są budowane przy użyciu niezawodnych konfiguracji serwera kompilacji w starterze, minimalizując awarie. Pakiety można przeszukiwać za pomocą aptitudeinnych narzędzi, a aktualizacje można łatwo ułatwić za pomocą menedżera aktualizacji. Ponieważ zależności również pochodzą apt, pakiet jest bardziej skłonny do prawidłowej interakcji z zależnościami. Pakiety są testowane przez Lintian, podobnie jak debs, ale testy w połączeniu z wysoce stabilnymi serwerami kompilacji zapewniają jeszcze bardziej stabilne pakiety. Ponieważ pakiety przechodzą przez serwery kompilacji Ubuntu, najprawdopodobniej zostaną zmodyfikowane w celu integracji z resztą systemu operacyjnego. Wiele wersji tego samego pakietu nie możebyć zainstalowany. Ponieważ serwery kompilacji Ubuntu są używane do PPA, zmiana, którą aptzepsujesz , będzie mniejsza z powodu automatycznego linitianowania.
  • Aktualizacja:
    • Dzięki tarballowi nie otrzymasz żadnych aktualizacji, chyba że program sam je sprawdzi. Dzięki temu będziesz musiał zainstalować takie aktualizacje ręcznie i nie będą one konsolidowane w jednym miejscu. Prawdopodobnie będziesz w stanie uzyskać nocny lub nawet bieżący kod źródłowy w tarballu do skompilowania i instalacji. Jeśli potrzebujesz najnowocześniejszego kodu, może to być przydatne.
    • W debianie pakiety będą aktualizowane tylko wtedy, gdy masz dla nich repozytorium. Deweloperzy najprawdopodobniej stworzą pakiety debian nieco za najnowocześniejszym źródłem, ale bety często można znaleźć w debsach online.
    • Dzięki aptpakietom można bardzo łatwo aktualizować. Aktualizacje są konsolidowane w jednym miejscu, menedżerze aktualizacji i są wykonywane automatycznie lub półautomatycznie. O ile nie korzystasz z wersji alfa lub beta systemu Ubuntu, będziesz używać dobrze przetestowanych wersji, nawet jeśli są one wersją lub dwiema za bieżącym źródłem. Aktualizacje bezpieczeństwa zostaną wypchnięte, gdy tylko zostaną lekko przetestowane, aby upewnić się, że nie pogorszą sytuacji. Oznacza to, że twoje zabezpieczenia będą chronione za pomocą aktualnych aktualizacji, ale te aktualizacje będą sprawdzane, aby uniknąć utraty danych.
  • Bezpieczeństwo:
    • Tarballi nie są w żaden sposób podpisane cyfrowo. Mogą być zniekształcone lub zmodyfikowane przez złośliwe strony trzecie. Nawet jeśli wykonasz sumę kontrolną (Unikaj MD5), powinieneś nadal ufać właścicielowi witryny i autorowi pakietu, ponieważ zapewniają one sumy SHA lub MD5.
    • Pakiety Debiana nie są podpisane, jednak dpkgnie zezwalają pakietowi Debian na zastąpienie plików innego, więc złośliwy deb nie może go zniszczyć initani zepsuć bash, zastępując go. Zawsze powinieneś zaufać stronie internetowej i autorowi pakietu.
    • aptużywa podpisanych kluczy do repozytoriów, aby mogły one; t być zniekształcone bez zbliżania się czerwonej flagi. Przesyłane pliki PPA są podpisane cyfrowo, więc osoby niebędące właścicielami umów PPA nie mogą umieszczać uszkodzonych lub niebezpiecznych pakietów. Wymuszane jest również nie zastępowanie plików innego pakietu. Oczywiście powinieneś zaufać PPA lub właścicielowi repozytorium, ponieważ niesprawdzone pakiety ze złośliwym kodem będą uruchamiane po uruchomieniu.
ζ--
źródło
1
Sugeruję dodanie integracji. Menedżerowie pakietów Ubuntu i upstream w Debianie upewniają się, że pakiety uczestniczą w funkcjach ogólnosystemowych, takich jak system alternatyw (mam programy X, które mogą otwierać stronę internetową, którą chcę być domyślną) i tak dalej. Ręczna instalacja tarballa zwykle nie działa w ten sposób.
Warren P
@WarrenP Rzeczywiście dodałem to, ale może to nie być jasne. Dzięki!
ζ--
Było „Jeśli instalujesz oprogramowanie, od którego zależą pakiety w repozytoriach, to nie spełni tej zależności, ponieważ nie jest zarejestrowane w dpkg .” w pierwszym punkcie przeznaczonym na integrację ?
1
@ vasa1 Dotyczy to archiwów tar, ponieważ Apt i dpkg sprawdzą swoje bazy danych, a nie system plików, w celu ustalenia, czy pakiet jest zainstalowany. Zawsze możesz checkinstallgo obejść.
ζ--
19

Krótka odpowiedź jest taka, że instalacja z Centrum oprogramowania Ubuntu jest ogólnie lepsza niż wszystkie inne metody . Są jednak chwile, kiedy możesz chcieć zainstalować program z innego miejsca.


Instalowanie ze źródła:

  • Wpływ na bezpieczeństwo : Musisz zaufać autorom oprogramowania i stronie internetowej, na której odbywa się pobieranie. Powinieneś również sprawdzić, czy pobieranie odbywa się za pośrednictwem HTTPS, w przeciwnym razie strona trzecia może zmodyfikować pobieranie.

  • Częstotliwość aktualizacji : zawsze będziesz otrzymywać najnowsze i najlepsze! Aktualizacje będą tak częste, jak wybiorą oryginalni autorzy. Musisz jednak samodzielnie sprawdzić dostępność aktualizacji.

  • Niezawodność : może nie być tak niezawodna jak inne metody, ponieważ oprogramowanie przeszło mniej testów, a może nawet nie zostało przetestowane pod kątem Ubuntu, tylko innych dystrybucji Linuksa.

  • Łatwość instalacji i deinstalacji : najtrudniejsza ze wszystkich opcji. Nawet doświadczeni użytkownicy mogą uniknąć tej opcji, ponieważ wolą używać natywnych pakietów Debiana, o wiele łatwiejszych w zarządzaniu.

Instalowanie z .debpakietu:

  • Wpływ na bezpieczeństwo : to samo, co instalacja ze źródła.

  • Częstotliwość aktualizacji : Taki sam jak instalacja ze źródła.

  • Niezawodność : Nieco lepsza niż instalacja ze źródła. Jeśli autorzy dostarczyli .debpakiet, oznacza to, że prawdopodobnie przeprowadzili minimalne testy na Debianie lub Ubuntu.

  • Łatwość instalacji i deinstalacji : bardzo łatwa. Wystarczy dwukrotnie kliknąć i kliknąć „zainstaluj”! Podobnie łatwe do odinstalowania.

Instalowanie z Centrum oprogramowania Ubuntu:

  • Wpływ na bezpieczeństwo : Musisz zaufać autorom oprogramowania i opiekunom repozytoriów Ubuntu. Ogólnie rzecz biorąc, jest to lepsze bezpieczeństwo niż instalacja bezpośrednio ze źródła, ponieważ program został do pewnego stopnia sprawdzony przez opiekunów Debiana i / lub Ubuntu. Opiekunowie Debiana i / lub Ubuntu mogą łatać program, aby naprawić luki w zabezpieczeniach, jeśli program jest open source.

  • Częstotliwość aktualizacji : Opiekunowie Debiana i / lub Ubuntu wybierają tylko niektóre wersje oprogramowania. (Na przykład mogą wybrać tylko stabilne aktualizacje). Występuje opóźnienie między wydaniem programu a jego włączeniem do repozytoriów Debian i / lub Ubuntu. Jeśli chcesz mieć najnowsze i najlepsze, nie jest to najlepsza opcja. Jeśli chcesz stabilne aktualizacje, które zostały sprawdzone, jest to dobra opcja. Aktualizacje są proponowane automatycznie przez menedżera aktualizacji i apt-get.

  • Niezawodność : znacznie lepsza niż instalacja ze źródła, ponieważ program został sprawdzony i dostosowany do Ubuntu.

  • Łatwość instalacji i odinstalowania : bardzo, bardzo łatwa.

Instalowanie z PPA lub repozytorium innej firmy:

  • Wpływ na bezpieczeństwo : Musisz zaufać autorom oprogramowania i temu, kto utrzymuje umowę PPA. Absolutnie każdy może hostować PPA, więc nie ufaj PPA tylko dlatego, że jest on na Launchpad. Użytkownik mógł być leniwy i wcale nie sprawdzać oprogramowania.

  • Częstotliwość aktualizacji : To zależy od PPA. Sprawdzanie aktualizacji jest łatwe.

  • Niezawodność : często mniej niezawodna niż instalacja z Centrum oprogramowania Ubuntu. Umowy PPA istnieją dla programów, które nie spełniają jeszcze standardów Centrum oprogramowania Ubuntu, więc praktycznie gwarantuje się, że będą mniej niezawodne.

  • Łatwość instalacji i deinstalacji : nie jest trudna do nauczenia się i dobrze pasuje do zarządzania pakietami Ubuntu.

Flimm
źródło
1
W apt-getkażdym razie USC to tylko nakładka . Nie przekształcajmy tego w debatę z graficznym interfejsem użytkownika w debatę z wiersza poleceń. Jeśli uważasz, że warto omówić ten wybór, zacznij inne pytanie.
Flimm,
2
@Flimm: nie do końca, USC może również zainstalować pakiet .deb, więc bardziej odpowiednie jest nazywanie USC frontendem dla apt-get i dpkg.
Lie Ryan,
1
Nie mówię „debata”, mówię „użytkownicy przyjeżdżają tutaj, aby uzyskać jasność, a to pytanie i ta odpowiedź nie wydają się zbytnio wyjaśniać spraw”.
Warren P
1
@LieRyan: uzgodniono.
Flimm,
1
@WarrenP: Nie zgadzam się na temat tego, po co przychodzą użytkownicy. Użytkownicy przyjeżdżają tutaj, aby zdecydować, skąd pobrać i zainstalować aplikację. Jeśli nie jest to jednoznaczne z pytaniem, możemy je edytować. Myślę, że pytanie jest jasne, jeśli masz inne pytanie, które jest bardziej przydatne dla użytkowników, utwórz nowy post z pytaniem.
Flimm,