Génération d'une liste d'applications à partir de l'ancienne installation pour l'exécuter sur la nouvelle installation

8

Je veux passer d'ubuntu-desktop 10.10 à ubuntu netbook edition 10.10 sur mon netbook. Actuellement, au moment où je me connecte à Ubuntu depuis mon réseau ad-hoc, Ubuntu se bloque. Cela nécessite toujours un arrêt à froid. En espérant donc que l'édition netbook ne rencontre pas ce problème. J'ai installé de nombreuses applications personnalisées sur l'édition de bureau. Je veux donc enregistrer la liste des applications dans un script et exécuter le script sur la nouvelle installation, afin que toutes les applications soient téléchargées et installées. J'ai besoin de suggestions sur la meilleure façon d'y parvenir.

nixnotwin
la source
Quiconque pense à suggérer dpkg --get-selections: rappelez-vous qu'il existe un ensemble différent de packages installés par le système. Vous devez filtrer en fonction des applications installées après le système de base.
Oli
1
Les gels sont très probablement liés aux pilotes kernel / xorg / X, il est très peu probable que le changement du gestionnaire de fenêtres le corrige.
João Pinto
De plus, l'unité en 10.10 est plus "gelée" qu'autre chose
Extender
1
Consultez également apt sur cd si vous ne voulez pas avoir à télécharger à nouveau.
Jeremy

Réponses:

9

Exécutez ce monstre sur votre installation existante, remplacez 12.04votre version d'Ubuntu et i386avec l'architecture (i386 ou 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

Il générera un fichier appelé packages. Copiez-le quelque part dans votre nouvelle installation, puis exécutez:

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

Remarque: Ceci compare les packages utilisés sur le LiveCD avec ceux actuels. Pour le moment, il y a quelques packages (gparted, btrfs-tools, etc.) sur le CD qui ne sont pas installés. Si vous avez installé gparted manuellement, vous devrez également le réinstaller sur la nouvelle machine manuellement. Heureusement, cela ne s'applique qu'à quelques packages, qui sont tous simples à installer si / quand vous vous rendez compte que vous en avez besoin.

De plus, si vous utilisez des PPA ou d'autres référentiels, assurez-vous de les configurer sur la nouvelle machine avant de l'exécuter.

Oli
la source
Utilisez simplement le .manifest-desktop à la place. Par exemple. gparted et btrfs-tools ne font pas partie de l'installation par défaut (ils sont juste sur le CD). Si vous avez installé manuellement ces packages, ils n'apparaîtront pas dans les «packages».
htorque
Vous voudrez peut-être diriger les deux parties par tri, car «comm» se plaignait que les deux fichiers n'étaient pas triés. IIUC cela devrait avoir le même «problème» avec les packages de l'installation par défaut, qui ont été marqués manuellement comme «installés manuellement» (je suppose que ce serait la 3ème colonne de «comm»?).
htorque
.manifest-desktopvit-il? Je suis sur le point de modifier pour ajouter le tri. Ils avaient l'air triés donc je ne pensais pas que je devais le faire mais apparemment pas. Bonne prise. En toute honnêteté pour moi, j'ai tapé ce message depuis le lit sur mon téléphone à l'aide d'un petit clavier méchant de 15 mm * 100 mm. ;)
Oli
C'est l'inconvénient - il ne semble pas être disponible en ligne comme ce fichier .manifest. : - / Sur le CD, c'est dans le dossier 'casper'.
htorque
J'ai fait une chasse et je ne trouve pas de version récente. Je pense qu'utiliser une ancienne version est tout aussi dommageable et télécharger l'ISO juste pour l'extraire est un gaspillage d'énergie. Je pense que cela doit juste être une mise en garde de ce processus. Vous devrez peut-être installer manuellement quelques packages que vous aviez auparavant, mais cela fera la plupart d'entre eux.
Oli
7

Je suggère d'utiliser oneconf Installer oneconf

Il s'intègre plutôt bien au Software Center et fait ce que vous voulez.

Chipaca
la source
Oneconf est-il prêt à être utilisé par les utilisateurs réguliers?
Decio Lira
Les utilisateurs réguliers peuvent probablement l'utiliser, mais ne l'aimeront pas encore; il a besoin de beaucoup d'amour avant que ce soit le cas. C'est néanmoins utile.
Chipaca
6

Je pense que d'autres ont répondu à la partie technique de votre question, je voudrais répondre à la question implicite - "le passage à Unity résoudra-t-il ce problème ssh", et la réponse est que j'ai peur d'en douter. Les sessions shell distantes n'exercent généralement pas Unity ou le bureau. Si vous pouvez très bien vous connecter à votre bureau à partir d'un réseau câblé, mais pas à partir d'un réseau ad hoc, le gel est probablement lié à vos pilotes sans fil et non au shell du bureau.

Mark Shuttleworth
la source
J'appuie ceci - puisque l'édition netbook et l'édition de bureau utilisent presque tous les mêmes pilotes / packages, il est peu probable que la réinstallation résout quoi que ce soit. Mieux vaut plutôt diagnostiquer les problèmes de réseau.
ImaginaryRobots
Mark, oui, il semble que ce soit un problème de pilote. Mais dans de rares cas, cela s'est également produit sur un réseau câblé. Je devrais essayer d'éteindre la carte et d'essayer.
nixnotwin
1

Il y a un fichier appelé 'filesystem.manifest-desktop' dans le dossier 'casper' sur le CD (ou extrayez-le du fichier ISO). Il contient tous les packages qui sont installés, moins ceux téléchargés lors de l'installation (mises à jour, langpacks?).

Donc, quelque chose comme ça devrait vous donner la liste des packages ajoutés et supprimés:

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

Vous pouvez ensuite installer via:

cat added.log | xargs sudo apt-get install

(Vous devez vous assurer que tous ces packages sont disponibles, sinon cette commande échouera.)

htorque
la source
1
Cela fera-t-il que les packages actuels installés automatiquement seront installés manuellement sur le nouveau système?
Oli
Il semble que mon «add.txt» contienne les mêmes packages que vos «packages», donc je suppose que non. Cependant, ce que cela échoue, c'est de définir les packages de l'installation sur «installés manuellement», si vous l'avez fait sur le système actuel.
htorque
2
J'ai volé votre méthode de réinstallation mais vous devez noter que les xargs peuvent diviser les choses en plusieurs commandes s'il y a beaucoup d'arguments. Étant donné le temps qui pourrait s'écouler entre le téléchargement du premier lot et du second, sudo expirerait probablement. C'est pourquoi j'ai enveloppé le mien dans un sudo bash -c "...".
Oli
Hé, en fait, je pensais que votre mode d'installation était meilleur car dselect afficherait explicitement les packages qui ne peuvent pas être installés (PPA inconnus, .debs tiers), vous pouvez donc les décocher. Avec apt c'est tout ou rien.
htorque