LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   check the integrity of installed packages (https://www.linuxquestions.org/questions/slackware-14/check-the-integrity-of-installed-packages-530023/)

tramni1980 02-17-2007 07:36 PM

check the integrity of installed packages
 
Hello! I am running Slackware Linux 11.0. These days somehow several files from the svgalib library vanished and I had to reinstall the library, because a lot of applications complained of missing shared libraries. I wonder if there is some way to automatically check the integrity of all packages installed on the system. In my case I diagnosed the missing files from the svgalib package with the kde package manager kpackage - the missing files were red crossed. So I would like to know if there is some way to perform a full check of the integrity of the installed packages on my system. It would be too tedious to check the file list of every single package in kpackage, wouldn't it.

Thank you very much for your attention. Regards,
Martin.

H_TeXMeX_H 02-17-2007 07:58 PM

Well, you can check the integrity of individual packages based on the 'CHECKSUMS.md5' file found either on your install disk or from a mirror.

bird603568 02-17-2007 11:55 PM

i think you mean dependency checking and slackware doesnt do this. the md5 check will just check that the package matches the package on the server no if the content is actually installed

uselpa 02-18-2007 01:18 AM

I have a tool called vlpcheck that checks your system against /var/log/packages. The "ghosts" option might be what you are looking for.

vlpcheck is part of pkgcheck 1.0. You can download it from Linuxpackages.

tramni1980 02-18-2007 04:26 AM

What I mean is checking the file list of the installed packages for missing files, just like kpackage does. I do not have in mind dependencies checking, just checking the integrity of the installed packages. I have no clue how to do that with md5sum, although I read the man page. I would be thankful if you give me an example of such a usage of md5sum or recommend some relevant literature.
I downloaded and installed pkgcheck and it seems to be quite a nice tool. vlpcheck ghosts is really what I need. Besides vlpcheck seems to do quite a number of useful things like checking for duplicate files installed, checking for files that do not belong to any package, for files that belong to a package but have disappeared (my case ) and a lot more. Thank you very much for telling me about that tool :)

uselpa 02-18-2007 04:32 AM

You're welcome.

If you have any suggestions concerning these tool(s), please do not hesitate. Also, please note that they cannot be perfect, because install scripts can change files, filenames, or whatever, and vlpcheck does not try to understand them.

tramni1980 02-18-2007 04:59 AM

I found a certain number of files missing from some packages and I rushed to reinstall the respective libraries. To verify I checked with kpackage every single package that was reported by vlpcheck to have ghosts and reinstalled the respective packages. However it remains a miracle to me how ghosts could at all appear? How could I actually lose files from vital libraries from my system? Running vicious programs as root? I really have no idea.

tramni1980 02-18-2007 05:37 AM

Something that offhand seems to be surprising is that for example vlpcheck diagnoses the whole folder "install" from the glibc-solibs library missing. So does kpackage. However when I perform some searches I find that the files from this directory are actually in another package and hence in different place on the systems. Probably things like that are due to modifications made by install scripts, aren't they? Because there is no way a package freshly downloaded from the local mirror and installed to be damaged.
I will be glad if someone sheds some light to me :)

uselpa 02-18-2007 05:54 AM

can you post the exact output of vlpcheck?

tramni1980 02-18-2007 07:19 AM

Quote:

Originally Posted by uselpa
can you post the exact output of vlpcheck?

Yes, of course, here is the whole output. Pay attention to glibc-solibs, because that is the package I thoroughly checked:

