LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   rpm install (https://www.linuxquestions.org/questions/linux-newbie-8/rpm-install-688537/)

nedzer 12-05-2008 09:18 AM

rpm install
 
Hi,

I'm a noob to linux and probably flouting conventions of putting the same thread in different forums (or it that allowed - I read the suggested etiquette post and that mainly just seemed to be banging on about don't have an arguement about MS vs. Linux)

http://www.linuxquestions.org/questi...nstall-688533/


essentially this is the error

[root@moran tmp]# rpm -i compat-libstdc++-7.3-2.96.118.i386.rpm
warning: compat-libstdc++-7.3-2.96.118.i386.rpm: Header V3 DSA signature: NOKEY, key ID db42a60e
warning: waiting for transaction lock on /var/lib/rpm/__db.000

Thanks in advance for any help you can supply.

Cheers from Clueless in Dublin

judge312 12-05-2008 09:24 AM

another rpm command may be running

check rpm or yum etc

ps aux | grep rp[m]

either wait for that process to complete or just kill its pid

kill pid
or kill -9 pid

nedzer 12-05-2008 09:46 AM

Thanks Judge312

# check rpm
did not work for me

changed to root and ran
# yum etc

that spewed out

>> Loading "rhnplugin" plugin
usage: yum [options] < grouplist, localinstall, groupinfo, localupdate, resolvedep, erase, deplist, groupremove, makecache, upgrade, provides, shell, install, whatprovides, groupinstall, update, repolist, groupupdate, info, search, check-update, list, remove, clean, grouperase >
options:
-h, --help show this help message and exit
-t, --tolerant be tolerant of errors
-C >> etc.

Then I ran what you suggested

[root@moran tmp]# ps aux | grep rp[m]
user 6205 0.0 0.3 47232 12240 ? S 13:07 0:00 file-roller --extract-to=/tmp --extract-here /tmp/compat-libstdc++-7.3-2.96.118.i386.rpm
root 23979 0.0 0.3 18312 11644 pts/2 S+ 14:55 0:00 rpm -i compat-libstdc++-7.3-2.96.118.i386.rpm
user 26230 0.0 0.2 38248 7408 ? S 11:56 0:00 /usr/bin/system-install-packages /tmp/flash-plugin-10.0.12.36-release.i386.rpm
root 26231 0.0 0.0 6008 1484 ? S 11:56 0:00 /usr/sbin/userhelper -w system-install-packages /tmp/flash-plugin-10.0.12.36-release.i386.rpm
root 26251 0.0 2.9 139112 100340 ? S 11:56 0:01 /usr/bin/python -tt /usr/sbin/system-install-packages /tmp/flash-plugin-10.0.12.36-release.i386.rpm

Does this mean then that all these packages are running (I recognise the flash plug-in package which I used to view YouTube this morning - there's 3 of them running). Should I close down any open Internet sessions, can these still be using the packages?

Kill it's PID?
e.g.
root 26251 0.0 2.9 139112 100340 ? S 11:56 0:01 /usr/bin/python -tt /usr/sbin/system-install-packages /tmp/flash-plugin-10.0.12.36-release.i386.rpm

Is 26251 the PID

Can I kill all PID then try and run again.

I looked up PID
# man PID
no luck, there.

Maybe envisage taking a child straight from kindergarten through the problem :). Your help on this matter is very much appreciated.

nedzer 12-05-2008 09:46 AM

duplicate post

chalearun 12-05-2008 06:48 PM

Try the following

1.) Doing "rm -f /var/lib/rpm/__db.000" may fix this problem.
2.) Build the rpm database using rpmdb

nedzer 12-08-2008 03:25 AM

Hi chalearun,

thanks for the post

went to the rpm folder, couldn't find the "__db.000" file to remove, see below only __db.00x, where x =1,2,3.

Side question : the '-f' option on the rm command forceably removes the file even if it doesn't exist (what the..?)

So if it's not even there no wonder it can't create a tx lock on it.

I'll try making a copy of 001 and renaming it 000. I'll let you know how that goes.

I'm subscribed to the redhat network and only recently done a full package update. Any downsides to conducting a
'Build the rpm database using rpmdb'

Cheers,


[user@moran tmp]$ rpm -ivh compat-libstdc++-7.3-2.96.118.i386.rpm
warning: compat-libstdc++-7.3-2.96.118.i386.rpm: Header V3 DSA signature: NOKEY, key ID db42a60e
error: can't create transaction lock on /var/lib/rpm/__db.000
[user@moran tmp]$ cd /var/lib/rpm/
[user@moran rpm]$ ld
ld: no input files
[user@moran rpm]$ ls
Basenames __db.001 __db.003 Filemd5s Installtid Packages Provideversion Requirename Sha1header Triggername
Conflictname __db.002 Dirnames Group Name Providename Pubkeys Requireversion Sigmd5

