Jak mogę wyświetlić historię apt-get install
poleceń, które ręcznie wykonałem?
Wydaje mi się, że wszystkie dostępne metody pokazują wszystko, co zostało zainstalowane od samego początku instalacji Ubuntu.
Jak mogę wyświetlić historię od apt-get install
czasu zakończenia procesu instalacji systemu?
system-installation
software-installation
history
Powiedz mi dlaczego
źródło
źródło
dpkg
w/var/log/dpkg.log*
.apt-get install
polecenie instalacji pakietu, a ja dostarczyłem rozwiązanie, które daje tę informację, chyba że plik historii został zmieniony w określony sposób (np .: wpisy mają został usunięty).Odpowiedzi:
Myślę, że odpowiedź podane tutaj przez Kos jest najlepszym sposobem widziałem do tej pory. Chociaż, jak używa Software Center
apt
, wszystko, co zainstalowałoby, również byłoby wymienione.Polecenie to:
źródło
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline:(?=.* install ) \K.*' | sed '1,4d'
:grep -Po '^Commandline:(?=.* install ) \K.*'
filtruje tylkoapt-get
polecenia zawierająceinstall
z przednią i tylną przestrzeń,sed '1,4d'
może być uzależnione od konkretnej instalacji; w moim1,4
usuwa dokładnie liczbę wpisów pochodzących z Ubiquity, które chcesz usunąć. Daj mi znać, jeśli liczba jest taka sama w twojej instalacji, w ten sposób przynajmniej będziemy mieli linię bazową: |apt-get -o APT::Status-Fd=4 -o APT::Keep-Fds::=5 -o APT::Keep-Fds::=6 -q -y --no-remove install linux-generic
nowe polecenie. Czy są to linie wszechobecności?apt-get
interfejs użytkownika, oprócz Ubiquity, które działa tylko raz (na przykładaptdaemon
wpisy będą również wyświetlane przez to polecenie). Najlepszym rozwiązaniem jest jednak użycie tego polecenia, które przynajmniej wyklucza wpisy dotyczące wszechobecności.Wystarczy wpisać następujące polecenie w terminalu, aby wyświetlić wszystkie dzienniki instalacji.
źródło
Aby uprościć odpowiedź @Arronical, fajną sztuczką, której nauczyłem się ostatnio, jest możliwość przechwytywania
zcat -qf
zarówno plików txt, jak i txt.staje się
Od man Zcat:
źródło
Oto skrypt, który drukuje tylko aktualnie zainstalowane pakiety najwyższego poziomu , gdzie „pakiety najwyższego poziomu” są zdefiniowane jako pakiety atp, od których nie zależą żadne inne pakiety atp. Jeśli takie programy najwyższego poziomu zostały zainstalowane przez atp lub menedżera pakietów, takiego jak synaptic, to zostały one ręcznie wybrane przez użytkownika.
Pakiety są drukowane w odwrotnej kolejności, przy założeniu, że użytkownik będzie chciał szybciej uzyskać nowsze informacje, a ponieważ program działa wolno.
Przebieg programu:
/var/lib/dpkg/info/
. Czasy modyfikacji pliku to czasy instalacji.$Pkg
wywoływane jestapt-cache rdepends $Pkg
żądanie odwrotnych zależności od$Pkg
. Jeśli nie ma żadnych zależności, oznacza to, że jest to pakiet najwyższego poziomu i drukowane są informacje o paczce: data i godzina nazwa_pakietuUwagi:
apt-cache rdepends $Pkg
który był przeznaczony dla ludzkich oczu i może ulec zmianie w przyszłych wersjach apt.dpgk
logi historii nie są wiarygodne, ponieważ zostaną osiągnięte po osiągnięciu określonego poziomu.apt-chache
apt-cache rdepends ...
jest prawdopodobnie bardzo wolne, ponieważ każde połączenie jest obliczane przez iterację wszystkich zależności. Dlatego powyższy skrypt rozpoczyna się od najnowszych instalacji, aby zaoferować użytkownikowi jak najwięcej natychmiastowych korzyści.--installed
Flag poapt-cache
kontroli, że pakiety dpkg-instalowane są również apt-zainstalowany. Gdyby użytkownik lub inne oprogramowanie instalacyjne ominęło apt i bezpośrednio użyło dpkg, byłoby to możliwe. TEN PRZYPADEK NIE BYŁ TESTOWANY, ale myślę, że coś zauważalnego wydrukowano by na wyjściu standardowym lub na błędzie/home
katalogu kopii zapasowej, który zawierał wspomniane oprogramowanie innych firm, to dane wyjściowe byłyby odpowiednie.źródło
Jeśli chcesz zobaczyć wszystkie rzeczy, które zainstalowałeś, uruchamiając:
I nie pomieszałeś z historią bash, ani nie chcesz przeglądać historii tego rodzaju instalacji dla innego użytkownika (lub wszystkich użytkowników), możesz po prostu uruchomić:
I to powinno zapewnić ci najważniejsze wyniki.
źródło
apt-get install
nimi w.bash_history
pliku lub nie usunąłeś tego pliku, polecenie wyświetli wszystkie instancje po wykonaniu polecenia z ciągiemapt-get install
na nim na koncie użytkownika (nawet jeśli uruchom komendę jako root, a zatem nie dokładnie jako konto użytkownika - to komenda uruchamia się zsudo
).Jeśli chcesz historię
apt-get install
poleceń, użyj następującego polecenia:Wynik:
Aby uzyskać więcej informacji, patrz Informacje dodatkowe .
Jest również bardziej szczegółowe informacje dotyczące instalacji w
/var/log/apt/
Whistory.log
ihistory.log.X.gz
plików orazterm.log
iterm.log.X.gz
plikówJeśli chcesz historię tylko
apt-get
zawartych poleceń, toźródło
apt-mark showmanual
pokazuje wszystkie pakiety zainstalowane podczas instalacji systemu operacyjnego, a nie tylko te faktycznie zainstalowane ręcznie. To dziwny sposób, żeby się zachowywał!/var/log/apt/history.log
i podobne pliki. Otrzymasz tylko listę ręcznie wybranych i automatycznie wybranych pakietów. Z tej odpowiedzi nie podajesz żadnej chronologicznej historii tego, co zostało zainstalowane, co zostało usunięte, co zostało zaktualizowane itp.apt -mark showmanual
? Nie widzę tego na stronie podręcznika systemu Ubuntu 16.04 LTS dlaapt
: < manpages.ubuntu.com/manpages/xenial/en/man8/apt.8.html >.Aby zobaczyć, co zainstalowałeś i usunąłeś, ponownie zainstalowałeś itp. Więcej informacji o podróży instalacji apt-get.
Odpowiedź można zmienić na alias:
źródło
Zauważ, że niektóre argumenty można ustawić przed instalacyjnym, tak jak robi to skrypt virtualmin podczas instalacji: apt-get -y install nazwa_pakietu.
Więc jeśli chcesz przechwytywać wszystkie polecenia instalacyjne, musisz zmienić zapytanie regularne.
źródło