Diferenzas

Isto amosa as diferenzas entre a revisión seleccionada e a versión actual da páxina.

Enlazar a esta vista de comparación

Next revision
Previous revision
centro:tutoriales:crear_un_repositorio_parcial_de_ubuntu [2012/12/13 13:32] – edición externa 127.0.0.1centro:tutoriales:crear_un_repositorio_parcial_de_ubuntu [2014/07/03 08:52] (actual) – [Firmar los archivos Release] jorge.suarez
Liña 13: Liña 13:
   * Un servidor, donde almacenaremos el repositorio. Puede ser virtual perfectamente.    * Un servidor, donde almacenaremos el repositorio. Puede ser virtual perfectamente. 
  
-  * Se recomiendan al menos 10GB de almacenamiento exclusivos para ''/var/local'', aunque cuidado porque se pueden necesitar más si crece mucho el repositorio. Si se va a crear un repositorio multiarquitectura (para Ubuntu 12.04 en adelante), recomendamos al menos 15GB.+  * Se recomiendan al menos 15GB de almacenamiento exclusivos para ''/var/local'', aunque cuidado porque se pueden necesitar más si crece mucho el repositorio. Si se va a crear un repositorio multiarquitectura (para Ubuntu 12.04 en adelante), recomendamos al menos 20GB.
  
   * Puertos abiertos para HTTP, ya que el servidor estará accesible mediante este protocolo.   * Puertos abiertos para HTTP, ya que el servidor estará accesible mediante este protocolo.
Liña 25: Liña 25:
   - Con ''apt-move'', movemos los paquetes en caché a un repositorio.   - Con ''apt-move'', movemos los paquetes en caché a un repositorio.
  
-El problema es que el ''apt'' del sistema necesita ser capaz de instalar todos los paquetes que queramos, y eso quiere decir que o bien el servidor tiene exactamente el mismo sistema operativo y versión que los clientes a los que va dirigido el repositorio, o debemos crear un entorno chroot con ''debootstrap''.+El problema es que el ''apt'' del sistema necesita ser capaz de instalar todos los paquetes que queramos, y eso quiere decir que o bien el servidor tiene exactamente el mismo sistema operativo y versión que los clientes a los que va dirigido el repositorio, o debemos crear un entorno chroot con ''debootstrap''. Optaremos por esta última opción.
  
 ===== Creación del entorno chroot ===== ===== Creación del entorno chroot =====
  
-Primero, hay que instalar ''debootstrap''+El siguiente script instalará ''bootstrap'' hará el trabajo de crear el directorio y el entorno básico de los entornos chroot de 32 y de 64 bits:
- +
-<code bash> +
-apt-get install debootstrap +
-</code> +
- +
-Y ahora ejecutamos el siguiente script, que hará todo el trabajocrear el directorioen él el entorno básico.+
  
 <file bash mirror_generate.sh> <file bash mirror_generate.sh>
Liña 43: Liña 37:
 # Released under the terms of the GNU General Public License # Released under the terms of the GNU General Public License
 # 2012-12 Modified by Jorge Suárez de Lis <jorge.suarez@usc.es> # 2012-12 Modified by Jorge Suárez de Lis <jorge.suarez@usc.es>
 +# 2014-07 Modified again by Jorge Suárez de Lis <jorge.suarez@usc.es> 
 + 
 # the root directory of the mirror system # the root directory of the mirror system
-CHROOT=/var/local/chroot-amd64+CHROOT64=/var/local/chroot-amd64 
 +CHROOT32=/var/local/chroot-i386
 # the mirror directory inside of the chroot # the mirror directory inside of the chroot
-MIRRORDIR=/var/local/mirrors-amd64+MIRRORDIR64=/var/local/mirrors-amd64 
 +MIRRORDIR32=/var/local/mirrors-i386
 # the Debian archive next to you # the Debian archive next to you
-DEBIAN=http://fr.archive.ubuntu.com/ubuntu+DEBIANREPO=http://fr.archive.ubuntu.com/ubuntu
 # the release name # the release name
-RELEASENAME=precise +RELEASENAME=trusty 
 + 
 #### ####
 + 
 OUT=adduser,aptitude,apt-utils,at,base-config,bsdmainutils,\ OUT=adduser,aptitude,apt-utils,at,base-config,bsdmainutils,\
 console-common,console-data,console-tools,cpio,cron,debconf-i18n,\ console-common,console-data,console-tools,cpio,cron,debconf-i18n,\
