martedì 3 gennaio 2012

FreeNAS & ports

Installare l'albero dei ports su FreeNAS quando questo efettua il boot da una chiavetta USB potrebbe non essere così semplice come si può pensare, perché il filesystem di sistema è limitato e alcune locazioni sono montate in sola lettura. Io personalmente ho optato per la seguente strategia:
  • creare uno spazio temporaneo di lavoro per portsnap:
zfs create RPOOL/ports-tmp
  • scaricare l'albero dei ports
portsnap -d /mnt/RPOOL/ports-tmp fetch
  • creare lo spazio finale dei ports
zfs create RPOOL/ports
  • decomprimere l'albero dei port
portsnap -d /mnt/RPOOL/ports-tmp -p /mnt/RPOOL/ports extract

  • rimuovere lo spazio temporaneo
zfs destroy  RPOOL/ports-tmp
  • sovrascrivere la configurazione di default dei ports, che si trova nel file /usr/share/mk/bsd.port.subdir.mk e che è alla base del sistema di compilazione dei ports. Questo passo è il piu' importante, perché il filesystem /usr è insola lettura in questa installazione. Ci sono due soluzioni: la prima consiste nel linkare la directory a /usr/ports, la seconda nello esportare la directory dei ports come link in /usr. Quindi si deve eseguire uno dei due comandi seguenti:
set PORTSDIR=/mnt/RPOOL/ports
ln -s /mnt/RPOOL/ports/ /usr/ports


    E il gioco è fatto. Occorre però prestare attenzione al fatto che /usr rimane in sola lettura, quindi molto del software che si vuole installare non funzionerà a meno di definire una cartella nel NAS vero e proprio e di compilare dai ports usando tale cartella.

    Nessun commento: