Cursos Servidores con Centos 6
Sistema Operativo ALDOS
Dezoft

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

 Índice > Todo acerca de Linux > Programación y desarrollo Nuevo tema Publicar Respuesta
 Error al crear ISO de Centos 7
Primero | Anterior | 123 | Siguiente | Ultimo
Tema anterior Tema siguiente
   
petercheco
Publicado en 26/06/14 01:49  

Participa mucho
Forum User

Inscrito: 18/06/14 Publicaciones: 36
@Joel Barrios Dueñas

Por cierto.. te felicito por este portal (http://www.alcancelibre.org) el cual estoy seguro de que ayuda muchísimo a mucha gente aficionada o a profesionales de linux Big Grin
 
Perfil
 Citar
al-serv
Publicado en 26/06/14 02:08  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
@petercheco tenemos a todo un professional entre nosotros!! encantado!! todo de primera mano jejeje! Sonrisa

Joel es un MUY GRANDIOSO PROFESSIONAL y todo lo que yo he aprendido es gracias a el y también decir que tiene muchisima paciencia y todas las preguntas tienen su respuesta profesional pero en el idioma que hablamos los que no lo somos tanto jejeje!

Perfecto que estes por aquí, esperamos que lo continues por mucho tiempo!! Sonrisa
 
Perfil Sitio Web
 Citar
petercheco
Publicado en 26/06/14 02:12  

Participa mucho
Forum User

Inscrito: 18/06/14 Publicaciones: 36
Bueno gracias.. Big Grin. Si en este portal llevo cuatro o cinco dias y tu fuiste el primero al que contesté @al-serv Big Grin..
 
Perfil
 Citar
al-serv
Publicado en 26/06/14 02:25  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
jeje por cierto, te aprovecho Razz

veo que epel ( el7 ) solo tiene x86_64 y no i386, supongo que es porque aún esta en testing no? es que utilizo mock y con i386 no puedo compilar nada... tu no sabras como hacer para que compilar en i386 ?
 
Perfil Sitio Web
 Citar
petercheco
Publicado en 26/06/14 03:15  

Participa mucho
Forum User

Inscrito: 18/06/14 Publicaciones: 36
No no es porque este en testing, es porque RHEL deja de usar la platforma de 32 bits (i386 o i686). Esta disponible solo para 64 bits (x86_64) Big Grin.
 
Perfil
 Citar
al-serv
Publicado en 26/06/14 05:32  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
hmmmm no hay más 32bits para CentOS ni RedHat????? o solo es el repo de epel???? y si se quiere utilizar skype???? primera noticia... esta confirmado que no abra 32bits???
 
Perfil Sitio Web
 Citar
petercheco
Publicado en 26/06/14 06:44  

Participa mucho
Forum User

Inscrito: 18/06/14 Publicaciones: 36
En efecto, no hay mas 32bit para CentOS ni RHEL.. Fedora hara lo mismo desde la version 22.. Hoy en día ya no hay pc's en venta con esta arquitectura..

Skype es una buena cuestion, pero siempre puedes usar la version Dynamic.. Estoy seguro que Microsoft no tardará en lanzar una version de 64 bits
 
Perfil
 Citar
al-serv
Publicado en 26/06/14 07:05  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
Pues para mock... Como compilan los i386 que si que tienen en los repos de CentOS??? Me las tendré que ingeniar ;( no sabes la jarra de agua fría que me has echado ;(
 
Perfil Sitio Web
 Citar
petercheco
Publicado en 26/06/14 07:41  

Participa mucho
Forum User

Inscrito: 18/06/14 Publicaciones: 36
Bueno, despues de la ducha fría que te he dado, te dejo esto:

http://buildlogs.centos.org/c7.00.04/

Echa un vistazo que seguro te gustará ver lo que hay Big Grin.. Puedes seguir generando paquetes Big Grin
 
Perfil
 Citar
al-serv
Publicado en 26/06/14 08:34  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
Ahora me he perdido jejeje te refieres que hay paquetes de i386?? ( es lo que te comentaba antes de como los crean ellos con mock si te obligan a tener activo el repo de epel? )
 
Perfil Sitio Web
 Citar
petercheco
Publicado en 26/06/14 09:48  

Participa mucho
Forum User

Inscrito: 18/06/14 Publicaciones: 36
PHP Formatted Code
A ver.. Ellos usan Fedora para generar paquetes de RHEL / CentOS en vez de usar a CentOS :D. En Fedora te basta el repo rpmfusion..

De esta manera se ha hecho siempre :D.. Como?

[b]Instalas (en Fedora):[/b]

sudo rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm \

http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

sudo yum install mock.noarch \
   mock-rpmfusion-free.noarch mock-rpmfusion-nonfree.noarch \
   fedora-packager.noarch

[b]Preparas el entorno:[/b]

MOCKCFGDIR="/etc/mock"
MOCKDIR="/export/mock"
MOCKBASEDIR="${MOCKDIR}/base"
MOCKCACHEDIR="${MOCKDIR}/cache"
REPOBASEDIR="${MOCKDIR}/repo"

MYMOCKUSER=peter

FTPSERVER="ftp1.mirepo.cz"
FTPSERVERSSH="22"
FTPBASEDIR="/var/ftp/pub/mirepo"
FTPSERVERMIRRORS="ftp2.mirepo.cz ftp3.mirepo.cz"

sudo useradd -m -G mock $MYMOCKUSER

su - $MYMOCKUSER

sudo chown -R :mock ${MOCKCFGDIR}
sudo chmod -R g+w ${MOCKCFGDIR}

if [ ! -d "$REPOBASEDIR" ] ; then
   sudo mkdir -p "$REPOBASEDIR"
fi

for dist in fedora ; do
   for distnr in 20 21 ; do
      for repotype in os updates testing ; do
         sudo mkdir -p ${REPOBASEDIR}/${dist}/${distnr}/${repotype}/{i386/RPMS,x86_64/RPMS,SRPMS}
      done
   done
done

for dist in centos ; do
   for distnr in 6 7 ; do
      for repotype in os updates testing ; do
         sudo mkdir -p ${REPOBASEDIR}/${dist}/${distnr}/${repotype}/{i386/RPMS,x86_64/RPMS,SRPMS}
      done
   done
done

sudo chgrp -R mock ${REPOBASEDIR}
sudo chmod -R g+w ${REPOBASEDIR}

cp ${MOCKCFGDIR}/site-defaults.cfg ${MOCKCFGDIR}/site-defaults.cfg-orig

sed -e "s@# config_opts\['basedir'\] = '/var/lib/mock/'@config_opts['basedir'] = '${MOCKBASEDIR}'@" \
    -e "s@# config_opts\['cache_topdir'\] = '/var/cache/mock'@config_opts['cache_topdir'] = '${MOCKCACHEDIR}'@" \
   ${MOCKCFGDIR}/site-defaults.cfg-orig > ${MOCKCFGDIR}/site-defaults.cfg

sudo mkdir -p ${MOCKBASEDIR} ${MOCKCACHEDIR}
sudo chgrp mock ${MOCKBASEDIR} ${MOCKCACHEDIR}
sudo chmod -R g+rws ${MOCKBASEDIR} ${MOCKCACHEDIR}

sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-*

mock -r fedora-20-i386 init
mock -r fedora-20-x86_64 init
mock -r fedora-21-i386 init
mock -r fedora-21-x86_64 init

mock -r epel-6-i386 init
mock -r epel-6-x86_64 init
mock -r epel-7-i386 init
mock -r epel-7-x86_64 init

mock -r mirepo-epel-6-i386 init
mock -r mirepo-epel-6-x86_64 init
mock -r mirepo-epel-7-i386 init
mock -r mirepo-epel-7-x86_64 init

[b]Creacion de paquetes:[/b]

cd ~/rpmbuild/SPECS

vim mod_auth_pgsql.spec

rpmbuild-md5 -ba mod_auth_pgsql.spec

rpmbuild-md5 --nodeps -bs mod_auth_pgsql.spec

mock rebuild -r epel-7-i386 /usr/src/redhat/SRPMS/mod_auth_pgsql-2.0.3-2.f20.src.rpm

srcrpmpath=~/rpmbuild/SRPMS/mod_auth_pgsql-2.0.3-2.f20.src.rpm
for dist in fedora-20-i386 fedora-20-x86_64 ; do
   mock rebuild -r $dist $srcrpmpath &
done

srcrpmpath=~/rpmbuild/SRPMS/mod_auth_pgsql-2.0.3-2.f20.src.rpm
for dist in epel-6-i386 epel-6-x86_64 epel-7-i386 epel-7-x86_64 ; do
   mock rebuild -r $dist $srcrpmpath &
done

srcrpmpath=~/rpmbuild/SRPMS/mod_auth_pgsql-2.0.3-2.f20.src.rpm
for dist in mirepo-epel-6-i386 mirepo-epel-6-x86_64 mirepo-epel-7-i386 mirepo-epel-7-x86_64 ; do
   mock rebuild -r $dist $srcrpmpath &
done

sudo yum -y install multitail

multitail ${MOCKBASEDIR}/epel-6-*/result/*.log
multitail ${MOCKBASEDIR}/epel-7-*/
result/*.log

[b]Actualizas los repos:[/b]

REPONAMEPATTERN="epel"
REPONAMEPATTERN="epel-6"
REPONAMEPATTERN="epel-7"
REPONAMEPATTERN="mirepo-epel"
REPONAMEPATTERN="mirepo-epel-6"
REPONAMEPATTERN="mirepo-epel-7"

[b]Firmas los paquetes:[/b]

RPMS_TO_SIGN=$(find ${MOCKBASEDIR}/${REPONAMEPATTERN}*/
result/ -name '*.rpm' | tr '\n' ' ' )
rpmsign --addsign $RPMS_TO_SIGN

[b]Transportas los paquetes a un repo local:[/b]

unset REPONAMEPATTERN
REPONAMEPATTERN="fedora"
REPONAMEPATTERN="centos"
REPONAMEPATTERN="epel"
REPONAMEPATTERN="mirepo-epel"

BUILDTYPE="os"
BUILDTYPE="updates"
BUILDTYPE="testing"

pushd ${MOCKBASEDIR}

for mockchroot in $(/bin/ls -d ${REPONAMEPATTERN}*) ; do
   if [ "${mockchroot%%-*}" == "fedora" ] ; then
      repodist=fedora
   else
      repodist=centos
   fi
   distnr="$(echo $mockchroot | sed -e 's/.*-\([^-]\+\)-\([^-]\+\)$/\1/')"
   arch="$(echo $mockchroot | sed -e 's/.*-\([^-]\+\)-\([^-]\+\)$/\2/')"

   mv ${MOCKBASEDIR}/$(basename ${mockchroot})/result/*.src.rpm ${REPOBASEDIR}/${repodist}/${distnr}/${BUILDTYPE}/SRPMS
   mv ${MOCKBASEDIR}/$(basename ${mockchroot})/result/*.rpm ${REPOBASEDIR}/${repodist}/${distnr}/${BUILDTYPE}/${arch}/RPMS
done

popd

[b]Creas el repo y lo subes al ftp:[/b]

[b]Para CentOS:[/b]

Ejecutas createrepo en un servidor CentOS

unset DRYRUN

DRYRUN="-n"

if [ -n "${REPOBASEDIR}" -a -n "${FTPSERVER}" -a -n "${FTPBASEDIR}" ] ; then
   rsync -av --delete -e "ssh -l root -p ${FTPSERVERSSH}" ${REPOBASEDIR}/centos/ ${FTPSERVER}:/${FTPBASEDIR}/centos/ \
   --exclude headers/ --exclude repodata/ --exclude /kickstarts/ \
   ${DRYRUN}
else
fi

ssh -l root -p ${FTPSERVERSSH} ${FTPSERVER} "
for distnr in 6 7 ; do
   for type in $BUILDTYPE ; do
      for arch in i386 x86_64 SRPMS ; do
         workingdir=${FTPBASEDIR}/centos/\${distnr}/\${type}/\${arch}
         if [ -d \${workingdir} ] ; then
            createrepo \${workingdir}
         fi
      done
   done
done
"

ssh -l root -p ${FTPSERVERSSH} ${FTPSERVER} "
for distnr in 6 7 ; do
   for type in os updates testing ; do
      for arch in i386 x86_64 SRPMS ; do
         workingdir=${FTPBASEDIR}/centos/\${distnr}/\${type}/\${arch}
         if [ -d \${workingdir} ] ; then
            createrepo \${workingdir}
         fi
      done
   done
done
"

ssh -l root -p ${FTPSERVERSSH} ${FTPSERVER} "for FTPSERVERMIRROR in ${FTPSERVERMIRRORS} ; do /usr/bin/rsync -av -e 'ssh -p ${FTPSERVERSSH}' --delete ${FTPBASEDIR}/ \${FTPSERVERMIRROR}:${FTPBASEDIR}/ ; done"

[b]Para Fedora:[/b]

for distnr in 20 21 ; do
   for type in $BUILDTYPE ; do
      for arch in i386 x86_64 SRPMS ; do
         workingdir=${REPOBASEDIR}/fedora/${distnr}/${type}/${arch}
         if [ -d ${workingdir} ] ; then
            createrepo ${workingdir}
         fi
      done
   done
done

for distnr in 20 21 ; do
   for type in os updates testing ; do
      for arch in i386 x86_64 SRPMS ; do
         workingdir=${REPOBASEDIR}/fedora/${distnr}/${type}/${arch}
         if [ -d ${workingdir} ] ; then
            createrepo ${workingdir}
         fi
      done
   done
done

unset DRYRUN
DRYRUN="-n"

if [ -n "${REPOBASEDIR}" -a -n "${FTPSERVER}" -a -n "${FTPBASEDIR}" ] ; then
   rsync -av --delete -e "ssh -l root -p ${FTPSERVERSSH}" ${REPOBASEDIR}/fedora/ ${FTPSERVER}:/${FTPBASEDIR}/fedora/ \
   ${DRYRUN}
else
   echo "Nastav promenne: REPOBASEDIR, FTPSERVER a FTPBASEDIR"
fi

[b]Y listo[/b] :D
 
Perfil
 Citar
al-serv
Publicado en 27/06/14 10:18  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
Wow! todo automatizado lo que yo hago manualmente... sera cuestión de guardar bien este manual que has puesto aquí para ir automatizando el proceso ya que me tiro horas para poner 4 rpm jejeje! Sonrisa

Lo que tendré que desglosar tu manual ya que hay explicaciones y scripts y lo veo un poco lioso jejeje pero a ver que se le puede hacer Sonrisa

Gracias por todo @petercheco :=)
 
Perfil Sitio Web
 Citar
petercheco
Publicado en 27/06/14 01:15  

Participa mucho
Forum User

Inscrito: 18/06/14 Publicaciones: 36
De nada.. Te lo puedes quedar y eso.. Big Grin.
Es un poco lioso si.. Es que cuando uno se pone a escribir, no sabe cuando terminar Big Grin
 
Perfil
 Citar
Primero | Anterior | 123 | Siguiente | Ultimo
Contenido generado en: 0,32 segundos Nuevo tema Publicar Respuesta
 Todas las horas son UTC. Hora actual 07:20 .
Tema normal Tema normal
Tema persistente Tema persistente
Tema cerrado Tema cerrado
Nueva publicación Nueva publicación
Persistente con nueva publicación Persistente con nueva publicación
Cerrado con nueva publicación Cerrado con nueva publicación
Ver publicaciones anónimas 
Usuarios anónimos pueden publicar 
Se permite HTML Filtrado 
Contenido censurado