Mirall de repositoris per a les festes Ubuntaires.
Perl Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
changelogs.conf
default
dnsmasq.conf
interfaces
mirror-changelogs
mirror-list
mirror-nat
mirror-upgrader
mirrors.conf
netboot-download
tftp

README.md

Servidor de miralls per a festes d'instal·lació

Revisió actualitzada del projecte de l'@alexm. Agraïments a l'@alexm i al @wagafo.

Maquinari

  • Un llapis USB o un CD amb l'instal·lador d'Ubuntu Server o de Debian, segons si el portàtil té unitat de CD.
  • Un ordinador portàtil que pugui arrencar un disc dur del port USB i que tingui connexió WiFi.
  • Un disc dur extern amb connexió USB (es recomana 1TB) i preferiblement de 2.5" perquè no calgui carregar la font d'alimentació.
  • Un cable USB per endollar el disc dur extern en un port USB del portàtil.
  • Un cable de xarxa creuat o un de directe, si el portàtil és capaç de fer crossover automàticament (la majoria d'ordinadors moderns ja tenen aquesta característica).

Programari

  • Ubuntu Server
  • dnsmasq
  • iptables
  • apt-mirror
  • apache2
  • wireless-tools
  • wpasupplicant
  • pxelinux
  • tftpd-hpa
  • tftp-hpa
  • xinetd

Instal·lació bàsica del servidor

  • Endolleu el disc dur extern en un port USB del portàtil amb el cable USB.
  • Arrenqueu el portàtil i feu que s'iniciï la instal·lació de l'Ubuntu Server des del llapis USB o del CD, segons s'escaigui.
  • Escriviu el nom de màquina: MirallUbuntaire (s'utilitza al dnsmasq.conf).
  • Quan l'instal·lador us demani quin usuari voleu crear, indiqueu-li que es diu ubuntaires i la contrasenya ubuntu.cat (si us interessa que algú pugui connectar remotament a aquest ordinador, trieu una contrasenya més robusta).
  • Feu una instal·lació normal fins que arribeu a la selecció del disc.
  • La taula de particions del disc ha de contenir 2 particions primàries:
  • La primera de tipus ext3 per al /boot amb mida entre 250 MB.
  • La segona de tipus Linux LVM per al sistema amb la resta del disc.
  • La segona partició serà el volum físic d'un grup de volums anomenat ubuntaires, que conté aquests volums lògics:
    • root per al sistema, amb 20 GB.
    • swap per al fitxer d'intercanvi, amb 6 GB.
    • mirror per als miralls, amb la mida que calculeu que us cal (uns quants centenars de GB). Per exemple, podeu muntar-lo al directori /srv/mirror o qualsevol altre que us agradi més.
  • No assigneu tot l'espai disponible als miralls per si us cal ampliar algun dels altres volums lògics en algun moment.
  • Formateu la partició de /boot i els volums lògics amb el sistema de fitxers ext3 o ext4.
  • Quan l'instal·lador us demani quins serveis voleu instal·lar, indiqueu-li només les utilitats bàsiques del sistema.

Serveis del servidor

  • dnsmasq
    • interfaces
    • dnsmasq.conf
  • iptables
    • mirror-nat
  • apt-mirror
    • mirrors.conf
    • mirror-list
    • mirror-upgrader
    • mirror-changelogs
  • apache2
  • tftp
    • tftp
  • pxelinux
    • default
    • netboot-download

Configuració dels miralls

Instal·leu el paquet apt-mirror i executeu les ordres següents per preparar els miralls (utilitzarem el directori /srv/mirror):

sudo mkdir -p /srv/mirror
sudo mv ~apt-mirror/* /srv/mirror/
sudo rm -r ~apt-mirror
sudo ln -s /srv/mirror ~apt-mirror
cd ~apt-mirror/mirror
sudo mkdir -p ftp.caliu.cat/ubuntu
sudo mkdir -p changelogs.ubuntu.com
sudo ln -s ftp.caliu.cat archive.ubuntu.com
sudo ln -s archive.ubuntu.com es.archive.ubuntu.com
sudo ln -s archive.ubuntu.com ad.archive.ubuntu.com
sudo ln -s archive.ubuntu.com us.archive.ubuntu.com
sudo ln -s archive.ubuntu.com rsync.archive.ubuntu.com

Instal·leu el paquet apache2 i executeu les ordres següents per servir els mirralls (noteu el camp ServerAdmin del primer fitxer):

sudo cp mirall-repositoris/changelogs.conf /etc/apache2/sites-available
cd /etc/apache2/sites-available
sudo a2ensite changelogs.conf
cd /var/www/html
sudo ln -s /var/spool/apt-mirror/mirror/changelogs.ubuntu.com changelogs
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu ubuntu
sudo service apache2 restart

Copieu a /usr/local/bin els guions que necessitareu més endavant:

sudo cp mirall-repositoris/mirror-* /usr/local/bin
sudo chmod 755 /usr/local/bin/mirror-*

Copieu a /usr/local/etc la configuració de quines distribucions ha d'incloure el mirall:

sudo cp mirall-repositoris/mirrors.conf /usr/local/etc/mirrors.conf
sudo chmod 644 /usr/local/etc/mirrors.conf

Actualització dels miralls

Genereu la llista de fonts del mirall:

/usr/local/bin/mirror-list | sudo tee /etc/apt/mirror.list

Actualitzeu el mirall:

sudo chown -R apt-mirror:apt-mirror /srv/mirror
sudo chown -R apt-mirror:apt-mirror /var/spool/apt-mirror
sudo su - apt-mirror -c apt-mirror
sudo su - apt-mirror -c mirror-upgrader
sudo su - apt-mirror -c mirror-changelogs

Si avorteu la sincronització del mirall i us cal esborrar el bloqueig, feu:

sudo rm ~apt-mirror/var/apt-mirror.lock

Neteja dels miralls obsolets

Després d'una actualització o purga d'un mirall us pot interessar fer net:

sudo su - apt-mirror -c ~apt-mirror/var/clean.sh

Introducció de nous miralls

Editeu el fitxer mirrors.conf i afegiu una nova línia amb la distribució. Atenció! La primera distribució de la llista també es baixarà com a NetBoot!

Configuració de la xarxa

La configuració de xarxa suposa que la interfície eth0 és la de cable i la wlan0 la WiFi.

Definiu les variables d'entorn per les interfícies de xarxa:

export LAN=eth0
export WAN=wlan0

Assegureu-vos de tenir instal·lat tant el wireless-tools com el wpasupplicant:

sudo apt-get install wireless-tools
sudo apt-get install wpasupplicant

Adapteu i copieu la configuració de les interfícies de xarxa i reiniciu-les:

sudo cp -b mirall-repositoris/interfaces /etc/network/interfaces
sudo /etc/init.d/networking restart

Instal·leu el paquet dnsmasq, adapteu i copieu la configuració a /etc/dnsmasq.conf:

sudo apt-get install dnsmasq
sudo cp -b mirall-repositoris/dnsmasq.conf /etc/dnsmasq.conf

Quan vulguem actualitzar els miralls haurem d'agafar una IP del DHCP:

sudo dhclient $LAN

Arrancar per xarxa

Instal·leu el tftp, el xinetd i el pxelinux:

sudo apt-get install pxelinux tftpd-hpa tftp-hpa xinetd

Creeu el directori /var/lib/tftpboot i baixeu els NetBoots:

sudo mkdir /var/lib/tftpboot
chmod +x mirall-repositoris/netboot-download
sudo mirall-repositoris/netboot-download
sudo cp -b mirall-repositoris/default /var/lib/tftpboot/pxelinux.cfg/default

Habiliteu el servidor:

sudo cp -b mirall-repositoris/tftp /etc/xinetd.d/tftp
sudo service xinetd restart
sudo service tftpd-hpa stop
sudo service xinetd restart
sudo update-rc.d -f tftpd-hpa remove

Preparació de la festa

Maquinari

  • Un ordinador portàtil que pugui arrencar un disc dur del port USB i que pugui tenir connexió WiFi.
  • El disc extern dels miralls.
  • Un cable USB per endollar el disc dur extern en un port USB del portàtil.
  • Un cable de xarxa creuat o un de directe, si el portàtil és capaç de fer crossover automàticament (la majoria d'ordinadors moderns ja tenen aquesta característica).
  • Un commutador de xarxa amb ports suficients pel servidor i la resta d'ordinadors de la festa.
  • Un cable directe per cada ordinador que faci de client a la festa.

Servidor

Poseu en marxa la interfície de LAN:

sudo ip address add 10.0.0.10/8 dev $LAN

Engegueu el dnsmasq:

sudo service dnsmasq restart

Engegueu l'apache:

sudo service apache2 restart

Engegueu el tftp:

sudo service xinetd restart

Si voleu fer NAT amb la WiFi editeu i descomenteu les dues primeres variables del fitxer /usr/local/bin/mirror-nat i executeu-lo:

sudo mirror-nat

A vegades si connectes el disc dur extern a un altre ordinador no et detecta correctament les targetes de xarxa. Per arreglar-ho feu:

sudo udevadm trigger
sudo udevadm trigger --action=add

Si això no funciona elimineu el fitxer /etc/udev/rules.d/70-persistent-net.rules, reinicieu i després feu:

sudo udevadm trigger --action=change

Clients