eliminado accidentalmente / var / lib / apt /

10

Accidentalmente eliminé el contenido de / var / lib / apt con el siguiente comando:

sudo rm -rf /var/lib/apt/*

¿Qué debería hacer ahora? puedo restaurarlo? ¿es necesario?

Hossein Hosseinvand
fuente
La razón detrás de este accidente es que estaba tratando de eliminar / var / lib / apt / lists / * debido a su gran tamaño para crear un espacio vacío en mi disco.
Hossein Hosseinvand

Respuestas:

24

La carpeta contiene algunas cosas interesantes, en particular hay un /var/lib/apt/keyrings/directorio para cualquier repositorio que haya agregado al sistema a través de apt-add-repository(y luego también hay /etc/apt/trusted.gpgy /etc/apt/trusted.gpg.d/) y cdroms.list que debe hacer referencia a los medios de instalación como fuente de paquetes. Eliminado /var/lib/apt/keyrings/ubuntu-archive-keyring.gpgpuede ser reinstalado con sudo apt-get install --reinstall ubuntu-keyring.

También hay /var/lib/apt/lists, que contiene archivos de bloqueo para cuando aptse ejecuta la actualización o actualización, y listas de paquetes en repositorios remotos. Los elementos en ese directorio a veces se borran o eliminan como en esta publicación, por ejemplo. Debería regenerarse una vez que corras apt-get update.

En resumen, no me preocuparía tanto por esto. Simplemente ejecute sudo apt-get updatey debería estar de regreso, sin embargo, si ha agregado repositorios a través de los apt-add-repositorycuales puede haber requerido una clave GPG, es posible que desee agregar esa clave nuevamente o eliminar temporalmente ese repositorio /etc/apt/sources.list.d.

Aunque no es un gran problema en este caso, como Lightness mencionó en los comentarios , el núcleo del problema es el uso accidental derm -rf. Un usuario debe asumir toda la responsabilidad cuando maneja comandos que pueden dañar su sistema. Hay innumerables ejemplos en AskUbuntu y otros sitios de StackExchange donde los usuarios eliminan o cambian la propiedad de los componentes centrales del sistema. Desde el punto de vista de los nuevos usuarios, puede ser comprensible que los nuevos usuarios no estén familiarizados con cuánto daño puede hacerse, aunque eso no libera al nuevo usuario de la responsabilidad. No tiene sentido condenar ni al comando ni al usuario, pero la forma correcta debería ser desarrollar hábitos de verificar sus propios pasos en la línea de comandos o en otro lugar. Esto no solo se aplica a Ubuntu, sino también a la informática en general, y viene con experiencia y, a menudo, al cometer los errores y romper el sistema solo para repararlo y volver a hacerlo.

Sergiy Kolodyazhnyy
fuente
99
También querrá revisar cómo se cometió el error en primer lugar, porque escribir sudoseguido de rm -rfseguido de un nombre de directorio no deseado seguido por *no debería ser algo que su cerebro permita que suceda. Se pueden requerir acciones correctivas / cambios en los comportamientos para evitar problemas mucho peores en el futuro.
Carreras de ligereza en órbita
1
@LightnessRacesinOrbit Creo que este comentario debe colocarse bajo la pregunta de OP, pero estoy de acuerdo: el usuario debe saber lo que escribe y evitar hacerlo rm -rfsin verificar y asegurarse de que primero elimine lo correcto.
Sergiy Kolodyazhnyy
1
Bueno, creo que debería agregarse a la respuesta, es por eso que lo puse aquí :) Los comentarios bajo la pregunta deberían ser para sugerir aclaraciones a la pregunta
carreras ligeras en órbita el
1
@KasperThystrupKarstensen De acuerdo. A menudo, también puede ver que echose antepone primero a un comando que desea ejecutar con comodín u otros comandos destructivos. Por ejemplo, echo rm /tmp/*tipo de cosa
Sergiy Kolodyazhnyy
1
Eso es perfecto, gracias. Por supuesto, no es que nunca haya cometido tal error, pero inmediatamente revisé el error y ajusté mis prácticas, de modo que nunca lo volví a hacer :) Es una experiencia formativa siempre y cuando aprenda de él.
Carreras de ligereza en órbita