Mostrando postagens com marcador toybox. Mostrar todas as postagens
Mostrando postagens com marcador toybox. Mostrar todas as postagens

Lançado toybox 0.8.14

 

Lançado toybox 0.8.14 release notes.

Lançado toybox 0.8.14

 No dia 22 de Junho de 2026 foi lançada a versão 0.8.14 do shell toybox. A partir desta versão, o toybox foi migrado do Github para o Codeberg e a mailing list agora está sendo hospedada pela OSUOSL.

 Não há comandos novos nesta versão e sim adição de novos recursos a comandos já existentes, sejam eles estáveis ou como pendentes e correções de bugs. O comando lsusb recebeu a opção -v, o comando xargs recebeu a opção --process-slot-var; o comando taskset recebeu as opções -c (cpulist que agora sua Test suite permite realizar cálculos não causando overflow ao shell), --all-tasks e --pid; o comando readelf recebeu flags específicas para processador e correção na opção -S; o vi do toybox recebeu a opção ZZ (salvar e sair assim como !wq.) além de correção no bufffer vazio que ficava marcado como maodificado; correção na geração de processo zumbi no dhcp; o comando diff recebeu uma correção de argumento opção em flags movendo arquivos temporários desnecessários para $TMPDIR ou para /tmp ao invés do diretório atual.

Melhorias no toysh

 O toysh é um comando de extrema importância para a evolução do toybox pois é através do toysh que os scripts serão executados (assim como através dos comandos sh e bash que também estão presentes no toybox como pendentes) e através dele que conseguirão substituir o Bash (na qual esta é a intenção).

Opções fornecidas pelo toysh

toysh sendo utilizado como shell padrão e exibindo seus comandos comandos internos ao digitar help
toysh sendo utilizado como shell padrão e exibindo seus comandos comandos internos ao digitar help. Também é possśivel notar que ao digitar o comando uname -a, aparece a palavra toybox ao invés de GNU/Linux (como se gabam)

 Como já mostrei há alguns anos, o toysh ainda não está pronto e pode ser conferido no vídeo abaixo. Este comportamento foi reportado aos mantenedores como contribuição.


 Apesar disto, esta versão trouxe várias correções e atualizações ao toysh. 

A evolução do mkroot

 Para quem não o mkroot, esta é uma distribuição Linux desenvolvida por Rob Landley para servir como ambiente de pesquisas, desenvolvimentos e testes do toybox. No passado, seu nome era Aboriginal Linux, mas com o tempo, Rob deecidiu dar fim ao Aboriginal Linux e adotar outro nome como Hermetic e por fim, foi nomeado simplesmente mkroot. Por volta de e2022 A Google passau a financiar o desenvolvimento tanto do toybox quando do mkroot para que ela pudesse utiliza-los em tecnologias internas (para quem acha que a Google vai substituir o Android pelo Fuchsia, só demonstra amadorismo, romantismo e emoção).

 O Mkroot também recebeu várias melhorias, correções de bug e atualizações. é possível baixá-lo e utilizá-lo via Qemu. Landley fez uma apresentação no ELC talk a respeito do mkroot (Building the Simplest Possible Linux System) demonstrando os passos e configurações necessárias para se construir e bootar um sistema operacional Linux mínimo até chegar ao prompt de comandos. Depois disso, Rob seguiu com o linux-embedded thread.



toybox news

Saiba mais sobre o toybox clicando aqui


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

wak: Uma implementação do awk para o toybox


wak -- an awk implementation for toybox and standalone

wak: Uma implementação do awk para o toybox

 Em 2024, Ray Gardner com contribuição de Oliver K. Webb disponibilizaram o wak, uma implementação POSIX compacta da linguagem de programação awk para o toybox ou para poder também ser utilizado como standalone. O professor Nelson H. F. Beebe da Universidade de Utah também está envolvido em seu desenvolvimento dando conselhos relacionados a melhorias do programa e do uso do makefile.

 O wak é realmente compacto; escrito em apenas 4500 linhas de código que quando compilado, linkando estaticamente, o wak possui apenas 244  kbytes. O wak entrou no diretório pending do toybox em Janeiro de 2025, na versão 0.8.12 porém, como awk e não wak.


