Hi list, On my systems I use to have programs installed both from rpms (from SuSE distros or other) and by compilation from source. I also mix distributions, e.g. 6.3, 6.4, 7.0 and even 5.1 or 5.3 coexist more or less peacefully on my hard disks. Being such an indisciplined user implies that I have a recurrent problem: many times when I want to install a rpm package, it complains about the missing of such and such library. Often the library is there and is active and if I install the package using the --nodeps option it works well. So, I would very much like to know more about the mechanism used by the rpm program to find out if the dependencies are present on the system. From the 'man rpm' I could not find this information. How can I find it ? Thanks for your help.
On Sun, Feb 25, amircea@libertysurf.fr wrote:
On my systems I use to have programs installed both from rpms (from SuSE distros or other) and by compilation from source. I also mix distributions, e.g. 6.3, 6.4, 7.0 and even 5.1 or 5.3 coexist more or less peacefully on my hard disks. Being such an indisciplined user implies that I have a recurrent problem: many times when I want to install a rpm package, it complains about the missing of such and such library. Often the library is there and is active and if I install the package using the --nodeps option it works well. So, I would very much like to know more about the mechanism used by the rpm program to find out if the dependencies are present on the system. From the 'man rpm' I could not find this information. How can I find it ? Thanks for your help.
Unfortunately RPM is not very well documented. RPM has to methods of
determining package dependencies. During the build process of a package, it
uses "ldd" on all binaries to determine all required shared libraries. It
can also automatically detect dependencenies on required script languages
like Perl or bash. In addtion to that, a package maintainer can add
additional dependencies on certain packages by adding them to the
"Requires:" field of the spec file. If you want to find out, what a package
requires, you can run "rpm -qRp
On Sunday 25 February 2001 23:26, Lenz Grimmer wrote:
On Sun, Feb 25, amircea@libertysurf.fr wrote:
Unfortunately RPM is not very well documented. RPM has to methods of determining package dependencies. During the build process of a package, it uses "ldd" on all binaries to determine all required shared libraries. It can also automatically detect dependencenies on required script languages like Perl or bash. In addtion to that, a package maintainer can add additional dependencies on certain packages by adding them to the "Requires:" field of the spec file. If you want to find out, what a package requires, you can run "rpm -qRp
" The problem is: if you installed certain libraries by hand (without using RPM), it cannot determine, that these libs are actually installed and will complain about missing dependencies. The only way to work around this is to use the "--nodeps" flag or build your own RPMs for these libs.
Bye, LenZ
Lenz, Can't we also use the politician's approach and lie? In other words rpm --justdb ( - update the database, but do not modify the filesystem.) rpm is difficult to figure out, but I've had reasonable success playing with the commands and keeping a copy of rpm --help > rpm-help.txt wrapped up in an applnk to kless. Steve
On Mon, Feb 26, Steven T. Hatton wrote:
Can't we also use the politician's approach and lie? In other words rpm --justdb ( - update the database, but do not modify the filesystem.)
That would work, but it would still require you to create an RPM first :) Bye, LenZ -- ------------------------------------------------------------------ Lenz Grimmer SuSE GmbH mailto:grimmer@suse.de Schanzaeckerstr. 10 http://www.suse.de/~grimmer/ 90443 Nuernberg, Germany Resistance is useless, if you have no volts or amps.
Thank you, Lenz. Let me reformulate my question though. What system database is rpm looking at, to decide whether a library exists in the system? Where is this database ? I refer of course to the installing phase, not to the building phase. On Mon, Feb 26, 2001 at 05:26:10AM +0100, Lenz Grimmer wrote:
On Sun, Feb 25, amircea@libertysurf.fr wrote:
On my systems I use to have programs installed both from rpms (from SuSE distros or other) and by compilation from source. I also mix distributions, e.g. 6.3, 6.4, 7.0 and even 5.1 or 5.3 coexist more or less peacefully on my hard disks. Being such an indisciplined user implies that I have a recurrent problem: many times when I want to install a rpm package, it complains about the missing of such and such library. Often the library is there and is active and if I install the package using the --nodeps option it works well. So, I would very much like to know more about the mechanism used by the rpm program to find out if the dependencies are present on the system. From the 'man rpm' I could not find this information. How can I find it ? Thanks for your help.
Unfortunately RPM is not very well documented. RPM has to methods of determining package dependencies. During the build process of a package, it uses "ldd" on all binaries to determine all required shared libraries. It can also automatically detect dependencenies on required script languages like Perl or bash. In addtion to that, a package maintainer can add additional dependencies on certain packages by adding them to the "Requires:" field of the spec file. If you want to find out, what a package requires, you can run "rpm -qRp
" The problem is: if you installed certain libraries by hand (without using RPM), it cannot determine, that these libs are actually installed and will complain about missing dependencies. The only way to work around this is to use the "--nodeps" flag or build your own RPMs for these libs.
Bye, LenZ
-- ------------------------------------------------------------------ Lenz Grimmer SuSE GmbH mailto:grimmer@suse.de Schanzaeckerstr. 10 http://www.suse.de/~grimmer/ 90443 Nuernberg, Germany While eating an elephant advance one bite at a time.
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq
On Mon, Feb 26, 2001 at 09:01:12AM +0100, amircea@libertysurf.fr wrote:
Thank you, Lenz. Let me reformulate my question though. What system database is rpm looking at, to decide whether a library exists in the system? Where is this database ?
/var/lib/rpm/* I doubt you can change anything there. You may read more at http://www.rpm.org -Kastus
I refer of course to the installing phase, not to the building phase.
On Mon, Feb 26, 2001 at 05:26:10AM +0100, Lenz Grimmer wrote:
On Sun, Feb 25, amircea@libertysurf.fr wrote:
On my systems I use to have programs installed both from rpms (from SuSE distros or other) and by compilation from source. I also mix distributions, e.g. 6.3, 6.4, 7.0 and even 5.1 or 5.3 coexist more or less peacefully on my hard disks. Being such an indisciplined user implies that I have a recurrent problem: many times when I want to install a rpm package, it complains about the missing of such and such library. Often the library is there and is active and if I install the package using the --nodeps option it works well. So, I would very much like to know more about the mechanism used by the rpm program to find out if the dependencies are present on the system. From the 'man rpm' I could not find this information. How can I find it ? Thanks for your help.
Unfortunately RPM is not very well documented. RPM has to methods of determining package dependencies. During the build process of a package, it uses "ldd" on all binaries to determine all required shared libraries. It can also automatically detect dependencenies on required script languages like Perl or bash. In addtion to that, a package maintainer can add additional dependencies on certain packages by adding them to the "Requires:" field of the spec file. If you want to find out, what a package requires, you can run "rpm -qRp
" The problem is: if you installed certain libraries by hand (without using RPM), it cannot determine, that these libs are actually installed and will complain about missing dependencies. The only way to work around this is to use the "--nodeps" flag or build your own RPMs for these libs.
Bye, LenZ
-- ------------------------------------------------------------------ Lenz Grimmer SuSE GmbH mailto:grimmer@suse.de Schanzaeckerstr. 10 http://www.suse.de/~grimmer/ 90443 Nuernberg, Germany While eating an elephant advance one bite at a time.
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq
OK, I found what database it is by using rpm with option -vv (very verbose). Very useful option ! Now to interrogate or modify this database myself is another matter... does anybody know how to do it ? I tried to follow Stephan's suggestion )adjust the database using rpm with option --justdb) but it does not work. To my opinion it would be a vast improvement if rpm would interrogate the system database using a form of the "locate" command. Am I wrong ?
On Mon, Feb 26, 2001 at 09:41:16AM +0100, amircea@libertysurf.fr wrote:
OK, I found what database it is by using rpm with option -vv (very verbose). Very useful option ! Now to interrogate or modify this database myself is another matter... does anybody know how to do it ? I tried to follow Stephan's suggestion )adjust the database using rpm with option --justdb) but it does not work.
I would shy away from messing with the RPM database. If anything should happen to it (i.e. corruption) then you lose the ability to easily install software. If you have an RPM that has a dependency for something. And you know that you have that something installed, then why not use 'rpm --nodeps -i'. I know it isn't a pretty solution, but it sure beats a reinstall. Victor Cardona
Don't misunderstand me, I did not think about messing with the rpm database. I only wonder why does rpm ignore the system database /var/lib/locatedb, which is complete, can be updated and interrogated at will. I seem to remember from the times I was using slackware that it had a script for installing the binary tarballs, this script looked what files existed in the system (there was no database at that time), then told you that such and such file was missing. It seems to me that rpm could do that too, instead of sticking to its own database which is not complete. On Mon, Feb 26, 2001 at 01:10:51PM -0600, Victor Cardona wrote:
On Mon, Feb 26, 2001 at 09:41:16AM +0100, amircea@libertysurf.fr wrote:
OK, I found what database it is by using rpm with option -vv (very verbose). Very useful option ! Now to interrogate or modify this database myself is another matter... does anybody know how to do it ? I tried to follow Stephan's suggestion )adjust the database using rpm with option --justdb) but it does not work.
I would shy away from messing with the RPM database. If anything should happen to it (i.e. corruption) then you lose the ability to easily install software. If you have an RPM that has a dependency for something. And you know that you have that something installed, then why not use 'rpm --nodeps -i'. I know it isn't a pretty solution, but it sure beats a reinstall.
Victor Cardona
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq
Greetings! I'm thinking about getting a Belkin Regulator Pro Gold UPS (serial vesion, model F6C425-SER). Does anyone know if the included shutdown software is half-way decent, or if the UPS is compatibile with other shutdown software for Linux? The SuSE hardware support database doesn't have anything on Belkin UPS, and the compatiblity list for NUT doesn't list this particular model. I'm looking for a good UPS since I live Sillycon, CA, where the people are bright but the lights are dim. Thanks! Christopher Reimer
Christopher, I would think twice before buying Belkin Regulator Pro Gold UPS. I've installed one for my friend on a 6.4 system, I must say, it's real big PITA! The driver for this UPS in smartups package (smartups-0.44.1-24) is kinda incomplete. It writes every 10 seconds to syslog UPS status and there is no way to control it. All I managed to do is to redirect those messages to VT instead of /var/log/messages, but it's far from being fine-control. I'd better go with Tripplite or APC BackUPS. -Kastus On Mon, Feb 26, 2001 at 01:33:15PM -0800, Christopher D. Reimer wrote:
Greetings!
I'm thinking about getting a Belkin Regulator Pro Gold UPS (serial vesion, model F6C425-SER). Does anyone know if the included shutdown software is half-way decent, or if the UPS is compatibile with other shutdown software for Linux?
The SuSE hardware support database doesn't have anything on Belkin UPS, and the compatiblity list for NUT doesn't list this particular model. I'm looking for a good UPS since I live Sillycon, CA, where the people are bright but the lights are dim.
Thanks!
Christopher Reimer
amircea@libertysurf.fr writes:
Don't misunderstand me, I did not think about messing with the rpm database. I only wonder why does rpm ignore the system database /var/lib/locatedb, which is complete, can be updated and interrogated at will. I seem to remember from the times I was using slackware that it had a script for installing the binary tarballs, this script looked what files existed in the system (there was no database at that time), then told you that such and such file was missing. It seems to me that rpm
I think what you referring to here is verifying the package. Here are some handy rpm commands you could use. # Display a list of all installed packages [local] $ rpm -qa # Display package owning file [local] $ rpm -q -f /bin/bash bash-1.14.7-22 # Verify the package [local] $ rpm -V bash-1.14.7-22 I think verify only reports if it finds discrepancies. So you do the following in a script to check all packages on the system: ----------------------------------- #!/bin/bash for i in $(rpm -qa) do echo "Verifying package: $i" rpm -V $i done ----------------------------------- There are of course many things you can do with rpm. But there are too numerous to list. Read the man page and experiment a little with it. Hope this helps.
could do that too, instead of sticking to its own database which is not complete.
Every package has a list of files that it knows about. You retrieve the list of files for the bash package try: [local] $ rpm -q -l bash-1.14.7-22 You may have a different version of bash installed, so it is OK to use just bash as the package name.
On Mon, Feb 26, 2001 at 01:10:51PM -0600, Victor Cardona wrote:
On Mon, Feb 26, 2001 at 09:41:16AM +0100, amircea@libertysurf.fr wrote:
OK, I found what database it is by using rpm with option -vv (very verbose). Very useful option ! Now to interrogate or modify this database myself is another matter... does anybody know how to do it ? I tried to follow Stephan's suggestion )adjust the database using rpm with option --justdb) but it does not work.
I would shy away from messing with the RPM database. If anything should happen to it (i.e. corruption) then you lose the ability to easily install software. If you have an RPM that has a dependency for something. And you know that you have that something installed, then why not use 'rpm --nodeps -i'. I know it isn't a pretty solution, but it sure beats a reinstall.
Victor Cardona
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq
-- Jesse Marlin Software Engineer Intec Telecom Systems Bldg G 4th Floor, 5775 Peachtree-Dunwoody Road Atlanta, GA 30342 Main 404-705-2800 Ph 404-705-2912 Fax 404-705-2805 Email Jesse.Marlin@intec-telecom-systems.com http://www.intec-telecom-systems.com
On Mon, Feb 26, 2001 at 10:19:56PM +0100, amircea@libertysurf.fr wrote:
Don't misunderstand me, I did not think about messing with the rpm database. I only wonder why does rpm ignore the system database /var/lib/locatedb, which is complete, can be updated and interrogated at will. I seem to remember from the times I was using slackware that it had a script for installing the binary tarballs, this script looked what files existed in the system (there was no database at that time), then told you that such and such file was missing. It seems to me that rpm could do that too, instead of sticking to its own database which is not complete.
Perhaps you could suggest that to Red Hat so that they can include it in the next version of RPM. Victor Cardona
Hmmm...if we SuSE aficionados are still dependent on Red Hat after all these years, I might just as well give up and turn to Red Hat as my Linux distributor, register with them as a faithful customer, then maybe I will have a .0001 percent chance that my suggestion is not directly thrown to the paper basket. On Tue, Feb 27, 2001 at 04:07:12AM -0600, Victor Cardona wrote:
On Mon, Feb 26, 2001 at 10:19:56PM +0100, amircea@libertysurf.fr wrote:
Don't misunderstand me, I did not think about messing with the rpm database. I only wonder why does rpm ignore the system database /var/lib/locatedb, which is complete, can be updated and interrogated at will. I seem to remember from the times I was using slackware that it had a script for installing the binary tarballs, this script looked what files existed in the system (there was no database at that time), then told you that such and such file was missing. It seems to me that rpm could do that too, instead of sticking to its own database which is not complete.
Perhaps you could suggest that to Red Hat so that they can include it in the next version of RPM.
Victor Cardona
On Tue, Feb 27, 2001 at 11:16:04AM +0100, amircea@libertysurf.fr wrote:
Hmmm...if we SuSE aficionados are still dependent on Red Hat after all these years, I might just as well give up and turn to Red Hat as my Linux distributor, register with them as a faithful customer, then maybe I will have a .0001 percent chance that my suggestion is not directly thrown to the paper basket.
Unfortunately, any distribution that uses RPMs is dependent on Red Hat to a certain extent. However, it is the defacto standard nowadays. Victor Cardona
As a matter of fact, my suggestion need not modify rpm. Let's leave the rpm program and rpm packages as they are; it is still possible to install a rpm package using another scenario than those proposed by the rpm program. Maybe I could even write one myself; maybe I will try one of these days. The excellent SuSE programmers could certainly do it far better. On Tue, Feb 27, 2001 at 05:06:15PM -0600, Victor R. Cardona wrote:
On Tue, Feb 27, 2001 at 11:16:04AM +0100, amircea@libertysurf.fr wrote:
Hmmm...if we SuSE aficionados are still dependent on Red Hat after all these years, I might just as well give up and turn to Red Hat as my Linux distributor, register with them as a faithful customer, then maybe I will have a .0001 percent chance that my suggestion is not directly thrown to the paper basket.
Unfortunately, any distribution that uses RPMs is dependent on Red Hat to a certain extent. However, it is the defacto standard nowadays.
Victor Cardona
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq
participants (8)
-
amircea@libertysurf.fr
-
Christopher D. Reimer
-
Jesse Marlin
-
Konstantin (Kastus) Shchuka
-
Lenz Grimmer
-
Steven T. Hatton
-
Victor Cardona
-
Victor R. Cardona