->
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.
el 30 Julio 2007 a las 15:50
el 30 Julio 2007 a las 16:38
el 31 Diciembre 2007 a las 15:48
30 Julio 2007 a las 13:20
Muy bueno Mario, con esto se ahorra bastante tiempo.
30 Julio 2007 a las 13:25
Pozí
30 Julio 2007 a las 14:06
Esto os puede interesar también
Copia de seguridad de los programas instalados en Linux
30 Julio 2007 a las 16:46
sin equanon?
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
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.
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
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 {}
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.
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
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
18 Noviembre 2007 a las 23:47
No te preocupes y gracias por comentarlo por si alguien tiene el paquete sin instalar
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…
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:
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
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.
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:
En esa terminal es donde tienes que hacer lo que se dice en el tutorial
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!!
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 -clo que hace es contar las líneas, evidentemente lo que necesitas en descartar las líneas que contengan deinstall, operación que se hace congrep -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 mio3. 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.
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.
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-upgradeno hay que recortar el archivo lista_paquetes (con cut o awk), pues de hacerlo el comandodpkg --set-selectionsdevuelve 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 deinstallpaquete1 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_paquetesque es sinónimo de:
sudo dpkg --get-selections | grep -v deinstall$ | grep -v hold$ > Desktop/lista_paquetesEl $ 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_paquetesPodemos 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
aptitudecomo sustituto deapt-get, con la excepción del caso que nos ocupa deldselect-upgrade, puesto que no conozco comando equivalente enaptitude.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.
28 Febrero 2008 a las 22:49
Dios, no me mates por el SO en el que estoy ahora
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
Muchas gracias por todo.
4 Julio 2008 a las 18:33
fantásticooooooooooooooo