Howto - Generar una lista de paquetes instalados y usarla para reinstalar paquetes

Publicado el 30 de Julio a las 12:34 por magarto

Actualización: Gracias a Pak y a Pau, este tutorial funciona correctamente, porque cometí bastantes errores en su día.

Si tienes pensado actualizar una versión de Debian o Ubuntu a otra versión diferente o en una instalación limpia del mismo sistema, es decir, pasar de Feisty al futuro Gutsy para reinstalar los programas que tenías antes ya no tienes que complicarte tantísimo la vida, de ir acordándote de todos los manuales que seguiste, o de hacerte una lista con todos los programas.

Para ello crearemos un archivo de texto plano con todos los nombres de los paquetes que tienes.

  • Lo primero que tienes que hacer es crear una copia del archivo sources.list para poder usarlo más adelante para restaurar los repositorios y que no falten demasiados.
cp /etc/apt/sources.list Desktop/
  • A continuación creamos el susodicho archivo con la lista de paquetes instalados.
sudo dpkg --get-selections | grep install$ > Desktop/lista_paquetes
  • Ambos archivos que hemos creado en el escritorio podríamos enviarlos a nuestra cuenta de correo, por ejemplo con la fecha de hoy y la versión instalada de nuestro sistema operativo libre.
  • En el momento en que ya tengamos el nuevo sistema limpio instalado tocaría:

- Añadir los repositorios manualmente. Para ello abrimos el archivo /etc/apt/sources.list (con sudo delante) y vamos añadiendo cada uno de los nuevos repositorios, poniendo la versión instalada. Pongamos un ejemplo:
Si un repositorio era antes: deb http://download.tuxfamily.org/3v1deb feisty eyecandy ahora tendremos que cambiar feisty a gutsy si ésta es la versión que hemos instalado.
Por otro lado, tendremos que asegurarnos que estos nuevos repositorios están operativos (sino a buscar otros par ael programa que queremos o a compilar manualmente los programas). También debemos buscar cada repositorio en google para hacernos con la clave pública para poder instalar los programas (este paso es “sin equanon”, es decir, imprescindible)

- Ahora actualizaremos e instalaremos los programas. Lo primero será copiar al escritorio el archivo lista_paquetes anteriormente creado.

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade
sudo dpkg --set-selections < Desktop/lista_paquetes

Acabamos de decir al sistema lo que queremos instalar, ahora toca instalarlo:

sudo apt-get dselect-upgrade

En la ventana que aparece teclea “I” para instalar todo. Cuando termine pulsa “Q” y “Enter” para salir de dselect.

Fuente

  • En magarto tenemos anuncios, usted también puede.
  • Aumente el tráfico de su web.
  • Utilice un gran software libre.

4 Trackbacks/Pingbacks

  1. Pingback: University Update - Linux - Howto - Generar una lista de paquetes instalados y usarla para reinstalar paquetes UNITED STATES el 30 Julio 2007 a las 15:50
  2. Pingback: Howto - Generar una lista de paquetes instalados y usarla para reinstalar paquetes // menéame SPAIN el 30 Julio 2007 a las 16:38
  3. Pingback: Linux Al Poder - El Blog de Tuxams297 » Blog Archive » Howto - Generar una lista de paquetes instalados y usarla para reinstalar paquetes GERMANY el 31 Diciembre 2007 a las 15:48
  4. Pingback: Ya tengo mi Hardy Heron instalado « Sinergiatec Noticias el 28 Abril 2008 a las 10:31

