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.
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 <robert@openbsd.org> 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 <robert@openbsd.org> 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 <robert@openbsd.org> 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:
- OpenBSD ports system
- Man pages – pkg_add(1),ftp(1),signify(1)