Вы находитесь на странице: 1из 43

Los Ports de FreeBSD:

La manera mas sencilla de tener


un UNIX actualizado.
Conceptos de los Ports de FreeBSD

- 1 Introducción
+ 1.1 Kernel y sistema base
+ 1.2 Aplicaciones de terceros
+ 1.3 Distribución binaria versus fuentes
- 1.4 Paquetes usados por otros sistemas
+ 1.4.1 .MSI y .EXE
+ 1.4.2 .RPM, .DEB, .TBZ
+ 1.4.3 Fuentes - TAR.GZ

Matías Colli - 2008 2


Introducción

Kernel y sistema base

Sistemas operativos de tipo UNIX:

Linux: No es UNIX, sino un clon de UNIX.


Depende del sistema de paquetes de GNU (del
acrónimo GNU is Not Unix) creado por Richard
Stallman. Linux es solo núcleo desarrollado en 1991 por
Linus Torvalds.
Por eso, el sistema en realidad se denomina GNU/Linux.

BSD: Es un UNIX propiamente dicho, deriva del UNIX


original de AT&T. Tiene su propio sistema de paquetes.
A diferencia de GNU/Linux, las herramientas del sistema
y el núcleo están integrados en un mismo sistema.
Creado originalmente en 1977, anterior a Linux, por un
problema legal con AT&T no pudo salir sino a la luz sino
hasta 1993.

Matías Colli - 2008 3


El propio Linus Torvald admitió:

“Si hubiera sabido de la existencia de los sistemas


BSD, que ya cumplían lo que hacía Linux, no me
habría molestado en modificar Minix...no hubiese
escrito Linux.”
Ventajas de BSD:
+ estable
+ robusto
+ integrado
+ seguro
+ portable
+ paquetes
Documentación centralizada
(Handbook).

Matías Colli - 2008 4


Que es BSD?
BSD es un acrónimo de Berkeley Software Distribution, lo cual
representa a una familia de sistemas operativos tipo UNIX derivado del
UNIX original AT&T. Funciona en plataformas x86 (i386), aunque
también es compatible con AMD y procesadores de 64 bits y con otras
arquitecturas como SPARC, ARM, etcétera.

Quienes usan BSD?


En la NASA, y grandes empresas internacionales como Yahoo! Sony,
Nokia, etc. Es usado por hackers y sysadmins para configurar sus
servidores.

Por qué BSD?


Posee tanto el núcleo como las herramientas del sistema
en conjunto, no por separado, a diferencia de GNU/Linux,
en el cual por un lado el Kernel es desarrollado por Linus
Torvalds y su equipo de desarrollo, y por otro las
herramientas operativas GNU. Además, si fuese
necesario, permite la compatibilidad con aplicaciones
GNU/Linux. Desde BSD pueden verse los sistemas de
archivos de Microsoft como FAT, FAT32 y NTFS, y de
Linux: Ext2, Ext3, ReiserFS, etcétera.

Matías Colli - 2008 5


FreeBSD proporciona estabilidad, son los servidores que más tiempo de
uptime tienen y es realmente sencillo de mantener mediante el árbol de
ports, una sencilla herramienta para mantenerse al día con todos los
programas requeridos tanto por los usuarios (juegos, paquetes de oficina,
internet, etcétera), desarrolladores (herramientas de programación, lenguajes,
etcétera) y administradores de sistemas o hackers (herramientas de red,
internet, servicios de correo, web, dns, etcétera). Es superior en todo sentido a
Windows y, en muchos aspectos, a GNU/Linux.

Y la razón principal es que a diferencia de GNU/Linux que es un clon, BSD es


UNIX de verdad y libre, mantenido por una prestigiosa comunidad de
desarrolladores, administradores y hackers.

Matías Colli - 2008 6


Sabores de BSD?
Existen tres ramas o sabores principales de desarrollo de BSD: FreeBSD,
OpenBSD y NetBSD. Ahora conoceremos en detalle sus características y
diferencias.

FreeBSD: es el más popular por ser el primer BSD oficial. FreeBSD es el


sistema operativo elegido por los hackers, desarrolladores y universitarios. Es
ideal para aquellos a quienes les gusta la estabilidad, la sencillez y la
seguridad. Su sitio web oficial es www.freebsd.org.

Matías Colli - 2008 7


NetBSD: proyecto cuyo objetivo principal es lograr
instalarse en todas las arquitecturas posibles.
Actualmente soporta hasta 52 arquitecturas distintas.
Una frase común para hablar de este sistema fue
“NetBSD puede funcionar en cualquier aparato y
máquina excepto, quizás, en la tostadora de la
cocina”. Esta frase fue desmentida en 2005 gracias a
la empresa Technology Systems, que instaló NetBSD
en una tostadora que tenía incorporada un sistema
embebido con una EVB (Evaluation Board) modelo
TS-7200 y con un procesador ARM9, arquitectura que
permite tener casi las mismas funcionalidades que
una PC pero en un espacio reducido, y que es
utilizada principalmente en routers y firewalls. NetBSD
es el sistema operativo elegido por empresas de gran
envergadura, como la NASA, que disponen de
arquitecturas poco comunes. Su sitio web oficial es
www.netbsd.org.

Matías Colli - 2008 8


OpenBSD: es el sistema operativo más seguro por excelencia. Desde la página
oficial del proyecto se puede ver su hazaña: solo dos agujeros de seguridad en la
instalación por defecto en más 10 años. Y realmente es así, por lo que es el
sistema operativo elegido por las compañías cuyo principal objetivo es la seguridad
y estabilidad. OpenBSD es el BSD elegido por hackers, puristas y por empresas
que consideran la seguridad como un punto crítico. Es el arte de la seguridad, todo
corre enjaulado, cada proceso está asegurado y casi no requiere mantenimiento.
Su sitio web oficial es www.openbsd.org.

Matías Colli - 2008 9


Aplicaciones de terceros

Actualmente, FreeBSD cuenta con más de 44.000 paquetes opcionales


en los ports. Es imposible dar una lista exhaustiva de todas estas
aplicaciones pero suelen cubrir muchas de las necesidades de los
usuarios: productividad, editores, computación científica, ingeniería,
manejo de redes, servidores, audio y multimedia, desarrollo, juegos, etc.
Para una información completa, le recomiendo consultar la página web
de Freshports, que se dedica a la publicación integral de los ports.

En su mayoría, estas aplicaciones vienen en


forma de código fuente adaptado para
FreeBSD, a menudo bajo licencia GNU. Otras
aplicaciones propietarias se distribuyen como
ejecutables compilados para Linux y se
ejecutan vía una capa de emulación, como el
Acrobat Reader, por ejemplo.

Matías Colli - 2008 10


Paquete binario vs fuente

Binario

Ventajas:
Es más compacto y se instala rápidamente.
Sabemos de antemano las dependencias.

Desventajas:
Fue compilado con un conjunto de opciones predefinidas, que no corresponden
siempre a las necesidades del usuario.

En el ambiente FreeBSD, la instalación de


binarios se llama packages.

Fuente

Ventajas: Flexibilidad, se puede escoger las opciones.


Más actual, el paquete fuente siempre es más actual que el binario.

Desventajas:
La compilación del código fuente requiere más espacio en disco.
Las dependencias pueden cambiar según los parámetros de compilación.
Algunas aplicaciones tarda demasiado (ej: OpenOffice )
Matías Colli - 2008 11
Paquetes usados por otros sistemas operativos

Los .MSI y .EXE

Los archivos con extensión .msi y .exe son los paquetes binarios de Windows.
Ejecutables. Muy cómodos para el usuario, ya que no necesita configurar nada
manualmente.
Es similar a los .bin de aplicaciones propietarias de los sistemas de tipo UNIX.

Los .RPM, .DEB, .TGZ

Un modelo más elemental es el .tgz (tar-gzip), que es un respaldo de la


distribución que se restaura en la máquina de destino. Tiene la desventaja que la
configuración se debe hacer a mano. Tampoco dejan constancia de la
instalación, lo que complica la mantención.

Los .rpm y .deb del mundo GNU/Linux empiezan por copiar los archivos en su
destino y actualizan una base de datos de aplicaciones instaladas. Suelen
contener también un script de configuración de parámetros si necesario.

Matías Colli - 2008 12


Ports y dependencias

Una dependencia es un requerimiento del sistema. Un paquete que requiere de


otro para su instalación y/o funcionamiento.

Los ports son un conjuntos de paquetes (programas) contenidos en un directorio.

Como funciona

El sistema de ports efectúa una análisis exhaustivo


de los requerimientos, que se llaman dependencias.
En muchos casos, la compilación de una aplicación
provoca la compilación de varias dependencias, si
no están presentes.

Un ejemplo práctico:
OpenOffice instala primero el programa Java, luego una versión particular del
compilador GCC, Phyton y algunos otros paquetes de menor tamaño.

Matías Colli - 2008 13


Los Packages

Binarios: FreeBSD cuenta con un repositorio de archivos
de instalación binarios.

Descargar el paquete, desde CD o Intenet (por ej: Freshports.org).


Por defecto, pkg_add instala solamente el paquete indicado, lo que
no asegura la funcionalidad.
Por lo tanto, se recomienda usar la opción -r que instala también las
dependencias (si tenemos Internet las descarga desde allí).


Fuentes: Las herramientas de manejo de packages son
extensiones del sistema de base y se deben compilar. Lo básico se
instala con:

cd /usr/ports/sysutils/portupgrade
make install clean

Matías Colli - 2008 14


Construyendo un repositorio local

El comando pkg_fetch -R, descarga los paquetes pedidos con las


dependencias aún no instaladas.
Si el repositorio se debe usar en red para varias máquinas sin tener la
certeza que todas tienen siempre la misma lista de paquetes, se debe
invocar también con la opción -f para asegurar que el repositorio este
completo. Por ejemplo:

pkg_fetch -R -f apache

En resumen...

Binario utiliza siempre el comando: pkg_add <package>


Sin parametros busca el archivo localmente.
-r : Descarga desde lared.
-f : Fuerza.
-O: Omite verificación de seguridad
-y: Seleciona yes para cada pregunta

Matías Colli - 2008 15


Ejemplos prácticos

# pkg_add -r gnome

El sistema de escritorio Gnome instalado en 3 minutos.

# pkg_add -r apache

Rapida instalación de apache.

Tambien se puede cambiar el destino utilizando otro


mirror, propio o de terceros:

export
PKG_PATH=ftp://your.ftp.mirror/pub/OpenBSD/4.3/pack
ages/`machine -a`/
pkg_add -v <pkg>

Matías Colli - 2008 16


Ports:

Desde el directorio /usr/ports como root, por primera vez:

[/usr/ports ]# make fetchindex

Genera por primera vez la base de ports, si ya existe la actualiza


desde Internet.

Busquedas:

Siempre desde /usr/ports

make search name=<programa>

make search key=<palabra_clave>

Matías Colli - 2008 17


Ejemplos:

[matias@freebsd /usr/ports]$ make search name=chess | grep -v B-


deps: | grep -v R-deps: |more
Port: brutalchess-0.5.2_3
Path: /usr/ports/games/brutalchess
Info: Nice looking OpenGL chess game
Maint: gustau.perez@gmail.com
WWW: http://brutalchess.sourceforge.net/

Port: cchess-1.4
Path: /usr/ports/games/cchess
Info: Very simple Chinese chess program
Maint: ports@FreeBSD.org
WWW: http://www.nchess.com/

Port: emacs-chess-2.0b5_2
Path: /usr/ports/games/emacs-chess
Info: Play chess with emacs
Maint: dryice@dryice.name
WWW: http://emacs-chess.sourceforge.net/

--More--(byte 619)

Matías Colli - 2008 18


Puedo instalar el programa de 2 maneras:

Con un simple make

[matias@freebsd /usr/ports]$ su -
Password:
freebsd# cd /usr/ports
freebsd# cd games/brutalchess
freebsd# make install clean

O si hemos descargado portinstall:

#portinstall /games/brutalchess

Matías Colli - 2008 19


Primer caso (make install):

freebsd# cd games/brutalchess
freebsd# make install clean
> brutalchess-alpha-0.5.2-src.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://nchc.dl.sourceforge.net/sourceforge/brutalchess/.
brutalchess-alpha-0.5.2-src.tar.gz 64% of 4400 kB 85 kBps 00m18s

Comienza a descargar el paquetes desde Internet

Segundo caso (portinstall):

freebsd# portinstall games/brutalchess


freebsd# portinstall games/brutalchess
[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 1724 packages found
(-0 +0) done]

Matías Colli - 2008 20


Matías Colli - 2008 21
freebsd# portinstall vim
---> Found 2 ports matching 'vim':
editors/vim5
editors/vim
Install 'editors/vim5'? [yes]
[Gathering depends for editors/vim5 done]
Install 'editors/vim'? [yes]
[Gathering depends for editors/vim .. done]
---> Installing 'vim-5.8.8_2' from a port (editors/vim5)
---> Building '/usr/ports/editors/vim5'
===> Cleaning for vim-5.8.8_2

=> vim-5.8-src.tar.gz doesn't seem to exist in /usr/ports/distfiles/vim.


=> Attempting to fetch from http://ftp.vim.org/pub/vim/unix/.
vim-5.8-src.tar.gz 100% of 1086 kB 67 kBps 00m00s
=> vim-5.8-rt.tar.gz doesn't seem to exist in /usr/ports/distfiles/vim.
=> Attempting to fetch from http://ftp.vim.org/pub/vim/unix/.
vim-5.8-rt.tar.gz 68% of 1237 kB 55 kBps 00m07s

Matías Colli - 2008 22


[matias@freebsd /usr/ports]$ make search key="DVD Player" | grep
-v B-deps: | grep -v R-deps:
Port: goggles-0.8.0_4
Path: /usr/ports/multimedia/goggles
Info:A FOX frontend to the Ogle DVD player
Maint: multimedia@FreeBSD.org
WWW: http://www.fifthplanet.net/goggles.html

Port: libdvdread-0.9.7_3
Path: /usr/ports/multimedia/libdvdread
Info:This is needed by ogle, which is a DVD player that supports
DVD menus
Maint: rnoland@2hip.net
WWW: http://www.dtek.chalmers.se/groups/dvd/

Port: ogle-0.9.2_9
Path: /usr/ports/multimedia/ogle
Info:Open DVD player that supports DVD menus
Maint: multimedia@FreeBSD.org
WWW: http://www.dtek.chalmers.se/~dvd/

Port: okle-0.4_6
Path: /usr/ports/multimedia/okle
Info:A KDE frontend to the Ogle DVD player
Maint: multimedia@FreeBSD.org
WWW: http://okle.sourceforge.net/
Matías Colli - 2008 23
Ventajas de Portsinstall

El sistema de ports ofrece también una herramienta


de instalación de paquetes llamada portinstall.
Empieza por revisar en forma recursiva todos los
requerimientos de la instalación pedida.
La demora en partir depende altamente de los
paquetes ya instalados pero compila solamente lo
que se necesita.

Actualización
La actualización de aplicaciones se hace con portupgrade. Se requiere después
de actualizar los ports y actúa solamente sobre las aplicaciones que cambiaron.

Matías Colli - 2008 24


Ejemplo práctico: Actualizar Gnome y aplicaciones.

# portupgrade -fvyO '*gnome*'

Actualiza todo lo relacionado con gnome.


-f: Force. Para forzar
-v: Verbose. Para visualizar todo.
-y: Yes to all, decir si a todo.
-O: Omite check. Omitir verificacion de seguridad

Matías Colli - 2008 25


Para conocer las dependencias y determinar la jerarquía de los
cambios necesarios en una actualización, o los conflictos en caso
de dependencias compartidas, el sistema ofrece también la
visualización del árbol instalado:

# pkg_tree aalib
aalib-1.4.r5_2
|\__ expat-2.0.0_1
|\__ pkgconfig-0.20
|\__ libdrm-2.0_1
|\__ freetype2-2.1.10_3
|\__ fontconfig-2.3.2_3,1
\__ xorg-libraries-6.9.0

La herramienta pkg_which que indica las dependencias.

[matias@freebsd /usr/ports]$ sudo pkg_which pkg_fetch


[Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... - 1726 packages
found (-0 +1) . done]
portupgrade-2.4.6,2

Matías Colli - 2008 26


Protegiendo el árbol de ports

El proceso se encarga de bajar el código fuente, compilarlo, instalar


los ejecutables y limpiar el árbol - remover el subdirectorio work que
se creó para la compilación y que suelen ocupar mucho espacio - por
ejempo, OpenOffice ocupa hasta 6,5GB antes de instalación. Por
defecto, los ports se compilan en la partición /usr. Según su tamaño,
su tasa de utilización y el tamaño del paquete a compilar, uno puede
llegar a llenar esta partición y causar efectos colaterales. Para evitar
problemas de este tipo, se puede mover el árbol a otra partición y
crear un enlace simbólico con:

# ln -s /<OtroDisco>/usr/ports /usr/ports

o definir la variable de ambiente PORTSDIR para definir su nuevo


lugar.

Matías Colli - 2008 27


Los Makefile suelen soportar la opción make config que define las
opciones del paquete. Así, se puede activar la optimización del
compilador, seleccionar el tipo de SSH a integrar, etc. Esta opción ajusta
automáticamente las dependencias, en el caso de que se requiera.

La configuración por defecto se guarda en /etc/make.conf

[matias@freebsd /usr/ports]$ cat /etc/make.conf


USE_QT=yes
BATCH=yes
WITH_HAL=yes
WITH_MTP=yes
WITHOUT_GNOME=no
WITHOUT_X11=yes
DISABLE_VULNERABILITIES=yes
FORCE_PKG_REGISTER=yes
X11BASE=/usr/local
PORTSDIR?=/usr/ports
.if ${.CURDIR} == ${PORTSDIR}/sysutils/hal
WITH_FIXED_MOUNTPOINTS=YES
.endif
# added by use.perl 2008-07-09 18:53:26
PERL_VER=5.8.8
PERL_VERSION=5.8.8
Matías Colli - 2008 28
Análisis de los ports ya instalados
Después de su compilación, los ports se
instalan como package y se pueden listar de la
misma manera con:

ls /var/db/pkg

Una alternativa, que usa las heramientas


específicas, es portsversion, que además
determina qué paquetes necesitan
actualización. Eso aplica sobre todo a los
sistemas que acaban de actualizar /usr/ports
con el último snapshot o con un cambio de
release. Para ver los cambios disponibles, se
pueden combinar comandos como:

portsversion | grep -v =

que extrae las líneas que reportan versiones no


idénticas.

Matías Colli - 2008 29


Los comandos se pueden combinar libremente para obtener
los efectos deseados. Por ejemplo, el número de ports a
actualizar se consigue con:

portsversion | grep -v = | wc -l

Otro ejemplo que muestra las diferencias de versión:

portsversion -v | grep -v =

o que se restringe a los ports relacionados con Gnome:

portsversion -v \*gnome\* | grep -v =

El límite de este concepto es la imaginación del usuario:

portversion -r gnome\* | grep \< | awk '{ print "Actualizar


" $1; }' | mail matiasbsd@gmail.com

Matías Colli - 2008 30


Consejos clave:

Siempre es recomendable mantener


una copia del árbol original de la
release para asegurarse que uno
siempre puede volver al estándar
probado.