colucix 12-08-2008 03:48 AM

Before trying to remove the __db.00x files you have to check if some application is using the RPM database. e.g. by issuing
Code:

# lsof | grep /var/lib/rpm
if the above command does not produce any line of output, then you can safely remove all the lock files:
Code:

# cd /var/lib/rpm
# rm -f __db*

if the problem persists, most likely you have to rebuild the rpm database. Regarding the -f option, it does not remove non-existent files (obviously)... it simply does not complain about them.

nedzer 12-08-2008 03:58 AM

Thanks colucix,

done as you suggested (lsof not recognized, ased colleague he suggested "ps -ef")

[eberwick@moran tmp]$ ps -ef | grep /var/lib/rpm
eberwick 3678 3438 0 09:52 pts/1 00:00:00 grep /var/lib/rpm

Do I go about killing this process now? Is this not just session I'm in now? Is it safe to remove the other __db.00x files now? I don't get it my original error is something along the lines of can't unlock tx within '__db.000', yet this files doesn't even exist. When running the RPM does the system create a new __db.000 instance?

Thanks in advance

nedzer 12-08-2008 04:05 AM

Hi colucix,

had a go at removing the files. I ran the rpm then and it seems to have run even though it did produce the warning

'warning: compat-libstdc++-7.3-2.96.118.i386.rpm: Header V3 DSA signature: NOKEY, key ID db42a60e'

Thanks for your help.



[user@moran rpm]$ rm -f __db*
rm: cannot remove `__db.001': Permission denied
rm: cannot remove `__db.002': Permission denied
rm: cannot remove `__db.003': Permission denied
[eberwick@moran rpm]$ su
Password:
[root@moran rpm]# rm -f __db*
[root@moran rpm]# ls
Basenames Dirnames Group Name Providename Pubkeys Requireversion Sigmd5
Conflictname Filemd5s Installtid Packages Provideversion Requirename Sha1header Triggername
[root@moran rpm]# cd /
[root@moran /]# cd tmp
[root@moran tmp]# rpm -i compat-libstdc++-7.3-2.96.118.i386.rpm
warning: compat-libstdc++-7.3-2.96.118.i386.rpm: Header V3 DSA signature: NOKEY, key ID db42a60e
[root@moran tmp]#

colucix 12-08-2008 04:24 AM

Ok. The ps command did not have any sense, anyway... it looks like the problem has vanished. And yes, a new instance of rpm will recreate a new __db.00x file.

The warning you get now is simply about a not signed package. Usually the packagers sign their packages with a GPG key you have to import in your database. The GPG keys themselves are provided by RPMs. You can verify it easily:
Code:

rpm -qa | grep ^gpg
Anyway, I wonder why did you download the compat-libstdc++ package. Is it not available through the package manager? What linux distribution are you running on?

nedzer 12-08-2008 04:35 AM

Hi colucix,

warnings are fine with me as long as the install gets shoehorned through

[root@moran unixODBC]# rpm -qa | grep ^gpg
gpg-pubkey-37017186-45761324
gpg-pubkey-0d4306ef-45f6bc30

also a

[root@moran unixODBC]# rpm -qa gpg-pubkey*
^[[Dgpg-pubkey-37017186-45761324
gpg-pubkey-0d4306ef-45f6bc30

I installed compat-libstdc++ package only because I'm trying to install a unixODBC so my business objects can then talk to our MySQL database. I'm running RedHat Enterprise 5.

Cheers, Ed

colucix 12-08-2008 05:20 AM

Have you tried to install it using yum?
Code:

yum install compat-libstdc++
this will spare some headache and if the software repositories are properly configured (as it should be upon the OS installation) you will get the correct version of the compat-libstdc++ package.

nedzer 12-08-2008 05:26 AM

Hi colucix,

I hadn't tried that no, thanks for the tip. I seem to have gotten over the issue I had with my unixODBC install, now I have another one, need to install the some qt GUI files (maybe another thread in that one, later).

I might give it a go anyway once the qt stuff is out of the way.

Cheers

PS:
Just for interests sake, I'm new to all things linix. I'm running red hat, is therefore rpm not the way to go. This yum thing, sounds like a good fall back position. In future if I'm struggling to either source or install the package then you suggest, "yum install [packagename]"?

colucix 12-08-2008 05:34 AM

Well, the main feature of yum in respect of rpm is that it takes care of dependencies automatically. If you try to install a package which has some dependency, yum look for them and ask you to install along with the package you've requested.

If you're new to linux, maybe you've to spend some time to read the documentation. Here is the relevant section of the official RHEL5 deployment guide.

colucix 12-08-2008 05:34 AM

<Edit : sorry, double posting>


All times are GMT -5. The time now is 02:48 AM.