At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
I would advise you to reboot into a LiveCD and restore libc.so using that.
Step 1: stop running rm in system folders ;)
Step 2: heavily consider never running rm as root or sudo unless 100% absolutely unavoidable :p
Step 3: what @farmdawgnation said :p
Why would you do that as a first step and not just try to reinstall you glibc-package, @farmdawgnation ?
Because the package manager will probably try to load glibc to run, and not finding it will likely fail.
Still - trying it would take about .. idk.. 5 seconds? Maybe 10, if he's a slow typist and it's possible, the thing is still in his memory.. or was - now he's probably rebooted (and hopefully fixed it) already. Anywho - I didn't mean to criticize, but was just wondering if there was another reason aside from the one, you mentioned..
Not really. It may help keep in mind that I do love systems security though. So, whether or not a failure in the system was caused by a security breach my first instincts are *always* to boot into an isolated environment and troubleshoot from there.
Btw, what is so special about libc that virtually nothing runs without it, or everything runs better if it's upgraded?
libc is the C standard library. There is very little software that doesn't use it on some level. These are things like the implementation of printf and scanf; sqrt, pow, and other math functions; random number generators; strncmp, strncpy, and other basic string functions; malloc and free (!!); and a bunch of other stuff. Even things like the JVM tend to be written in C at their core, so the vast majority of software ends up loading lilbc.
Does Windows have a libc.so equivalent?
btw how do I compile my own libc.so? Where's the source code for libc?
Source for GNU libc: http://www.gnu.org/software/libc/download.html MS equivalent is msvcrt, I believe. On Windows, it's not abnormal for software to bundle a copy of msvcrt though, so it's harder to hose yourself by deleting one file. Still, the core Windows binaries are probably linked with the system msvcrt, so the above rules apply there as well ;)
You could equally hose yourself by deleting Win32.dll though. :D
I'll bet this won't work, but you're learning it the hard way, restore it from your backup. Stuff happens.