- FreeBSD ofereix paquets binaris, Ports i compatibilitat Linux per cobrir diferents casos dús.
- Compilar des de font permet aplicar pegats i opcions; els paquets aporten rapidesa i simplicitat.
- La compatibilitat Linux depèn del maquinari: glibc moderna exigeix x86-64‑v2 en binaris recents.
- Configurar rc.conf, loader.conf i fstab és clau per a conductors, automuntatge, impressió i serveis.
Quan vens de GNU/Linux i aterres a FreeBSD és normal preguntar-se com executar programes nadius de Linux sense perdre el cap. FreeBSD ofereix diverses rutes: paquets binaris, la cèlebre Col·lecció de Ports i la capa de compatibilitat Linux (l'anomenat Linuxulator). Cada mètode té els seus avantatges, límits i peculiaritats de configuració.
En aquesta guia trobaràs una visió pràctica i molt completa, amb focus als matisos que solen passar-se per alt: des de raons per compilar des del codi font fins com afinar rc.conf, loader.conf o fstab; passant per drivers gràfics, automuntatge, CUPS, fonts, idioma del sistema i, per descomptat, com bregar amb la compatibilitat Linux moderna i les seves exigències de CPU.
Opcions reals a FreeBSD: paquets, ports i compatibilitat Linux
FreeBSD permet instal·lar programari de tres formes principals: paquets binaris (packages), la Col·lecció de Ports (construint des de codi) i la compatibilitat amb Linux per executar binaris Linux. Triar bé depèn de la teva necessitat de velocitat, personalització i de l'stack que exigeixin les aplicacions.
Els paquets binaris són «programes ja fets» preparats per instal·lar, mentre que els ports compilen des del codi font aplicant pegats i opcions. I si necessites executar una app sense port nadiu, FreeBSD pot carregar binaris Linux via la seva entorn de compatibilitat (amb certs requisits).

Per què de vegades convé compilar des del codi
Encara que els paquets binaris són comodíssims, hi ha raons de pes per estirar font: algunes llicències prohibeixen distribuir binaris i només permeten distribuir el codi. En aquests casos, ports és la via natural.
També hi ha qui no confia en binaris de tercers. Amb el codi pots, almenys en teoria, auditar i detectar possibles problemes abans de compilar. És una capa extra de control que de vegades compensa.
Si mantens pegats propis o necessites activar/desactivar opcions fines de compilació, necessitaràs les fonts per aplicar-los. Ports està precisament dissenyat per això, amb variables i opcions molt granulars.
I per pura curiositat tècnica: tenir el codi a mà permet llegir, modificar o reutilitzar parts (si la llicència ho permet), cosa que a l'ecosistema BSD sempre ha estat molt apreciada.
Paquets binaris a FreeBSD: de pkg_add a pkg
Els paquets binaris a FreeBSD equivalen als .deb a Debian/Ubuntu o .rpm a Fedora: binaris precompilats amb els seus fitxers de configuració i docs. Avui dia es gestiona amb l'eina pkg, que va reemplaçar a les històriques pkg_add, pkg_delete i pkg_info.
ordres essencials amb pkg: instal·lar, cercar, actualitzar i netejar. Per exemple:
# pkg update -f
# pkg upgrade
# pkg search libre
# pkg install firefox
# pkg info firefox
# pkg remove firefox
# pkg autoremove
# pkg clean
# du -hs /var/cache/pkg/
Històricament, amb pkg_add -r podies instal·lar i resoldre dependències automàticament. En releases concretes, aquesta comanda podia descarregar versions més antigues del programa; la variable d'entorn PACKAGESIT permetia forçar repos més recents, per exemple:
PACKAGESITE=ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
Si véns de Linux, notaràs que FreeBSD utilitza extensions com .tgz o .tbz per a paquets precompilats i que la base de dades local de paquets viu a /var/db/pkg. És un detall útil per a auditories o scripts.
Col·lecció de Ports: compilar amb opcions i sense sorpreses
La Col·lecció de Ports és un arbre a /usr/ports amb Makefiles, pegats i descriptors. En instal·lar un port, el sistema descarrega fonts, aplica pegats, compila, instal·la i resol dependències en el mateix procés, la qual cosa és molt còmode.
Per portar o actualitzar l'arbre podeu utilitzar mètodes clàssics com portsnap o csup (avui Git també és habitual, però el concepte és el mateix: sincronitzar l'arbre de ports amb els servidors de FreeBSD).
Exemple típic per compilar i instal·lar, amb neteja automàtica:
# cd /usr/ports/www/apache22
# make install clean
I si teniu requisits específics, activeu opcions de compilació mitjançant variables de make. Per exemple, habilitar mod_ldap a Apache durant la build:
# cd /usr/ports/www/apache22
# make WITH_LDAP="YES" install clean
Un truc útil: pots compilar un port al teu gust i després generar un package per distribuir-lo a altres màquines, combinant el millor dels dos mons (personalització i desplegament ràpid).
Buscar què instal·lar i on és
Si saps el nom exacte, pkg t'ho posa fàcil amb pkg search. A l'ecosistema de ports, també pots buscar des del propi arbre amb eines de consulta. Recorda a més que el sistema distingeix majúscules de minúscules en cercar rutes o noms.
Per explorar de forma local a ports, mou-te per /usr/ports i utilitza els objectius de make de cerca o inspecciona els directoris per categories (www, sysutils, multimèdia, etc.). La web oficial llista els ports disponibles amb detall.
Compatibilitat amb Linux (Linuxulator): executar binaris Linux
FreeBSD pot executar binaris Linux mitjançant la capa de compatibilitat. El 2025, l'ecosistema de compatibilitat utilitza repositoris basats en Rocky Linux per als paquets d'usuari, substituint l'antic CentOS. També és freqüent veure chroots com /compat/ubuntu (per exemple, un Ubuntu Focal per a certes aplicacions).
Per habilitar-lo, instal·la la base de Linux i configura serveis i pseudo-sistemes de fitxers. Un exemple clàssic amb la base C7 (ajusta al més recent disponible amb pkg search):
# pkg search linux_base-c
# pkg install linux_base-c7
Activa el runtime a rc.conf, munta linprocfs i linsysfs i assegura fdesc i proc al teu sistema:
# sysrc linux_enable="YES"
# sysrc devfs_system_ruleset="devfsrules_common"
# echo "fdesc /dev/fd fdescfs rw 0 0" >> /etc/fstab
# echo "proc /proc procfs rw 0 0" >> /etc/fstab
# echo "linprocfs /compat/linux/proc linprocfs rw 0 0" >> /etc/fstab
# echo "linsysfs /compat/linux/sys linsysfs rw 0 0" >> /etc/fstab
# mount -t linprocfs linproc /compat/linux/proc
# mount -t linsysfs linsys /compat/linux/sys
Un detall important en maquinari antic: versions modernes de glibc exigeixen la microarquitectura x86-64-v2. En equips veterans (com alguns ThinkPad T400) veuràs errors tipus error error: CPU does no support x86-64-v2 en llançar binaris Linux recents. FreeBSD com a tal anirà fi, però la compatibilitat amb Linux, emulació o virtualització que depenguin de glibc moderna queden fora de joc si la CPU no compleix.
En aquest escenari, chroots com /compat/ubuntu (Focal) poden instal·lar-se, però no resoldran el requisit d'instruccions si la biblioteca de C del sistema Linux intern demana x86-64-v2. Valora alternatives: utilitzar VI per a apps Windows (alguns executen Brave així), o muntar un Linux lleuger virtualitzat en CPU compatibles; si no ho són, et tocarà optar per aplicacions natives BSD o solucions més lleugeres.
DRM, Brave i contingut protegit
Per reproduir contingut amb DRM (com Prime Video) a FreeBSD hi ha diverses dreceres. Hi ha qui instal·la la versió Linux de navegadors com Brave dins de la compatibilitat Linux o en un chroot, però si la teva CPU no suporta les extensions exigides per glibc moderna, aquest pla cau.
Si tot això falla per limitació de CPU, considera Firefox nadiu amb Widevine quan estigui disponible en ports/paquets, o WINE per a Brave (dependrà del teu cas). La decisió final depèn del suport DRM que puguis activar al teu navegador i del maquinari amb què comptes.
Preparar un escriptori FreeBSD per treballar còmode
Si mai no has tocat FreeBSD, començar amb GhostBSD pot ser una bona presa de contacte, però muntar FreeBSD 14 com a escriptori és perfectament factible. Un stack estable i flexible sol ser Xorg + MATE amb drivers gràfics adequats.
Instal·la els components bàsics:
# pkg install xorg nano drm-510-kmod gpu-firmware-kmod
Activa serveis i drivers a /etc/rc.conf segons la teva GPU integrada. Per Intel sol ser:
hald_enable="YES"
dbus_enable="YES"
kld_list="i915kms"
Per AMD Radeon/AMDGPU integrat:
hald_enable="YES"
dbus_enable="YES"
kld_list="/boot/modules/amdgpu.ko"
Reinicia i prova el servidor gràfic amb startx. Si apareix l'entorn bàsic de X amb terminals, ets al bon camí.
Instal·lar MATE, sudo i preparar sessió gràfica
Amb el sistema base llest, instal·leu l'entorn MATE i utilitats inicials:
# pkg install mate mate-desktop firefox sudo
Concedeix permisos de sudo al teu usuari a /usr/local/etc/sudoers:
TU_USUARIO ALL=(ALL:ALL) ALL
Crea ~ / .Xinitrc per iniciar MATE correctament i gestionar sessió/DBus:
exec ck-launch-session dbus-launch mate-session
Des del teu usuari, executa startx per entrar a lescriptori. Si preferiu display manager, LightDM amb greeter GTK funciona bé:
# pkg install lightdm lightdm-gtk-greeter
# sysrc lightdm_enable="YES"
Impressores amb CUPS i HPLIP
Per a impressió, instal·la CUPS i filtres, habilita-ho i afegeix usuaris al grup cups. HPLIP facilita molt les HP:
# pkg install cups foomatic-filters
# sysrc cupsd_enable="YES"
# pw usermod root -G cups
# pw usermod TU_USUARIO -G cups
# pkg install hplip
# hp-setup
Si alguna cosa es resisteix, entra a la interfície de CUPS a http://localhost:631. Recordeu desactivar lpd si utilitzeu CUPS:
lpd_enable="NO"
Fonts, localització i Firefox en espanyol
Perquè el sistema es vegi bé instal·la URW i altres famílies (webfonts, liberation, etc.):
# pkg install urwfonts x11-fonts/webfonts comfortaa-ttf gnu-unifont gofont-ttf inconsolata-ttf liberation-fonts-ttf
Activa espanyol (ca_ES.UTF-8) per a consola i sessió gràfica. Al $HOME crea els fitxers adequats:
$ nano .login_conf
me:\
:charset=UTF-8:\
:lang=es_ES.UTF-8:\
:tc=default:
$ nano .profile
LANG=es_ES.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET
$ nano .xinitrc
LANG=es_ES.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET
exec ck-launch-session dbus-launch mate-session
Per afinar globalment, afegeix al / Etc / profile (com a root):
LANG=es_ES.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET
Si el Firefox queda en anglès, instal·la el paquet d'idiomes des de la web oficial i, a Ajustos > General > Idioma, escull espanyol a «Establir alternatives». També podeu afegir diccionaris per a correcció.
Automuntatge, FUSE i permisos de dispositius
Per muntar automàticament memòries USB i altres mitjans, instal·la automount i reinicia devd. FUSE permet NTFS, EXT, etc. Configurar permisos i regles de devfs és clau:
# pkg install automount fuse fuse-utils fusefs-ext2 e2fsprogs
# service devd restart
# cp /usr/local/etc/automount.conf.sample /usr/local/etc/automount.conf
# sysrc devfs_system_ruleset="devfsrules_common"
En /usr/local/etc/automount.conf, habilita desmuntatge per usuari:
USERUMOUNT=YES
Assegura a / etc / fstab tots els pseudo-fs i habilita el muntatge per usuari a sysctl:
# echo "proc /proc procfs rw 0 0" >> /etc/fstab
# echo "fdesc /dev/fd fdescfs rw 0 0" >> /etc/fstab
# sysrc -f /etc/sysctl.conf vfs.usermount=1
Afegeix el teu usuari a wheel i operador, carrega FUSE i defineix permisos de dispositius a devfs.conf i regles avançades a devfs.rules (exemples):
# pw usermod TU_USUARIO -G wheel
# pw usermod TU_USUARIO -G operator
# kldload fuse.ko
/etc/devfs.conf:
perm devstat 0444
own /dev/acd0 root:operator
perm /dev/acd0 0666
perm /dev/cd0 0660
perm /dev/da0 0666
...
/etc/devfs.rules:
[devfsrules_common=7]
add path 'ada[0-9]*' mode 666 group operator
add path 'da[0-9]*' mode 666
add path 'cd[0-9]*' mode 666
add path 'mmcsd[0-9]*' mode 666
add path 'usb/*' mode 666 group operator
add path 'video[0-9]*' mode 666
...
Per Java en navegadors o apps antigues, estableix el shm_allow_removed i afegeix runtimes com icedtea-web i openjdk8-jre:
# sysrc -f /etc/sysctl.conf kern.ipc.shm_allow_removed=1
# pkg install icedtea-web openjdk8-jre
Drivers gràfics, acceleració i proves
A GPUs NVIDIA, instal·la el driver i carrega'l al arrencada; si X no crea xorg.conf, en genera un amb X -configure. NVIDIA és plug and play en molts casos:
# pkg install nvidia-driver
# kldload nvidia
# sysrc -f /boot/loader.conf nvidia_load="YES"
# X -configure
# cp /root/xorg.conf.new /etc/X11/xorg.conf
A AMD/ATI modernes, utilitza drm-510-kmod i firmware; activa amdgpu a rc.conf:
# pkg install drm-510-kmod gpu-firmware-kmod
# sysrc kld_list+="amdgpu"
Per verificar acceleració OpenGL, executa glxinfo i comprova el renderitzat:
# pkg install mesa-demos
# glxinfo | grep -i render
Si la teva gràfica integrada Intel és suportada, i915kms sol ser l'opció correcta carregada des de rc.conf o loader.conf segons el maquinari.
Wi‑Fi, so i webcam: allò essencial
Configura Wi‑Fi amb wpa_supplicant i defineix el clon d'interfície. Per a alguns xifrats pots precarregar mòduls WLAN a loader.conf, ia rc.conf declares WPA i DHCP:
# sysrc wpa_supplicant_enable="YES"
# sysrc wlans_ral0="wlan0"
# sysrc ifconfig_wlan0="WPA SYNCDHCP"
En /etc/wpa_supplicant.conf afegeix la teva xarxa:
network {
ssid="NOMBRE_DE_TU_WIFI"
psk="CONTRASEÑA"
}
Per àudio, revisa dispositius i fixa la targeta per defecte si cal. Si el teu còdec és reconegut, pot ser suficient snd_driver o un mòdul específic (ex. snd_emu10k1):
# cat /dev/sndstat
# sysrc -f /etc/sysctl.conf hw.snd.default_auto=0
Activa webcamd i cuse per a suport de càmeres UVC i prova amb cheese:
# sysrc webcamd_enable="YES"
# sysrc -f /boot/loader.conf cuse_load="YES"
# service webcamd start
# pkg install cheese
Eines del sistema i utilitats descriptori
Per a diagnòstic de maquinari i particions, instal·la usbutils, pciutils, hw-probe i gpart:
# pkg install usbutils pciutils hw-probe gpart
# lsusb
# lspci
# pciconf -lv
# hw-probe -all -upload
# gpart show
Un set descriptori que sol rendir bé inclou multimèdia, ofimàtica i edició gràfica. Molts opten per VLC, LibreOffice en espanyol, GIMP, Inkscape, a més de navegadors i eines de còpia/compressió:
# pkg install vlc es-libreoffice es-hunspell gimp inkscape firefox-esr chromium \
brasero gnome-utils gnome-calculator obs-studio openshot qbittorrent \
audacity simple-scan pinta krita peazip-gtk2 xarchiver epdfview zsync rsync
Per integrar serveis al núvol sense embolics, el binari rclone és als repos, però el seu ús és per terminal; si preferiu senzillesa, l'accés via navegador sol ser suficient i universal.
Notes pràctiques de manteniment
Recordeu que BATCH pot accelerar instal·lacions no interactives en entorns amb molts paquets: estableix BATCH=»yes» a rc.conf si ho necessites. Mantingues el sistema al dia amb pkg update/upgrade i neta caixets i dependències òrfenes amb pkg clean i pkg autoremove.
Si alguna línia de fstab us impedeix arrencar, arrenca en mode single user i corregeix amb nano; comenta amb «#» les entrades dubtoses i torna a carregar després des de l'entorn gràfic, copiant i enganxant amb calma.
Amb tot això hauries de poder instal·lar paquets ràpids, compilar des de Ports quan requereixes opcions fines i, si el maquinari acompanya, executar binaris Linux des de la compatibilitat del sistema. En equips amb CPUs antigues, l'escull real el posa glibc i la baseline x86-64-v2; si us afecta, centra't en programari nadiu FreeBSD o en alternatives com WINE. La resta de l'ecosistema (drivers, automuntatge, impressió, fonts, idioma, Wi‑Fi, so, webcam i utilitats) està al vostre abast amb un grapat d'ajustaments ben col·locats, i us deixa una estació de treball BSD realment sòlida i agradable d'utilitzar.
Redactor apassionat del món dels bytes i la tecnologia en general. M'encanta compartir els meus coneixements a través de l'escriptura, i això és el que faré en aquest bloc, mostrar tot el més interessant sobre gadgets, programari, maquinari, tendències tecnològiques, i més. El meu objectiu és ajudar-te a navegar pel món digital de forma senzilla i entretinguda.