¿Logger de instalación?

Hola compañeros,

Hace poco creé otro hilo con unas consultas para Ubuntu Server que ya tengo resueltas y en tener un poco de tiempo explicaré lo que me pasó y como lo resolví, por si alguien necesita de esa ayuda.

Mi nueva pregunta es la siguiente: ¿Existe algún programa para Fedora que me permita hacer un logger de una instalación de otro programa? No se si me explico bien. Lo que quiero es un programa que me cree en un documento de texto plano o similar con todos los pasos que realiza otro programa mientras se instala. Donde guarda archivos y que modifica. Igual es una tontería y no existe pero bueno, es más que nada por saber si podría contar con algo así.

Saludos.
Buenas

No se si lo pillo bien, ¿estamos hablando de instalación por fichero RPM, compilándolo a mano, etc...?

Si es por RPM/YUM, el propio comando de rpm te "explica" que hace, o que contiene, el propio paquete. Si tienes descargado el paquete, por ejemplo, subsonic, puedes ejecutar algo como:

rpm -qlp subsonic-4.6.rpm
/etc/init.d/subsonic
/etc/sysconfig/subsonic
/usr/share/subsonic/subsonic-booter-jar-with-dependencies.jar
/usr/share/subsonic/subsonic.sh
/usr/share/subsonic/subsonic.war
/var/subsonic/transcode/ffmpeg
/var/subsonic/transcode/lame


Esto lista los archivos y directorios que se instalarán tras hacer la instalación. También puedes consultar el comando:

rpm -qp --scripts subsonic-4.6.rpm
preinstall scriptlet (using /bin/sh):
# Stop Subsonic service.
if [ -e /etc/init.d/subsonic ]; then
  service subsonic stop
fi

exit 0
postinstall scriptlet (using /bin/sh):
ln -sf /usr/share/subsonic/subsonic.sh /usr/bin/subsonic
chmod 750 /var/subsonic

# Clear jetty cache.
rm -rf /var/subsonic/jetty

# For SELinux: Set security context
chcon -t java_exec_t /etc/init.d/subsonic 2>/dev/null

# Configure and start Subsonic service.
chkconfig --add subsonic
service subsonic start

exit 0
preuninstall scriptlet (using /bin/sh):
# Only do it if uninstalling, not upgrading.
if [ $1 = 0 ] ; then

  # Stop the service.
  [ -e /etc/init.d/subsonic ] && service subsonic stop

  # Remove symlink.
  rm -f /usr/bin/subsonic

  # Remove startup scripts.
  chkconfig --del subsonic

fi

exit 0


Esto muestra el script que realiza en la instalación o la desinstalación. Con el man de rpm sacas más información, pero para listar los paquetes te interesa saber:

PACKAGE QUERY OPTIONS:
       --changelog
              Display change information for the package.

       -c, --configfiles
              List only configuration files (implies -l).

       -d, --docfiles
              List only documentation files (implies -l).

       --dump Dump file information as follows (implies -l):

              path size mtime filedigest mode owner group isconfig isdoc rdev symlink

       --filesbypkg
              List all the files in each selected package.

       -i, --info
              Display package information, including name, version, and description.  This uses the --queryformat if one was specified.

       --last Orders the package listing by install time such that the latest packages are at the top.

       -l, --list
              List files in package.

       --provides
              List capabilities this package provides.

       -R, --requires
              List capabilities on which this package depends.

       --scripts
              List the package specific scriptlet(s) that are used as part of the installation and uninstallation processes.

       -s, --state
              Display the states of files in the package (implies -l).  The state of each file is one of normal, not installed, or replaced.

       --triggers, --triggerscripts
              Display the trigger scripts, if any, which are contained in the package.


En el caso que el paquete ya lo tengas instalado, ya sea por la instalación del SO o por repositorios (vía yum o como sea) no necesitas la opción "-p", ya que esta solo la necesitas cuando quieres consultar un paquete descargado en tu directorio home, o Download/Descargas, etc, si ya lo tienes instalado, dándole el nombre del fichero a rpm, y siguiendo su propia base de datos, te va a funcionar.

Si no es nada de esto, explícame con algún ejemplo más claro, que yo soy muy torpe.

Un saludo.
Hola muchisimas gracias por tu explicación.

Sería instalar con un sh, como por ejemplo el driver de nvidia $ sudo sh nvidiax.x.x.sh [no es el de nvidia pero es un ejemplo]. No se si tu información me valdría, sería porner a prueba a ver que pasa.

Muchas gracias.
Lo que te comentaba solo era para paquetes RPM (Red Hat Package Manager), si son scripts/guiones de instalación o compilados, RPM no te vale.

Lo siento pero a tanto no puedo ayudarte, no tengo ni idea de que software o con que script podrías sacar dicha info.

Un saludo.
3 respuestas