In a desperate attempt to squeeze a little more diskspace for my choked server I wrote a script which examines all the packages on the box to see which ones aren't required by any others. I figured these "top leaves" can be removed if I know I'm not using them. The script basically does a "rpm -q --provides" for a package, then for each provided capability, it does a "rpm -q --whatrequires". The packages which provides capabilities which aren't required by anything else are the ones I want. During this process I came across tcsh, which I don't use. It doesn't provide much:
rpm -q --provides tcsh tcsh
and nothing uses that:
rpm -q --whatrequires tcsh no package requires tcsh
Ha! 2MB to be saved here! But: # rpm --erase tcsh error: removing these packages would break dependencies: /bin/csh is needed by transfig-3.2.3d-219 /bin/csh is needed by samba-2.2.5-124 Oh. A check confirms:
rpm -q --whatprovides /bin/csh tcsh-6.12.00-40
Now I'm confused. The "--provides" operation on tcsh doesn't say it provides "/bin/csh", but the "--whatprovides" operation on the file says it does. Why the inconsistency? I'm no expert on RPM. What have I misunderstood? --
eatapple core dump