Eliminó accidentalmente la carpeta "/ usr / share"

16

El sistema no se inicia. Lo hizo usando rm - Raccidentalmente. ¿Cómo puedo recuperar el sistema?

Mouvre
fuente
¿está seguro de que eliminó la /usr/sharecarpeta ... intente iniciar sesión con una sesión en vivo ... copie y pegue la /usr/sharecarpeta de la sesión en vivo en sus particiones raíz/usr/share
YuganTej
1
Lo que @PRATAP sugirió puede obtenerlo para que pueda volver a iniciar sesión, pero muchos programas de usuario almacenan datos de aplicaciones allí, por lo que, en el mejor de los casos, solo solucionará los programas utilizados por su sistema 'en vivo' (instalar medios). Entonces tendrás que install --reinstallotros programas; o simplemente puede reinstalar usando 'algo más', sin formato y tomará nota de sus aplicaciones instaladas, borrará los directorios del sistema y luego instalará, luego reinstale sus programas adicionales (si está en repositorios de Ubuntu); pero esta opción puede ser una alternativa, ya que probablemente aprenderá más tratando de solucionarlo usted mismo primero. Siempre hay restauración de sus copias de seguridad.
guiverc
-> con solo rm -R en / usr / share NADA se elimina. Los contenidos son propiedad de root por lo que un usuario normal no puede eliminarla
Rinzwind
@Rinzwind Y si es así, ¿por qué el sistema no se carga? ¿Cómo puedo obtener la raíz para solucionarlo?
Mouvre
tal vez lo hiciste sudo rm -R? La respuesta que n0rbert publicó me parece buena. Ese es el camino a seguir
Rinzwind

Respuestas:

48

Debe reinstalar todas las aplicaciones que tienen archivos /usr/share.

  1. Arranque el sistema desde el modo de recuperación con solicitud de root .

  2. Vuelva a montar rootfs en modo lectura-escritura con mount -o rw,remount /.

  3. Levante la interfaz ethernet y obtenga la dirección IP del servidor DHCP: dhclient enp0s3(marque el nombre correcto de la interfaz en ip ao ifconfig -a).

  4. Especificar servidor DNS por

    rm /etc/resolv.conf
    echo "nameserver 192.168.1.1" > /etc/resolv.conf
    

    (cambie 192.168.1.1a la puerta de enlace / enrutador suyo)

  5. Debe reparar el dpkgpaquete ya que pierde el /usr/share/dpkg/cputablearchivo (de lo contrario, se enfrentará "E: error reading the cpu table"a cualquier comando apt / apt-get)

    wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.1_amd64.deb
    dpkg -i dpkg_1.19.0.5ubuntu2.1_amd64.deb
    

    o instalarlo desde el caché:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. paquete de actualización de caché:

    apt-get update
    
  7. reinstalar componentes esenciales

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. y luego use una línea a continuación:

    apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
    

    Encima:

    • dpkg -S /usr/share/ muestra la lista de paquetes separados por comas
    • sed 's/,//g' - elimina comas
    • sed 's/: \/usr\/share//g'- elimina : /usr/shareal final

    Esta parte puede fallar con mensajes sobre algunos paquetes. Por ejemplo, en mi VM tuve un problema bsdmainutils, así que los reinstalé con:

    dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
    

    y luego vuelva a colocar una línea arriba.

  9. arreglar paquetes rotos

    dpkg --configure -a
    apt-get install -f
    
  10. finalmente arreglar /etc/resolv.confenlace por

    rm /etc/resolv.conf
    ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  11. reiniciar.

Nota: el sistema fijo resultante no muestra ningún problema mientras se ejecuta sudo apt-get checko sudo debsums --all --changed.

N0rbert
fuente
Este comando se utilizará desde la sesión en vivo?
YuganTej
@PRATAP desde el modo de recuperación es suficiente.
N0rbert
OK, eso es bueno ... pero incluso después de eliminar /usr/share, grub funcionará normalmente y mostrará el menú de grub. Creo que tengo que eliminarlo y ver en mi PC práctica ... Buena respuesta ...
Gracias
1
Acabo de probar esto en VM. Es casi la solución de trabajo.
N0rbert
1
@ N0rbert Gracias por la ayuda, ¡realmente funciona!
Mouvre
2

Respuesta corta: no puede y debe reinstalar las aplicaciones, como lo sugiere una respuesta anterior.

Sin embargo, antes de eso, montaría la unidad en otra computadora y probaría las utilidades de recuperación que están disponibles para ext3 / ext4. Una búsqueda rápida en Google apunta a estos:

extundelete: http://extundelete.sourceforge.net/

easeus: https://www.easeus.com/resource/drive/ext3.htm

TestDisk: https://www.cgsecurity.org/wiki/TestDisk

Cómo guiar: http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/

etc.

Jose Manuel Gomez Alvarez
fuente
Sugiero testdeleteporque he experimentado una vez: p
αғsнιη