        |
Generar paquetes RPM para RHEL
Método usando alien (conversor de tar.gz a rpm)
- Entras en el PC de RHEL (bit01), que está en un chroot de chibiko:
ssh metro@chibiko bit01 su cd /home/metro
- En el PC de RHEL, como usuario root, se prepara todo en /tmp (p.ej. /tmp/usr/local/bin/miejecutable)
- Se genera el tar con el contenido que se quiere instalar con paths absolutos (es posible que también funciuone con paths relativos):
root@rhel:/tmp# /usr/sbin/chroot . bin/tar -cvpf servidor-siv-1.0.tar usr
- Se comprime el fichero:
root@rhel:/tmp# gzip servidor-siv-1.0.tar
- Se lleva el .tar.gz a salchicha:/tmp
- En salchicha, como root y en /tmp, se genera el rpm con:
# alien --description="SIV user files" --to-rpm servidor-siv-1.0.tar.gz
- Con eso se habrá generado el fichero /tmp/servidor-siv-1.0-1.noarch.rpm
Método usando un .spec de rpm
- Entras en el PC de RHEL (bit01), que está en un chroot de chibiko:
ssh metro@chibiko bit01 su cd /home/metro
- Te vas a /usr/src/redhat/SOURCES (o bien a "/home/metro/sources", que es un symlink a eso)
- Miras el ejemplos.txt
- Pones las cosas que quieres en /usr/local/sico
- Quitas el tar.gz que hay y haces uno nuevo siguiendo el ejemplos.txt.
En dicho fichero encontrarás que se crea un tar.gz volcándose en un fichero (TxtAlgo) los ficheros (con su path) que se han usado para generar el tar.gz
- Te vas a /root/carlos
- Editas el spec que vayas a utilizar situándote en la línea que dice defattr(-,root,root)
Desde la siguiente línea hasta el final del fichero borras lo que venga (serán ficheros con el path). A continuación sales del fichero y haces: cat TxtAlgo >> nombre_fichero_spec_recien_editado. OJO >> no sólo >, que si no te cargas el spec y cuesta un egg hacerlo. Carlos y Darío son personas pacíficas y no te harían nada pero yo te mato. El TxtAlgo es el de unas líneas antes. Con esto lo que haces es añadir la nueva lista de ficheros que quieres que formen el rpm al final del fichero de spec. Justo donde estaba el listado anterior que borraste, de modo que has sustituido la antigua lista que podía estar desactualizada por la nueva.
- Generas el nuevo rpm con un rpmbuild -ba nombrespec.spec
- Obtendrás un bonito rpm en el subdirectorio rpms
(A continuacion van las instrucciones antiguas...que has de ignorar si has seguido las nuevas)
- Te aseguras que el rpm-build está instalado
- Vas a /root/carlos
- Editas el carlos.spec a tu gusto, así como el fichero tar.gz referido en el .spec, que en estos momentos está en /usr/src/redhat/SOURCES/servidor-siv-1.0a.tar.gz
- Haces un:
# rpmbuild -ba carlos.spec
NOTA: para generar un rpm sin dependencias: # rpmbuild -ba --nodeps carlos.spec
NOTA: Generar lista de ficheros
Para generar la lista de ficheros se puede hacer con:
# cd /path-al-root-del-tar-descomprimido-y-destareado
# find ./usr | sed "s_^./_/_g" > /tmp/lista-fichs
Si no queremos los soft link:
# find ./usr -type f | sed "s_^./_/_g" > /tmp/lista-fichs
Y las lista la tendrías en /tmp/lista-fichs
que puedes añadir al fichero.spec con:
# cat /tmp/lista-fichs >> fichero.spec
|