Removing GCC from Knoppix


Forum: Other Help Topics
Topic: Removing GCC from Knoppix
started by: mikeypants

Posted by mikeypants on Feb. 09 2004,15:52
Hi all.

I had a quick question regarding a general Knoppix remaster, not necessarily specific to remastering DSL (so apologies if this seems off-topic for these boards).

I noticed that on the DSL Package listing, there is no GCC installed.  I've tried removing GCC from my Knoppix distribution, but found that it wants to take EVERYTHING with it, and not just GCC.  Being that my remaster doesn't need a compiler at all, I'd like it obliterated to save some space in my compressed KNOPPIX file.

I'm pretty sure that DSL is a Knoppix 3.1 remaster, and mine is a Knoppix 3.2 remaster (due to the fact that I need the persistent USB home directory functionality, which wasn't around in 3.1 if I recall correctly).

So, that being said, how was GCC removed from DSL?  Was it an easy task, were there dependency problems, was it a manual removal and not removed with apt, etc.?

Any help is much appreciated.  Thanks a lot.

Posted by Jeremy on Feb. 12 2004,15:29
try apt-get remove, it should check dependency.

Still DSL is minimal, it would be easier to remaster from it. The home directory can be used with "backup" "restore" option i think.

Posted by mikeypants on Feb. 12 2004,16:17
Jeremy,

Thanks for the response.  This is what I've tried before though, and here's the output I get..


Code Sample
root@navi / # apt-get remove gcc-3.2-base
Reading Package Lists...
Building Dependency Tree...
The following packages will be REMOVED:
 cpp cpp-3.2 gcc-3.2-base xbase-clients
0 packages upgraded, 0 newly installed, 4 to remove and 0  not upgraded.
Need to get 0B of archives. After unpacking 4973kB will be freed.
Do you want to continue? [Y/n] n
Abort.



That's fine and dandy, but I'm pretty sure I need xbase-clients still installed.


Code Sample
root@navi / # apt-get remove gcc-3.3-base
Reading Package Lists...
Building Dependency Tree...
The following packages will be REMOVED:
 dpkg dselect fluxbox gcc-3.3-base hotplug libstdc++5 menu modutils sysvinit xbase-clients
WARNING: The following essential packages will be removed
This should NOT be done unless you know exactly what you are doing!
 dpkg dselect (due to dpkg) sysvinit
0 packages upgraded, 0 newly installed, 10 to remove and 0  not upgraded.
Need to get 0B of archives. After unpacking 12.6MB will be freed.
You are about to do something potentially harmful
To continue type in the phrase 'Yes, do as I say!'
?]
Abort.



That means to me that I clearly can't remove it.

The issue with the USB /home directory is the following, in a nutshell.  I'm doing a remaster of Knoppix along the lines of DSL - I want it on a 50 MB business card-sized CD, so I'm stripping out as much as I can.  However, the remaster is going to be for emulation purposes (< TuxStation > - if you want more info).  So, being that I'd like the user to be able to store save games, config files, etc., I need the persistant home functionality, so on bootup a USB drive can be detected and mounted as /home.  Going the way you mentioned would be OK, but would take user interaction, and I'm trying to minimize that as much as I can.

I'm under the assumption that Knoppix 3.2 has more dependency on gcc than 3.1 did (or maybe it's the version of X, I'm not sure).

Anyone have any more ideas?

Thanks again.

Posted by Jeremy on Feb. 12 2004,16:42
If gcc is needed for some dependency stuff, try installing something that can replace it.

Perhaps cc like in dsl.
Try printing the all dependencies of the package it would remove and you want to keep. You should found what you are looking for.

The restore fonction can be automated via script or restore cheatcode at boot (manual or auto in syslinux.cfg)

Anyway, i think you will suffer a lot in building a 50 meg distro from a 700 meg knoppix. GCC is only your first issue.

Good luck.

Posted by mikeypants on Feb. 12 2004,17:55
Actually, that's not a bad idea, swapping compiler for compiler.  I'll see what I can do about that later on.

Oh, and don't worry about the size - that's all taken care of, for the most part.  My KNOPPIX compressed file is currently at about 49 and a half megs, and I'm still not completely done removing fonts and anything else I can find.

My only issue is that I've got to put my frontend and a few emulators in there, which will probably amount to 10 megs or so, so I'm looking for even more to cut away (which is why I went after gcc, as it's one of the bigger packages left, and I really won't need a compiler installed, as no one should be compiling anything anyway).

I will look more into the "restore" feature, and see if I can do anything with that.

Thanks again for the help.

Posted by TyphoonMentat on Feb. 12 2004,19:25
The GCC package is still required, but the base package doesn't have very much in AFAIK. You could try removing the files yourself (which breaks the package, but you can't have everything):)
Posted by Del on Feb. 13 2004,05:28
'dpkg -P gcc'

The -P switch is for Purge. It removes the selected .deb, and doesn't really complain about much.

Posted by mikeypants on Feb. 18 2004,16:03
Yes, I know about dpkg -P. It's what I've used to remove all of my other packages. However..

Code Sample
root@navi / # dpkg -P gcc-3.2-base
dpkg: dependency problems prevent removal of gcc-3.2-base:
cpp-3.2 depends on gcc-3.2-base (>= 1:3.2.3-4).
cpp-3.2 depends on gcc-3.2-base (<< 1:3.2.4).
cpp-3.2 depends on gcc-3.2-base (>= 1:3.2.3-4).
cpp-3.2 depends on gcc-3.2-base (<< 1:3.2.4).
dpkg: error processing gcc-3.2-base (--purge):
dependency problems - not removing
Errors were encountered while processing:
gcc-3.2-base

root@navi / # dpkg -P cpp-3.2 gcc-3.2-base
dpkg: dependency problems prevent removal of cpp-3.2:
cpp depends on cpp-3.2 (>= 1:3.2.3-0).
dpkg: error processing cpp-3.2 (--purge):
dependency problems - not removing
dpkg: dependency problems prevent removal of gcc-3.2-base:
cpp-3.2 depends on gcc-3.2-base (>= 1:3.2.3-4).
cpp-3.2 depends on gcc-3.2-base (<< 1:3.2.4).
cpp-3.2 depends on gcc-3.2-base (>= 1:3.2.3-4).
cpp-3.2 depends on gcc-3.2-base (<< 1:3.2.4).
dpkg: error processing gcc-3.2-base (--purge):
dependency problems - not removing
Errors were encountered while processing:
cpp-3.2
gcc-3.2-base

root@navi / # dpkg -P cpp cpp-3.2 gcc-3.2-base
dpkg: dependency problems prevent removal of cpp:
xbase-clients depends on cpp.
dpkg: error processing cpp (--purge):
dependency problems - not removing
dpkg: dependency problems prevent removal of cpp-3.2:
cpp depends on cpp-3.2 (>= 1:3.2.3-0).
dpkg: error processing cpp-3.2 (--purge):
dependency problems - not removing
dpkg: dependency problems prevent removal of gcc-3.2-base:
cpp-3.2 depends on gcc-3.2-base (>= 1:3.2.3-4).
cpp-3.2 depends on gcc-3.2-base (<< 1:3.2.4).
cpp-3.2 depends on gcc-3.2-base (>= 1:3.2.3-4).
cpp-3.2 depends on gcc-3.2-base (<< 1:3.2.4).
dpkg: error processing gcc-3.2-base (--purge):
dependency problems - not removing
Errors were encountered while processing:
cpp
cpp-3.2
gcc-3.2-base


I think I'll download DSL v0.6 and give it a shot - maybe I'll be able to remaster it, now that it's based on Knoppix v3.3.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.