Dzięki rpm -qV openssh-server
otrzymam listę plików, które zmieniły się w porównaniu do domyślnych.
~$ rpm -qV openssh-server
S.?....T. c /etc/ssh/sshd_config
~$
Czy dpkg
na Ubuntu można zrobić to samo?
Nie sądzę, aby w Ubuntu md5 sumy kontrolne były przechowywane tylko dla niektórych plików. Dla każdego pakietu można znaleźć listę plików z sumami kontrolnymi
/var/lib/dpkg/info/<package>.md5sums
na przykład
/var/lib/dpkg/info/openssh-server.md5sums
Zazwyczaj nie zawierają one pełnej listy plików zainstalowanych przez pakiet, np. Openssh-server.md5sums
bb5096cf79a43b479a179c770eae86d8 usr/lib/openssh/sftp-server
42da5b1c2de18ec8ef4f20079a601f28 usr/sbin/sshd
8c5592e0d522fa0f8f55f3c104479ef5 usr/share/lintian/overrides/openssh-server
cfcb67f58bcd1edcaa5a770863e49304 usr/share/man/man5/sshd_config.5.gz
71a51cbb514da3044b277e05a3ceaf0b usr/share/man/man8/sshd.8.gz
222d4da61fcb3c65b4e6e83944752f20 usr/share/man/man8/sftp-server.8.gz
Możesz użyć polecenia debsums (sudo apt-get install debsums), aby sprawdzić pliki, które mają podpisy md5
debsums openssh-server
/usr/lib/openssh/sftp-server OK
/usr/sbin/sshd OK
/usr/share/lintian/overrides/openssh-server OK
/usr/share/man/man5/sshd_config.5.gz OK
/usr/share/man/man8/sshd.8.gz OK
/usr/share/man/man8/sftp-server.8.gz OK
Podobnie jak w dpkg / 1.17.2, implementuje
--verify
opcję, zgodnie z tym raportem błędu debiana .Uwaga: jest to stosunkowo nowa zmiana w dpkg.
Date: Thu, 05 Dec 2013 04:56:31 +0100
pokazuje to wiersz w pakiecie dpkg v1.17.2.Oto krótki opis
--verify
akcji cytowany ze strony podręcznika dpkg.Możesz więc użyć podobnej składni jak w
yum
celu wykonania weryfikacji i uzyskania wyników w formacie rpm . Na przykład:lub po prostu użyj
dpkg --verify
do weryfikacji każdego pojedynczego pakietu zainstalowanego w twoim systemie.PS
Uruchomienie, powiedzmy
dpkg --verify bash
, na mojej maszynie dało mi coś takiego. (Używam dpkg / 1.17.5)Wygląda na to, że pakiety .deb zawierają tylko metadane md5sums do weryfikacji.
źródło
??5?????? c
...??5??????
oznacza: suma kontrolna MD5 była inna, a c = „to plik konfiguracyjny”sudo dpkg -V | grep -v '??5?????? c'
Istnieją sumy narzędzi, które możesz sprawdzić.
źródło
Zwykle mam listę plików, które chcę zweryfikować.
Oto prosta funkcja bash, która robi mniej więcej to, co chcesz:
Użyj w ten sposób:
Dane wyjściowe w moim środowisku:
Oczywiście napisanie podobnego aliasu / skryptu powinno być dość proste, aby sprawdzić pliki z określonego pakietu.
źródło
Używam tego polecenia, aby sprawdzić wszystkie pakiety:
dpkg -l | awk {'print $2'} | xargs | debsums | grep -v 'OK'
Powinieneś zainstalować pakiety debsumbs, gawk i findutils.
źródło
debsums: can't open fwupd file /var/lib/polkit-1/localauthority/10-vendor.d/fwupd.pkla (Permission denied) debsums: can't open geoclue-2.0 file /var/lib/polkit-1/localauthority/10-vendor.d/geoclue-2.0.pkla (Permission denied)