|
Ver temas sin respuesta | Ver temas activos
Foros Linux » General » Instalación de distribuciones
|
| Autor |
Mensaje |
doc

Forista Mayor
Registrado: Mié Ago 11, 2010 2:32 am Mensajes: 803
|
 Publicado: Lun Sep 26, 2011 10:23 am |
|
|
recuerdo que hace un tiempo Niky (como no podía ser otra) puso unos comandos para listar las aplicaciones instaladas en Debian, y luego creo recordar que esa lista se metía en un 'aptitude install', o algo así, y se podía instalar todo de golpe, por consola. Pero no encuentro el thread por ninguna parte. ¿alguien lo recuerda, o me 'refresca' cómo era esto?
(Objetivo: un día de estos quiero reinstalar desde cero mi Debian, en el que ya llevo más de un año actualizando cosas y trasteando un poco (lo tengo apuntando a testing, pero he hecho algunas incursiones por la rama sid, e incluso por la experimental) y así me queda 'nikelao' para otra temporadita, con el kernel 3.0.0.amd64, el libreoffice por defecto, etc, y quiero evitar el coñazo de andar instalando una a una, con Synaptic, las aplicaciones que suelo añadir. Creo que, como decía al principio, hay una recetilla para meterlas todas a la vez, por terminal ¿no?
¿o es contraproducente meter todas de golpe, con aptitude o con apt-get? (son unas 20 o 25, del tipo aMule, qBittorrent, pdf-shuffler, Avidemux, OpenShot, DeVeDe, Audacity, Gparted, Stellarium, alarmclock, unetbootin, etc, etc)
Última edición por doc el Lun Sep 26, 2011 5:51 pm, editado 1 vez en total
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Sep 26, 2011 11:08 am |
|
Hay varias (muchísimas) maneras, dependiendo de qué exactamente estés buscando. Por ejemplo: sudo dpkg --get-selections > lista.txt Te arma una lista de todos los paquetes instalados en el sistema. Si quieres tener lo mismo en otra instalación, te llevas el archivo " lista.txt" y lo cargas: sudo dpkg --set-selections < lista.txt Y tienes ahora todos los paquetes cargados en la instalación nueva (sólo sus nombres, claro, no los paquetes en sí). Pero la gracia es que ahora puedes usar dselect (normalmente, hace falta instalarlo) : sudo apt-get -y update && sudo apt-get -y dselect-upgrade Como la lista de paquetes está cargada, esta orden "actualiza" los paquetes -que en realidad no están en la máquina- bajándolos e instalándolos. ######################################################## Si la lista, en cambio, es más acotada y la armaste a mano, puedes usar simplemente cat. Digamos que el archivo lista.txt tiene esto: Código: mplayer iceweasel gedit rox-filer alsamixer Lo usas así: sudo apt-get install `cat lista.txt`Por último, de contraproducente no tiene nada. Es, al fin y al cabo, lo mismo que hace el cd de instalación cuando le ordenas instalar ciertos paquetes. Yo hago mis instalaciones así, desde una minimal, siempre. El único detalle, que supongo que no ignoras, es que la velocidad de instalación dependerá de tu conexión.
Última edición por neurus el Lun Sep 26, 2011 12:54 pm, editado 1 vez en total
|
|
|
|
 |
niky45

Forista Ancestral
Registrado: Mié Abr 11, 2007 11:00 pm Mensajes: 8550 Ubicación: tras la pantalla (...)
|
 Publicado: Lun Sep 26, 2011 12:18 pm |
|
ya neurus te ha dicho varias maneras, pero por si quieres tirar exclusivamente de aptitude (del que como ya sabes, soy fan absoluta), te dejo mi guia de aptitude, donde encontraras alguna referencia a lo que buscas. quiza tambien necesites un poquito de scripting.  si es asi, y te lias, avisa. http://man-linux.comli.com/?p=201 *nota: tu hazle caso a neurus, que de esto sabe mas que yo. (y te lo digo yo  )
_________________ #446716
--Not me, guys. I read the Bash man page each day like a Jehovah's Witness reads the Bible. No wait, the Bash man page IS the bible. Excuse me... (from comp.os.linux.misc) [ DNFD ] - [ F4A ] - [ dotfiles ]
|
|
|
|
 |
doc

Forista Mayor
Registrado: Mié Ago 11, 2010 2:32 am Mensajes: 803
|
 Publicado: Lun Sep 26, 2011 12:51 pm |
|
estupendo, neurus, esto es lo que quería. Gracias. Unas preguntitas, antes de ponerle el 'solucionado': a ver, con Código: sudo dpkg --get-selections > lista.txt me he creado, en la raiz, el listado de toooodos los paquetes que tengo instalados. Como yo hago una instalación 'estandar' (nada de netinstall minimal y cosas de esas, no me gusta meterme en líos) la mayor parte de estos paquetes (y aplicaciones) se me instalarán 'por defecto'. Entonces (digo yo) si en ese archivo borro todo menos aquellas aplicaciones que se que las había tenido que instalar 'a posteriori' (del tipo de las que indiqué antes), obtendré una 'lista_restringida.txt' que si aplico lo que dices de 1º: cargar la lista en la nueva instalación: Código: sudo dpkg --set-selections < lista_restringida.txt 2º: instalar esos paquetes con Código: sudo apt-get install `cat lista_restringida.txt` se me instalarán ¿no? Pero tengo una pregunta derivada: veo que algunas aplicaciones tienen varios paquetes, por ejemplo... Código: avidemux install avidemux-common install avidemux-plugins install y me pregunto... ¿tengo que incluirlos todos, o con el primero basta, porque ya me buscará apt-get (¿o quizás mejor 'aptitude'?) las dependencias. (Lo digo porque si están juntos, vale, los identifico bien, pero si además avidemux necesita unas librerías que vete tu a saber que libxxxx son, me meto en un lío importante al confeccionar la 'lista_restringida.txt' ¿no?. (y otra idea colateral: si cargo y doy a instalar "la lista completa", lista.txt? donde la mayoría de los paquetes ya estarán instalados 'por defecto' (de la instalación 'estandar' que habré hecho de Debian)... ¿pasa algo por que se reinstalen? Bueno, Niky, ya veo que has aportado ideas, ahora las reviso, pero antes doy al 'Enviar' con mis dudas a las ideas de neurus. Y gracias igualmente.
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Sep 26, 2011 1:05 pm |
|
|
Fíjate que son dos métodos distintos. El primero, con dselect (el que utiliza --set-selections y --get-selections).
El otro, usando cat `lista.txt`, lo puedes usar tanto con apt-get como con aptitude, habiendo armado de antemano el archivo lista.txt. Es recomendable aptitude, por la resolución de dependencias (aunque con apt-get podrías obtener el mismo resultado, pero no viene al caso).
Por otra parte, en el primer método, a menos que haya paquetes que específicamente no quieras instalar, no tiene mucho sentido eliminar los ya instalados. Porque al hacer dpkg --set-selections < lista.txt ; simplemente le estás pasando al archivo status (/var/lib/dpkg/status , dale una mirada) el estado "install" a esa lista de paquetes. Como en la siguiente actualización, dpkg detectará que esos paquetes están instalados, pero al chequear las versiones detectará que los paquetes no están el en disco, lo que hará será descargar los archivos que faltan e instalarlos como si le hubieras ordenado instalar, directamente.
Por si no queda claro: los paquetes que realmente están instalados, no sufrirán cambios (o, a lo sumo, se actualizarán al hacer el upgrade, como siempre). Los paquetes que no están realmente instalados, pero a los cuales les has modificado el status mediante dpkg --set-selections <lista.tx, aparecerán como instalados sin estarlo. Para salvar esa incoherencia, en la siguiente actualización dselect los instala. Es el método recomendado por los desarrolladores para trasladar listas de paquetes de una instalación a otra.
De eso se trata la primera opción, que termina (acabo de editarlo para más claridad, en la línea de almohadillas).
Y si quieres armar la lista con --get-selections y luego utilizarla como lista "armada a mano", deberías quitarle el estado a los paquetes (install, deinstall...), para no sufrir errores con apt-get o aptitude. Así:
cat lista.txt|cut -f1 >nuevalista.txt
Esto último, aclaro, para el caso de que quieras usar esa lista con el método sudo aptitude -y install `cat nuevalista.txt`
Finalmente, sin ánimos de volverte loco, mira la guía de aptitude que te pasó Niky, porque está muy bien armada y puede darte alguna idea. Como esto es algo que realmente puede hacerse de muchísimas formas, no descartaría que se te ocurriera una alternativa no escrita aquí.
|
|
|
|
 |
niky45

Forista Ancestral
Registrado: Mié Abr 11, 2007 11:00 pm Mensajes: 8550 Ubicación: tras la pantalla (...)
|
 Publicado: Lun Sep 26, 2011 1:08 pm |
|
solcuion rapida a tu ultima pregunta: para instalar solo lo que no te instala un sistema base, instala uno, y crea una lista (imagino que habra una forma mas limpia de hacer esto, peor en fin.. voy con prisa). despues pasale un diff a las dos listas, y voila. tienes una lista con todo lo que has instalado tu. y si intentas instalar un paquete que ya esta instalado, lo mas probable es que no pase nada (aptritude dice que ya esta instalado y listo), pero si hay una nueva version (aka, si no tienes actualziado tu sistema). simplemente lo actualizara. (ESE paquete, no todo el sistema) *nota: hablo de aptitude. ni idea de como se comporta apt-get (igual, pero no se si actualizara) neurus escribió: Finalmente, sin ánimos de volverte loco, mira la guía de aptitude que te pasó Niky, porque está muy bien armada y puede darte alguna idea. Como esto es algo que realmente puede hacerse de muchísimas formas, no descartaría que se te ocurriera una alternativa no escrita aquí. whoa, gracias. 
_________________ #446716
--Not me, guys. I read the Bash man page each day like a Jehovah's Witness reads the Bible. No wait, the Bash man page IS the bible. Excuse me... (from comp.os.linux.misc) [ DNFD ] - [ F4A ] - [ dotfiles ]
|
|
|
|
 |
doc

Forista Mayor
Registrado: Mié Ago 11, 2010 2:32 am Mensajes: 803
|
 Publicado: Lun Sep 26, 2011 3:06 pm |
|
bueno pues mezclando las ideas de Niky y neurus, me he confeccionado esta 'lista_aplicaciones.txt' (Pregunta: ¿o hay que borrar eso de 'install'...? Código: alarm-clock install amule install amule-common install amule-utils install audacity install audacity-data install avidemux install avidemux-common install avidemux-plugins install avifile-divx-plugin install camorama install clamav install clamav-base install clamav-freshclam install computertemp install debian-multimedia-keyring install deborphan install devede install dvdauthor install easymp3gain-gtk install epiphany install epiphany-browser install epiphany-browser-data install epiphany-data install epiphany-extensions install ffmpeg install flashplugin-nonfree install fuse-utils install gnash install gnash-common install gnome-mastermind install gparted install gstreamer0.10-alsa install gstreamer0.10-ffmpeg install gstreamer0.10-fluendo-mp3 install gstreamer0.10-lame install gstreamer0.10-nice install gstreamer0.10-plugins-bad install gstreamer0.10-plugins-base install gstreamer0.10-plugins-good install gstreamer0.10-plugins-ugly install gstreamer0.10-pulseaudio install gstreamer0.10-tools install gstreamer0.10-x install gtkorphan install gzip install hardinfo install hddtemp install icedove install icedove-l10n-es-es install iceweasel install iceweasel-l10n-es-es install isomaster install klamav install lm-sensors install localepurge install locales install mediainfo-gui install mencoder install mp3gain install multisystem install nautilus-actions install nautilus-data install nautilus-gksu install nautilus-image-converter install nautilus-open-terminal install nautilus-sendto install nautilus-sendto-empathy install ntfs-3g install openshot install openshot-doc install openssh-blacklist install openssh-blacklist-extra install openssh-client install openssl install os-prober install oxygen-icon-theme install p7zip-full install p7zip-rar install pdfshuffler install pulseaudio install pulseaudio-esound-compat install pulseaudio-module-x11 install pulseaudio-utils install qbittorrent install screenlets install sensord install shotwell install soundconverter install startupmanager install stellarium install stellarium-data install sudo install unetbootin install unetbootin-translations install unzip install virtualbox-4.0 install w64codecs install entonces, 1º instalo mi debian testing (estandar, con el CD1 y una buena conexión a internet) 2º cargo la lista con Código: sudo dpkg --set-selections < lista_aplicaciones.txt 3º Mando que se instalen estas aplicaciones, con Código: sudo aptitude install `cat lista_aplicaciones.txt` (¿o es con sudo aptitude -y install `cat lista_aplicaciones.txt`...?) 4º ¿Y ya está...?  (bueno, supongo que todo será cuestión de probarlo... a ver si la próxima semana, que quedo más libre, me meto con ello)
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Sep 26, 2011 4:29 pm |
|
|
De nuevo: estás mezclando dos procedimientos diferentes.
1) Si cargas la lista con dpkg --set-selections <lista.txt, lo que sigue es sudo apt-get -y update && sudo apt-get -y dselect-upgrade (y probablemente debas instalar antes dselect).
2) Si, en cambio, prefieres hacerlo vía aptitude, entonces sí, le quitas "install": cat lista.txt|cut -f1 >nuevalista.txt. O mejor, por si acaso, también quitar los saltos de línea: tr \\n :blank: <nuevalista.txt > listaapt.txt.
Y ahora sí: aptitude -y install `cat listaapt.txt`
Insisto: son dos procedimientos diferentes. Tal como lo estás enunciando acá arriba, no funcionaría. O tal vez funcionaría a medias. La verdad es que no me atrevo a predecir el resultado con esa mezcla de comandos. O haces una cosa, o la otra. No la mitad de una y la mitad de otra.
Última edición por neurus el Lun Sep 26, 2011 4:44 pm, editado 1 vez en total
|
|
|
|
 |
EnriqueK

Forista Medio
Registrado: Sab Sep 15, 2007 11:00 pm Mensajes: 283
|
 Publicado: Lun Sep 26, 2011 4:41 pm |
|
|
Va a tomar a "install" como un paquete a instalar, esto va a causar una demora apreciable ya que verificará cada vez que encuentre a install , por lo que tienes que eliminarlos si es que quieres usar Aptitude. Yo aplico estos comandos para usarlo con Aptitude 1.- Creo la lista sin que figure install mediante dpkg --get-selections | grep -v deinstall | awk '{print $1}' > lista.txt 2.- Para instalar todavía no puedes usar sudo por no tenerlo instalado ni peor configurado por lo que su aptitude install $(cat lista.txt)
Además de lo anterior, puedes también emplear Synaptic
|
|
|
|
 |
doc

Forista Mayor
Registrado: Mié Ago 11, 2010 2:32 am Mensajes: 803
|
 Publicado: Lun Sep 26, 2011 4:55 pm |
|
en resumen (a ver si así ya lo voy entendiendo, y puedo copiarlo en mis 'Apuntes Tácticos') a) creo una lista de los paquetes instalados, con Código: su # dpkg --get-selections > lista.txt b) En esta lista, borro todo, excepto las aplicaciones que había instalado 'a posteriori' de la instalación básica de la distro. La llamo, por ejemplo, 'lista_aplicaciones.txt' Ahora tengo dos opciones c) opción A: con 'dpkg': 1.- 'cargo' la lista en la nueva instalación (también podría hacerlo con la 'lista.txt' inicial), con Código: su # dpkg --set-selections < lista_aplicaciones.txt 2.- instalo el paquete dselect (# apt-get install dselect) y 'ordeno' que se instalen/actualicen las aplicaciones cargadas, con Código: # apt-get -y update && apt-get -y dselect-upgrade (nota: ¿puede actual el 'sudo' que lleva dentro este mandato? d) opción B: con 'aptitude' 1.- borro, de la 'lista_aplicaciones.txt', los textos 'install' que salen, y la llamo, por ejemplo 'lista_apps.txt' con Código: # cat lista_aplicaciones.txt|cut -f1 >lista_apps.txt 2.- además, y por si acaso, le quito los saltos de linea a ese nuevo archivo, con Código: # tr \\n :blank: <lista_apps.txt > lista_apps2.txt 3.- Y, finalmente, 'ordeno' que se instalen, con Código: # aptitude -y install `cat lista_apps2.txt` Espero que mas o menos (y más bien 'mas') la cosa pueda funcionar así ¿no? NOTA: corregido lo del 'sudo install' del punto 3, según el post final de neurus
Última edición por doc el Lun Sep 26, 2011 6:32 pm, editado 1 vez en total
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Lun Sep 26, 2011 5:16 pm |
|
|
Exacto. En cuanto al segundo sudo, si vas a trabajar directamente como root, deberías borrarlo también, quedando así: # apt-get -y update && apt-get -y dselect-upgrade. En cuanto a borrar de la lista los paquetes ya instalados, puedes hacerlo si tienes ganas de trabajar extra. A fines prácticos, no hay diferencia.
Y te garantizo que así funciona, porque yo mismo lo utilizo en mis instalaciones. De hecho, tengo en mi correo de gmail varios archivos con listas de paquetes armadas de este modo, para instalaciones con distintos propósitos, para no tener que escribir, llegado el caso, cada uno de los paquetes que quiero instalar. Ser debianita es un camino sin retorno a la pereza consuetudinaria.
|
|
|
|
 |
doc

Forista Mayor
Registrado: Mié Ago 11, 2010 2:32 am Mensajes: 803
|
 Publicado: Lun Sep 26, 2011 5:50 pm |
|
|
bufff... bueno, pongo el [SOLUCIONADO]
Gracias a todos
|
|
|
|
 |
jdgr00

Ganador CSEL 2011
Registrado: Mar May 10, 2011 1:47 pm Mensajes: 183 Ubicación: Costa Rica
|
 Publicado: Lun Sep 26, 2011 11:14 pm |
|
|
Hola...estaba haciendo este experimento pero me lanza un errorcillo
hago la lista dpkg --get-selections | grep -v deinstall | awk '{print $1}' > lista
y la cargo dpkg --set-selections < lista Me dice: dpkg: error: unexpected end of line in package name at line 1
Solo si la hago así, sin quitar install ni saltos de línea no lanza ningun error sudo dpkg --get-selections > lista.txt sudo dpkg --set-selections < lista.txt
Ese error algo de que preocuparse o no?
_________________ LRU# 534303 Chakra http://dgtalinux.wordpress.com/
|
|
|
|
 |
EnriqueK

Forista Medio
Registrado: Sab Sep 15, 2007 11:00 pm Mensajes: 283
|
 Publicado: Mar Sep 27, 2011 12:59 am |
|
|
Realiza el siguiente experimento 1.- Ejecuta sudo dpkg --get-selections | grep -v deinstall | awk '{print $1}' > paq.txt
2.- Borra algunos paquetes, por ejemplo usando Synaptic
3.- Ejecuta sudo aptitude install $(cat paq.txt) Esta operación reinstalará los paquetes que has borrado en el paso 2.- El archivo paq.txt se creará en tu carpeta de usuario y la puedes abrir y verás que no figura ningún install, si quiers la puedes eliminar.
|
|
|
|
 |
neurus

Forista Distinguido
Registrado: Sab Oct 09, 2004 11:00 pm Mensajes: 1299
|
 Publicado: Mar Sep 27, 2011 4:23 am |
|
|
jdgr00; estás cometiendo el mismo error que doc. No tienes que quitarle los "install" si vas a pasarle la lista a dpkg.
Son dos procedimientos diferentes.
|
|
|
|
 |
|
|
|
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados
No puede abrir nuevos temas en este Foro No puede responder a temas en este Foro No puede editar sus mensajes en este Foro No puede borrar sus mensajes en este Foro No puede enviar adjuntos en este Foro
|
|