Est-il possible d'obtenir une liste de tous les packages installés par l'utilisateur sur un système Ubuntu, c'est-à-dire les packages installés par-dessus les packages installés par défaut?
(L'idée est d'obtenir une liste complète pouvant être utilisée pour installer les mêmes packages sur une nouvelle installation Ubuntu)
ubuntu
package-management
Rabarberski
la source
la source
Juste pour les sourires, j'ai assemblé un one-liner (scindé ici pour plus de clarté) qui décrit les paquets installés manuellement , à l'exception de ceux installés initialement et de tous les paquets installés automatiquement:
Cela fonctionne à la fois dans
bash
et danszsh
.la source
libtiff
,libxcb
etc. que je n'ai pas installés moi-même. Cette réponse: superuser.com/a/105000/24349 s’occupe de cela en triant en fonction du temps d’installation et en supprimant tout avant le temps d’installation du système. Super (ab) utilisation de shell!Sur la base des informations ci-dessus, j'ai écrit un court script Python pour répertorier les packages installés manuellement. Voir ce lien .
N'hésitez pas à l'utiliser, bien que je n'en assume aucune responsabilité. Cependant, les commentaires et les suggestions sont toujours les bienvenus.
la source
Vérifiez ma réponse ici à une question connexe: Comment puis-je afficher la liste de tous les paquets installés sur mon système Debian? . Certaines des autres réponses à la question contiennent également de bonnes suggestions pour obtenir une telle liste.
Cette question devrait faire l’objet d’un doublon, car la question précédente couvrait également cette question, mais il serait peut-être utile de la poser toute seule afin qu’elle soit plus facile à trouver.
la source
en supposant que vous ayez un historique cohérent et utilisiez aptitude:
history | grep -e "^..... aptitude install"
ne listerait que les paquets que vous avez installés avec aptitude install ... duh
la source
C'est un travail de bidouille, mais cela fonctionne complètement.
Tout d’abord, allez à http://releases.ubuntu.com/maverick/ (ou quelle que soit la version d’Ubuntu que vous utilisez) et récupérez le fichier
*.manifest file
associé à la version d’Ubuntu que vous utilisez.Ensuite, exécutez le script suivant (en remplaçant
<manifest file>
, les chevrons, etc.) par le chemin du fichier que vous avez téléchargé. Vous pouvez toujours ajouter un complément> output
à la fin pour créer un vidage de fichier.la source
Merci geekosaur, beau code. Je l'ai utilisé, mais il a fallu un certain temps pour comprendre comment le faire fonctionner. Voici comment je l'ai fait dans Ubuntu 11.10: cela fonctionne dans le terminal bash:
Ensuite, pour ajouter un onglet
\t
- etinstall
sur chaque ligne:Puis sur la nouvelle machine:
Et pour installer les packages:
la source
Pour ce faire, vous pouvez également déterminer ce qui a été installé en fonction de vos "tâches", qui déterminent les packages de base à installer en fonction de vos besoins initiaux.
À tout le moins, vous l'auriez
server
. Cependant, vous pouvez choisir d’en avoir plus. Pour chacune des tâches que vous avez installées, vous pouvez obtenir une liste des packages installés à l'aide de la commande suivante, le tout sur une seule ligne (par souci de clarté) pour ceux que j'ai choisis dans mon installation:Une approche générique de ce qui précède serait:
Maintenant, utilisez
apt-cache depends --installed -i --recurse <packagename> | grep -v "^ "
pour obtenir une liste des dépendances utilisées par tous les packages définis dans la tâche. Ceci peut être fait en une ligne comme suitLa liste suivante répertorie tous les packages installés sur votre système (sans compter les dépendances).
Maintenant, utilisez la
comm
commande pour trouver ceux qui ne figurent que dans la deuxième liste (c.-à-d. Ignorez ceux qui se trouvent dans les deux fichiers et uniquement dans le premier fichier)la source