O sistema de ports (parte 1)

O primeiro arti­go é sobre o sis­tema de ports, pois esta é con­sid­er­a­da uma das mel­hores car­ac­terís­ti­cas do FreeB­SD (e de todos os BSD em existên­cia, emb­o­ra o FreeB­SD dispon­ha de mais, o fun­ciona­men­to é em tudo igual nos sis­temas BSD que dis­põem de ports, o FreeB­SD, NetB­SD, OpenB­SD e DragonFlyBSD).

Qual­quer pes­soa com con­hec­i­men­tos de insta­lação de soft­ware livre (ou qual­quer out­ro dis­tribuí­do na for­ma de códi­go fonte) em Unix sabe os pas­sos que tem que dar até con­seguir ou per­mi­tir aos ser uti­lizadores usarem a dita apli­cação. Com certeza que é famil­iar o ciclo ./configure, make e make install. É uma tare­fa por vezes não-triv­ial, dado que por vezes é necessário per­cor­rer a lista de opções de con­fig­u­ração (nor­mal­mente com o coman­do ./configure –help) até con­seguirmos afi­nar a apli­cação às nos­sas neces­si­dades. Além do mais, a maior parte das vezes a apli­cação que quer­e­mos insta­lar depende de out­ras apli­cações ou bib­liote­cas que tam­bém é pre­ciso com­pi­lar e insta­lar. Para com­plicar ain­da mais, nem todas as apli­cações se insta­lam da mes­ma forma.

Foi para facil­i­tar isto que com a ver­são 2.0 do FreeB­SD pas­sou a ter disponív­el a Árvore de ports (em inglês, ports tree). Com ports é pos­sív­el esque­cer­mo-nos das dependên­cias de uma dada apli­cação. O sis­tema de ports tra­ta de tudo, começan­do com a trans­fer­ên­cia do ficheiro con­tendo o códi­go fonte, con­fig­u­ração, com­pi­lação e insta­lação. Até é pos­sív­el faz­er uma gestão de pacotes básica.

Fisi­ca­mente, os ports não são mais que ficheiros nor­mal­mente insta­l­a­dos com os sis­temas BSD que per­mitem autom­a­ti­zar a insta­lação de soft­ware que não faz ofi­cial­mente parte do mesmo.A árvore de ports é nor­mal­mente insta­l­a­da no direc­tório /usr/ports. Den­tro deste poder­e­mos ver direc­tórios como net, sys, www, etc. Estes servem para agru­par as apli­cações em cat­e­go­rias. Por exem­p­lo, den­tro do direc­tório www poder­e­mos encon­trar um out­ro chama­do apache2, que não é mais nada que o port para o Apache HTTP Serv­er 2.0.

O uso mais fre­quentes para os ports é insta­lação de soft­ware. Supon­hamos que queríamos insta­lar o Apache HTTP Serv­er 2.0. Para tal, bas­ta fazer
# cd /usr/ports/www/apache2
# make install
To enable a module category: WITH__MODULES
To disable a module category: WITHOUT__MODULES
Per default categories are: AUTH DAV MISC
Categories available: AUTH DAV EXPERIMENTAL LDAP MISC PROXY SSL SUEXEC THREADS
To see all available knobs, type make show-options
To see all modules in different categories, type make show-categories
You can check your modules configuration by using make show-modules
To save apache.org bandwidth, please use the closest mirror.
Hit Ctrl+C now and do a make print-closest-mirrors.
To automatically update /etc/make.conf do: make print-closest-mirrors >> /etc/make.conf
===> Vulnerability check disabled, database not found
===> Extracting for apache-2.0.59
=> MD5 Checksum OK for apache2/httpd-2.0.59.tar.bz2.
=> SHA256 Checksum OK for apache2/httpd-2.0.59.tar.bz2.
=> MD5 Checksum OK for apache2/powerlogo.gif.
=> SHA256 Checksum OK for apache2/powerlogo.gif.
===> apache-2.0.59 depends on file: /usr/local/bin/perl5.8.8 - found
Como se pode ver, mes­mo o apache tem dependên­cias, neste caso o Perl 5.8.8. Caso não o tivesse insta­l­a­do o meu sis­tema faria a insta­lação do Perl antes de prosseguir com a do Apache.Após ter con­cluí­do, ficare­mos com o Apache2 insta­l­a­do e pron­to a cor­rer. É necessário, obvi­a­mente, con­fig­u­rar o soft­ware à nos­sa medi­da, mas de qual­quer for­ma, o sis­tema de ports facili­ta muito a vida de qual­quer admin­istrador de sistemas.

Com isto con­cluo a 1ª parte deste arti­go. Na 2ª parte vou dar mais umas dicas sobre o sis­tema de ports bem como algu­mas fun­cional­i­dades não tão conhecidas.

Esta entrada foi publicada em FreeBSD. ligação permanente.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *