Chciałbym móc wyświetlić skrypty / wyzwalacze powiązane z pakietem wymaganym do aktualizacji, aby na przykład stwierdzić, czy spowoduje to ponowne uruchomienie serwera WWW. Nie mogę znaleźć opcji aptitude, która by mi to pokazała (lub apt / dpkg); najlepsze, co mogę uzyskać, to zawartość (pliki). Czy jest jakaś kombinacja przełączników symulacji / pełnych / treści, które przegapiłem, które to pokażą?
Dodatkowo, jeśli pakiet powoduje coś - na przykład ponowne uruchomienie usługi - czego nie chcę teraz robić, czy istnieje sposób na zainstalowanie pakietu bez uruchamiania niektórych lub wszystkich skryptów?
Odpowiedzi:
Możesz wydrukować plik kontrolny i niektóre inne informacje za pomocą
dpkg -I package.deb
lub użyćdpkg -e package.deb
do wyodrębnienia tylko plików informacji kontrolnych.Możesz także wykonać test na sucho, aby zobaczyć, co zrobiłby dpkg
--dry-run
:źródło
DEBIAN
katalog zcontrol
plikiem i różnymi plikami skryptów, które zostaną uruchomione.postinst
jest zwykle bardzo interesujące, ponieważ zostanie wykonane po pomyślnym zainstalowaniu pakietu.Nie, nie znam żadnego sposobu, aby to zrobić za pomocą aptitude.
Możesz spojrzeć na skrypty bezpośrednio; skrypty uruchamiane podczas aktualizacji znajdują się w pakiecie. Rozpakuj deb za pomocą ar:
Następnie spójrz
control.tar.gz
, zawiera skrypty.źródło
Istnieje również
--debug
opcjadpkg
, jak wsudo dpkg --debug=72200 -i package.deb
Istnieje kilka dostępnych opcji pełnego wyjścia i można je łączyć.
Można zobaczyć wszystkie dostępne opcje wydając polecenie
dpkg --debug=help
.źródło
Nie, nie możesz uruchomić części skryptu opiekuna, nie ma żadnych haczyków, które by tak się stało.
Możesz tylko zobaczyć, co zrobiłby skrypt, sprawdzając go ręcznie - ponownie, żaden „suchy bieg” nie powie ci dokładnie, co zrobi, a czego nie zrobi, tylko „Uruchomię postinst z tymi argumentami”.
To są powody, dla których mamy środowiska testowe i testowe.
źródło