Si tratta di una delle principali distribuzioni BSD, oramai con un buon livello di maturita', e un discreto supporto hardware.
Per aggiungere freebsd a Grub, editare il file /boot/grub/menun.lst, e inserire:
title=FreBSD root(hd0,3,a) (partizione hda4 slice a) kernel /boot/loader
Notare che in questo caso la voce root(…) contiene un parametro in piu rispetto a quello che si usa nelle distribuzioni linux, infatti i sistemi BSD, hanno oltre alle unita fisiche e le partizioni una ulteriore suddivisione in slice, ovvero io posso suddividere una partizione in piu slice, quindi l'esempio root(hd0,3,a) sta ad indicare la partizione hda4 slice a.
L'omonimo di lspci su freebsd e' pciconf. Se io voglio una lista dell'hardware individuato dal sistema operativo devo dare il comando:
pciconf -lv
Portarsi nella cartela /usr/ports e dare il seguente comando:
make search name=nomeprogrammadacercare
Per aggiornare i ports utilizzando cvsup:
Prendo i due files di esempio da /usr/share/example/cvsup
Dopo di che do:
cvsup -g -L2 port-supfile
seguito da
cvsup -g -L2 stable-supfile
Per avere la lista dei pacchetti isntallati dare il seguente comando:
ls -d /var/db/pkg
Per installare con portinstall un pacchetto aggiornando tutti i pacchetti di dipendenze dare il seguente comando:
portinstall -r nomepacchetto
Per rimuovere un pacchetto e tutti quelli a cui è collegato:
pkg_delete -r pacchetto
Per aggiornare tutti i pacchetti con portupgrade dare:
portupgrade -a
E' utile prima dare il comando:
portsnap fetch extract
per sincronizzare la lista dei ports con il repository remoto.
Per far scaricare a portinstall i pacchetti devo:
setenv PKG_SITE “ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/Latest/.”
Per Installare un pacchetto compilato:
pkg_add -r nomepacchetto
Per risolvere dipendenze in stallo usare il comando:
pkgdb -F
Se dopo aggiornamento di X ho problemi con i fonts provare a reinstalalre:
font-misc-misc-1.0.0 font-cursor-misc-1.0.0
Usare come comando portupgrade -f nomepacchetto
Per ricompilare il kernel, dopo essersi creata la propria configurazione personalizzata dare i seguenti comandi:
cd /usr/src
make buildkernel KERNCONF=MYKERNEL make installkernel KERNCONF=MYKERNEL
Per aggiungere la formattazione della shell bash simile a quella di linux, in /etc/profile inserire:
export PS1=”[\u@\h \W]\\$
Per installare la scheda sonora:
Controllare dalla lista a questo link quale modulo del kernel va caricato:
Lista schede sonore supportate (Relativa alla versione 7.0)
Testare il modulo con:
kldload snd_xxx (modulo scelto dalla lista sopra)
Se funziona editare il file /boot/loader.conf e inserire la seguente riga:
snd_xxx_load=”YES”
Per aggiungere postgresql all'avvio, editare /etc/rc.conf e scrivere la seguente linea:
postgresql_enable=”YES”
Per aggiungere apache all'avvio in /etc/rc.conf, aggiungere la seguente linea:
apache22_enable=”YES”
Per gestire le partizioni di un disco esiste il tool fdisk. Se usato da solo:
fdisk
Ci stampa le informazioni sulla tabella delle partizioni, fra le quali troviamo:
Ora se no abbiamo bisogno di modificare una partizione possiamo dare il comando:
fdisk -u /dev/ad0
Ora il programma di partizionamento ci chiedera per ogni partizione presente se vogliamo modificarla. Quando arriviamo a quella che dobbiamo modificare (e/o inserire) risponderemo 'y'. A questo punto il programm ci chiedera:
Infine chi cheidera la conferma che i parametri sono corrretti (ma ancora non li scrive) Proseguira' a chiedee di modificare evenutali altre partizioni, e in fine ci chiedera di scrivere o meno la tabella dele partizioni. Dopo di che dare:
bsdlabel -w nuovapartizione (normalmente nella forma adXsY)
Questo crea3 Dopo quest operazione si procede con un:
newfs unita
Al termine l'unita sara' pronta per l'uso
NFS e' un protocollo che permette di condividere delle cartellem unita' sui sistemi unix/linux. Vedremo qui come condividere una cartella tramite NFS su una macchina con FreeBSD. Prima di tutto occorre abilitare i servizi di NFS all'avvio. Quelli necessari sono:
Per abillitarli occorre editare il file /etc/rc.conf, e aggiungere le seguenti linee:
rpcbind_enable="YES" nfs_server_enable="YES" mountd_flags="-r"
Quindi riavviare la macchina. Dopodiche occorre creare (o editare se gia presente) il file /etc/exports che conterra' le informazioni sui singoli path da condividere. Ogni linea identifica un percorso. La sintassi e' simile alla segunete:
(Cartella da condividere) opzioni (client abilitati)
Spieghiamo meglio le singole voci:
E' imporante notare che ogni filesystem deve stare su una sola linea, quindi se ad esempio /usr e' un file system e vogliamo condividere anche /usr/share, questi andranno messi sulla medesima linea in exports.
Vediamo alcuni esempi: Se vogliamo che la nostra cartella (chiamata mystuff nell'esempio) sia acccessibile in sola lettura dalla macchina host1:
/mystuff -ro host1
Se invece vogliamo che l'utente root remoto abbia accesso con i privilegi di root locali (quindi normalmente in modalita' lettura/scrittura) dalle macchine host1 host2:
/mystuff -maproot=root host1 host2
Se vogliamo che tutti gli utenti accedano con i privilegi di accesso di un utente user (che sia anche root), da una rete con indirizzi ip di tipo: 192.168.1.xx faremo:
/mystuff -mapall=user -network 192.168.1 -mask 255.255.255.0
Ogni volta che si modifica il file exports, vanno riavviati i servizi di nfsd (potete anche riavviare la macchina).
Per prima cosa loggarsi come root. E dare il comando:
freebsd-update upgrade -r VERSIONERELEASE
dove VERSIONERELEASE e' la versione a cui vogliamo aggiornare (per esempio mentre scrivo sto aggiornando alle 7.1-RELEASE, per maggiori informazioni consultare il sito di freebsd su quali versioni del sistema possono aggiornarsi a quella attuale). Durante l'aggiornamento verranno richieste alcune informazioni all'utente dipendenti dal sistema.
Se nel montare un dvd video con il comando mount ricevete un erroree di tipo input/output allora provate a usare il comando mount_udf, con la seguente sintassi:
mount_udf /dev/acdX /pathtomount
Per sapere se il dvd viene letto da FreeBSD dare il seguente comando:
cdcontrol -f /dev/acd1 info
Se vi dira le informazioni sulle tracce e simili allora il dvd (o cd) sara' leggibile, altrimenti vi dara' di nuovo un errore di input output.
Per attivare un loop device dare il seguente comando:
mdconfig -a -t vnode -f path/to/file.img
Dove ovviamente path/to/file.img va sostituito con il percorso di un file immagine che vogliamo montare. In output il programma dira' quale device ha creato (nella forma: mdX) dove X e' un numero. Una volta abttivato il loop device, basta montarlo normalmente, per esempio se abbiamo un file immagine con al suo interno un file system ext2 diamo:
mount -t ext2fs /dev/mdX /path/to/mount
Ovviamente per smontarlo bastera' una semplice umount:
umount /dev/md0
Per disattivare quel loop device:
mdconfig -d -u md0