Informações de binário do wak
Informações de binário do wak

wak no diretório pending do toybox com o nome awk
wak no diretório pending do toybox com o nome awk

 O wak é em sua maioria compatível com as implementações awk POSIX, o One True Awk de Brian Kernighan, também conhecido como nawk, este é o original awk do Unix que recebeu uma atualização em 2022 e que é utilizando inclusive pelo Android,  o awk do Busybox e o gawk do GNU com axceção de sua extensões. O wak tenta ser compatível com a POSIX.1-2024, exceto onde conflita com praticas tradicionais e comuns de outras implementações do awk como exemplo, tentar ser o tanto UTF-8 safe (confiram as informações de Oliver Webb) quanto razoavelmente possível, seguindo as abordagens do toybox. Neste vídeo eu apresento alguns dos testes manuais que eu fiz para testar a sua compatibilidade com outros awks: 



 O wak é mantido sob a clausula zero BSD (BSD0) para manter dentro dos padrões de licença do toybox porém, como os arquivos do diretório test pertencem ao gawk 5.3.1, então estes arquivos são mantidos sob a GPL2. O código é escrito em C99 (exceto o recurso anonymous unions) tanto no GCC quanto no Clang mas também é possível compilar o wak com TinyCC. Report de bugs são sempre bem vindos.


A IMPORTÂNCIA DE AWK

 Ao longo do tempo, awk foi perdendo espaço para outras linguagens como Python e Perl, porém a especificação POSIX e especificalmente a Single UNIX Specification (SUS) determinam que todo sistema operacional que declaram ser um Unix (ou totalmente POSIX) deva disponibilizar uma versão de awk compatível com a POSIX para assim ser oficialmente Unix legítimo e certificado. Essa exigência está relacionada a awk fazer parte do conjunto de comandos necessários para tornar scripts portáveis entre outros Unix.

 Além do mais, awk é uma das dependências para se compilar o kernel Linux pois é utilizado por vários build scripts e configurações. Enquanto compiladores e outras ferramentas são responsáveis por gerar os binários, awk e outros comandos são responsáveis pela parte de scripts que tratarão de informações como saber os ranges de memória, preempção do kernel e muito mais.

scripts awk presentes no kernel
scripts awk presentes no kernel

 Rob Landley descreveu em seu blog em 2021:

" Estou imaginando que dd, expr, tr, awk, sh, bc, bison, flex, make, ar, e gzip são necessários para construir o kernel..."

 E continuamos em seu roadmap a série de comandos necessários para construir um ambiente mínimo de uma distribuição capas de bootar o sistema executando init scripts e outros shell scripts e oferecer uma sessão do shell.


 A intenção é oferecer ferramentas necessárias para o Android ser capaz de compilar o kernel Linux e suas próprias ferramentas.


An awk implementation for toybox and standalone

wak - An awk implementation released

Writing a UTF-8 Safe AWK | Oliver Webb

Confira mais sobre o toybox clicando aqui


QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

Lançado toybox 0.8.13

Lançado toybox 0.8.13

Lançado toybox 0.8.13

 No dia 14 de Outubro foi lançada a versão 0.8.13 do terminal de comandos toybox.


