web-dev-qa-db-fra.com

Comment lister les applications installées par l'utilisateur (pas les packages)?

Pas les paquets et pas toutes les applications. Juste les applications utilisateur installées par lui-même, quelle que soit leur source (Software Center, PPA ajouté manuellement, etc.).

Si ce qui précède n'est pas possible - une liste de toutes les applications installées ou au moins une interface graphique qui répertorie les applications afin que je puisse prendre des captures d'écran de celle-ci.

J'ai lu une douzaine de questions similaires et les personnes qui publient des réponses ne se rapprochent généralement pas du principe de la question OP. S'il vous plaît noter que ma question comprend "utilisateur installé".

Réponse: Ce n’est actuellement pas possible sous Ubuntu Linux. (en choisissant la réponse de tijybba comme la plus proche cependant)

28
Bucic

Vous pouvez réellement utiliser le Ubuntu Software Center , comme indiqué sur la capture d'écran ci-dessous:

Ubuntu Software Center: "Installed"-menu

Vous pouvez également le voir dans les sélections de la liste en bas à gauche de Synaptic.

En cd /etc/apt/sources.list.d/ && cat *.list, vous obtiendrez la liste de tous les référentiels de votre système.

Vous pouvez également vous Y PPA manager pour sauvegarder et mettre à jour vos référentiels.


Deuxième méthode

