Vuelva a instalar Ubuntu base sin formatear o eliminar paquetes instalados manualmente

10

Debido a que jugué demasiado con el repositorio propuesto (el 14.04), quiero volver al paso 1: eliminar todos los paquetes del sistema, excepto los que instalé manualmente y reinstalar el sistema base, sin pasar por la molestia de reinstalar .

Básicamente, ¿hay alguna manera segura y remota sobre ssh:

  • eliminar todos los paquetes excepto los instalados manualmente
  • reinstale todo, desde el núcleo hasta ubuntu-desktop(preferiblemente de forma automática sin que se marquen más paquetes como instalados manualmente)
  • instalar dependencias de los paquetes instalados manualmente

Nota: intencionalmente he dejado de lado con la esperanza de obtener respuestas inespecíficas para cualquier versión particular.


Parece que no he descrito lo que quiero simplemente, creo que estos dos puntos se ocuparían de lo anterior:

  • purgue todos los paquetes instalados automáticamente (@kos respondió eso en la respuesta de @ Fabby)
  • instale los paquetes que conforman una nueva instalación de Ubuntu

Y supongo que si las dependencias de los paquetes instalados manualmente se desinstalan, apt-get -fme ayudarán con ellas.

Oxwivi
fuente
1. ¿son todos los archivos que necesita guardar en / home? 2. ¿Es estable la red? Si tuviera que mover sus archivos de usuario o lo que necesite guardar, ¿podría sobrescribir todo y mover fácilmente los archivos de usuario? También. ¿está habilitado PXE? ¿y hay herramientas de soporte de virtualización en el BIOS?
j0h
@ j0h 1. No hay nada importante /home, pero hay configuraciones importantes en los paquetes instalados manualmente, 2. Sí, pero como dije, los archivos de usuario no son la preocupación, 3. Sí, está habilitado, 4. Y sí, también hay soporte de virtualización .
Oxwivi
Esto está un poco por encima de mi nivel de experiencia, pero no sería más fácil obtener una lista de paquetes de una instalación nueva, diferirla de su instalación actual para obtener una lista de todo lo agregado. Luego, realice una instalación nueva y agregue automáticamente todas las cosas personalizadas, posiblemente con la restauración de algunos o todos los archivos de configuración en $ HOME. Obtiene las listas ejecutando dpkg -l. Esto probablemente marcará muchas de las cosas adicionales como instaladas manualmente, en lugar de como dependencias que podrían desaparecer si el paquete que las necesita se elimina más tarde.
Joe

Respuestas:

5

Para el futuro:

Si tiene un servidor remoto en un centro de datos a 1000 millas de distancia, será mejor que tenga instalado un conmutador IPKVM para que no tenga que depender únicamente de él sshpara alcanzarlo.

Si el servidor está en el Monte Everest: agregue un teléfono Iridium y un módem también ...

Luego puede tener una partición de arranque FAT CloneZilla de 512 MB en esa máquina (uso una memoria USB SLC ) y usar la consola para iniciar y hacer una copia de seguridad de una imagen de las particiones de su sistema en su unidad de datos y luego copiar el imagen del sistema anterior en la partición secundaria de su memoria USB antes de comenzar a agregar trusty-proposedal servidor . (Mantengo la mayoría de las copias de seguridad de mi sistema en la unidad de datos: solo tienen 6 GB)

Por ahora:

  • Tome un apt-backup
  • Revisa tu /var/log/apt/history*
  • Cree su propio script automágico que haga una apt-get purgede todas las cosas que realmente no desea / necesita más de los datos en el paso anterior
  • Ejecute el guión mientras reza a Linus de los Torvalds
  • Actualice sus repositorios como desea que sean (como eliminar trusty-proposed)
  • Reinicia mientras rezas a Ricardo de los Stallmans
  • Si todo funciona: implemente la solución de conmutador IPKVM anterior.
Fabby
fuente
¿Ningún comando automático de borrar todo excepto this that? :( ¿El conmutador IPKVM viene con una función DNS dinámica? De otra manera, no tiene valor en este caso.
Oxwivi
Lo anterior es el más automático que obtendrá. Totalmente automático como un punto de restauración de Windows: no, para eso están las copias de seguridad del sistema ... Los conmutadores IPKVM pueden usar DHCP, por lo que mediante el uso de un servicio DNS dinámico externo: "sí, un poco" ...
Fabby
No, odio el punto de restauración de Windows. No tengo idea de lo que pasa allí. (Más bien, he llegado a odiar toda la línea de productos de Windows) La única parte automática que quiero es descifrar todos los paquetes manuales y el comando para desinstalar todo excepto aquellos.
Oxwivi
Eliminé Windows hace unos 2 años ... ¿Has intentado buscarlo history.log? : P
Fabby
¿Quieres @Oxwivi apt-mark showauto, y para purgar todo el paquete en la salida por la alimentación de la lista a apt-cache purge: apt-mark showauto | xargs sudo apt-get --dry-run purge. --dry-runAgregué voluntariamente el interruptor en caso de que no pueda probarlo, para que pueda ver lo que está sucediendo: hacer algo así interrumpe su instalación, porque elimina todos los paquetes que dependen del paquete eliminado por el comando . Solo eche un vistazo a la salida de la ejecución en seco.
kos
1

OK, Mi respuesta asume que puedes, y he hecho una copia de seguridad de tu directorio de usuarios y de todo lo que deseas guardar. ¿Qué reduce su pregunta a cómo instalo Ubuntu en un servidor remoto? Para lo cual hay muchas soluciones.

Para esto, puede usar DRBL, para implementar de forma remota un sistema operativo, con una variedad de opciones para el arranque. Puedes verlo aquí: http://drbl.org/installation/

Hay Clobber: http://cobbler.github.io/manuals/quickstart/

Existe cloneZilla, que puede realizar copias de seguridad y restaurar a través de una red. El enlace es para Windows, pero los mismos métodos se aplican para Linux. Alternativamente, puede hacer una imagen de arranque de ubuntu localmente e instalarla usando clonezilla. http://opensourceforu.efytimes.com/2013/12/restore-partitions-network-using-clonezilla/

Alternativamente, puede intentar usar dd_rescue o netcat

Un término de búsqueda útil podría ser "Aprovisionamiento del servidor". Hay más opciones que estas.

También hay métodos de fuerza bruta.

$ ls /
bin  boot  cdrom  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old

y tu RUTA era así:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

si su directorio raíz fuera algo así, si sobreescribiera / etc, y / usr con versiones "limpias", estaría sobrescribiendo, prácticamente cada pieza de software instalado, y los archivos de configuración para ello. Eso sería hacker, por decir lo menos, si no una idea completamente horrible. Correr apt-get purgesería mucho más seguro, o tal vez podría ajustar un poco el proceso. Es posible que también desee incluir un clon de su antiguo archivo de configuración ssh en / etc / ssh / antes de intentar reiniciar los servicios con nuevos archivos de configuración.

También hay una herramienta que le permite volcar un núcleo en ejecución y actualizar sin reiniciar. Para eso, puede consultar Kslpice o kGraft

Si todo lo que tiene problemas es con repos y administración de paquetes, no estoy seguro de por qué querría volcar el kernel, mbr, la partición de arranque, etc.

De todos modos, espero haberte dado algunas ideas para estudiar. Hay muchas formas de implementar un servidor de forma remota.

j0h
fuente