Jak mogę wykryć wszystkie zmiany dokonane podczas instalacji domyślnej lub w określonym momencie?

2

Próbuję nauczyć się Ubuntu (i ogólnie Linuksa) na znacznie głębszym poziomie i mam koszmarne zmiany w śledzeniu - w szczególności w systemie zarządzania pakietami.

Czy jest jakiś (stosunkowo łatwy) sposób, aby wykonać migawkę systemu plików, a następnie porównać wszystkie zmiany, które zostały wprowadzone od początkowej migawki?

A jeśli nie system plików, czy możesz polecić jakąkolwiek technikę lub program, który może mi w tym pomóc?

Pamiętaj, że szukam odpowiedzi, która pomoże mi głębiej zrozumieć system i dowiedzieć się więcej, nie szukam sposobu naprawy / odinstalowania. Często używam wirtualizacji i w razie potrzeby mogę ją łatwo wycofać.


Jeśli ktoś jest zainteresowany, dlaczego zadaję to pytanie lub jeśli ktoś inny próbuje dowiedzieć się ...

Zainstalowałem Ubuntu Server i wszystko działa świetnie - następnie chciałem spróbować zainstalować i nauczyć się X oraz tego, jak działają różne powłoki, więc napisałem apt-get install kdei mimo tego zrobiłem apt-get autoremove kde, wciąż wydaje się, że setki zainstalowanych pakietów już nie są potrzebne lub nie zostały usunięte.

Odkładając pakiety na bok, nastąpiły większe zmiany na poziomie systemu, takie jak system wywołujący startx (tak myślę) podczas uruchamiania, ale bez KDE po prostu zawiesza się ... Udało mi się to naprawić, dodając opcję „tekst” grub, jednak biorąc pod uwagę domyślną instalację Ubuntu bez X, nie mam tego, czuję się, jakbym oszukiwał i chciałbym wiedzieć, jak / gdzie X jest wywoływany.

wilhil
źródło
powinieneś uruchomić, sudo apt-get purge kdejeśli narzeka, że ​​kde nie jest zainstalowany, uruchom to sudo apt-get install kde && sudo apt-get purge kdewtedy, następnie, sudo apt-get autoremovea sudo apt-get autocleanpotem sudo apt-get updatei na końcu, sudo apt-get upgradeaby usunąć go z drogi.
mchid
Jeśli nie masz zainstalowanej innej powłoki, takiej jak gnome shell, compiz, ubuntu-desktop, lxde, xfce itp., Nie będziesz mieć powłoki dla x po usunięciu kde, ponieważ serwer ubuntu nie jest dostarczany z serwerem x lub interfejsem GUI shell, menedżer wyświetlania lub menedżer okien, więc może być konieczne zainstalowanie jednego, jeśli jeszcze nie jest zainstalowany. Jeśli chcesz mieć minimalny menedżer okien dla swojej xsession, możesz sprawdzić fluxboksa lub icewm.
mchid
@mchid Dzięki, tak naprawdę nie patrzyłem na żadne programy, po prostu staram się dowiedzieć, jak wszystkie te programy łączą się ze sobą i działają! Ale z pewnością przyjrzę się dwóm, o których wspomniałeś - dzięki. Wielkie dzięki za te polecenia apt-get ... Uwielbiam to, jak łatwo jest instalować rzeczy - po prostu wydaje mi się, że mam trochę koszmaru, usuwając i uzyskując prawidłową kolejność odinstalowywania / poleceń ... Nie zrobiłem tego t wiem, że mogę zadzwonić do autoraove / autoclean bez podawania pakietu.
wilhil

Odpowiedzi:

3

W przypadku migawek:

możesz używać, snapper lub backintime-common. Oto jak zainstalować oba:

sudo apt-get update
sudo apt-get install snapper backintime-common

Więcej informacji na temat Snappera można znaleźć tutaj

więcej informacji na temat czasu oczekiwania można znaleźć tutaj

i ten artykuł o ubuntugeek na temat czasu oczekiwania


Aby pobrać dzienniki dpkg:

Zmiany w systemie, takie jak wszystkie aktualizacje zmian pakietów i zainstalowane / odinstalowane pakiety, są wymienione w /var/log/dpkg.log. Otwórz terminal i wykonaj następujące polecenia, aby zobaczyć, co masz tutaj:

Najpierw utwórz katalog do pracy:

mkdir ~/dpkg

zmień swój aktualny katalog:

cd ~/dpkg

skopiuj pliki dziennika dpkg do nowego katalogu:

sudo cp /var/log/dpkg.log* ~/dpkg

zmień właściciela plików na swoją nazwę użytkownika:

sudo chown -R $USER:$USER ~/dpkg

rozpakuj skompresowane pliki dziennika (jeśli istnieją). BTW może powiedzieć „nieznany sufiks - zignorowany” i to jest w porządku:

gunzip dpkg.log.*

wyświetl listę plików w swoim katalogu

ls

Najnowsze wpisy znajdują się w pliku dpkg.log, najstarsze wpisy znajdują się w pliku o największej liczbie na końcu nazwy pliku (na przykład dpkg.log.2 lub dpkg.log.3 i tak dalej).

Aby przeczytać najnowsze zmiany (plik dpkg.log):

less dpkg.log

lub z dowolnego katalogu:

less ~/dpkg/dpkg.log

Aby przeczytać na przykład dpkg.log.2:

less dpkg.log.2

i tak dalej. Naciśnij, qaby wyjść z pliku.

Większość innych plików dziennika można również znaleźć w katalogu / var / log. Aby wyświetlić zawartość / var / log:

ls /var/log