21 Comentarios

  1. jose87 SPAIN
    30 Julio 2007 a las 13:20

    Muy bueno Mario, con esto se ahorra bastante tiempo.

    Mozilla Firefox Mozilla Firefox 2.0.0.5 bajo Windows Windows XP
  2. magarto SPAIN
    30 Julio 2007 a las 13:25

    Pozí :D

    Mozilla Firefox Mozilla Firefox 2.0.0.5 bajo Ubuntu Linux Ubuntu Linux
  3. Zootropo SPAIN
    30 Julio 2007 a las 14:06
    Mozilla Firefox Mozilla Firefox 2.0.0.5 bajo Ubuntu Linux Ubuntu Linux
  4. da SPAIN
    30 Julio 2007 a las 16:46

    sin equanon?

    Mozilla Firefox Mozilla Firefox 2.0.0.5 bajo Windows Windows XP
  5. magarto SPAIN
    31 Julio 2007 a las 00:37

    Zootropo: gracias. Leo muchísimo tu blog y he comentado varias veces. Me alegro de ver un comentario en mi web. Lo de APTonCD es más para hacerte un mirror en CD sencillamente de los paquetes de la caché, pero eso es para gente que quiera tener exactamente el mismo sistema, y con este método se puede tener en otro sistema. Ya lo conocía, aunque gracias por el apunte

    Mozilla Firefox Mozilla Firefox 2.0.0.5 bajo Ubuntu Linux Ubuntu Linux
  6. Varito MEXICO
    31 Julio 2007 a las 06:34

    En mi caso el recordatorio se llama automatix..jeje!

    Fijate que tengo unas ganas de instalar la Tribe 3, pero como esta andando perfecto Feisty, como que me duele reinstalar todo (obvio que pudiera virtualizar, pero no es igual) asi que este metodo que mencionas me anima un poco mas a la aventura.

    Mozilla Firefox Mozilla Firefox 2.0.0.5 bajo Ubuntu Linux Ubuntu Linux
  7. magarto SPAIN
    31 Julio 2007 a las 10:53

    Sí, salvo cosas puntuales como los paquetes que hayas compilado o los repositorios que no consigas hacer funcionar al ser aún una beta que no usa mucha gente. Por el resto lo tienes todo. Un ejemplo sería COmpiz Fusion, funcionaría perfectamente ya que está en los repositorios de Ubuntu Gutsy Gibbon por defecto

    Mozilla Firefox Mozilla Firefox 2.0.0.5 bajo Ubuntu Linux Ubuntu Linux
  8. Pau Garcia i Quiles SPAIN
    1 Agosto 2007 a las 00:01

    No entiendo el “grep -c deinstall”, con eso el fichero “lista_paquetes” sólo contendrá el número de paquetes a medio desinstalar. Por otra parte, tampoco hace falta usar dselect.

    Es algo más sencillo así:
    1. Backup de /etc/apt/sources.list y el directorio /etc/apt/sources.list.d
    2. dpkg –get-selections | grep install | cut -f 1 > lista_paquetes
    3. En el futuro:
    3.1 apt-get update
    3.2 cat lista_paquetes | xargs -I {} aptitude install -y {}

    Konqueror Konqueror 3.5 bajo Kubuntu Linux Kubuntu Linux
  9. magarto SPAIN
    1 Agosto 2007 a las 00:05

    Cierto, un método alternativo, pero este método le usé hace tiempo y va perfecto, por eso le he posteado. Lo hice desde esa fuente y me funcionó así que la traducción/adaptación tambiñén funciona.

    De todos modos si funciona y es válido y no es pesado el método, pues perfecto, no hace falta complicarse más.

    Mozilla Firefox Mozilla Firefox 2.0.0.5 bajo Ubuntu Linux Ubuntu Linux
  10. Reinaldo VENEZUELA
    17 Noviembre 2007 a las 20:33

    Buenas, tengo un inconveniente, en el momento en el cual hago uso del último comando, “sudo dselect” me indica que el comando no se encuentra “comand not found”, estoy utilizando Ubuntu Gysty Gibbon, recien instalado, solo le he agregado las actualizaciones al software, me gustaría saber que hacer al respecto

    Mozilla Firefox Mozilla Firefox 2.0.0.8 bajo Ubuntu Linux Ubuntu Linux
  11. Reinaldo VENEZUELA
    17 Noviembre 2007 a las 20:43

    resuelto, resulta que no tenía conocimientos de que dselect no había sido instalado, me disculpo por eso y por haber escrito en el foro algo que yo mismo respondería, bueno, espero sirva de experiencia para otros usuarios, solo es cuestión de utilizar “sudo apt-get install dselect” y luego la contraseña, Listo, gracias de igual manera

    Mozilla Firefox Mozilla Firefox 2.0.0.8 bajo Ubuntu Linux Ubuntu Linux
  12. magarto SPAIN
    18 Noviembre 2007 a las 23:47

    No te preocupes y gracias por comentarlo por si alguien tiene el paquete sin instalar

    Mozilla Firefox Mozilla Firefox 2.0.0.8 bajo Ubuntu Linux Ubuntu Linux
  13. Aldo Axel MEXICO
    1 Enero 2008 a las 00:56

    Hola, excelente tu blog, llevo tiempo leyendolo!

    Una duda respecto a listar los paquetes. Por ejemplo, mi instalacion de ubuntu se desmadro, y ahora no puedo iniciar el so. Existe la posibilidad de poder listar los paquetes instalados en la particion del sistema desde un live cd?

    Muchas gracias por responder, sigue asi…

    Mozilla Firefox Mozilla Firefox 2.0.0.6 bajo Ubuntu Linux Ubuntu Linux
  14. magarto SPAIN
    1 Enero 2008 a las 21:11

    Hola. Muchas gracias. Sí claro

    Para ello arranca el live cd y después vamos a acceder a ese sistema de archivos:

    mkdir a
    chmod 777 a
    sudo mount -t ext3 /dev/sda1 a

    donde /dev/sda1 es la ruta a la partición donde tenemos ubuntu instalado (pon la tuya)

    Seguidamente ya puedes listar los paquetes como se indica arriba

    Un saludoo

    Mozilla Firefox Mozilla Firefox 2.0.0.11 bajo Ubuntu Linux Ubuntu Linux
  15. Aldo Axel MEXICO
    2 Enero 2008 a las 02:23

    Que tal? No puedo con ello…

    jaja.. Hasta el punto de montar la particion, todo bien…

    Pero cuando los quiero listar, el archvio que genera queda vacio, bueno, con un 0 nada mas, pero de paquetes nada. No se si tenga que hacer algo mas. Si me pudieras ayudar en eso, seria genial.

    Tambien puse la duda en Ubuntu-es, pero parece que nadie la ha leido…

    http://www.ubuntu-es.org/index.php?q=node/74476

    Muchas gracias por la ayuda.

    Mozilla Firefox Mozilla Firefox 2.0.0.6 bajo Ubuntu Linux Ubuntu Linux
  16. magarto SPAIN
    2 Enero 2008 a las 18:50

    Se me olvidaba,, después de los comando que te muestro más arriba, me faltaría al final:

    sudo chroot a

    En esa terminal es donde tienes que hacer lo que se dice en el tutorial

    Mozilla Firefox Mozilla Firefox 2.0.0.11 bajo Ubuntu Linux Ubuntu Linux
  17. Aldo Axel
    3 Enero 2008 a las 00:08

    jeje, muchas gracias… Al final me despseré y volvi a instalar todos los paquetes, en menos de 2 horas ya tengo mi Ubuntu casi igual que antes.

    Gracias de todas maneras…

    Sigue asi con tu blog!!

    Mozilla Firefox Mozilla Firefox 2.0.0.11 bajo Ubuntu Linux Ubuntu Linux
  18. Pak SPAIN
    28 Febrero 2008 a las 08:50

    Esto es una correción del post anterior, que puedes borrar.

    El post tanía buena intención, pero cometiste tres errores que te tuvo que corregir un buen conocido mío… Eixe elpauer, quant de temps!

    Como no te diste por aludido, te hago las correcciones de mi propia cosecha, a ver si así hay más éxito:

    1. grep -c lo que hace es contar las líneas, evidentemente lo que necesitas en descartar las líneas que contengan deinstall, operación que se hace con grep -v. Fíjate que casualidad, v, justo al lado de c en el teclado. Cuando lo corrijas este post podría empezar a funcionar.

    2. Después del grep, necesitas quedarte sólo con el nombre del archivo, cosa que te indica Pau que hagas con cut -f 1. Yo lo hago con gawk (awk '{print $1}'), pero es por un extraño síndrome de gigantismo mio :)

    3. Hacer instalar dselect a los lectores no es óptimo cuando con apt-get basta, es tan simple como apt-get dselect-upgrade, después del dpkg - -set-selections < Desktop/lista_paquetes.

    Magarto, por favor toma esto como una crítica constructiva:
    en una ocasión te felicité por hacer camino al andar, pero esta vez tengo que decirte que quisiste ir demasiado rápido, poniendo como probado código que no funcionaba como debiera… intentaste hacer camino desde el sillón de casa ;)

    Un saludo.

    PD apt-get es negligente, aptitude se lo monta bastante mejor

    PS Pau, perdona que no use konqueror com a navegador principal, el cabró és leeent: s’han carregat 157 imatges de 159… val, doncs mostra-les ja! que inet is 4 pr0n.

    Mozilla Firefox Mozilla Firefox 3.0b3 bajo Linux Linux
  19. magarto
    28 Febrero 2008 a las 20:40

    Hola Pak, muchísimas gracias y claro que lo veo positivo. Tienes toda la razón, ese día estaría de resaca, al menos mental, porque el articulo estaba fatal. Lo corrijo sin tiempo de revisarlo, pero sabes que me fío de tí.

    Muchas gracias de nuevo, porque gente como tú es la que hace que el software libre sea lo más potente y flexible.

    Mozilla Firefox Mozilla Firefox 2.0.0.12 bajo Ubuntu Linux Ubuntu Linux
  20. Pak SPAIN
    28 Febrero 2008 a las 21:52

    Muchas gracias por tomártelo así de bien, ahora me leo y veo que he sido bastante borde en las formas :|

    Yo también quiero hacer enmienda de errores, por lo menos hay un punto que está mal, directamente, es el punto 2, gracias por no haberme seguido en ese punto:

    La acción de recortar a la primera columna sólo sirve para instalar ‘a lo bestia’, como hace Pau: cat lista_paquetes | xargs -I {} aptitude install -y {} o como yo acabo de hacer en una máquina que estoy clonando con un comando sinónimo: aptitude install -y $(cat lista_paquetes).

    Para restaurar con apt-get dselect-upgrade no hay que recortar el archivo lista_paquetes (con cut o awk), pues de hacerlo el comando dpkg --set-selections devuelve un bonito error.

    Bien, enmendados los mios, voy a por los tuyos (muahaha).

    Es broma, ahora el post está casi perfecto, pero le sobra la última frase, ya que al utilizar apt-get, ya no sale ninguna ventana y no hay que apretar ninguna tecla, simplemente seguir el procedimiento habitual de apt: desempaquetar y configurar, con alguna pregunta suelta sobre cambios en archivos de configuración.

    La última correción que te sugiero viene acompañada de explicacón de las “selecciones”: si miramos la lista de paquetes que sale de dpkg --get-selections, veremos que paquete puede estar en uno de los tres estados siguientes:

    install, hold o deinstall

    paquete1 install
    paquete2 hold
    paquete3 deinstall

    que significan eso mismo: instalar el paquete1, mantener el paquete2 en la versión actual y desinstalar el paquete3. El estado siempre está en la segunda columna, a la derecha del paquete, al fin de línea.

    Si queremos hacer la acción más habitual de copiar los paquetes de un sistema a otro pero sin comprometer los paquetes instalados en la nueva máquina, lo que tenemos que hacer es quedarnos solo con los install (eliminando los deinstall y los hold), de forma que quedaría así:

    sudo dpkg --get-selections | grep install$ > Desktop/lista_paquetes

    que es sinónimo de:

    sudo dpkg --get-selections | grep -v deinstall$ | grep -v hold$ > Desktop/lista_paquetes

    El $ indica a grep el final de línea, de forma que no pueda haber errores con paquetes que contienen esas palabras en su nombre.

    Si por otra parte queremos clonar identicamente un sistema, con sus mantenidos y sus desinstalados, no hay que quitar los deinstall con grep -v. Quedaría simplemente así:

    sudo dpkg --get-selections > Desktop/lista_paquetes

    Podemos ver que el grep que hace Pau conserva los paquetes que tienen install en el nombre y también los que estan en estado “install” y en “deinstall” (por estar install incluido en deinstall). Yo le recomendaría poner el $ al final de install.

    Supongo que intenta elimininar sólo los hold, y creo hace bien porque son los que más problemas causan. Supongo que lo hace como solución de compromiso y para evitar errores entre una copia de paquetes y un clon idéntico.

    Bueno, seguro que tampoco me he expresado con la claridad necesaria, pero puedo responder a las preguntas, que esto lo sé desde hace algunos añitos :)

    Y ahora, por no quedarme las ganas, vuelvo a recomendar el uso de aptitude como sustituto de apt-get, con la excepción del caso que nos ocupa del dselect-upgrade, puesto que no conozco comando equivalente en aptitude.

    Su uso al principio cuesta, a la mínima quiere desinstalarte medio sistema, pero cuando ves que te lo propone por tu bien, para que veas qué clase de (meta)paquete(s) estás intentando eliminar de tu sistema.

    Bueno, si has leído hasta aquí, te mereces la flor, porque es verdad… Las personas como tú sois las imprescindibles para que el software libre avance como lo hace. Y como Pau, que también publica lo suyo… Yo, que no tengo blog que echarle a mi firma, solo me dedico a intentar que no retroceda, pero los que hacen que avance, no lo dudéis, sois vosotros.

    Mozilla Firefox Mozilla Firefox 3.0b3 bajo Linux Linux
  21. magarto
    28 Febrero 2008 a las 22:49

    Dios, no me mates por el SO en el que estoy ahora :P

    A apenas unas horas de irme de viaje con mi novia, la puta ley de Murphy ha hecho que tenga que restaurar el iPhone de los huevos.

    Pues sí, he leído todo y todo, aunque tengo que revisarlo que estoy medio dormido :P

    Muchas gracias por todo.

    Mozilla Firefox Mozilla Firefox 2.0.0.12 bajo Windows Windows XP

Vista previa

Deja tu granito de arena

Registro de OpenID

Registro clásico

XHTML: Puedes usar las etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Maximum 2 links per comment. Do not use BBCode.

Opciones:

Tamaño

Colores

Cerrar
E-mail It