RH 8.0
Following gcc packages are running on the
OS;
# rpm -qa gcc*
gcc-3.2-7
gcc-c++-3.2-7
gcc-g77-3.2-7
gcc-java-3.2-7
gcc-objc-3.2-7
gcc-gnat-3.2-7
I need to upgrade all of them to;
gcc-3.2.2-5.i386.rpm
gcc-c++-3.2.2-5.i386.rpm
gcc-g77-3.2.2-5.i386.rpm
gcc-gnat-3.2.2-5.i386.rpm
gcc-java-3.2.2-5.i386.rpm
gcc-objc-3.2.2-5.i386.rpm
However they need following dependencies;
libgcj-3.2.2-5.i386.rpm
libgcj-devel-3.2.2-5.i386.rpm
libgnat-3.2.2-5.i386.rpm
libobjc-3.2.2-5.i386.rpm
libstdc++-3.2.2-5.i386.rpm
libstdc++-devel-3.2.2-5.i386.rpm
libf2c-3.2.2-5.i386.rpm
That means they are all inter-related.
Therefore I'm not allowed to upgrade them individually.
Can I perform upgrade collectively, i.e.
# rpm -Uvh gcc-3.2.2-5.i386.rpm
gcc-c++-3.2.2-5.i386.rpm
gcc-g77-3.2.2-5.i386.rpm
gcc-gnat-3.2.2-5.i386.rpm
gcc-java-3.2.2-5.i386.rpm
gcc-objc-3.2.2-5.i386.rpm
libgcj-3.2.2-5.i386.rpm
libgcj-devel-3.2.2-5.i386.rpm
libgnat-3.2.2-5.i386.rpm
libobjc-3.2.2-5.i386.rpm
libstdc++-3.2.2-5.i386.rpm
libstdc++-devel-3.2.2-5.i386.rpm
libf2c-3.2.2-5.i386.rpm
If OK, I will keep all of them in a folder namely
'/home/gcc_pkg/' and run
# rpm -Uvh --test /home/gcc_pkg/*
to perform test-installation first and then
# rpm -Uvh /home/gcc_pkg/*
OR is there any other solution
You can install multiple RPMs in one command, or you could use the --nodeps
and --force switches, or as you are using redhat you could use yum or apt-get
to automatically resolve the dependencies for you. Then all you would need
to do is type somethingg like:
# apt-get upgrade gcc
Tks for your advice.
Have upgraded all gcc packages including relevant dependencies with
# rpm -Fvh /home/gcc_pkg/*.rpm
They are running without problem, at least up-to-now. The packages were downloaded from RH9
What will be the difference in function between
--nodeps (option)
and
--force (option)
I have been considering
# apt-get upgrade gcc
but have no confidence whether all gcc packages will be upgraded to above gcc-3.2.2 version which is needed.
One further question is there anyway to roll back in case of need without going through
# rpm -e gcc_new_pkg
# rpm -ivh gcc_old_pkg
--nodeps just skips dependency checking where as --force replaces the
files even if the package is already installed.
# apt-get upgrade gcc-3.2.2
might work....? I don't know as I no longer use RPMs. You can roll
back using the force switch.
Noted with thanks
Quick Links:
Do
you have a Linux Question?
Linux Home: Linux System Administration Hints and Tips