¿Cómo enumerar las aplicaciones instaladas por el usuario (no los paquetes)?
28
No paquetes y no todas las aplicaciones. Solo las aplicaciones instaladas por el usuario desde cualquier fuente (Centro de software, PPA agregado manualmente, etc.).
Si lo anterior no es posible, una lista de todas las aplicaciones instaladas o al menos una GUI que enumera las aplicaciones para que pueda tomar capturas de pantalla.
He leído una docena de preguntas similares y las personas que publican respuestas generalmente ni siquiera se acercan al mérito de la pregunta OP. Tenga en cuenta que mi pregunta incluye 'usuario instalado'.
Respuesta: Actualmente no es posible en Ubuntu Linux. (eligiendo la respuesta de tijybba como la más cercana)
[Dado que este método implica instalar todos los paquetes, pero si pensamos que el SO recién instalado ya tendrá esos paquetes del 90%, entonces ignorará los actuales e instalará los nuevos agregados manualmente, que serán solo sus aplicaciones instaladas manualmente]
generará una lista de aplicaciones instaladas en el archivo txt en la carpeta de inicio.
Para usar este archivo para instalar las mismas aplicaciones que tendrá que hacer (pero antes de esto, agregue también todos los repositorios de terceros como estaba presente en uno anterior)
No se puede agregar PPA: 'ppa: ~ webupd8team / ubuntu / mintbackup'. El equipo llamado '~ webupd8team' no tiene PPA llamado 'ubuntu / mintbackup'
alhelal
dpkg: advertencia: el paquete no está en estado ni la base de datos disponible en la línea 1574: wireshark, etc. para todas las aplicaciones.
alhelal
11
apt-mark showmanualle dará una lista de paquetes "instalados manualmente". Esto incluye los paquetes instalados por el instalador, que es la mayoría de ellos. Pero si ejecuta esto después de la instalación y compara el resultado nuevamente más tarde, obtendrá una lista de paquetes que el usuario ha solicitado específicamente, excluyendo las dependencias instaladas automáticamente.
Por ejemplo:
$ # 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
Tenga en cuenta que las aplicaciones son paquetes en lo que respecta a Software Center y PPA añadidos manualmente. Creo que lo mejor que puede hacer es diferenciar entre paquetes solicitados específicamente y paquetes traídos para satisfacer dependencias.
O simplemente para ver una lista de todos los paquetes instalados, ejecute dpkg-query -W -f'${PackageSpec}\n'.
Puedes reformular mi pregunta como quieras a menos que el significado original permanezca. Si se llama 'aplicaciones instaladas de sudoers', que así sea :) Naturalmente, podría reformular mi pregunta a 'Cómo enumerar las aplicaciones instaladas después de la instalación del sistema'. "y puede obtener la lista de los paquetes instalados" - ¿para qué?
Bucic
+1 para / var / log / apt. Si ha instalado todo con apt-get, la búsqueda de 'Línea de comando:' en este registro le brinda una buena lista de cosas que instaló manualmente.
drevicko
1
En realidad, según su pregunta, veo que este siguiente comando hace lo que necesita dpkg -l | grep ii. Esto enumeró todos los paquetes instalados como debería para mí. Ahora no dice usuario A o usuario B, pero nuevamente esto es una limitación no de sudo sino de los registros del centro de software. INCLUSO usando sudo, se pasa al usuario que llamó a sudo para que aún pueda tener cualquier registro de aplicación que llamó a sudo para ejecutar un comando. Ahora, por supuesto, puede solucionar esto con bastante facilidad porque parte de sudo es la capacidad de iniciar sesión como cualquier usuario [que tenga acceso a sudo] si conoce su contraseña, la piratea o la cambia si tiene esos derechos en el sistema.
Si le preocupa lo que un usuario ha instalado ya que puede ponerlo a usted o su sistema en riesgo, es posible que desee revisar por qué le dio acceso a sudo y, junto con eso, la capacidad de instalar paquetes, pero eso es solo una nota al margen.
Tengo la sensación de que se pregunta qué paquetes ha instalado desde la instalación del sistema para que pueda limpiar o duplicar la configuración en una nueva máquina. Las respuestas aquí ya cubren la copia de seguridad / restauración, por lo que nos saltaremos eso.
Dado que no existe una manera sencilla y directa de encontrar qué usuario llamó a la instalación de un paquete, un mejor enfoque puede ser utilizar el comando como se enumeró anteriormente y por otro usuario para enumerar todos los paquetes instalados y tener una ventana del navegador abierta a Google y ejecutar Google buscó para averiguar qué paquetes son necesarios para mantener su sistema operativo y cuáles no.
Vaya aquí para omitir la mayor parte de la pelusa y obtener la respuesta más directamente ...
También puede revisar los registros de sudoers para ver quién solicitó la instalación de lo que me permite dar una línea de ejemplo
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)
Entonces esto me dice en este momento y fecha que este usuario solicitó un sudo [en realidad en este caso se usó gksu por cierto], ¡qué usuario sudo les permitió tener permisos y el gran comando que ejecutaron!
Ahora, si tuviera que buscar apt-get o similar en el sudo log [/var/log/auth.log] y los más antiguos tendrán .0 .1, etc., agregados al final.
Podrías unir las instalaciones que el usuario solicitó en la línea de comandos. Si usaron el centro de software, no estoy seguro de si el comando de terminal relevante obtendría una línea de autenticación aquí, pero puede usar los registros del centro de software que se encuentran en:
/var/log/apt/history.log y los registros anteriores están en archivos comprimidos .gz
Ahora, el registro del centro de software no proporciona al usuario que autenticó las instalaciones hasta donde yo he visto dentro de ese registro, pero enumera CADA adición, modificación o eliminación de las funciones del centro de software. Una vez más, este registro también tiene marcas de fecha y hora, así que es lo suficientemente fácil como para encontrar espacios después de la instalación del sistema base, vaya al registro más antiguo, vaya al principio o si recuerda la fecha y hora de cuando se completó la instalación base y está listo para comenzar.
Ambos archivos de registro mencionados están en texto sin formato y puede usar cualquier gedit, mousepad, leafpad, sea cual sea el editor de texto que su sabor Ubuntu usa para que los vea o imprima por defecto.
apt-mark showmanual
le dará una lista de paquetes "instalados manualmente". Esto incluye los paquetes instalados por el instalador, que es la mayoría de ellos. Pero si ejecuta esto después de la instalación y compara el resultado nuevamente más tarde, obtendrá una lista de paquetes que el usuario ha solicitado específicamente, excluyendo las dependencias instaladas automáticamente.Por ejemplo:
Tenga en cuenta que las aplicaciones son paquetes en lo que respecta a Software Center y PPA añadidos manualmente. Creo que lo mejor que puede hacer es diferenciar entre paquetes solicitados específicamente y paquetes traídos para satisfacer dependencias.
O simplemente para ver una lista de todos los paquetes instalados, ejecute
dpkg-query -W -f'${PackageSpec}\n'
.fuente
solo root puede instalar paquetes en Ubuntu, el usuario que puede hacer eso es solo 1, los sudoers son solo usuarios con derechos equivalentes.
Sin embargo, puede obtener mucha información mirando los registros, puede mirar
el registro apt debajo
/var/log/apt/
del registro dpkg debajo/var/log/
y puede obtener la lista de los paquetes instalados con solo un comando:
fuente
En realidad, según su pregunta, veo que este siguiente comando hace lo que necesita dpkg -l | grep ii. Esto enumeró todos los paquetes instalados como debería para mí. Ahora no dice usuario A o usuario B, pero nuevamente esto es una limitación no de sudo sino de los registros del centro de software. INCLUSO usando sudo, se pasa al usuario que llamó a sudo para que aún pueda tener cualquier registro de aplicación que llamó a sudo para ejecutar un comando. Ahora, por supuesto, puede solucionar esto con bastante facilidad porque parte de sudo es la capacidad de iniciar sesión como cualquier usuario [que tenga acceso a sudo] si conoce su contraseña, la piratea o la cambia si tiene esos derechos en el sistema.
Si le preocupa lo que un usuario ha instalado ya que puede ponerlo a usted o su sistema en riesgo, es posible que desee revisar por qué le dio acceso a sudo y, junto con eso, la capacidad de instalar paquetes, pero eso es solo una nota al margen.
Tengo la sensación de que se pregunta qué paquetes ha instalado desde la instalación del sistema para que pueda limpiar o duplicar la configuración en una nueva máquina. Las respuestas aquí ya cubren la copia de seguridad / restauración, por lo que nos saltaremos eso.
Dado que no existe una manera sencilla y directa de encontrar qué usuario llamó a la instalación de un paquete, un mejor enfoque puede ser utilizar el comando como se enumeró anteriormente y por otro usuario para enumerar todos los paquetes instalados y tener una ventana del navegador abierta a Google y ejecutar Google buscó para averiguar qué paquetes son necesarios para mantener su sistema operativo y cuáles no.
Vaya aquí para omitir la mayor parte de la pelusa y obtener la respuesta más directamente ...
También puede revisar los registros de sudoers para ver quién solicitó la instalación de lo que me permite dar una línea de ejemplo
Entonces esto me dice en este momento y fecha que este usuario solicitó un sudo [en realidad en este caso se usó gksu por cierto], ¡qué usuario sudo les permitió tener permisos y el gran comando que ejecutaron!
Ahora, si tuviera que buscar apt-get o similar en el sudo log [/var/log/auth.log] y los más antiguos tendrán .0 .1, etc., agregados al final.
Podrías unir las instalaciones que el usuario solicitó en la línea de comandos. Si usaron el centro de software, no estoy seguro de si el comando de terminal relevante obtendría una línea de autenticación aquí, pero puede usar los registros del centro de software que se encuentran en:
/var/log/apt/history.log y los registros anteriores están en archivos comprimidos .gz
Ahora, el registro del centro de software no proporciona al usuario que autenticó las instalaciones hasta donde yo he visto dentro de ese registro, pero enumera CADA adición, modificación o eliminación de las funciones del centro de software. Una vez más, este registro también tiene marcas de fecha y hora, así que es lo suficientemente fácil como para encontrar espacios después de la instalación del sistema base, vaya al registro más antiguo, vaya al principio o si recuerda la fecha y hora de cuando se completó la instalación base y está listo para comenzar.
Ambos archivos de registro mencionados están en texto sin formato y puede usar cualquier gedit, mousepad, leafpad, sea cual sea el editor de texto que su sabor Ubuntu usa para que los vea o imprima por defecto.
fuente