* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Clase de empaquetado rpm. Parte 3 - Compilando e instalando desde las fuentes.

En esta clase no vamos a usar rpmbuild, simplemente trataremos de explicar como se compila e instala desde fuentes, que es lo que se hace al empaquetar.

Obs (por Ángel Jiménez):

Se trata de compilar un programa e instalarlo en el sistema, en un
directorio objetivo. Los pasos son:
     1. Instalar dependencias descritas en el archivo INSTALL
     2. Compilación (comando make)
     3. Instalación (comando make install). La instalación se realiza en
el directorio por defecto. Normalmente es /usr/local, pero sin embargo
en Mandriva, los cánones marcan que hay que instalar en /usr
directamente. De ahí que se necesitan permisos de root. Cuando lo
empaquetemos, lo instalaremos en la 'jaula rpm', para lo
cual no son necesarios privilegios de root

Vamos a trabajar con un programa muy fácil de empaquetar, y muy pequeño. Gnetworktester
http://sourceforge.net/projects/gnetworktester/
Para empaquetar/instalar necesitamos las fuentes, se puede empaquetar/instalar a partir de binarios pero lo correcto es hacerlo desde
fuentes, para esto vamos al sitio del proyecto y buscamos algo como "Source Code", "SRC" o similar.

Para empezar bajamos el programa, lo haré en el directorio SOURCES

[wilson en localhost ~]$ cd ~/rpm/SOURCES/
[wilson en localhost SOURCES]$ wget -c http://ufpr.dl.sourceforge.net/project/gnetworktester/gnetworktester/0.11.1/gnetworktester_0.11.1-1.tar.gz

Luego hay que extraer el contenido, yo lo hago con ark :D(por consola "tar zxvf programa-X.XX.tar.gz" el cómo lo hacemos
no es importante).

[wilson en localhost SOURCES]$ ls
gnetworktester_0.11.1-1.tar.gz
[wilson en localhost SOURCES]$ tar zxvf gnetworktester_0.11.1-1.tar.gz
[wilson en localhost SOURCES]$ ls
gnetworktester-0.11.1/  gnetworktester_0.11.1-1.tar.gz

Dentro de "gnetworktester-0.11.1/" esta el archivo INSTALL que nos dice que necesitamos:

[wilson en localhost SOURCES]$  cd gnetworktester-0.11.1/

Nombre de dependencia       <> Nombre en Mandriva

