É sempre bom quando me deparo com um projeto de software livre criativo. E é a cara do Brasil ser o berço de softwares assim. Aqui no Mente Binária, além de trabalharmos muito pela formação tecnológica no Brasil, também mantemos vários projetos de software livre e para isso contamos não só com a comunidade, mas também com dois estagiários que começaram conosco ano passado. São dois estudantes de programação que, além de trabalharem nos nossos projetos, também desenvolvem seus próprios.
E é justamente sobre um caso desse que venho falar hoje: o OPM (Oxidized Packager Manager) é um gerenciador de pacotes de pacotes DEB, então pode ser usado em sistemas como Ubuntu, Debian, Kali, etc. No entanto, o FallAngel, principal desenvolvedor, pretende estender este suporte a outros tipos de pacote, como o RPM.
Os seguintes sub-comandos são suportados pelo OPM:
clear – Limpa o cache do OPM help – Exibe a ajuda install – Instala um pacote remove – Remove um pacote search – Busca por um pacote update – Atualiza o cache do OPM
O OPM gerencia as dependências, assim com o APT. O código, escrito em Rust, é super enxuto e o desenvolvedor não vê a hora de receber contribuições. Se você conhece da linguagem ou está a fim de aprender, ou mesmo tem só a curiosidade de saber como um gerenciador de pacotes funciona, tá aí sua oportunidade, isso porque o desenvolvedor é brasileiro e acessível.
Downloads, código e mais informações podem ser obtidas no repositório do OPM no Github.
Velocidade
Se tem uma coisa que chama atenção no OPM é a velocidade. Uma busca em todos os pacotes disponíveis dura menos que um segundo! Olha só:
# export PKG_FMT=deb $ time sudo target/release/opm search ht | grep -i editor ht - Viewer/editor/analyser (mostly) for executables real 0m0.067s user 0m0.051s sys 0m0.015s
Olha a velocidade de instalar o tmux... 0 segundos!
$ sudo ./target/release/opm install tmux Installing tmux for debian ... Looking up for dependencies ... Done Installing 2 NEW package libevent-core-2.1-7 tmux After this operation, 561.26KiB of additional disk space will be used. Do you want to continue? [Y/n] y Done Installing libevent-core-2.1-7 ... Done Installing tmux ... Running pre-install script ...Done Running post-install script ...Done Installed tmux in 0 seconds
Compatibilidade
O OPM é genérico e foi feito principalmente para permitir a instalação de pacotes personalizados. No entanto, com a variável de ambiente PKG_FMT=deb, ele passa a utillizar os repositórios do APT.
Inifinitas possibilidades
Imagine um sistema embarcado onde manter a infraestrutura de um DPKG, RPM ou APT seja muito custosa (espaço, performance, etc)... O OPM parece ser ideal. ?
Ou ao desenvolver seu próprio Linux, por que não ir de OPM?
Comunidade
Falando em ser acessível, junto com outros membros do servidor do Mente Binária no Discord (e possivelmente outros), o desenvolvedor do OPM e outros amigos criaram a comunidade CoffeCode no Discord, pública para quem quiser trocar ideia sobre programação e aprender. Não por coincidência, Rust tá no topo dos canais, mas também há canais para C/C++, Python, Assembly, Java e Golang. ?
Recommended Comments
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.