Liña 68: Liña 65:
 pppconfig,pppoe,pppoeconf,procps,psmisc,setserial,slang1,sysklogd,\ pppconfig,pppoe,pppoeconf,procps,psmisc,setserial,slang1,sysklogd,\
 syslinux,sysvinit,tasksel,tcpd,telnet,wget,whiptail syslinux,sysvinit,tasksel,tcpd,telnet,wget,whiptail
- +  
-IN=apt-move,bc,bzip2,dash,debconf-english,libbz2-1.0,libpam0g,\+IN=apt-move,bc,bzip2,dash,debconf,libbz2-1.0,libpam0g,\
 libreadline5 libreadline5
 + 
 #### ####
 + 
 apt-get install debootstrap apt-get install debootstrap
-mkdir -p $CHROOT$MIRRORDIR/ubuntu + 
-debootstrap --components=main,universe --exclude="$OUT" --include="$IN" $RELEASENAME $CHROOT $DEBIAN +mkdir -p $CHROOT64$MIRRORDIR64/ubuntu 
-mkdir -p $MIRRORDIR +debootstrap --components=main,universe --exclude="$OUT" --include="$IN" $RELEASENAME $CHROOT64 $DEBIANREPO 
-ln -s $CHROOT$MIRRORDIR/ubuntu $MIRRORDIR+mkdir -p $MIRRORDIR64 
 +ln -s $CHROOT64$MIRRORDIR64/ubuntu $MIRRORDIR64 
 + 
 +mkdir -p $CHROOT32$MIRRORDIR32/ubuntu 
 +debootstrap --components=main,universe --exclude="$OUT" --include="$IN" $RELEASENAME $CHROOT32 $DEBIANREPO 
 +mkdir -p $MIRRORDIR32 
 +ln -s $CHROOT32$MIRRORDIR32/ubuntu $MIRRORDIR32
  
 </file> </file>
  
-Es posible que falle para algunas releases de Ubuntu. Por ejemplo, este funciona para 12.04, pero es posible que necesites cambiar el nombre de algún paquete para otras versiones, o para usarlo en Debian.+Es posible que falle para algunas releases de Ubuntu. Por ejemplo, este funciona para Ubuntu 14.04, pero es posible que necesites cambiar el nombre de algún paquete para otras versiones, o para usarlo en Debian.
  
-Una vez terminado, tendremos un sistema base limpito, listo para hacer chroot, en ''/var/local/chroot-amd64''.+Una vez terminado, tendremos un sistema base limpito, listo para hacer chroot, en ''/var/local/chroot-amd64'' y en ''/var/local/chroot-i386''.
  
 ===== Configuración de apt y apt-move dentro del entorno chroot ===== ===== Configuración de apt y apt-move dentro del entorno chroot =====
Liña 434: Liña 437:
 </code> </code>
  
-Exporta la llave privada y añádela al entorno de fuera del chroot:+Exporta la llave privada y añádela a los entornos chroot:
  
 <code bash> <code bash>
-chroot /var/local/chroot-amd64 gpg --export-secret-keys --armor --output /repositorio.gpg --export 'Unidade de Xestion de Infraestruturas TIC' +gpg --export-secret-keys --armor --output /var/local/repositorio.gpg 'Unidade de Xestion de Infraestruturas TIC' 
-gpg --allow-secret-key-import --import /var/local/chroot-amd64/repositorio.gpg</code>+cp /var/local/repositorio.gpg /var/local/chroot-amd64/ 
 +cp /var/local/repositorio.gpg /var/local/chroot-i386/ 
 +chroot /var/local/chroot-amd64 gpg --allow-secret-key-import --import /repositorio.gpg 
 +chroot /var/local/chroot-i386 gpg --allow-secret-key-import --import /repositorio.gpg 
 +rm -f /var/local/chroot-amd64/repositorio.gpg 
 +rm -f /var/local/chroot-i386/repositorio.gpg</code>
  
 Por último, actualiza la lista de paquetes de nuevo: Por último, actualiza la lista de paquetes de nuevo:
Liña 449: Liña 457:
  
 <code bash> <code bash>
-chroot /var/local/chroot gpg --armor --output /repositorio.pub --export 'Unidade de Xestion de Infraestruturas TIC'+gpg --armor --output /var/local/repositorio.pub --export 'Unidade de Xestion de Infraestruturas TIC'
 </code> </code>
  
Liña 455: Liña 463:
  
 <code bash> <code bash>
-chroot /var/local/chroot apt-key add /tmp/repositorio.pub+apt-key add /tmp/repositorio.pub
 </code> </code>