OpenBSD instalando o Ports Tree Collection

OpenBSD instalando o Ports Tree Collection

Eu instalei o sistema operacional OpenBSD, mas o ports tree collection está faltando no diretório /usr/ports. Como faço para instalá-lo?

Port Collection é essencial para o OpenBSD, servidor ou o sistema baseado em desktop/laptop. Você pode usar o Port Collection do OpenBSD para criar pacotes binários para aplicativos de terceiros.

OpenBSD instalando o Ports Tree Collection

Método # 1: Instalar o Port Collection a partir do CD-ROM OpenBSD

Se você tiver o CD-ROM do OpenBSD, digite o seguinte comando para copiar o conteúdo do ports tree para /usr/ports; você montaria o CD-ROM com o ports tree no diretório /cdrom e executaria o seguinte comando:

# mount /cdrom
# cd /usr
# tar zxf /cdrom/ports.tar.gz

Método # 2: Instalar Port Collection do OpenBSD a partir de um espelho FTP/HTTP

Use o comando wget (não instalado por padrão no OpenBSD) ou o comando ftp e pegue o arquivo ports.tar.gz, digite:

$ cd ## go to home dir ##
$ wget http://ftp.usa.openbsd.org/pub/OpenBSD/$(uname -r)/ports.tar.gz
$ wget http://ftp.usa.openbsd.org/pub/OpenBSD/$(uname -r)/SHA256.sig

OU use o comando ftp:

$ cd ## go to home dir ##
$ ftp http://ftp.usa.openbsd.org/pub/OpenBSD/$(uname -r)/ports.tar.gz
$ ftp http://ftp.usa.openbsd.org/pub/OpenBSD/$(uname -r)/SHA256.sig

OU use o espelho do OpenBSD a partir daqui:

$ cd ## go to home dir ##
$ ftp ftp://mirror.planetunix.net/pub/OpenBSD/$(uname -r)/ports.tar.gz
$ ftp ftp://mirror.planetunix.net/pub/OpenBSD/$(uname -r)/SHA256.sig

Deve retornar algo semelhante a isto:

--11:44:39-- ftp://ftp.openbsd.org/pub/OpenBSD/6.0/ports.tar.gz
 => `ports.tar.gz'
Resolving ftp.openbsd.org... 129.128.5.191
Connecting to ftp.openbsd.org|129.128.5.191|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/OpenBSD/6.0 ... done.
==> PASV ... done. ==> RETR ports.tar.gz ... done.
Length: 11,184,931 (11M) (unauthoritative)
 
100%[=================================================================================================================>] 11,184,931 236.83K/s ETA 00:00
 
11:45:29 (230.09 KB/s) - `ports.tar.gz' saved [11184931]

Extraia o Ports Tree no OpenBSD

Verifique o arquivo ports.tar.gz com o comando signify, digite:

## match your openbsd version here (openbsd-60-base.pub) ##
$ signify -C -p /etc/signify/openbsd-60-base.pub -x SHA256.sig ports.tar.gz

Deve retornar algo semelhante a isto:

Signature Verified
ports.tar.gz: OK

Para extrair ports.tar.gz use o comando tar como usuário root:

# tar -zxvf ports.tar.gz -C /usr/

Deve retornar algo semelhante a isto:

ports
ports/CVS
ports/CVS/Repository
ports/CVS/Entries
ports/.cvsignore
ports/INDEX
ports/Makefile
ports/README
ports/archivers
ports/archivers/CVS
ports/archivers/CVS/Repository
ports/archivers/CVS/Entries
....
..
...
ports/x11/yeahlaunch/pkg
ports/x11/yeahlaunch/pkg/CVS
ports/x11/yeahlaunch/pkg/CVS/Repository
ports/x11/yeahlaunch/pkg/CVS/Entries
ports/x11/yeahlaunch/pkg/DESCR
ports/x11/yeahlaunch/pkg/PLIST

Uma vez extraído, você pode excluir o arquivo ports.tar.gz usando o comando rm da seguinte maneira:

$ rm ports.tar.gz SHA256.sig

Como usar o ports no OpenBSD?

Para usar o ports, utilize o comando cd no diretório /usr/ports/ :

$ cd /usr/ports
$ ls

Deve retornar algo semelhante a isto:

.cvsignore      biology         emulators       lang            productivity
CVS             books           fonts           mail            security
INDEX           cad             games           math            shells
Makefile        chinese         geo             meta            sysutils
README          comms           graphics        misc            telephony
archivers       converters      infrastructure  multimedia      tests
astro           databases       inputmethods    net             textproc
audio           devel           japanese        news            www
base            editors         java            plan9           x11
benchmarks      education       korean          print

Para instalar o shell bash a partir do ports (ou configurar o usuário com permissões de arquivo apropriadas conforme descrito nos documentos oficiais), digite:

# cd /usr/ports/shells/bash
# make install clean all

Como faço para pesquisar no Ports Tree?

Use a seguinte sintaxe:

$ cd /usr/ports
$ make search key={KEY-WORD-HERE}

Para procurar o pacote php-gd, digite:

$ make search key=php-gd

Deve retornar algo parecido com isto:

Port:   php-gd-5.5.37p0
Path:   lang/php/5.5,-gd
Info:   image manipulation extensions for php5
Maint:  Robert Nagy <[email protected]>
Index:  lang www
L-deps: devel/t1lib graphics/jpeg graphics/png
B-deps: archivers/bzip2 devel/autoconf/2.69 devel/metaauto www/apache-httpd
R-deps: php-5.5.37:lang/php/5.5
Archs:  any
 
Port:   php-gd-5.6.23p0
Path:   lang/php/5.6,-gd
Info:   image manipulation extensions for php5
Maint:  Robert Nagy <[email protected]>
Index:  lang www
L-deps: devel/t1lib graphics/jpeg graphics/png
B-deps: archivers/bzip2 devel/autoconf/2.69 devel/metaauto www/apache-httpd
R-deps: php-5.6.23:lang/php/5.6
Archs:  any
 
Port:   php-gd-7.0.8p0
Path:   lang/php/7.0,-gd
Info:   image manipulation extensions for php5
Maint:  Robert Nagy <[email protected]>
Index:  lang www
L-deps: graphics/jpeg graphics/png
B-deps: archivers/bzip2 devel/autoconf/2.69 devel/bison devel/metaauto www/apache-httpd
R-deps: php-7.0.8:lang/php/7.0
Archs:  any

Você pode instalar o php-gd-7.0.8p0 usando o seguinte comando:

# pkg_add php-gd-7.0.8p0

OU

# cd /usr/ports/lang/php/7.0/
# make install clean

 

Referências

Como sempre, recomendo algumas leituras para melhor compreensão: