E por fim nessa primeira série de dicas e artigos sobre o Void Linux, veremos como utilizar o sistema de empacotamento XBPS-SRC, algo similar ao ABS do Arch Linux.
Atualizado em: 2018-10-28
Para começar, trate de instalar os pacotes base-devel e git:
$ sudo xbps-install -Su $ sudo xbps-install -S base-devel git
Partimos então para a configuração do xbps-src:
$ cd $ git clone https://github.com/void-linux/void-packages.git
Entre no diretório de trabalho, a pasta void-packages:
$ cd void-packages/
A seguir, execute o comando abaixo:
$ ./xbps-src binary-bootstrap
E como exemplo, tratemos de empacotar o navegador Vivaldi (todos os pacotes possível de empacotar), estarão presentes na pasta ~/void-packages/srcpkgs/:
$ echo XBPS_ALLOW_RESTRICTED=yes >> etc/conf $ ./xbps-src pkg vivaldi
E após o seu empacotamento, passemos a instalação do novo arquivo .xbps (uma derivação do formato XZ):
$ sudo xbps-install --repository=hostdir/binpkgs/nonfree vivaldi
Resta-nos então, apenas abrir o programa instalado, abaixo vejam a versão do mesmo:
* para atualizá-lo, visto que já foi lançada a nova versão 1.4.xyz, proceda conforme os passos descritos pelo colega @Carlos Reis no primeiro comentário:
$ cd $ cd void-packages $ git pull origin master $ ./xbps-src pkg vivaldi $ sudo xbps-install -u –repository=hostdir/binpkgs/nonfree vivaldi
Para maiores informações, execute o comando abaixo:
$ ./xbps-src -h
Configurando um pouco mais…
Já passado bastante tempo desde a confecção desta dica, porei abaixo, o meu arquivo etc/conf, com as mesmas FLAGS de compilação do Gentoo, tendo habilitado o CCACHE, Jobs do comando MAKE,etc:
~/void-packages/etc/conf.
XBPS_INSTALL_ARGS="--repository=https://repo.voidlinux.eu/current --repository=https://repo2.voidlinux.eu/current" XBPS_CFLAGS="-march=native -fomit-frame-pointer -O2 -pipe" XBPS_CXXFLAGS="${XBPS_CFLAGS}" XBPS_SUCMD="sudo /bin/sh -c" XBPS_CCACHE=yes XBPS_MAKEJOBS=2 XBPS_ALLOW_RESTRICTED=yes
E se você sofre com a lentidão dos repositórios Void, abaixo seguem os arquivos atualizados com os repositórios mais rápidos que encontrei, cabendo ainda informar que desabilitei os repositórios MUSL e AARCH64:
~/void-packages/etc/repos-remote.conf.
# Remote repositories repository=http://repo2.voidlinux.eu/current ### REPO MAIS RAPIDO QUE O PADRÃO. repository=https://repo2.voidlinux.eu/current/nonfree ### REPO MAIS RAPIDO QUE O PADRÃO. #repository=https://repo.voidlinux.eu/current/musl ### DESABILITADO #repository=https://repo.voidlinux.eu/current/musl/nonfree ### DESABILITADO #repository=https://repo.voidlinux.eu/current/aarch64 ### DESABILITADO # Additional mirrors # # http://repo2.voidlinux.eu/current/ DE # http://repo3.voidlinux.eu/current/ US # http://repo4.voidlinux.eu/current/ FR # http://mirror.clarkson.edu/voidlinux/current/ US # http://www.gtlib.gatech.edu/pub/VoidLinux/current/ US # https://lug.utdallas.edu/mirror/void/ US # http://mirror.aarnet.edu.au/pub/voidlinux/current/ AU
~/void-packages/etc/repos-remote-x86_64.conf.
# Remote repositories repository=https://repo2.voidlinux.eu/current/multilib repository=https://repo2.voidlinux.eu/current/multilib/nonfree
Abaixo vejam imagens atuais do XBPS-SRC em uso:
enjoy!
Uma excelente distro, tenho instalado e maravilhoso, rolling e sem systemd. Só uma dica, o vivaldi já atualizou para 1.4, deixo aqui os comandos necessário para atualizar esse pacote, que são utilizados na mesma maneira para outros pacotes:
$ cd void-packages
$ git pull origin master
$ ./xbps-src pkg vivaldi
$ sudo xbps-install -u –repository=hostdir/binpkgs/nonfree vivaldi
Como podem ver aqui, https://forum.voidlinux.eu/t/vivaldi-browser/1019/13
CurtirCurtir
Obrigado pela contribuição, aproveitarei para adicioná-la no post.
Um abraço.
CurtirCurtir
DE nada amigo, estamos aqui para ajudar uns aos outros e para mostrar que linux não é difícil. No meu caso há mais de 10 anos. Abraço e continua o bom trabalho.
CurtirCurtir
Mais uma dica amigo @EDPS , existe um programa/script para ajudar na instalação de um pacote novo. Por curiosidade instalei o virtualbox, depois de dizeres que nao conseguias e aqui esta a bombar sem qualquer problema.
Aqui o programa que segundo o forum configura automaticamente, programas novos.
$ sudo xbps-install -S sv-helper
CurtirCurtir
Thanks man!
Não lembro quem me disse ter tido problemas na instalação do DropBox, mas aqui funcionou, mas achei que também ia emperrar nos 99%.
EDIT:
Não funcionou! a instalação ocorre, abro o programa que baixa os arquivos necessários e fica num loop eterno, sempre encerrando como se tivesse ocorrido o sucesso na instalação e ao executá-lo novamente de novo ocorre o download dos arquivos.
Mesmo executando pelo terminal:
$ dropbox start -i
aperecem estas mensagens:
~ » dropbox start -i
Starting Dropbox...Traceback (most recent call last):
File "dropbox/client/main.py", line 58, in
File "dropbox/client/aggregation.py", line 22, in
File "dropbox/sqlite3_helpers.py", line 48, in
File "dropbox/fatal_db_exception.py", line 5, in
File "arch/__init__.py", line 26, in
File "arch/linux/util.py", line 30, in
File "dropbox/fsutil.py", line 38, in
File "dropbox/infinite/__init__.py", line 26, in
File "dropbox/linux/version.py", line 77, in
File "dropbox/linux/version.py", line 73, in _get_version
ValueError: invalid literal for int() with base 10: '4_1'
** (process:23092): WARNING **: Trying to register gtype 'GMountMountFlags' as enum when in fact it is of type 'GFlags'
** (process:23092): WARNING **: Trying to register gtype 'GDriveStartFlags' as enum when in fact it is of type 'GFlags'
** (process:23092): WARNING **: Trying to register gtype 'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
Traceback (most recent call last):
File "dropbox/client/main.py", line 58, in
File "dropbox/client/aggregation.py", line 22, in
File "dropbox/sqlite3_helpers.py", line 48, in
File "dropbox/fatal_db_exception.py", line 5, in
File "arch/__init__.py", line 26, in
File "arch/linux/util.py", line 30, in
File "dropbox/fsutil.py", line 38, in
File "dropbox/infinite/__init__.py", line 26, in
File "dropbox/linux/version.py", line 77, in
File "dropbox/linux/version.py", line 73, in _get_version
ValueError: invalid literal for int() with base 10: '4_1'
Done!
~ »
CurtirCurtir
Meu querido, lá venho eu outra vez! Eu REALMENTE gostei muito dessa distro. Mas estou sofrendo com uma falta de alguns pacotes. Deixa eu te fazer um pedido: Tem como você ensinar a “converter” pacotes .deb para o Void? Alguns programas que eu preciso (como o Lightworks) só são disponibilizados em binários do Debian. Ou a usar algo como o Slackbuilds no Void.
Enquanto frito o cérebro, estou me virando rodando os programas em Containers do Ubuntu.
CurtirCurtir
Rapaz obrigado pelo comentário, sobre o Void eu só o tenho instalado em VM, pois a instalação real eu removi para liberar espaço para mais uma instalação do Slack, agora o 64Bits, que eu realmente preciso por causa dos SlackBuilds.
Converter para .deb eu não sei como, mas tem um jeito:
$ ar x pacote.deb
$ sudo tar -xvf data.tar.xz -C /
Isso irá extrair o conteúdo do pacote .deb na raiz do sistema.
Ou você pode tentar algo como o deb2tgz:
$ wget https://github.com/vborrego/deb2tgz/archive/0.2.tar.gz
$ tar xvf 0.2.tar.gz
$ sudo mv deb2tgz-0.2/deb2tgz /usr/local/bin
$ deb2tgz arquivo.deb
Um abraço.
CurtirCurtir