Mostrando postagens classificadas por relevância para a consulta felix. Classificar por data Mostrar todas as postagens
Mostrando postagens classificadas por relevância para a consulta felix. Classificar por data Mostrar todas as postagens

Dietlibc está de volta com novo lançamento? SIM! :D

dietlibc 0.34
dietlibc 0.34
 Esta é uma noticia um pouco tardia, mas depois de um bom tempo, Felix von Leitner que é o criador da dietlibc e de muitos outros programas, parece estar de volta a ativa. No final do ano passado, Felix lançou novas versões das bibliotecas dietlibc e da libowfat.
CURSO DE SHELL SCRIPT DO MATEUS MÜLLER
 dietlibc é uma biblioteca do Linux otimizada para tamanho que pode ser utilizada criar  binários pequenos estaticamente lincados para as arquiteturas alpha, arm, ia64, mips, mipsel, ppc, parisc, s390, sparc e x86. Já a libowfat é uma reimplementação da biblioteca libdjb que fornece interfaces de Daniel Bernstein ( com algumas extensões).

 A ultima versão da dietlibc havia sido lançada em 2013 e da libowfat em 2016 (o que não é tão tarde). No final do ano passado, Felix lançou a versão 0.34 de ambas as bibliotecas.

 Estas bibliotecas, mesmo que antigas, em versão beta e terem ficado um bom tempo sem atualização (nesse ultimo caso, me refiro a dietlibc) são muito importantes devido aos seus recursos estando ainda disponíveis em vários repositórios de muitas distribuições e até mesmo sendo utilizada em programas atuais. Confiram o vídeo abaixo sobre a ditelibc e vejam como tal biblioteca é interessante:


Houveram muitas mudanças e melhorias nessa nova versão da dietlibc como a adição de novos recursos, de seguraça, correções de bugs:
Mudanças na dietlibc 0.34
 Já na libowfat foram poucas e mais simples de relatar aqui como remoção de warnings do OpenBSD por informarem não ser mais necessário, moveram os headers para <libowfat/> no install, correção no fix fmt_ip6 feita por Erwin Hoffmann, adição de suporte a MSG_ZEROCOPY [somente utilizado para buffers menores que 8k (>8k)], uso de writev em buffer_put para uma leve melhoria no perf, adição da experimental da API iom para multithreaded I/O multiplexing (em io.h)
Mudanças da libowfat retirado na integra daqui
 Eu decidi baixar a nova versão e testar a dietlibc compilando novamente o embutils assim como já havia feito no vídeo "Dando uma olhada no embutils" que é um pacote com conjunto de comandos que já utilizamos diariamente como ls, cp, dd e muito mais. Esse pode ser um substituto para o core utils do GNU apresentando tamanhos muito enxutos mesmo linkados estaticamente (conforme a dietlibc promete ser). O comando ls do embutils por exemplo tem 20k linkado estaticamente enquanto que o ls do core utils tem 128k linkado dinamicamente. Simplesmente surpreendente.

 Caso queira saber como compilei o embutils utilizando a dietlibc, confira o vídeo abaixo:


 Durante o processo de compilação houve alguns warnings, mas nada assustador.


 Testei o dd do embutils (que é um comando do GNU que eu gosto muito e podemos dizer que no Linux tem) gerando um arquivo vazio e depois criando mais swap com o mkswap do toybox (lembrando que mkswap não é um comando do GNU, e sim do próprio Linux fazendo parte do pacote Util-Linux mantido por karel Zak da Red Hat, mas quis testar o mkswap do toybox também).
comando dd no embutils compilado com a dietlibc 0.34
comando dd no embutils compilado com a dietlibc 0.34
mkswap do toybox
mkswap do toybox
Baixe, teste, experimente e faça uso de ambas a bibliotecas. Aproveite para conhecer os outros projetos do Felix (inclusive seu init system) bastando clicar aqui
Uma ótima leitura também é se há a possibilidade de deixar o kernel Linux menor se usarmos a dietlibc ao invés da glibc?

Daemons, daemons e mais daemons init