No actualizar a menos que sea


necesario (y, en muchos casos, no lo
es).

Matías Colli - 2008 31


Cómo y cuando actualizar

Básicamente, hay 2 métodos generales:

1) Descargar el árbol completo ports.tgz y reemplazar el directorio actual.


2) Crear un repositorio CVS local.

La primera opción es rápida y predecible: se puede estimar el tiempo de


descarga del archivo y de instalación. La opción CVS suele ocupar más
espacio en el disco y es relativamente más lenta ya que los archivos se editan
en tiempo real.

La pregunta "cuándo" es más subjetiva. Si se descubrió


y corrigió un bug de seguridad en un servidor
conectado a Internet, es seguramente útil instalar la
actualización. Si hay una mejora sensible o nuevas
funcionalidades (por ejemplo, un compilador soporta ahora un nuevo
procesador que ocupo en mi trabajo actual), también tiene sentido. Si KDE
migró de 3.5.2 a 3.5.3, vale mejor evaluar si hubo cualquier cambio que
justifique la actualización (la respuesta es probablemente no en la mayoría de
los casos y es más razonable esperar que la 3.5.3 sea integrada a
-RELEASE).

Matías Colli - 2008 32


Versiones (RELEASE Y CURRENT)

Versión estable con las entregas oficiales

En un sistema con la etiqueta CVS "-RELEASE" significa


que estas versiones pasaron por un ciclo intensivo de QA
y todas las aplicaciones del árbol de ports fueron
probadas.

Versión -CURRENT

Esta versión es para los que aman vivir en peligro. Suele


ser relativamente estable e incluye las correcciones para
las vulnerabilidades detectadas pero, para ser
consecuente, requiere una mantención permanente.

Matías Colli - 2008 33


Reparando inconsistencias

A veces puede ser que la base de datos de los ports se


corrompa. Por ejemplo: si ejecutamos varias instancias de
portinstall o instalamos varios package al mismo tiempo.

O puede ser que haya nuevos paquetes instalados y que


estos hayan generado errores de dependecias. Existen 2
versiones de un mismo paquete que fue instalado para
satisfacer dependencias de paquetos distintos.

# pkgdb -Fu

-u: Creará la base de datos del arbol de ports, en caso de


existir, la misma se actualizará.
-F: Corrección interactiva. Nos preguntará antes de
efectuar una corrección.

Matías Colli - 2008 34


Un ejemplo práctico:

# portupgrade ruby-1.8.5_4,1
[Updating the pkgdb (format:bdb_btree) in /var/db/pkg ...
/var/db/pkg/pkgdb.db: unexpected
file type or format -- Invalid argument; rebuild needed] [Rebuilding
the pkgdb
(format:bdb_btree) in /var/db/pkg ... [Updating the pkgdb
(format:bdb_btree) in /var/db/pkg ... /var/db/pkg/pkgdb.db:
unexpected file type or format -- Invalid argument; rebuild needed]
[Rebuilding the pkgdb (format:bdb_btree) in /var/db/pkg ... /var/db/
pkg/pkgdb.db: unexpected file type or format -- Invalid
argument: Cannot update the pkgdb!]: Cannot update the pkgdb!]
Command failed [exit code 1]: /usr/local/sbin/pkgdb -aFOQ

Como solucionamos el problema?


# mv /var/db/pkg/pkgdb.db /var/db/pkg/pkgdb.db.org
# pkgdb -Fu

Movemos la base actual y recrearemos la base y solucionaremos


el problema.

Matías Colli - 2008 35


Podemos actualizar el sistema base tambien?

Si, felizmente la últimas versiones de FreeBSD tiene un programa llamado


freebsd-update que actualiza los binarios del sistema.

Esta herramienta está disponible desde el árbol de Ports:

[matias@freebsd /usr/ports]$ make search name=freebsd-update