NOVOS COMANDOS

 Foram adicionados os comandos nologin e hd. O comando hd inicialmente não possui opções, apenas saída o tradicional de 16 bytes por linha hex+ascii. Essa nova versão trás também a substituição do antigo kconfig/*.c plumbing (que data da época do kernel 2.6) por um novo scripts/kconfig.c que entre outras coisas, permite construir no MacOS sem a necessidade de homebrew e adiciona suporte trap e alias ao toysh.


Comandos hd e nologin no toybox 0.8.13
Comandos hd e nologin no toybox 0.8.13


NOVOS RECURSOS AOS COMANDOS

 O comando chmod recebeu as opção -cv; o comando kill com a opção -l pode gerar uma lista de múltiplos sinais; o comando taskset recebeu a opção -a como um alias para a opção --all e utilizar essa opção sem argumentos exibe o mask atual; o comando dd recebeu as opções oflag=append, oflag=direct, conv=nocreatiflags=direct; os comandos xargs e pgrep receberam a opção -a; o comando lspci agora suporta offsets de de registradores maiores; o comando log recebeu a opção -b; e o lsusb recebeu a opção -t.


COMANDOS E RECURSOS PENDETES

 Além do novo comando hd, agora o diretório pendente recebeu o novo comando hexdump; adição do ip6gre ao ip; adição de dhcp -u para utilizar UDP ao invés de broadcast replies.


CORREÇÕES DE BUGS E LIMPEZAS

 O comando tar -T /dev/null cria um arquivo vazio além de uma correção de incompatibilidade com o SELinux; o test -nt -ot trata um arquivo existente como novo ao invés de arquivo inexistente; ps -o psr= $$ não exibe maos saídas com linhas em branco; o comando pgrep recebeu duas correções sendo a primeira para não tratar argumentos desconhecidos como filtros de processo e a segunda para não permitir que a opção -f não conflite com a nova opção -a já mencionada; o comando lspci -xxxx exibe corretamente offsets de registradores grandes; o as buscas do comando modinfo agora incluem um leading NUL para evitar falsos positivos; o crontab recebeu uma correção para reter o proprietário original. Também houveram correções de bugs nos comandos dentro do diretório pendente.

 Ocorreram limpezas nos comandos hexdump, kill, lsusb, xzcatkillall5 que não mais depende do comando kill.



QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

Lançado toybox 0.8.12

Lançado toybox 0.8.12

Lançado toybox 0.8.12


 Quase nove meses depois do seu ultimo lançamento, No dia 18 de Janeiro foi lançada a versão 0.8.12 do toybox. Essa nova versão não traz nenhum novo comando, nenhum comando promovido e foi mais focado em trazer novos recursos a comandos já existentes e várias correções.


RECURSOS

 Nesta nova versão o comando netcat recebeu as opções de saída hexadecimal -o para evitar grupos de entrada original e -O para contínuos. Além destas, agora netcat -f permite a comunicação com dispositivos serial.

 O comando tar agora permite tratar com alguns formatos obsoletos de tarballs além de permitir também compactar utilizando zstd (-Z ou --zstd); o comando devmen recebeu as opções -f ARQUIVO--no-sync e --no-mmap; o comando mount recebeu a opção LABEL= e Firas Khana (autor da distribuição Glaucus Linux que eu tive a chance de entrevista-lo) fez com que os comandos lsusb e lspci verifiquem também dentro do diretório /usr/share/hwdata. O comando dmesg recebeu a opção -W (--follow-new) e o getconf recebeu as opções NPROCESSORS_CONF e NPROCESSORS_ONLN.


toysh, sh e bash

 Os comandos que a equipe do toybox mais pretende alcançar um bom nível de maturidade são o toysh, o sh e o bash pois estes comandos são essenciais para a execução de scripts e inicialização tanto do sistema operacional quanto da sessão de login. Tendo estes comandos completamente funcionais torna possível ter um sistema operacional com um shell independente. O grande problema é que eles ainda não estão prontos para serem utilizados em produção tendo a equipe um longo trabalho pela frente até conseguir obter algo realmente funcional e compatível com outros shells. Confira meu vídeo abaixo a respeito do bug que eu reportei a equipe:



 Bom, o que podemos fazer agora é aguardar para que estes três comandos amadureçam ao ponto de poderem ser compatíveis com todos os nossos scripts. Voltando as novidades, foram adicionados ao comando test as opções -ef-ot e -nt seguindo a especificação POSIX 2024.



 Foi implementado return, move break e continue para substituir special cases; houveram mudanças no design que permitem "trap" assincronamente chamar funções de um manipulador de interrupções e aplicaram outras correções. Dentre os testes com  TEST_HOST que passou no bash 5.2.

Vi

 E por que não falar da implementação do editor de texto vi já que falamos de shellscript e se tratar de uma ferramenta necessária para a criação de nossos scripts? A implementação do vi do toybox (ainda como pendente) recebeu suporte a tratar de argumentos inválidos da opção `:g`  sem gerar buffer overflow; correção de buffer overflow quando entrar comandos longos; simplificação de testes e verificação de leitura de out of bounds em buffer vazio na opção `p`.


PENDENTES

 Nos pendentes estão a implementação do awk.c que recebeu 46 commits até o momento; o comando diff recebeu a opção --no-dereference e correção nas comparações entre links simbólicos e fifos; o cornd recebeu várias correções; o stty recebeu FLUSH ao invés de DRAIN e o toybox recebeu suporte inicial a UTF-8.

 Houveram várias correções de bugs e limpezas; a biblioteca do toybox recebeu modificações e remoção de recursos legados. Agora é usufruir das novidades da nova versão e aguardar pela versão 1.0 (torço muito por isso).

para conferir as novidades completas da versão 0.8.12 toybox, basta clicar aqui

Mais sobre o toybox pode ser lido clicando aqui

Mais sobre a distribuição Glaucus pode ser lido clicando aqui

QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)
QUER APRENDER LINUX? ENTÃO CONFIRA O MEU CURSO DE MIGRAÇÃO PARA LINUX CLICANDO AQUI :)

Lançado novo Minicurso de atributos no Linux
E não esqueçam de conferir também o meu mini curso de atributos no Linux

Lançado toybox 0.8.11

Lançado toybox 0.8.11

Lançado toybox 0.8.11

 No dia 8 de Abril foi lançada a versão 0.8.11 do terminal de comandos toybox (depois de nove meses depois de o ultimo lançamento, mas tivemos bastante novidades). Dentre as novidades estão os comandos tsortts, csplit e memeater. Os comandos fold e getopt foram promovidos.

 Os comandos também receberam novos recursos, em especial o comando mv que dua grande novidade é foi receber a nova opção -x (ou --swap) que agora permite indicar dois caminhos no file system de forma atômica. Observação que deve ser feita é que essa opção só é possível dentro do mesmo file system e caso não haja suporte a atomic swap, uma mensagem de erro será retornada. Esse recurso é permitido através syscal renameat2() que está presente no Linux há ~10 anos (essa é a minha grande critica ao Linux, tantos recursos poderosos e pouco explorados). Não parei para testar essa opção, mas eu trago algo aqui quando tiver tempo já que é a unica implementação de comando mv que possui esse recurso. Rob Landley enviou seu patch para o busybox e para o coreutils; se os projetos irão aceitar, já é outra história. Este recurso não estará disponível para as versão do MacOS e do FreeBSD já que se trata de uma system call do Linux, então, Rob Landley precisou gerar uma função no arquivo portability.[ch] para não ocorrer erros.

 O comando env -e ARQUIVO executa um comando diferente de argv[0]; o comando reset agora coloca os terminais brutos de volta no modo "cooked"; sort -k conta da direita para a esquerda, setsid segura o tty removendo a necessidade do getty e a opção -CC tenta pegar a sessão; o comando mount agora exibe file= quando exibe mounts em loopback; o comando wc (não gosto do nome desse comando, parece banheiro) ganhou a opção -L que exibe linhas mais longas; o comando tar ganhou a opção -h que detecta mais hardlinks; o comando cp agora copia xattr para diretórios e não somente arquivos; o comando count recebeu a opção -l e o netcat a opção -z. Os comandos readelf, ifconfig e file receberam novas informações a serem exibidas na tela

 Como em todo projeto que se presa em seu lançamento, houveram muitas correções de bugs, limpezas, muitas novidade em sua biblioteca e nos comando como pendentes; inclusive o comando passwd foi temporariamente despromovido devido a reescrita em na infraestrutura do lib/passwd.c  que ainda não está pronta. O comando yes agora utiliza a chamada writev() para melhorar o seu desempenho e evitando muitos bugs.


Saiba mais sobre o toybox clicando aqui


Lançado toybox 0.8.10

Lançado toybox 0.8.10

Lançado toybox 0.8.10


 No dia 30 de Julho, foi lançada a versão 0.8.10 do terminal de comandos Toybox, depois de uma espera de mais de seis meses desde o lançamento da ultima versão. Acredito que foi devido as apresentações que andaram fazendo sobre o j-core no Japão (e que eu particularmente estou ansioso por isso). Bom, foi adicionado o novo comando shuf, e o Elliott adicionou o comando i2ctransfer. Foi concluído as limpesas no comando dd e saiu do diretório pendente. Fazendo a minha observação sobre o comando dd, eu testei e acabei gostando muito pois, honestamente, conheço outras implementações do comando dd e o do GNU é o que mais me agrada devido as suas opções como status (opções em comandos é algo que me agrada muito). Veja abaixo uma comparação entre o dd do embutils e do toybox.

toybox dd
Comando dd do terminal toybox



embutils dd
Comando dd do pacote embutils


NOVAS OPÇÕES DE COMANDOS JÁ EXISTENTES

 Também foi adicionado ao comando dd suporte a POSIX 1x2x3 (com detecção overflow). O comando tar recebeu novas opções como -s, --ignore-case, --wildcards, --anchored, --wildcards-match-slash, --one-file-system. O comando ls recebeu a opção --block-size e melhoria na opção --sort, o comando cpio recebeu as opções -R que permite definir  user/group de todos os arquivos e a opção -L segue symlinks; o comando gzip recebeu a opção -t para realizar teste de integridade de arquivos, find recebeu a opção -readable,  a opção -DFR do comando cut (que é um dos melhores cut que eu já utilizei) agora possui --longopts aliases (como sugerido pela lista do coreutils). o comando oneit agora auto-detecta console a partir do sysfs, o comando i2cget recebeu suporte a next address para melhorar a bus limit (além de Jarno Mäkipää ter ensinado o comando i2cget a fazer leitura sem passar um byte de comando) e o lspci recebei a opção -x (referente a hex dump do espaço de configuração do pci). Também foi ensinado ao comando blkid a reconhecer imagens ISO.


O toysh

 Se tem algo que todos andam esperando com ansiedade é o toysh (também englobam os comandos sh e bash. Sim, o toybox possui o comando bash) pois tendo um terminal de comandos compatível com  scripts de outros terminais, você acaba possuindo um terminal de comandos que torna o seu sistema operacional independente e possível de ser executado como terminal de comandos padrão. Eu reportei alguns bugs durante a versão 0.8.6 mesmo sabendo que o comando toysh, sh e bash ainda estavam como pendentes.


 E o trabalho tem sido bem intenso sobre este comando até mesmo por parte do Google. Agora, vamos verificar o estado do toysh. Nas notas de lançamento, Rob Landley descreveu:

"Análise de opção de linha de comando para no primeiro argumento nonoption, todos os segmentos canalizados agora estão implicitamente subshelled então os tempos de vida variáveis correspondem aos do bash e loops não precisem sair antes de prosseguir para o próximo (ala "while true; do echo hello; done | while read i; do echo $i; done" pendurado em toda a saída de um pipe). Várias mudanças para o processamento de HERE document* (expansões variáveis podem causar continuações de linha em um HERE document, etc), e melhor manipulação de continuação de linha em geral, adicionado set -u, corrigido retorno de códigos if/while, conectado ao builtin "local", corrigido um bug de passagem de escape relatado por Mingliang Hu, suporte a redirecionamentos não delimitados (ala cat<file sem espaços), corrigido ${X::} sem argumentos."

 Ainda não realizei os mesmos testes, mas em breve pretendo. Houveram também, como sempre, muitas correções de bugs, limpezas, portabilidade, melhorias no build, implementações de recursos na biblioteca do toybox, melhorias na Test suite e na documentação. Os comandos do diretório pending também receberam melhorias como como o git, correções de bugs nos comandos init e login, suporte a risc-v no comando strace, correção na opção :w e -s do vi (além de terem o ensinado a respeito de backspace e melhoria em lidar com arquivos vazios) e várias limpesas no tcpsvd.

 O mkroot (que é a distribuição voltada somente para teste de implementação do toybox, mas que o Google demonstra interesse nessa distribuição para outros projetos) recebeu várias melhorias


*HERE document, também podendo ser abreviado para heredoc e outras formas, consiste na sintax << e here string em <<<.


Pré-lançamento da distribuição Glaucus

Pré-lançamento da distribuição Glaucus

Pré-lançamento da distribuição Glaucus


 Projetada do zero, glaucus uma distribuição Linux® independente baseada na biblioteca musl libc e, diferente do Alpine Linux que utiliza o Busybox, Glaucus utiliza o toybox como terminal de comandos padrão.

 Iniciada em 2018 como um hobby inspirada em alguns projetos (que podem ser conferidos aqui), Glaucus foca em ser  rápida, rolling-release enquanto mantem uma base limpa, leve e, o mais importante, sem sacrificar a coneniência. Autalmente está disponível para x86-64-v3, aarch64 e riscv64.

 Foi lançada no dia 28/04/2023 a versão glaucus-s6-x86-64-v3-28042023 e todas as suas novidade podem ser conferidas clicando no link abaixo:


No mesmo link podem ser conferidos todos os detalhes da distribuição, sua principal licença (ISC License) e seu propósito.

Agora o Gláucia é self hosting sendo capaz de compilar sua toolchain.

Lançado toybox 0.8.8

toybox 0.8.8

Lançado toybox 0.8.8


 Na semana passada foi lançada a versão 0.8.8 do terminal de comandos toybox. Essa versão não traz comandos promovidos do diretório pendente. Como já é de conhecimento, esse já é o segundo lançamento desde que o Google passou a financiar Rob Landley. A intenção do Google é para ter o toybox funcionando no hermetic build (distribuição Linux já mencionada aqui no blog) enquanto Rob foca em paralelo para que o toybox venha tornar o Android self hosting (permitir que o Android seja possa ser construído no próprio Android).

 Apesar que essa versão não houve comandos promovidos, ela traz vários novos recursos como a nova opção -i do comandos timeout que elimina um comando por inatividade; suporte básico ao tar --xform mais ainda não as opções especiais tar-only s///x além da opção --null para reconhecer algumas imagens do kernel Linux e binários para novos merges arch/loongarch (uma variantes chinesa do mips64 já mencionada aqui no canal a situação da empresa mips e essa nova variante).

 Foi adicionada a opções --long permitindo que o comando ls possa executar a opção --col e entender como a opção --color; o blkid recebeu a opção -o entendendo o formato "full", "value", e "export"; o comando mount recebeu a opção -R para permitir recursividade e também autodetectar --bind e --loop (apesar que eu não vi essa opção presente no comando mount).

tar --xform e ls --col
tar --xform, --null e ls --col

 A biblioteca do toybox também recebeu novas funções (xrunread() que permite trabalhar com função filho; same_file() e same_def_ino() para simplificar compressão de metadados) e mais dois novos modificadores (" " e ";") no arquivo lib/args.c que permitem 4 combinações de set e unset que possuem semanticas definidas. lib/arg.c também recebeu "~" para que longopts possa trabalhar com

PENDENTE

 Em pendente há muito trabalho sendo feito no toysh, sh e bash que como já demonstrei anteriormente no meu vídeo sobre o bug que reportei, não estão prontos para serem utilizados para a execução de scripts. No dia 23 de Junho, Rob reportou que estava decepcionado com o resultado do trabalho no sh.c pois, sua expectativa era que ele atingisse no máximo 3.500 linhas de código e nessa época, já estava aproximando-se de 5.000. Mas muito trabalho vem sendo feito e vou realizar novos testes.


 Houveram atualizações do comando diff, limpezas no comando dd (comando que estou esperando bastante) mas ainda não estão prontos para ser promovidos apesar do atraso no lançamento.

 Houveram também correções de bugs, adição de warnigs, melhorias na sessão test e na documentação. Todos os detalhes do novo lançamento podem ser conferidos no site oficial do projeto.


Marcadores

A pior história sobre Linux que já ouvi (6) A.I (2) ambiente gráfico (19) AMD (14) analise (10) Andriod (17) android (8) Apple (1) arm (5) artigo (5) aws (1) bc (23) benchmark (6) BetrFS (1) blackhat (1) BSDs (35) btrfs (32) bugs (2) Caixa de Ferramentas do UNIX (18) canonical (1) canto do Diego Lins (2) certificações Linux (7) Código Fonte (53) comandos (34) comp (1) compressores (9) consoles (1) container (8) CPU (20) cracker (1) criptografia (5) crowdfunding (9) cursos (24) daemons (14) Debian (31) desempenho (2) desenvolvimento (104) desktop (19) DevOps (3) DevSecOps (4) dic (1) Dica de leitura (91) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diet libc (4) diocast (1) dioliunx (3) distribuições Linux (14) Docker (13) DragonflyBSD (24) driver (2) dropbear (3) ead Diolinux (2) edição de vídeo (5) embarcados (1) EMMI Linux (4) emuladores (9) endless (5) English interview (3) Enless OS (2) entrevista (17) espaço aberto (82) evento (6) facebook (1) Fedora (11) filesystem (82) financiamento coletivo (2) fork (4) fox n forests (4) FreeBSD (22) Funtoo Linux (13) games (96) garbage collector (1) gerenciadores de pacotes (4) glaucus (8) GOG (3) google (9) gpu (4) hacker (2) hardware (104) hash (1) helenos (3) I.A (1) init system (13) Intel (16) inteligencia artificial (2) IoT (1) ispconfig (1) jogos (40) kde (1) kernel (143) lançamento (64) leis (1) LFCS (1) libs (2) licenças (10) Linus (16) linus torvalds (2) Linux (194) linux foundation (3) linux para leigos (1) live (4) lkgr (1) LPI (8) LTS (1) Mac (1) machine learning (1) matemática (9) mesa redonda (27) microcontroladores (1) microsoft (6) microst (1) muito além do GNU (182) musl (3) não viva de boatos (9) navegadores (5) NetBSD (7) newlib (1) nim (12) nimlang (4) nintendo (2) novatec (17) novidades (1) nuvem (1) o meu ambiente de trabalho (3) off-topic (12) ONLYOFFICE (5) open source (85) OpenBSD (8) OpenShift (1) oracle (1) os vários sabores de Linux (46) padrim (2) palestras e eventos (5) partições (6) pentest (8) performance (1) pipewire (1) plan9 (3) playstation (1) processadores (30) professor Augusto Manzano (11) Programação (72) promoção (1) propagandas com Linux (8) ps4 (1) real-time. (1) Red Hat (23) redes (4) resenha nerd (5) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (14) RISCV (13) rtos (2) runlevel (2) rust (16) Sega (1) Sega Saturn (1) segurança digital (28) servidor web (2) servidores (3) shell (12) shell script (9) sistema operacional (25) skarnet (2) smartphones (3) Software livre e de código aberto (150) sorteio (3) Steam (11) Steam no Linux (9) supercomputadores (4) suse (7) systemd (9) terminal (90) terminal de comandos (21) toca do tux (1) toybox (31) tutorial (6) Tux (3) ubuntu (1) unboxing (7) UNIX (17) UNIX Toolbox (13) vartroy (1) vga (1) virtualização (3) vulnerabilidade (7) wayland (5) web (1) whatsapp (1) whitehat (1) Windows Subsystem for Linux (2) wine (14) WoT (1) yash (1) ZFS (16) zsh (3)