Daemons, daemons e mais daemons init
Imagem ilustrando com os logos os vários initi systemd utilizados no Linux.

    No vídeo "O que é daemon init?" eu mencionei que existem várias daemons init (ou init systems) diferentes. porém mencionei no vídeo somente (digamos) as mais populares como a BSD, SystemV, o launchd do Mac OS X, o OpenRC do Gentoo, o Upstart do Ubuntu e o systemd. O vídeo pode ser conferido logo abaixo:


    Então por que não debater sobre outros init systems? Vale começar peo NetBSD que, como mencionei no vídeo, o NetBSD migrou da init BSD para uma versão da System V (ou simplesmente sysvinit que introduziu o conceito de runlevels (especificação declarativa de serviço de sistema). O holandês Miquel van Smoorenburg é o autor da versão do sysvinit para Linux. Miquel fez também o primeiro port Debian para a arquitetura Alpha e tem como simbolo um Tux bebinho de tudo).
Tux do Miquel van Smoorenburg

    O Solaris possui o SMF (Service Management Facility = Facilidade de Gerenciamento de Serviço que também é baseada na SysVinit). Eu não sei hoje, talvez esse não seja mais o init do Solaris, mas ele é fortemente utilizado no IllumOS e no OpenIndiana. Agora, vamos a mais um monte de outros init systems.
    É um init system alternativo que incorpora as ideias da sysVinit, do simpleinit, do daemontools e do make que visa cuidar de processo paralelo (assim como o systemd e o launchd), dependências, roll-back, pipelines, melhorias no signaling e desmontar filesystems no desligamento (assim como o systemd possui recurso parecido). Falando em desmontar no desligamento, no dia 20 de agosto foi adicionado ao Systemd a ferramenta para montar filesystems. O interessante é que o Depinit possui comando parecido com o systemctl do systemd chamado depinctl. O Depinit, está sob licença GPLv2 e ainda está em fase experimental sendo disponível para Linux e FreeBSD. Sua ultima versão foi lançada em maio de 2014 (a versão 0.1.4).