Alternatywnie, możesz zainstalować ubuntu na partycji btrfs zamiast korzystać z domyślnego systemu plików ext4. W przeciwieństwie do systemu Windows (który można zainstalować tylko w systemie plików NTFS), Ubuntu można zainstalować na wielu różnych typach systemów plików. Domyślnie jest to ext4, są też ext3, ext2, btrfs i kilka innych, jeśli się nie mylę. Być może zechcesz to sprawdzić w przyszłej instalacji ubuntu.

Jeśli zainstalujesz ubuntu za pomocą partycji btrfs zamiast fylesystemu ext4, możesz zainstalować te pomocne narzędzia po instalacji systemu operacyjnego:

sudo apt-get install btrfs-tools* apt-btrfs-snapshot

Migawki są tworzone za każdym razem, gdy używasz apt-get, dzięki czemu zawsze możesz przywrócić po instalacji lub odinstalowaniu oprogramowania.

oficjalna dokumentacja ubuntu znajduje się tutaj

Testy porównawcze btrfs vs ext4 na jądrze 3.15 można znaleźć tutaj (nie specyficzne dla Ubuntu)

mchid
źródło
Zmieniłem literówkę dla sudo cp /var/log/dpkg.log* ~ / dpkg, jeśli to ma znaczenie
mchid
Dzięki! Jak starałem się wyjaśnić w komentarzach do drugiej odpowiedzi ... chociaż zarządzanie pakietami jest obecnie bardzo związane z moimi problemami, jestem zainteresowany spojrzeniem na pełne zmiany z dwóch różnych punktów w czasie (ponieważ pakiet może stworzyć config / script jako część instalacji lub po prostu uruchomiony, który tak naprawdę nie był częścią manifestu pakietu ... Myślę, że to wyklucza dpkg.log, jednak snapper i back-in-time wyglądają jak idealne narzędzia do tego, co chcę robić! (Wystarczy dowiedzieć się, jak korzystać z CLI lub innego komputera i skonfigurować przepływ pracy teraz!)
wilhil
... Zadaję pytanie otwarte przez około jeden dzień, na wypadek, gdyby ktokolwiek mógł polecić jakiekolwiek inne narzędzie - ale jeśli nic innego się nie pojawi, chętnie nadam temu znak! ... Dzięki
wilhil
@wilhil po uruchomieniu purgepolecenia zamiast removetakich jak sudo apt-get purge kdepliki konfiguracyjne zostaną usunięte, po prostu działa sudo apt-get remove kdetylko usuwa oprogramowanie, ale pozostawia nienaruszone konfiguracji w przypadku, gdy zdecydujesz się zainstalować go ponownie kilka dni. Sprawdzanie dpkg może dokładnie powiedzieć, co zostało zainstalowane wraz z kde, dzięki czemu można również uruchomić polecenie purge na tych pakietach, aby przywrócić system do stanu sprzed instalacji kde, w tym konfiguracji itp.
mchid
Ach, mam cię! Ciekawe, czy czyści skrypty uruchamiające / czy jest skonfigurowany dla poszczególnych pakietów, czy po prostu usuwa pliki, które zostały zainstalowane jako część pakietu? Na przykład, jeśli zainstaluję coś, co wywołuje skrypt i tworzy kilka plików konfiguracyjnych, czy pliki te zostaną usunięte, ponieważ nie były w oryginalnych pakietach?
wilhil
0

Biorąc pod uwagę sformułowanie twojego pytania, nie jestem pewien, czy tak naprawdę nie pytasz o coś bardziej szczegółowego niż to, ale mówię ci tylko to, co wiem.

Jeśli przejdziesz do Centrum oprogramowania Ubuntu, a następnie klikniesz ikonę „historia”, powinieneś zobaczyć wszystko, czego szukasz. Jeśli czegoś tam nie znajdziesz, jestem bardzo ciekawy, co to jest.

wiatrakowiec
źródło
Cześć @Gyropyge - Dzięki, ale tak naprawdę próbuję w tym momencie pracować bez GUI i próbuję sprawdzić bardziej fundamentalne zmiany systemowe ... Na przykład, chciałbym zawiesić system, zepsuć się, a następnie wykonać różnią się między dwoma etapami. Centrum oprogramowania streszcza zdecydowanie za dużo i nie widziałbym zmian w konfiguracji / podobnych, które zostały wprowadzone.
wilhil
@wilhil, mogę wymyślić wiele ważnych powodów, dla których warto pracować bez graficznego interfejsu użytkownika, a wśród nich zdolność do tworzenia kopii zapasowej zmian w postaci pliku ascii. Rozumiem. Ale podobnie jak nasi GUI, tacy jak my, czasami muszą błąkać się w dziczy terminalu, aby coś osiągnąć, pomyślałbym, że jeśli poważnie myślisz o analizie problemu, możesz tolerować atrakcyjność graficzną przez kilka minut bez twojego oczy faktycznie krwawią.
gyropyge
W tej chwili próbuję eksperymentować z X i różnymi innymi powłokami, więc korzystanie z Centrum Oprogramowania Ubuntu jest naprawdę niemożliwe. Poza tym, synaptic, a nawet aptitude są bardziej odpowiednie do tego celu, jednak szukam zmian wprowadzonych w systemie po zainstalowaniu różnych pakietów - a nie tych, które są zainstalowane.
wilhil
Żeby było jasne, zawsze mogłem rzucić okiem na stronę Pakiety Ubuntu, ale istnieje wiele aplikacji, które zapisują pliki konfiguracyjne (np. Heartbeat / pacemaker zapisują pliki cib.xml), które po prostu nie są tworzone, dopóki nie uruchomisz pewnych aplikacji .... ponadto widziałem kilka pakietów, które mają sprzeczne ustawienia, więc po prostu chcę zrobić migawkę lub podobny, a następnie porównać system później, aby móc się uczyć i uczyć.
wilhil