Python >= 2.4.                       ...   python
pygtk >= 2.8.                         ...   pygtk2.0
python-libglade                       ...  pygtk2.0-libglade y libglade2.0_0 (solo adivino ya que no existe "python-
libglade")
librsvg2                                   ...  librsvg2
net-tools                                 ...  net-tools
iputils (iputils-ping) or fping     ...  iputils
traceroute                              ...   traceroute
xdg-utils                                  ...  xdg-utils

El install no especifica ninguna dependencia para compilar, veremos que cosa pide en el momento del 'make'.

Opcionales:
nmap                                        ... nmap
gnuplot                                  ...  gnuplot
python-pydot (pydot)          ... python-dot
python-sexy                           ... python-sexy
iperf                                      ... iperf
python-geoip                         ... python-geoip

Las dependencias solo las buscamos con "urpmq --fuzzy nombre", luego al compilar veremos si se queja por algo no instalado, pero por ahora instalaremos esas:

[root en localhost ~]# urpmi xdg-utils traceroute iputils net-tools librsvg2 pygtk2.0-libglade libglade2.0_0 pygtk2.0 python

Para las dependencias opcionales:

[root en localhost ~]# urpmi nmap gnuplot python-dot python-sexy iperf python-geoip

Ya instaladas las dependencias vemos que nos indica el INSTALL:

Installing gnetworktester
-------------------------
Installation Procedure:

  $ make
  $ make install

You can to specify where to install do:

  $ make PREFIX=custom_path install

Usaremos "make" y "make install".

Volviendo a la terminal/pestaña donde estamos como user non-root hacemos un:

[wilson en localhost gnetworktester-0.11.1]$ make
cd src &&\
        python -c "import compileall, re; compileall.compile_dir('./', rx=re.compile('/[.]svn'), force=True)"
Listing ./ ...
Compiling ./askwindow.py ...
Compiling ./autoconfig.py ...
Compiling ./autoconfiggui.py ...
Compiling ./collect_funcs.py ...
Compiling ./config.py ...
Compiling ./debug.py ...
Compiling ./globs.py ...
Compiling ./gnetworktester.py ...
Compiling ./googlemap.py ...
Compiling ./gui_funcs.py ...
Compiling ./history_graph.py ...
Compiling ./hostentry.py ...
Compiling ./mailer.py ...
Compiling ./netmap.py ...
Compiling ./nmap.py ...
Compiling ./open_with.py ...
Compiling ./ping.py ...
Compiling ./pref.py ...
Compiling ./prefwindow.py ...
Compiling ./reg.py ...
Compiling ./report.py ...
Compiling ./restore.py ...
Compiling ./speedgui.py ...
Compiling ./speedtestnet.py ...
Compiling ./speedtestnetgui.py ...
Compiling ./tester.py ...
Compiling ./testing.py ...
Compiling ./traceroute.py ...
Compiling ./trayicon.py ...
Listing ./web ...
Listing ./web/cgi-bin ...
Listing ./web/htdocs ...
Compiling ./work_table.py ...
msgfmt --strict --check po/ru.po -o gnetworktester.ru.mo

Antes podríamos ver el help de make, pero no es necesario, para quien tenga curiosidad simplemente debe hacer:

[wilson en localhost gnetworktester-0.11.1]$ make --help

Como vemos terminó el compilado sin ningún error :D, ya podemos pasar al próximo paso:
$ make install

El make install necesita privilegios de administrador(voy a hacerlo con "su" y no con "su -" porqué este último me cambia el path, me mueve a /root):

[wilson en localhost gnetworktester-0.11.1]$ su
Contraseña:
[root en localhost gnetworktester-0.11.1]# make install
cd src &&\
        python -c "import compileall, re; compileall.compile_dir('./', rx=re.compile('/[.]svn'), force=True)"
Listing ./ ...
Compiling ./askwindow.py ...
Compiling ./autoconfig.py ...
Compiling ./autoconfiggui.py ...
Compiling ./collect_funcs.py ...
Compiling ./config.py ...
Compiling ./debug.py ...
Compiling ./globs.py ...
Compiling ./gnetworktester.py ...
Compiling ./googlemap.py ...
Compiling ./gui_funcs.py ...
Compiling ./history_graph.py ...
Compiling ./hostentry.py ...
Compiling ./mailer.py ...
Compiling ./netmap.py ...
Compiling ./nmap.py ...
Compiling ./open_with.py ...
Compiling ./ping.py ...
Compiling ./pref.py ...
Compiling ./prefwindow.py ...
Compiling ./reg.py ...
Compiling ./report.py ...
Compiling ./restore.py ...
Compiling ./speedgui.py ...
Compiling ./speedtestnet.py ...
Compiling ./speedtestnetgui.py ...
Compiling ./tester.py ...
Compiling ./testing.py ...
Compiling ./traceroute.py ...
Compiling ./trayicon.py ...
Listing ./web ...
Listing ./web/cgi-bin ...
Listing ./web/htdocs ...
Compiling ./work_table.py ...
msgfmt --strict --check po/ru.po -o gnetworktester.ru.mo
install -d -m 0755 /usr/bin
install -d -m 0755 /usr/share/gnetworktester/data/glade
install -d -m 0755 /usr/share/gnetworktester/data/pixmaps
install -d -m 0755 /usr/share/gnetworktester/data/pixmaps/flags
install -d -m 0755 /usr/share/gnetworktester/src
install -d -m 0755 /usr/share/applications
install -d -m 0755 /usr/share/locale/ru/LC_MESSAGES
install -d -m 0755 /usr/share/pixmaps
install -d -m 0755 /etc
install -m 0755 gnetworktester                             /usr/bin/
install -m 0644 src/*.py                            /usr/share/gnetworktester/src/
install -m 0644 data/glade/*.glade               /usr/share/gnetworktester/data/glade/
install -m 0644 data/pixmaps/*.svg               /usr/share/gnetworktester/data/pixmaps/
install -m 0644 data/pixmaps/*.png               /usr/share/gnetworktester/data/pixmaps/
install -m 0644 data/pixmaps/flags/*.png         /usr/share/gnetworktester/data/pixmaps/flags/
install -m 0644 data/pixmaps/flags/FLAGS_LICENCE /usr/share/gnetworktester/data/pixmaps/flags/
install -m 0644 gnetworktester.cfg                   /etc/gnetworktester.cfg
install -m 0644 gnetworktester.ru.mo                       /usr/share/locale/ru/LC_MESSAGES/gnetworktester.mo
install -m 0644 gnetworktester.svg                         /usr/share/gnetworktester/data/pixmaps/
install -m 0644 gnetworktester_icon.svg                    /usr/share/pixmaps/gnetworktester.svg
install -m 0644 gnetworktester.xpm                         /usr/share/pixmaps
install -m 0644 gnetworktester.desktop                     /usr/share/applications
[root en localhost gnetworktester-0.11.1]#

Listo, compilado e instalado. Este programa es muy sencillo, el objetivo es mostrar como se sigue las propias
indicaciones del INSTALL, lo mismo haremos al empaquetar.

Salu2, will.

Obs (por Ángel Jiménez):

NOTA: Para compilar la mayoría de los programas, hay un paso intermedio
entre el 1 y el 2, mediante el comando ./configure, que prepara el
sistema para la compilación y chequea que se cumplan todas las
condiciones para la misma (dependencias, etc), es decir que se pueda
luego ejecutar el make sin error. En este paso se puede, por ejemplo
cambiar el directorio 'target' para la instalación, utilizando la opción
adecauda para el comando configure. No obstante para este programa ya
viene la makefile creada de antes y no hay que ejecutar este paso. A
cambio, el directorio objetivo se especifica con una opción adosada al
comando make. De ahí la importancia de seguir las instrucciones dadas
para cada programa en el archivo INSTALL.

Respuestas a preguntas frecuentes.
Hay que hacer exit?,  para poder instalar las dependencias con #urpmi
- Mejor trabajar con dos consolas, o dos pestañas, una como user y otra como root, asi cuando en una nos pida tal o cual paquete lo instalaremos usando la otra consola/pestaña como root. En realidad, cada uno trabaja como le quede más cómodo.

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.


Gravatar de barsalatino

# 108543 Para un libro

Esta clase  esta muy clara  y concisa, que es lo fundamental.

Hacía falta que alguien  hiciera este aporte.

Esto engrandece la comunidad.

Muchas gracias Will

Si el ser humano es capaz de evolucionar, esa evolución no la provocan los que asienten, sino los que niegan y preguntan
y nunca se sienten conformes, ni con lo que se les induce a creer, ni con lo que su misma razón -secularmente programada- les dicta



Gravatar de will

# 109413 ¿Al instalar las

¿Al instalar las dependencias, es necesario hacerlo como root?
- Para instalar siempre se necesita privilegios de administrador/root

Tilt at windmills, come on!!

http://www.youtube.com/watch?v=MAow3ufdK2Y

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.