/bg.dat : aspell-bg-4.0-i486-1
/bg.multi : aspell-bg-4.0-i486-1
/bg.rws : aspell-bg-4.0-i486-1
/bg_phonet.dat : aspell-bg-4.0-i486-1
/bulgarian.alias : aspell-bg-4.0-i486-1
/bulgarian.kbd : aspell-bg-4.0-i486-1
/cp1251.dat : aspell-bg-4.0-i486-1
/etc/apache/ssl.key/README.KEY : mod_ssl-2.8.28_1.3.37-i486-1
/etc/apache/ssl.key/snakeoil-ca-dsa.key : mod_ssl-2.8.28_1.3.37-i486-1
/etc/apache/ssl.key/snakeoil-ca-rsa.key : mod_ssl-2.8.28_1.3.37-i486-1
/etc/apache/ssl.key/snakeoil-dsa.key : mod_ssl-2.8.28_1.3.37-i486-1
/etc/apache/ssl.key/snakeoil-rsa.key : mod_ssl-2.8.28_1.3.37-i486-1
/lib/incoming/ld-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libBrokenLocale-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libanl-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libc-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libcidn-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libcrypt-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libdl-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libm-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libmemusage.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libnsl-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libnss_compat-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libnss_dns-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libnss_files-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libnss_hesiod-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libnss_nis-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libnss_nisplus-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libpcprofile.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libpthread-0.10.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libresolv-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/librt-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libthread_db-1.0.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/incoming/libutil-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/ld-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libBrokenLocale-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libanl-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libc-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libcidn-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libcrypt-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libdl-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libm-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libmemusage.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libnsl-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libnss_compat-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libnss_dns-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libnss_files-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libnss_hesiod-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libnss_nis-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libnss_nisplus-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libpcprofile.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libpthread-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libresolv-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/librt-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libthread_db-1.0.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/lib/tls/incoming/libutil-2.3.6.so : glibc-2.3.6-i486-6 glibc-solibs-2.3.6-i486-6
/opt/kde/share/icons/Locolor/16x16/apps/realplayer.png : kdeartwork-3.5.4-i486-1
/opt/kde/share/icons/Locolor/32x32/apps/realplayer.png : kdeartwork-3.5.4-i486-1
/opt/kde/share/icons/crystalsvg/16x16/apps/realplayer.png : kdebase-3.5.4-i486-7
/opt/kde/share/icons/crystalsvg/32x32/apps/realplayer.png : kdebase-3.5.4-i486-7
/opt/kde/share/icons/crystalsvg/scalable/apps/realplayer.svgz : kdebase-3.5.4-i486-7
/opt/kde/share/icons/kdeclassic/16x16/apps/realplayer.png : kdeartwork-3.5.4-i486-1
/opt/kde/share/icons/kdeclassic/32x32/apps/realplayer.png : kdeartwork-3.5.4-i486-1
/opt/kde/share/mimelnk/application/x-shockwave-flash.desktop : kdelibs-3.5.4-i486-1
/usr/doc/kbd-1.12/utf/â\231ªâ\231¬ : kbd-1.12-i486-2
/usr/lib/R/doc/manual/R-FAQ.html.gz : r-2.4.1-i486-3
/usr/lib/R/doc/manual/R-admin.html.gz : r-2.4.1-i486-3
/usr/lib/R/doc/manual/R-data.html.gz : r-2.4.1-i486-3
/usr/lib/R/doc/manual/R-exts.html.gz : r-2.4.1-i486-3
/usr/lib/R/doc/manual/R-intro.html.gz : r-2.4.1-i486-3
/usr/lib/R/doc/manual/R-ints.html.gz : r-2.4.1-i486-3
/usr/lib/R/doc/manual/R-lang.html.gz : r-2.4.1-i486-3
/usr/man/whatis.sample : man-pages-2.39-noarch-1
/var/lib/rpm/tmp/Packages : rpm-4.2.1-i486-3
/var/log/setup/apache/mod_ssl : mod_ssl-2.8.28_1.3.37-i486-1
1108 ghosts

The number of ghosts reported-1108 is more than the lines here, because I erased the extensive output about "kopete" that I intentionally removed from my system, because I upgraded to a newer version. I as well cleaned the output concerning a package created by me, so that I could make the post. The whole output could not be posted here.

uselpa 02-18-2007 01:00 PM

If you look at the install scripts (/install/doinst.sh) of those packages, these files get removed at the end of installation (rm -f). So it's normal that vlpcheck reports them as missing.

Old_Fogie 02-18-2007 01:09 PM

tramni:

As part of your initial post I got the impression that you may NOT already be using a program called "aide" and I recommend it as you WILL know what has changed on your system vs the initial database (which you keep off your pc :D).

http://www.cs.tut.fi/~rammer/aide.html

here's a thread here on LQ where one of the admin's and linuxhippy were helping me out with aide:

http://www.linuxquestions.org/questi...d.php?t=492466

Bye for now.

H_TeXMeX_H 02-18-2007 02:16 PM

Quote:

Originally Posted by tramni1980
1108 ghosts

The number of ghosts reported-1108 is more than the lines here,

:eek: "Who you gonna call? Ghostbusters!"

It would be cool if a program called ghostbusters existed to fix the problem above :D

tramni1980 02-18-2007 02:29 PM

Ok, thank you very much for your responsiveness :). I will see to AIDE as well, but just for now vlpcheck seems to do exactly what I want to :).


All times are GMT -5. The time now is 03:50 PM.