Uninstall files installed from a source code tar-ball

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


How to extract an RPM package without installing it

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.


Rescate típico: soft compilado “pisa” soft rpm

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.


Los 10 fallos al pedir trabajo

Octubre 8, 2006

Sacado de lo de Cedrán y Fernando…

Desde Fernando he leído el siguiente artículo, son temas básicos pero que a menudo se olvidan y son muy importantes:

Los errores más típicos a la hora de pedir empleo se pueden subsanar fácilmente. Aquí les dejo con algunas sugerencias para tener más posibilidades de ser elegido para un trabajo, o para obtener mejores condiciones al ser contratado:

Ser correcto.
Esto voy a decirlo claramente: Lo primero es saber expresarte correctamente. No puedes hablar a tu empleador como a un amigo, o como alguien que está a tu mismo nivel.
Si ese paso en la relación se lleva a cabo, debe ser el empleador el que de el primer paso, y debes de llegar solamente hasta donde él llegue. Trata a tu empleador de “usted(es)“, y no de “tú“. Esto demostrará que eres una persona seria y que sabes mantener una relación cordial con personas que no conoces.

Contar tus problemas.
A la empresa que te va a contratar no le interesan tus problemas, en absoluto. No quieren un empleado que tenga problemas incluso antes de venir a trabajar con ellos. Si tienes problemas, tu solicitud de empleo no es el mejor sitio para contarlos. Lo único que dice de ti contar el problemas personales, es que probablemente vas a dar muchos más en el futuro.
Si tienes alguna limitación o problema para el trabajo, busca la manera de camuflarla. Frases como: “Ahora mismo estoy muy ocupado“, “No contacten con las empresas de mi CV porque la relación profesional terminó bastante mal“… no ayudan a generar una confianza con tu futura empresa.

Mostrar ilusión.
Algunas empresas lo llaman “carta de motivación“, pero yo creo que es necesaria una actitud de motivación. Tienes que demostrarle a la empresa que el proyecto que te proponen es algo que te hace feliz, que te encantaría dedicar tu tiempo a esta idea, que es una oportunidad para tí. Esto va a jugar a tu favor, y no es muy difícil de hacer. ¿A qué no?

Ser proactivo.
En las entrevistas para entrar en Google, una de las preguntas que te hacen es: “¿En qué mejorarías Google?“. Esto es un filtro básico: Si no eres capaz de mejorar la empresa en la que trabajas, no te molestes en venir.
Esto se aplica más o menos a cualquier empresa y proyecto. Una persona que pueda sugerir nuevas maneras de generar dinero, siempre será más bienvenida. Sugiere mejoras. Sugiere alternativas. Esto demostrará que vas a ser una persona que resuelve problemas y aporta soluciones. Créeme cuando digo que esto es precisamente lo que quieren las empresas, y que tu puedes conseguirlo si te lo propones.

Curriculum Interesante
He tenido, por una razón o por otra, la oportunidad en mi vida de revisar multitud de CV, y hay algunos fallos que considero de la magnitud “enormes”, y que se repiten una y otra vez. Empecemos por los básico:
Escribe lo más importante en tu vida al principio. No es seguro que la empresa vaya a leer todo tu CV, muchas veces se descartan candidatos antes de pasar la primera página. Por eso, tienes que hacer lo posible porque la primera página sea suficientemente llamativa.
Destaca con negritas lo mas importante. Cuando RRHH lee tu CV lo ojea por encima, no se lo estudia con detalle. Destaca lo que quieras que esa persona lea en negrita y que si le interesa, que lea el texto normal.
Imagen profesional. Una cuenta en hotmail para pedir trabajo no denota mucha profesionalidad. Si no tienes posibilidad de tener tu propio dominio, al menos usa un correo más profesional.
Elimina lo irrelevante. Muchísima gente, por miedo y falta de confianza, trata de parecer mucho más de lo que es a base de llenar líneas en el CV. Por las manos de un gestor de RRHH en una gran empresa pasan al menos 20 nuevos CV cada día. Intenta ir al grano para conseguir una entrevista, no pongas tu colegio en primaria, ni que de pequeño fuiste campeón de atletismo o que una vez hicistes un curso de flauta travesera. Al grano chicos.
Adapta el CV para la oferta. Tu eres una persona con muchas cualidades, pero no todas son válidas para todos los trabajos. Realza las cualidades que te ayudarían más para esa oferta, y camufla (o elimina) las que te podrían perjudicar.

