Enunciado: Elige el programa escrito en C que prefieras y comprueba en las fuentes que exista un fichero Makefile o Configure. Deber谩s compilar desde las fuentes. Realiza los pasos necesarios para compilarlo e inst谩lalo en tu equipo en un directorio que no interfiera con tu sistema de paquetes (/opt, /usr/local, etc.) La correcci贸n se har谩 en clase y deber谩s ser capaz de explicar qu茅 son todos los ficheros que se hayan instalado y realizar una desinstalaci贸n limpia.
El programa elegido es htop
, ya que est谩 escrito en C. De momento no tiene ninguno de los ficheros requeridos, pero ejecutando el script autogen.sh
se crea el fichero configure.
Instalaci贸n
Para obtener las fuentes ejecutamos el siguiente comando:
apt source htop
贸
wget http://deb.debian.org/debian/pool/main/h/htop/htop_3.0.5.orig.tar.gz
tar -xvf htop_3.0.5.orig.tar.gz
Configure
De momento el fichero no existe. Ejecutamos autogen.sh
. Necesitaremos adem谩s el paquete autoconf
:
sudo apt install autoconf
./autogen.sh
Podemos comprobar que se ha generado el fichero configure:
Podemos ejecutar el fichero configure directamente. Sin embargo, de cara a una desinstalaci贸n m谩s sencilla y a poder tener m谩s localizados los ficheros instalados, vamos a cambiar la ruta que hay por defecto, al directorio
opt
. Se hace a帽adiendo la siguiente opci贸n:
sudo mkdir /opt/htop
./configure --prefix=/opt/htop/
En el caso de que se de alg煤n error en la salida del comando, hay que instalar las dependencias indicadas, y repetir el paso anterior.
sudo apt install libncurses*
Makefile
Para poder ejecutar make
necesitamos el paquete build-essential
, que contiene las utilidades esenciales para compilar un paquete en Debian.
sudo apt install build-essential
Para instalar el paquete ejecutamos:
sudo make install
sudo make clean
Para generar el fichero .deb
es necesario que el paquete descargado sea con apt source
, o la versi贸n espec铆fica de debian.
o bien, para generar el fichero .deb:
instalamos las siguientes dependencias:
sudo apt install libnl-3-dev libnl-genl-3-dev libsensors-dev pkg-config debhelper-compat
# o bien con apt-get build-dep
sudo apt-get build-dep htop
make
dpkg-buildpackage -b
make clean
sudo dpkg -i ../htop_3.0.5-7_amd64.deb
El paquete ya est谩 instalado. Podemos comprobar los ficheros creados en
/opt
: Entre los ficheros que aparecen, los m谩s importantes son el propio binario de htop, y el manual. Para poder utilizar el comando la terminal tenemos que a帽adirlo al PATH. Para hacerlo, a帽adimos la siguiente l铆nea al fichero
.bashrc
:
export PATH="/opt/htop/bin:$PATH"
Manual
Ya que lo hemos instalado en un directorio personal, no se ha creado el manual. Para hacerlo tenemos que crear un enlace simb贸lico:
sudo mkdir /usr/local/man/man1
sudo ln -s /opt/htop/share/man/man1/* /usr/local/man/man1/
Desinstalaci贸n
Para desinstalar el paquete vamos a utilizar otra vez el comando make, esta vez con la opci贸n uninstall
:
sudo make uninstall
Tras eso, comprobamos si queda algo en la ubicaci贸n de la instalaci贸n:
la estructura de carpetas no se ha borrado, la borramos de manera manual. Por 煤ltimo, hay que eliminar la l铆nea de
.bashrc
que a帽ade la ruta al PATH
y eliminar el enlace simb贸lico:
sudo rm /usr/local/man/man1/htop.1