Hay muchas formas de instalar programas, quizá lo más adecuado es usar un buen gestor de paquetes como apt(Debian) o portage(Gentoo) ya que no sólo permiten instalar si no borrar y actualizar con seguridad un paquete(algo muy importante y que puede ser complicado hacerlo a mano). Aquí vamos a ver la instalación de programas a la vieja usanza, bajando y compilando el programa a partir de las fuentes, algo que puede ser más complicado(o no) pero que desde luego es útil porque es una forma de instalación que podremos usar sea cual sea nuestra distribución. Ser un maestro en portage no sirve de nada si luego nos ponen delante de otra distribución que no lo tiene instalado.
Uno de los principios de seguridad más útiles y que en Linux se tiene muy en cuenta es el de trabajar siempre que se pueda con los menores privilegios. Para ello los desarrolladores realizan esfuerzos para que sus programas no necesiten correr con el bit SUID activado(o sea como root) y eso debemos aprovecharlo instalando y configurando correctamente nuestros programas.Siempre que se pueda, se deben instalar los programas como usuario ya que así además no desconfiguraremos ninguna parte del sistema operativo por accidente. Si partimos de un fichero comprimido que hemos bajado con wget, lynx o demás, una forma de comprobar si vamos a tener permiso para instalarlo como usuario puede ser listar el contenido del paquete. Para ello usamos el comando tar con la opción t en vez de x y con las opciones correspondientes al tipo de archivo(j si termina en .bz2, z si termina en .gz o .tgz y nada si es un tar a secas).
Ej:
# tar vztf archivo
Si en el listado del contenido del comprimido vemos que contiene las carpetas /usr, /var, /etc o cualquiera otra para la que no tengamos permisos de escritura como usuario,la instalación no queda más remedio que hacerla como root(a no ser que instalemos dentro de una jaula chroot, pero eso se explicará más adelante en otro artículo).
Otra cosa a tener en cuenta a la hora de instalar es preservar los permisos del archivo comprimido con la opción p. Si no hacemos esto y por error instalamos un programa destinado a ser usado como usuario siendo root, se cambiarán los permisos de todos los archivos y el propietario pasará a ser root, con lo que sólo el podrá usar el programa si no cambiamos todos los archivos de propietario con el comando chown
Ej:
# tar xvzfp archivo
Explicados estos conceptos, vamos a explicar como compilar programas de la zona usuario mediante el script configure y los comandos make y make install, como hacer lo mismo con los programas de la zona kernel que es un poco diferente(pero sólo un poco) como el kernel y los módulos de éste.