Generar una lista de aplicaciones de la instalación anterior para ejecutarla en la nueva instalación

8

Quiero cambiar de ubuntu-desktop 10.10 a ubuntu netbook edition 10.10 en mi netbook. Actualmente, en el momento en que ingreso a ubuntu desde mi red ad-hoc, ubuntu se congela. Siempre requiere un apagado en frío. Así que espero que la edición de netbook no tenga este problema. He instalado muchas aplicaciones personalizadas en la edición de escritorio. Por lo tanto, quiero guardar la lista de aplicaciones en un script y ejecutar el script en la nueva instalación, para que todas las aplicaciones se descarguen e instalen. Necesito sugerencias sobre la mejor manera de lograr esto.

nixnotwin
fuente
Cualquiera que piense en sugerir dpkg --get-selections: recuerde que hay un conjunto diferente de paquetes instalados por el sistema. Debería filtrar según las aplicaciones que se instalaron después del sistema base.
Oli
1
Las congelaciones probablemente estén relacionadas con los controladores kernel / xorg / X, es muy poco probable que cambiar el administrador de Windows lo arregle.
João Pinto
Además, la unidad en 10.10 es más "congelante" que cualquier otra cosa
Extender el
1
También consulte apt en cd si no desea tener que descargar nuevamente.
Jeremy el

Respuestas:

9

Ejecute este monstruo en su instalación existente, reemplace 12.04su versión de Ubuntu y i386con la arquitectura (i386 o amd64):

release_num='12.04'
arch='i386'

comm -23 \
    <(sort <(aptitude search '~i!~E' --disable-columns | grep -v "i A " | cut -d " " -f 3)) \
    <(sort <(wget -q -O- http://releases.ubuntu.com/maverick/ubuntu-${release_num}-desktop-${arch}.manifest | grep -E -o '^[^ ]+')) \
| sed 's/$/ install/g' > packages

Generará un archivo llamado packages. Copie esto en algún lugar de su nueva instalación y luego ejecute:

sudo apt-get update
sudo bash -c "cat packages | xargs apt-get -y install"

Nota: Esto compara los paquetes utilizados en el LiveCD con los actuales. En este momento hay algunos paquetes (gparted, btrfs-tools, etc.) que están en el CD que no están instalados. Si instaló gparted manualmente, también deberá reinstalarlo manualmente en la nueva máquina. Afortunadamente, esto solo se aplica a unos pocos paquetes, todos los cuales son fáciles de instalar si se da cuenta de que lo necesita.

Además, si usa PPA u otros repositorios, asegúrese de configurarlos en la nueva máquina antes de ejecutar esto.

Oli
fuente
Simplemente use el .manifest-desktop en su lugar. P.ej. gparted y btrfs-tools no son parte de la instalación predeterminada (solo están en el CD). Si ha instalado manualmente esos paquetes, no aparecerían en 'paquetes'.
htorque el
Es posible que desee canalizar las dos partes por orden, ya que 'comm' se quejó de que ambos archivos no estaban ordenados. IIUC esto debería tener el mismo 'problema' con los paquetes de la instalación predeterminada, que fueron marcados manualmente como 'instalados manualmente' (¿supongo que esa sería la tercera columna de 'comm'?).
htorque el
Donde .manifest-desktopvive Estoy a punto de editar para agregar ordenamiento. Ellos parecían ordenados, así que no creo que tenía que hacerlo, pero al parecer no. Buena atrapada. Para ser justos conmigo, escribí esta publicación desde la cama en mi teléfono usando un desagradable teclado de 15 mm * 100 mm. ;)
Oli
Esa es la desventaja: no parece estar disponible en línea como ese archivo .manifest. : - / En el CD está en la carpeta 'casper'.
htorque el
He tenido una búsqueda y no puedo encontrar una versión reciente. Creo que usar una versión anterior es igual de dañino y descargar el ISO solo para extraerlo es un desperdicio de energía. Creo que eso solo tiene que ser una advertencia de este proceso. Es posible que tenga que instalar manualmente algunos paquetes que tenía antes, pero esto hará la mayoría de ellos.
Oli
7

Sugiero usar oneconf Instalar oneconf

Se integra bastante bien con el Centro de software y hace lo que desea.

Chipaca
fuente
¿Oneconf está listo para ser utilizado por usuarios habituales?
Decio Lira
Los usuarios habituales probablemente puedan usarlo, pero aún no lo amarán; necesita mucho amor antes de que ese sea el caso. Sin embargo es útil.
Chipaca
6

Creo que otros han respondido a la parte técnica de su pregunta, me gustaría responder a la pregunta implícita: "pasará a Unity para solucionar este problema ssh", y la respuesta es que me temo que lo dudo. Las sesiones de shell remotas generalmente no ejercen Unity o el escritorio. Si puede hacer un ssh bien en su escritorio desde una red cableada, pero no desde una red ad-hoc, la congelación probablemente esté relacionada con sus controladores inalámbricos y no con la carcasa del escritorio.

Mark Shuttleworth
fuente
Respaldo esto: dado que la edición de netbook y la edición de escritorio usan casi todos los mismos controladores / paquetes, es poco probable que la reinstalación resuelva algo. Mejor diagnosticar problemas de red en su lugar.
ImaginaryRobots
Mark, sí, parece que es un problema del controlador. Pero en casos raros también ha sucedido mientras estaba en una red cableada. Debería intentar apagar la tarjeta e intentarlo.
nixnotwin
1

Hay un archivo llamado 'filesystem.manifest-desktop' en la carpeta 'casper' en el CD (o extráigalo del archivo ISO). Contiene todos los paquetes que se instalan, menos los que se descargan durante la instalación (¿actualizaciones, langpacks?).

Entonces, algo como esto debería darle la lista de paquetes agregados y eliminados:

dpkg --get-selections | awk '{print $1}' > now.txt
awk '{print $1}' filesystem.manifest-desktop > then.txt
diff -u then.txt now.txt | grep '^+' | sed 's/^+//' | grep -v '^+' > add.txt
diff -u then.txt now.txt | grep '^-' | sed 's/^-//' | grep -v '^-' > rem.txt

Luego puede instalar a través de:

cat added.log | xargs sudo apt-get install

(Debe asegurarse de que todos esos paquetes estén disponibles, de lo contrario, ese comando fallará).

htorque
fuente
1
¿Esto hará que los paquetes actuales instalados automáticamente se instalen manualmente en el nuevo sistema?
Oli
Parece que mi 'add.txt' contiene los mismos paquetes que sus 'paquetes', así que supongo que no. Sin embargo, lo que esto no puede hacer es configurar los paquetes de la instalación como 'instalados manualmente', si lo hizo en el sistema actual.
htorque el
2
He robado su método de reinstalación, pero debe tener en cuenta que xargs puede dividir las cosas en múltiples comandos si hay muchos argumentos. Dado el tiempo que puede transcurrir entre la descarga del primer lote y el segundo, sudo probablemente caducará. Por eso envolví el mío en un sudo bash -c "...".
Oli
Heh, en realidad pensé que su modo de instalación era mejor porque dselect mostraría explícitamente paquetes que no pueden instalarse (PPA desconocidos, .debs de terceros), por lo que podría desmarcarlos. Con apt es todo o nada.
htorque el