Port: freebsd-update-1.6_2
Path: /usr/ports/security/freebsd-update
Info:Fetches and installs binary updates to FreeBSD
Maint: cperciva@daemonology.net
B-deps:
R-deps:
WWW: http://www.daemonology.net/freebsd-update/

Como se instala freebsd-update?

# portinstall security/freebsd-update

Matías Colli - 2008 36


Como se detectan las actualizaciones?
# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 1 mirrors found.
Fetching public key from update1.FreeBSD.org... done.
Fetching metadata signature from update1.FreeBSD.org...
done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 38 patches.....10....20....30.... done.
Applying patches... done.

Como se instalan las actualizaciones?


# freebsd-update install
Installing updates... done.

Matías Colli - 2008 37


Como ver los ports que necesitan
actualización?
# pkg_version -vIL=
ORBit2-2.14.3 < needs updating (index has 2.14.8)
apache-1.3.37_1 < needs updating (index has 1.3.39)
aspell-0.60.4_4 < needs updating (index has 0.60.5_2)
atk-1.12.3 < needs updating (index has 1.18.0_1)
autoconf-2.59_2 < needs updating (index has 2.59_3)
avahi-0.6.14 < needs updating (index has 0.6.21)
bitstream-vera-1.10_2 < needs updating (index has 1.10_4)
cairo-1.2.4 < needs updating (index has 1.4.10)
cdrtools-2.01_5 < needs updating (index has 2.01_6)
cups-base-1.2.2 < needs updating (index has 1.2.12)
dbus-0.93_3 < needs updating (index has 1.0.2_2)
dbus-glib-0.71 < needs updating (index has 0.74)
desktop-file-utils-0.11 < needs updating (index has 0.12_1)
docbook-sk-4.1.2_3 < needs updating (index has 4.1.2_4)
docbook-xsl-1.70.1 < needs updating (index has 1.71.1_2)
dvd+rw-tools-6.1 < needs updating (index has 7.0)
esound-0.2.36_1 < needs updating (index has 0.2.38)

Matías Colli - 2008 38


Actualización de la colección de ports mediante portsnap

Instalación de portsnap
# cd /usr/ports/ports-mgmt/portsnap
# make install clean

Actualizacion mediante portsnap

# portsnap fetch extract


Looking up portsnap.FreeBSD.org mirrors... 4 mirrors found.
Fetching snapshot tag from portsnap3.FreeBSD.org... done.
Latest snapshot on server matches what we already have.
No updates needed.

Matías Colli - 2008 39


Portupgrade como herramienta gestora de
ports en FreeBSD.
Se compone de varios comandos que facilitan la tarea al
administrador del sistema:

* portinstall: Para la instalación de ports


* portcvsweb: Navegador por el histórico de cambios CVS
* portversion: Reemplazo de pkg_version con mejoras
* portsclean: Borra el directorio de trabajo (workdir) y viejas
librerías huérfanas...
* portsdb: Crea una base de datos indexada del árbol de
ports
* pkg_deinstall: Análogo a pkg_delete
* pkg_fetch: Descarga el código fuente de un port.

Matías Colli - 2008 40


Como desinstalar
programas?
# pkg_delete portupgrade-2.3.1,2
# pkg_delete ruby18-bdb-0.6.2
# pkg_delete ruby18-bdb1-0.2.2

o tambien con el comando pkg_deinstall si hemos


instalador Portupgrade (recomendado).

Matías Colli - 2008 41


Preguntas
????????

Matías Colli - 2008 42


Bibliografia

Guía de FreeBSD para usuarios de Linux - John Ferrell (Traducción de Gábor


Kövesdán).

Seguridad de la Información y Auditoría de Sistemas - Sergio Hernando.

UNIX System Administration Handbook (3rd Edition) - Evi Nemeth, Garth


Snyder, Scott Seebass, y Trent R. Hein. Editorial: Prentice Hall.

Conceptos de los Ports de FreeBSD – BSD Chile

Matias Colli
matiasbsd@gmail.com

Matías Colli - 2008 43

Вам также может понравиться