“¿Cómo hago para escribir el CV? No se por dónde empezar!”
Hay muchísimas herramientas para hacer un buen CV. Mi experiencia es que hay que dedicarle unas cuantas horas para que lea llamativo y provoque que el entrevistador se fije en ti. Esto NO quiere decir empezar a poner colores, líneas por aquí y por allá, o una tipografía de lo más “cool”, quiere decir el pensar y repensar la estructura de la información que quiero presentar.Para los primerizos, les recomiendo que visiten la web del Europass, y usen el modelo de CV Europeo.

Analiza lo que se pide en la oferta
Cuando la empresa va a buscar a alguien, se pasan un tiempo pensando en lo que quieren y al final se condensa en un pequeño párrafo con las preferencias de la empresa. Esta información es lo más valioso que tienes. La empresa sabe que encontrar a alguien con esas características no es sencillo, si bajan los requisitos, es porque piensan pagar poco. Y esto, amigos mios, es ley inmutable.
Si te piden inglés, no digas que sabes alemán para defenderte. Si piden 2 años de experiencia y no los tienes, di que tienes X años en un sector relacionado y que estarías muy ilusionado en dar un nuevo giro a tu carrera con una empresa como esa.
Asegurate, antes de mandar el CV y la carta de motivación, que has mostrado a la empresa lo cerca que estás de cada uno de los requisitos que piden. Que no digan que no les he avisado.

Analiza la empresa
Muchas veces, las empresas buscan a alguien que se adapte a su manera de pensar y sentir la vida. En una consultora de gran prestigio, buscan a alguien con una gran seguridad en si mismo. En un hospital buscan a alguien con mucho tacto. En technorati buscan a gente famosa en el mundo de internet
Analiza cómo es la empresa, cómo son sus empleados, qué dicen, qué opina la gente de la empresa. Toda esta información servirá para adaptar el tono de tu carta de motivación al que sea más cercano al de la empresa. Esto generará una empatía que te dará más puntos para ser “el elegido”.

Retribución
No negocies las condiciones hasta que ellos lo hagan. No puedes pedir empleo diciendo: “Quiero cobrar X€ bruto al mes y tener un variable del…”. No. Debe ser tu empleador el que lance la cuestión, y entonces te sientas a negociar.
Aunque parezca increíble, he tenido casos de gente que, antes de saber las característica concretas del proyecto, ya me decían cuanto querían cobrar. Esto es un fallo gordo por varias razones: podría ser que yo estuviera dispuesto a pagar mucho más, o incluso podría pagar menos dinero y ofrecer otro tipo de compensaciones. Espera a que ellos muevan ficha.

Infíltrate!
Conocer a alguien dentro de la empresa que tenga una buena opinión de ti, te podrá dar muchos puntos a tu favor. Mientras más respetada sea esa persona, más puntos.
Hay veces que es imposible, pero el crearte una red de contactos en el sector en el que quieras trabajar puede cambiar la balanza a tu favor en muchas circunstancias. Un Responsable de RRHH tiene en sus manos CVs de personas que no conoce, pero si resulta que un compañero le dice que tú vales, seguro que mira con otros ojos tu CV ante tanta persona anónima.
El Networking requiere un post aparte, pero les dejo con una cita para pensar: “Si nadie te conoce, nadie te llama”.