Co robi skrypt instalacyjny w apt-get install?

14

Wygląda na apt-get installto, że pobierze pakiet Debian i spróbuje uruchomić skrypt instalacyjny dla:

  • Utwórz odpowiedni katalog
  • Utwórz odpowiednie konto
  • Kopiuj pliki binarne
  • Kopiuj pliki danych
  • Skopiuj pliki Conf
  • Skopiuj skrypt init.d
  • Uruchomić usługę
  • itp.

Bardzo mnie to interesuje i chcę dowiedzieć się, co się dzieje krok po kroku. Czy jest jakiś sposób, aby to zobaczyć? Podobnie jak polecenia drukowania powłoki w trybie „pracy na sucho”?

ShenLei
źródło

Odpowiedzi:

25

Krótko mówiąc : apt-get installrobi wszystko, co potrzebne, aby system mógł pomyślnie uruchomić nową zainstalowaną aplikację.

Dłuższa wersja:

Czynności wstępne:

Z strony podręcznika :

Wszystkie pakiety wymagane przez pakiety określone do instalacji zostaną również pobrane i zainstalowane.

Pakiety te są przechowywane w repozytorium w sieci (Internecie). Pobiera więc apt-getwszystkie potrzebne pakiety do katalogu tymczasowego ( /var/cache/apt/archives/). Zostaną pobrane z serwera WWW lub ftp. Są one określone w tzwsources.list ; lista repozytoriów dla apt menedżera pakietów. Od tego momentu są instalowane jeden po drugim proceduralnie.

Jako pierwsze należy zainstalować te, które nie mają dalszych zależności; więc nie trzeba instalować żadnego innego pakietu, aby działał poprawnie. Dzięki temu inne pakiety (które wcześniej miały zależności) nie mają już zależności. System cały czas wykonuje ten proces, dopóki nie zostaną zainstalowane określone pakiety.

Każda paczka przechodzi procedurę instalacyjną.

Procedura instalacji pakietu:

W dystrybucjach Linuksa opartych na Debianie, takich jak Ubuntu lub Mint, pakiety te mają określony standardowy format o nazwie: deb -> Format pakietu binarnego Debiana .

Taki pakiet zawiera pliki do zainstalowania w systemie. Zawierają również plik kontrolny . Ten plik zawiera skrypty, które system pakujący powinien wykonać w określonej sytuacji; tak zwane skrypty opiekuna . Te skrypty są podzielone na:

  • preinst: przed instalacją plików w systemowej hierarchii plików
  • postinst: po instalacji
  • prerm: przed odinstalowaniem
  • postrm: po odinstalowaniu

Skrypty te są miejscem, w którym tworzeni są konkretni użytkownicy lub niektóre usługi wymagające ponownego uruchomienia lub inne czynności wstępne niezbędne do działania pakietu.

Oprócz tych skryptów system pakietów zawiera wyzwalacze przeznaczone do określonych zdarzeń. Na przykład regeneracja initrds podczas instalowania nowej wersji jądra lub ldconfig lub man-db. Są one aktywowane przez jeden lub więcej pakietów i uruchamiane na końcu całego procesu instalacji.

Jest interesujące zdjęcie, pokazujące procedurę instalacji nowego pakietu:

instalacja

Jest też więcej plików kontrolnych, najważniejsze to:

Jeśli jesteś zainteresowany, możesz ręcznie rozpakować pakiet deb (po pobraniu) i obejrzeć, co jest w środku:

# to only download the package (no installation)
apt-get download package
# to unpack the deb file
ar x package.deb

Teraz widzisz plik o nazwie data.tar.gzzawierający pliki i plik o nazwie control.tar.gzzawierający cztery skrypty opiekuna i wyżej wymienione pliki sterujące.

chaos
źródło
W dzisiejszych czasach uważam, że lepiej będzie używać dpkg-deb -x package.debzamiast tego ar x package.deb, ponieważ dpkgjest to oficjalny menedżer pakietów deb (nad którymi używany jest apt-get).
Fanatique