InitNG 

    Tem como objetivo iniciar os processos em paralelo para reduzir o tempo de boot (assim como o systemd e o launchd... Mas já foi dito isso). Algo que foi inspirado no Mac OS X Tiger. Nele tudo é chamado em uma única ferramenta para gerenciar ciclo de vida ao invés de chamar múltiplos scripts que duplicam comportamentos similares. Li a algum tempo atras que a daemon InitNG tornou o Linux mais rápido (notaram como até mesmo a daemon init ou as outras daemons influenciam no desempenho do sistema operacional e não somente um filesystem? O InitNG está sob licença GPLv3 e recebeu uma pequena atualização há dois anos.

Runit 

    É um init Unix de esquema Cross-platform com supervisão de serviço operando em três estágios obtidos em /etc/runit. Ela está disponível para Linux, FreeBSD, Mac OS X e Solaris e pode ser facilmente adaptada para outros Unixes. Os direitos autorais são reservados ao desenvolvedor da daemon. Hoje essa daemon é adotada pela distribuição Void Linux e tendo também suporte do Busybox.


eINIT 

    É uma alternativa a implementação do /sbin/init para Linux e FreeBSD, mas parece que anda em decadência. Apesar disso, é um bom init para dispositivos embarcados e é bem modular. possui runlevels nomeados modes que é descrito em um arquivo XML a parece-se um pouco com a runlevel do Gentoo.

Pardus 

    É a daemon init da distribuição Turka chamada Pardus. É uma versão paga do Linux pelo que me lembro de ter visto anos atrás. É difícil conseguir informações nesse site desde que não possui versão inglesa (parece que os caras não querem mais nenhum outro país por lá rsrs. Essa seria uma boa distribuição para entrar para os "50 lugares onde Linux está rodando e você nem faz ideia), mas essa init trabalha com um subsistema init chamada Mudur que é escrito em python e um sistema de gerenciamento de configuração chamado Çomar.

Epcoh 

    É um init system para Linux na versão do kernel 2.6. Foi projetado tendo como foco a facilidade na configuração e a não intromissão, ser pequeno para funcionar tanto em distribuições grandes e minimas. Esse init não possui dependências externas além da biblioteca C, dos pthreads do kernel e sugerido um /bin/sh funcional. Ele possui um sistema de logs para boot, runlevels em ASCII, um único arquivo de configuração conveniente; recursos automáticos como hostname e montagem do sistema de arquivos virtual (como o /proc) e vários outros recursos. Vale a pena conhecer esse init system:

minit

    É uma daemon (ainda em versão beta) feita pelo alemão Felix von Leitner, mesmo criador da dietlibc e do embutils. Além de visar ser minuscula (característica típica do Felix e que faz isso muito bem) também visa corrigir alguns erros cometidos pelos init systems tradicionais no Linux. Se quiser saber mais sobre a diet libc e do embutils, assista o vídeo abaixo:


    Como descrito  no documento de sua palestra na Linux Kongress de 2004 que:
  • O processo de boot das tipicas distribuições Linux é muito sofrido
  • Se um boot script falhar, todo o processo de boot é interrompido
  • Se um serviço for interrompido via o comando kill, ele não é automaticamente reiniciado (se tornando um processo zumbi)
  • O script de shutdown não sabe qual o PID da daemon (modos de falhas horriveis onde você acidentalmente mata o processo errado)
  • E a falta de flexibilidade (iniciar mais um ou um serviço a menos?).
    No minit, cada serviço possui seu próprio diretório dentro de /etc/minit contendo dependências e dentre outros recursos. Dentre os problemas a serem solucionados pelo minit estava o de reduzir o período de downtime (que é também uma das ideias do systemd).

jinit

    também desenvolvida na Alemanha, trabalha utilizando seu próprio filesystem baseado em esquema de serviço e é escrita em C++. Ainda não é muito bem testada.

    Existe também por exemplo a Twsinit que é desenvolvido em Assembly, é bem pequena (exige somente coisa de 8k de memória) e ser uma substituição das atuais; a do Fedora chamada FCNewInit a Serel que também foca em acelerar o boot.

    Moral da história é que acelerar o boot, reduzir o shutdown melhorando assim o uptime e solucionar os problemas gerados pelos scripts já é um desejo antigo. A maioria das aqui mencionadas focaram esforços para poder trazer essas soluções. Criticar o systemd então se torna somente uma questão de birra.

    Bom, acho que está bom o tamanho da lista. Vale mencionar (mais uma vez, assim como mencionado no vídeo "O caso Systemd") que do Systemd surgiu o fork UselessD, mas que não conseguiram atingir o seu objetivo proposto.


busybox remove suporte ao Systemd:


Fico por aqui, espero ter agregado  mais conhecimento,forte abraço e falow.

jslinux - executando outros sistemas operacionais dentro do navegador

jslinux - executando outros sistemas operacionais dentro do navegador

 Fabrice Bellard desenvolveu um emulador em JavaScript permitindo rodar outros sistemas operacionais dentro do navegador. Para quem não sabe quem é Fabrice Bellard, Fabrice Bellard é o cara que criou o QEMU. Só que Fabrice não é conhecido somente pelo QEMU; é conhecido também pelo FFMPEG, ganhador de premio de matemática, vários outros projetos que podem ser conferidos clicando aqui e inclusive o seu compilador TinyCC já foi tema no meu canal:


 Se juntarmos as ferramentas de Felix von Leitner (criador da Dietlibc), Fabrice Bellard e Rob Landley, podemos dizer que as ferramentas dos caras constituem um sistema operacional quase completo.

 Em 2018 Fabrice Bellard disponibilizou o JSLinux, uma nova ferramenta onde você pode rodar outros sistemas operacionais direto do navegador. A história é um pouco mais antiga pois seu desenvolvimento foi iniciado em 2011, recebeu modificações em 2015 e melhorias em 2016. Ainda é bem limitado (suporte somente para X86 e RiscV64; aos sistemas Alpine Linux, Fedora 29, Buildroot, Windows 2000 e FreeDOS. Além de limitação de uso) mas achei interessante compartilhar somente como base de conhecimento.
 Cada vez mais novos recursos são agregados aos navegadores ao ponto de se tornarem mais do que simplesmente navegadores. Estamos chegando a um ponto onde os navegadores serão mais como um sistema operacional somente dependendo do kernel de um sistema operacional.

 De certa forma eu acho a ideia de aplicações sendo executadas dentro dos navegadores muito interessante por não limitar a qual sistema operacional que se utiliza (Linux, Windows, MacOS ou seja lá o que for) ou a qual arquitetura. A limitação poderá ocorrer em qual navegador a aplicação funciona melhor (e é claro que é pequenos detalhes como em qual sistema operacional o navegador funciona melhor ou possuir tais recursos de sua API), mas acredito que aplicações é uma iniciativa que já há muito tempo deveria estar em atividade.

Hackatona Reprograma em São Paulo

Hackatona Reprograma
Hackatona Reprograma. Dua 16 e 17 de Março em Pinheiros
 Galera, dia 16 e 17 de Março vai acontecer o  Hackatona reprograma. Esse evento tem como objetivo trazer e promover o potencial das mulheres na área de tecnologia!

 Para ajudar a divulgar e promover o máximo de inscrições e participação das mulheres, estimular a troca de conhecimento estamos divulgando esse evento.

 Se você tem qualquer tipo de conhecimento em programação, design gráfico, gestão de negócios, marketing, ou só é muito curiosa e quer aprender coisas novas em um fim de semana intenso, só vem!
Se inscrevam no evento
 O evento está sendo realizado pela Reprograma com a Co-Organização da ADE SAMPA, Parceria da FIAP, NuBank, AWS e IFC (International Finance Corporation) e organização da Shawee.
Confiram o blog da Jessica Felix que trata fortemente sobre Hackaton

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (1) ambiente gráfico (15) AMD (14) analise (9) Andriod (8) artigo (5) benchmark (3) BSDs (20) btrfs (12) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (6) Código Fonte (50) comandos (17) comp (1) compressores (4) container (1) CPU (18) criptografia (2) crowdfunding (9) cursos (21) daemons (13) Debian (30) desenvolvimento (55) desktop (17) DevOps (1) DevSecOps (1) dic (1) Dica de leitura (57) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diocast (1) dioliunx (3) distribuições Linux (13) Docker (7) DragonflyBSD (15) ead Diolinux (2) edição de vídeo (4) EMMI Linux (4) emuladores (5) endless (5) English interview (2) Enless OS (2) entrevista (16) espaço aberto (83) evento (4) facebook (1) Fedora (5) filesystem (60) financiamento coletivo (2) fork (3) fox n forests (4) FreeBSD (12) Funtoo Linux (13) games (87) gerenciadores de pacotes (2) GOG (3) google (8) gpu (3) hardware (99) I.A (1) init system (7) Intel (15) IoT (1) ispconfig (1) jogos (33) kernel (116) lançamento (43) leis (1) LFCS (1) licenças (7) Linus (15) linus torvalds (1) Linux (190) linux foundation (3) linux para leigos (1) live (5) LPI (8) LTS (1) machine learning (1) meetup (1) mesa redonda (27) microsoft (3) microst (1) muito além do GNU (121) não viva de boatos (9) navegadores (3) NetBSD (3) novatec (17) o meu ambiente de trabalho (3) off-topic (12) open source (79) OpenBSD (3) OpenShift (1) os vários sabores de Linux (39) padrim (2) palestras e eventos (3) partições (6) pentest (6) processadores (26) professor Augusto Manzano (11) Programação (40) propagandas com Linux (8) Red Hat (16) redes (2) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) risc-V (1) runlevel (2) Secomp (1) segurança digital (15) servidores (1) shell (1) sistema operacional (19) Software livre e de código aberto (150) sorteio (3) Steam (8) Steam no Linux (6) supercomputadores (4) suse (6) systemd (7) terminal (74) toca do tux (1) toybox (15) tutorial (6) Tux (3) unboxing (7) UNIX (16) UNIX Toolbox (14) vartroy (1) vga (1) vulnerabilidade (3) wayland (2) whatsapp (1) Windows Subsystem for Linux (1) wine (12) WoT (1) ZFS (9)