Octubre 25, 2006
Another one from nixCraft:
Method # 1
(the classic usual)
Use command make uninstall or equivalent supported command, Read INSTALL or README file in source code file to find out more about this method.
# make uninstall
Sure, this method sounds very easy but not supported by all tar balls.
Method # 2
(a) Make a list of all files on the system before installing software i.e. a pre-installation list of all files on your system.
find /* > packgetlist.b4
(b) Now install the software (use configure & make to compile it)
make
make install
(c) Now make a list of all files on the system after installing software i.e. postinstall list
find /* > packagelist.after
(d) Next, compare both lists using the diff utility to find out what files are placing where. This list can be use to uninstall all files installed using source tar ball.
diff packagelist.b4 packagelist.after > package.uninstall.list
(e) After some time if you wish to uninstall files then you need to get list of files from package.uninstall.list file. Use following small for loop at shell prompt to remove all files:
for i in $(grep “>” package.uninstall.list | awk ‘{ print $2 }’)
do
rm -i $i
done
Deja un Comentario » |
Howto, Truco Técnico |
Permalink
Escrito por bailen
Octubre 25, 2006
From nixCraft
To be frank there is no direct RPM option available via rpm command to extract an RPM file. But there is a small nifty utility available called rpm2cpio. It Extract cpio archive from RPM Package Manager (RPM) package. With the following hack you will be able to extract an RPM file.
So rpm2cpio converts the .rpm file specified as a single argument to a cpio archive on standard out. If a – argument is given, an rpm stream is read from standard in.
Syntax is as follows:
rpm2cpio myrpmfile.rpm
rpm2cpio – < myrpmfile.rpm
rpm2cpio myrpmfile.rpm | cpio -idmv
Example
Download an RPM file:
$ mkdir test
$ cd test
$ wget http://www.cyberciti.biz/files/lighttpd/rhel4-php5-fastcgi/php-5.1.4-1.esp1.x86_64.rpm
Extract RPM file using rpm2cpio and cpio command:
$ rpm2cpio php-5.1.4-1.esp1.x86_64.rpm | cpio -idmv
Output:
/etc/httpd/conf.d/php.conf
./etc/php.d
./etc/php.ini
./usr/bin/php
./usr/bin/php-cgi
./usr/lib64/httpd/modules/libphp5.so
./usr/lib64/php
./usr/lib64/php/modules
….
…..
..
./var/lib/php/session
./var/www/icons/php.gif
19188 blocks
Output of rpm2cpio piped to cpio command (see how to use cpio) with following options:
i: Restore archive
d: Create leading directories where needed
m: Retain previous file modification times when creating files
v: Verbose i.e. display progress
Verify that you have extracted an RPM file in current directory:
$ ls
Output:
etc php-5.1.4-1.esp1.x86_64.rpm usr var
This is useful if you want to extract configuration file or other file w/o installing an RPM file.
Deja un Comentario » |
Howto, Truco Técnico |
Permalink
Escrito por bailen
Octubre 10, 2006
En un típico problema de server el otro día estuve viendo un CentOS (el server OS recompilado de los src.rpm de RHAT ES 4), que tenía un serio incoveniente: ningun binario dependiente de python funcionaba.
Bien, el problema se dió cuando el sysadmin del server instaló un python compilado a mano SOBRE el python original (el que se instala desde rpm). No me detuve mucho a ver qué había ocurrido y porqué el python compilado (exitosamente al parecer) no respondía bien, aunque presumo algun problema con los PATHs de carga de las librerías y el frecuente problema del linkeo a versiones específicas (la 1-0.8 aunque esté disponible la full-compatible-binaria 1-10).
Hay varias soluciones en este caso, en particular me inclino por el camino elegante de desinstalar el python compilado a mano (make uninstall), teniendo en cuenta que en este caso particular es posible sin ninguna consecuencia; luego lo idea sería forzar la instalación del/los rpms de python que sean necesarios (cuando alguna app diga q falta X o Y librería te entererás de que falta algo todavía!).
Un detalle, el comando rpm (ni hablar de yum) seguramente no va a funcionar antes de que esté en su lugar el viejo python. O sea que lo que hay que hacer es tomar (usando mc o algún cd de recuperación) el contenido del/los rpm de python que hicieran falta y sobreescribir manualmente los binarios y librerías a los directorios que corresponda (puedes ver cuales son en el rpm).
Aclaro que todo este trajín de borrado/copia manual no tendrá ninguna consecuencia sobre tu BD rpm ni tus dependencias ya que todo el tiempo estuviste trabajando con archivos y no alteraste la BD rpm en absoluto.
Este es un típico problema fácil de solucionar, pero que en principio produce pequeños espasmos cardíacos a los sysadmin novatos ya que su “navaja suiza” de reparación de problemas (la “reinstalación a cero” de cualq. paquete o aplicación) desaparece del mapa de soluciones factibles junto con el sist. de adm. de paquetes (YUM) y su subsist. base (RPM).
La idea de esta explicación puede ser fácilmente portada a equivalentes en comandos en Debian y otros Linux con sist. de adm. de paquetes. automatizados.
Deja un Comentario » |
Howto, Know-how, Truco Técnico |
Permalink
Escrito por bailen
Agosto 24, 2006
- dpkg-awk o como instalar una serie de paquetes en debian relacionados entre sí con un solo comando, por ejemplo KDE, mirando los paquetes que dependen de kdelibs4:
dpkg-awk -f /var/lib/dpkg/avaliable ‘kdelibs4′ –Package | egrep . | cut -d\ -f2 | xargs apt-get install
- …te cargas todo lo que no vale para nada
for a in `deborphan` ; do apt-get remove -y $a ; done
- file-rc, excelente aplicación que facilita la gestión de demonios arrancados o detenidos al inicio del sistema.
- ejemplo de uso de bash en consola directamente,
* para crear directorios
for ((i=1; $i<=25; i++)); do mkdir slot$i;done
* para ejecutar un comando sobre una lista de algo
for ((i=1; $i<=9;i++)); do amlabel DailySet1 DailySet1-0$i slot $i; done
- You can find programs that run setuid to root with the command:
# find / -user root -perm -4000
mmm frases sueltas
“En cualquier empresa, el jefe siempre quiere el trabajo para ayer, es un axioma. Cuando dan cursillos de formación a los jefes esto es lo primero que les enseñan. Lo siguiente es que se laven las manos después de mear. Y si triunfan y hacen algún master, les enseñan a no mearse en las manos.”
Deja un Comentario » |
Truco Técnico, Uncategorized |
Permalink
Escrito por bailen
Abril 23, 2006
Evidentemente un requisito que se agregó al final a la compartición fue establecer un espacio de disco limitado por share, aunque se llegó a un compromiso al usar una cuota por grupo y ese grupo para dos shares.
Otro parámetro interesante para manejar qué archivos pueden crearse en un share samba:
veto files = /*.mp3/*.wma/*.avi/*wmv/*.mpg/*.mpeg/*.mov/
el anterior evita que se puedan crear archivos con las extensiones detalladas en los todos shares (hay que ubicarlo en la sección [Global] para ello).
Este otro que borrará cualquier archivo con las extensiones detalladas en “veto files” si es que ya estuvieran en los shares afectados por el “veto files“:
delete veto files = yes
Deja un Comentario » |
Truco Técnico |
Permalink
Escrito por bailen
Abril 16, 2006
del blog “Windows Incident Response”
I was listening to the latest CyberSpeak podcast (8 Apr) today, and picked up a little tidbit. With regards to those .pf files located in the Prefetch directory on Windows XP, Ovie and Bret stated that the DWORD located at offset 0×90 in the file records the number of times that particular application was launched, with the caveat that this does not apply to those applications autostarted (as via Registry entries). So this will tell you how many times the user launched that application.
Also, the guys said that the 2 DWORDs located at offset 0×78 is the FILETIME object for the time that the application was last launched. This should probably correlate with the last write time on the .pf file itself.
Anyone have any other tidbits like this that can be incorporated into a nice little Perl script?
Deja un Comentario » |
Truco Técnico |
Permalink
Escrito por bailen
Abril 15, 2006
FortiGate de Fortinet es un equipo de cominucaciones que en sus diferente gamas permite a grandes líneas:
- Filtrado de contenido Web
- IPS
- Antivirus
Quizás no es una solución tan robusta como la que conforma en este campo los equipos de Symantec pero es la mejor opción cuando lo realmente crítico es el mantenimiento en todo momento del servicio en cuanto a capacidad de cortocircuitarse en caso de fallo y alta redundancia y en cuanto a capacidad de enrutamiento dinámico en redes complejas.
Pues bien, lo anoto aquí para no olvidarlo: cuando se pierde el password de gestión del equipo o cuando lo que se busca es recuperar la configuración de fabrica de forma rápida hay que conectarse por consola al equipo y poner:
Login: maintainer
Password: secuencia bcpb seguido del número de serie del equipo (casi siempre incluido en la parte de abajo del mismo)
1 comentario |
Truco Técnico |
Permalink
Escrito por bailen