Here is some ideas on how to resurrect a dead Funtoo system without reinstalling everything from scratch.
Core package removal
Several packages at the heart of your Funtoo system, these mainly are:
- Python: As Portage (the software package management system used in Funtoo) is written in Python, the romoval of Python has obvious consequences;
- GNU Compiler collection: GNU/GCC is a compiler collection for various languages like C or C++. Many of your Funtoo packages are written in C and C++ and a dead compiler suite will prevent you to recompile those (GCC contains some bootstrap code that allows it to compile itself).
- Binutils: GNU Binutils are several tools used behind the scene by the GNU Compiler collection (e.g. assembler, linker, so on) to produce executables. No binutils leaves you with the impossibility to recompile the vast majority of Funtoo packages.
- LibC: LibC is a kind of software interface between a program launched by the user and the lower services provided by the system kernel. It is used by the huge majority of the binary executables present in a Funtoo box and its mostly common implementation used in the Funtoo Linux world is the GNU Lib C (glibc). This component is probably the most critical one because on removal or corruption most of the binary executables (such as the C compiler or the Python interpreter) will simply cease to function.
- Zlib: Zlib is a general compression library used by some Python bindings. In the case zlib is removed or corrupted, Portage will no longer be functional.
How to recover from core packages removal?
Although it is always possible to resurrect a machine back to life by reinstalling it, it is not always suitable to reinstall from scratch and sometimes the best is to try to fix a broken system even with some last resort options.
- If your portage is totally knocked out, the only options you are to get binaries archives of pre-compiled core packages and untar them in your live arborescence (e.g. live VFS), notice the -C / at the end:
# tar -jxvf /tmp/glibc-2.11.2-r2.tbz2 -C /
It is always recommended to use -t instead of -x to make sure no critical configuration file is overwritten in case of doubt.
- If your portage is still functional, prefer to use it it is a good way to not bring in potential additional problems
I don't have pre-packages binaries what can I do?
In last resort, one the Gentoo developer setup a public server with various binary packages. The other good news id that this server propose the binaries for various platforms (x86, AMD64 and SPARC64 amongst others).