En general, me inclinaría por una reinstalación (de las copias de seguridad que se supone que debes tener). Pero me siento mal, así que aquí hay otra forma (asumiendo que su sistema está montado bajo /target
):
-
Obtenga una lista de todos los paquetes instalados que tienen archivos en
/bin
:grep ^/bin/ /target/var/lib/dpkg/info/*.list | sed 's%^.*/\([^/\.]*\).list%\1%' >/tmp/pkglist
(En mi sistema Debian Squeeze hay un total de 34 paquetes, la mayoría de los cuales son básicos)
-
Descargue cada uno de esos paquetes (no me molesté en escribir este bit, así que solo acceda a packages.ubuntu.com y descárguelos en algún lugar bajo
/target
). Si tiene suerte, es posible que algunos de los paquetes sigan flotando en/target/var/cache/apt/archives
. -
Para cada paquete, ejecute
/target/usr/bin/dpkg -x <package> /target
. Estoy bastante segurodpkg
es todo autónomo en estos días, y no debería llamar a nada en/bin
mismo.
Una vez que haya recuperado el sistema, debe asegurarse de ejecutar un apt-get --reinstall install <all the packages from step 1>
, porque (dado que está ejecutando una versión preliminar, que Sysadmin Cat dice que está prohibido en los sistemas de producción) es probable que las versiones de los paquetes que acaba de extraer sean diferentes de los que estaban en el sistema antes, y usted Querrá asegurarse de que el sistema sepa exactamente qué es qué.
Si bien su estrategia puede funcionar (hay buenas posibilidades de que funcione, más si una vez que copia el directorio bin, realiza una reinstalación apt-get de todos los paquetes en su sistema), puede generar problemas en el futuro porque puede obtener un servidor inestable.
Si eso me hubiera pasado, lo reinstalaría y restauraría desde la copia de seguridad diaria. Tiene una copia de seguridad diaria, un plan de recuperación ante desastres, ¿no?
En caso de que no tuviera un plan de recuperación ante desastres, le sugiero que haga una copia de seguridad de todos los archivos de configuración y los datos que desea conservar y continúe con una reinstalación. Así te asegurarás de volver a tener un servidor estable.
Intentaría crear una VM y luego copiar el contenido de /bin
a su máquina dañada. Eso debería ponerte en marcha. Luego ejecuta
dpkg --get-selections | awk '{print $1}' | xargs -l1 aptitude reinstall
que debería reinstalar todos los paquetes que estaban en su sistema.