[Étant donné que cette méthode implique l'installation de tous les packages, mais si nous pensons qu'un système d'exploitation nouvellement installé aura déjà ces packages à 90%, il ignorera donc les packages actuels et installera les nouveaux packages ajoutés manuellement, qui ne seront que vos applications installées manuellement]

Cette méthode de ici .

Sudo dpkg --get-selections > installed-applications.txt

il générera une liste des applications installées dans un fichier txt du dossier de départ.

Pour utiliser ce fichier et installer les mêmes applications, vous devrez le faire (mais auparavant, veuillez également ajouter tous les référentiels tiers présents dans l'ancien. )

Sudo dpkg --set-selections < installed-applications.txt
Sudo apt-get -y update
Sudo apt-get dselect-upgrade

Ceci est également possible via Gui

Sudo add-apt-repository ppa:webupd8team/mintbackup && Sudo apt-get update
Sudo apt-get install mintbackup

enter image description here

Je suppose que l’image parle presque elle-même, sauvegardez votre sélection, puis restaurez-la dans Nouvelle installation.

29
atenz

apt-mark showmanual vous donnera une liste de paquets "installés manuellement". Cela inclut les packages installés par le programme d'installation, qui est la plupart d'entre eux. Mais si vous exécutez ceci après l'installation et comparez la sortie ultérieurement, vous obtiendrez une liste des packages que l'utilisateur a spécifiquement demandés, à l'exclusion des dépendances installées automatiquement.

Par exemple:

$ # Save the current list of manually installed packages
$ apt-mark showmanual | sort > original-package-list

# ...time passes...

$ # Compare the old list with the current list
$ # (this will output a list of packages that have been installed by the user since the last command)
$ apt-mark showmanual | sort | comm -13 - original-package-list

Notez que les applications sont paquets en ce qui concerne Software Center et les PPA ajoutés manuellement sont concernés. Faire la différence entre les paquets spécifiquement demandés et les paquets importés pour satisfaire les dépendances est, à mon avis, le mieux que vous puissiez faire.

Ou pour simplement voir la liste de tous les packages installés, exécutez dpkg-query -W -f'${PackageSpec}\n'.

10
Robie Basak

seul root peut installer des paquets sous Ubuntu, l'utilisateur qui le fait est seulement 1, les sudoers sont juste des utilisateurs avec des droits équivalents.

Cependant, vous pouvez obtenir beaucoup d’informations en consultant les journaux, vous pouvez consulter:

le journal apt sous /var/log/apt/ le journal dpkg sous /var/log/

et vous pouvez obtenir la liste des paquets installés avec juste une commande:

dpkg -l | grep ii
2
user827992

En fait, d'après votre question, je vois que cette commande suivante fait ce dont vous avez besoin dpkg -l | grep ii. Ceci listait chaque paquet installé comme il se doit pour moi. Maintenant, il ne dit pas utilisateur A ou utilisateur B, mais là encore, il s’agit d’une limitation non pas de Sudo mais des journaux du centre logiciel. MÊME en utilisant Sudo, l'utilisateur qui a appelé Sudo est passé, de sorte que vous pouvez toujours avoir un journal d'application qui a appelé Sudo pour exécuter une commande. Maintenant, bien sûr, vous pouvez contourner cela assez facilement, car une partie de Sudo consiste en la possibilité de se connecter en tant qu’utilisateur [qui a accès à Sudo] si vous connaissez son mot de passe, le piratez ou modifiez-le si vous disposez de ces droits sur le système.

Si vous êtes préoccupé par les informations qu'un utilisateur a installées dans le sens où cela pourrait vous mettre en danger, vous ou votre système, vous voudrez peut-être expliquer pourquoi vous leur avez donné accès à Sudo et, avec cela, la possibilité d'installer des packages, mais ce n'est qu'une note de côté.

J'ai l'impression que vous demandez vous-même quels paquets vous avez installés depuis l'installation du système afin que vous puissiez nettoyer ou mettre en miroir la configuration sur une nouvelle machine. Les réponses ici couvrent déjà la sauvegarde/restauration, nous allons donc l'ignorer.

Dans la mesure où il n’existe pas de solution simple permettant de déterminer quel utilisateur a appelé l’installation d’un package, une meilleure approche consiste à utiliser la commande décrite ci-dessus et par un autre utilisateur pour répertorier tous les packages installés et disposer d’une fenêtre de navigateur ouverte à Google et exécutée. Google a effectué une recherche pour déterminer quels packages sont nécessaires pour maintenir votre système opérationnel et lesquels ne le sont pas.

Passez à ici pour sauter la plupart des peluches et obtenir la réponse plus directement ...

Vous pouvez également consulter les journaux de votre sudoers pour savoir qui a appelé à l’installation. Laissez-moi vous donner un exemple de ligne.

May 15 11:26:30 <COMPUTERNAME> Sudo:   <user who called Sudo> : TTY=unknown ; PWD=/home/pariah (pwd file or auth method used to verify user) ; USER=root (User they were running as) ; COMMAND=/usr/bin/thunar (the command they ran)

Donc, cela me dit à cette heure et à cette date que cet utilisateur a demandé un Sudo [en fait, dans ce cas, gksu a été utilisé par ailleurs], quel utilisateur Sudo leur a laissé des autorisations en tant que tel et la commande la plus grande qu'ils ont exécutée!

Maintenant, si vous deviez utiliser grep pour apt-get ou similaire dans le journal Sudo [/var/log/auth.log] et les versions antérieures, les fichiers .0, 1, etc. seront ajoutés à la fin.

Vous pouvez assembler ce qui installe l'utilisateur appelé sur la ligne de commande elle-même. S'ils ont utilisé le centre de logiciels, je ne suis pas sûr que la commande de terminal appropriée obtienne une ligne d'authentification ici, mais vous devez utiliser les journaux du centre de logiciels disponibles à l'adresse:

/var/log/apt/history.log et les anciens journaux sont dans des archives compressées .gz

À présent, le journal du centre logiciel ne fournit pas à l'utilisateur qui a autorisé les installations, dans la mesure où je l'ai jamais vu dans ce journal, mais il répertorie CHAQUE ajout, modification ou suppression effectué par le centre logiciel. Encore une fois, ce journal contient également des horodatages et des horodatages. Il est donc assez facile de trouver des ackages après l’installation du système de base.

Les deux fichiers journaux mentionnés sont en texte brut et vous pouvez utiliser n’importe quel éditeur de texte utilisé par gedit, mousepad, leafpad, quel que soit l’éditeur de texte utilisé par votre saveur Ubuntu.

1
Pariah