invernosantigos
(usa Linux Mint)
Enviado em 29/01/2022 - 01:30h
Agradeço desde já os comentários,
Run4n. Batalhamos à anos para promover um sistema estável e isento de bugs, e é sempre desapontador ver a falta de empenho de alguns desenvolvedores. À cerca de 1 ano, dei uma bronca no pessoal do Libreoffice em algum fórum da vida por aí, apenas porque fiquei passado com a penúltima versão do Libreoffice 6, que tinha o pack de dependências mais porco que já vi : Misturava sources com pacotes deb, e a source não era nem compilável -- sem automake, configure ou makefile, e claro, não permitiria nem morto instalação automática tal como era oferecido, e nem mesmo podia ser compilado à mão. De resto, exigia uma depe que não existia e não era oferecida. Um quebrador de sistema ! é o que era ! Espalhei um alerta para que ninguém instalasse a estrovenga, então a Libre org tirou do ar depois de 2 semanas. Como se já não soubessem de início o trabalho porco que tinham feito... E o que me deixa indignado, é que o "Libreoff" chegou até aqui graças só á comunidade Linux, já que a parceirinha querida, Microsoft, fez de tudo para destruir o Libre, ainda no berço. Me queixei inclusive que era um péssimo uso das doações que a Libre Org reecebia. Deve ter doído.
E peço desculpas por ser obscuro em alguns pontos, por falta de espaço e não poder prolongar discussão sobre um monte de assuntos que realmente não tem muito à ver uns com os outros, fora a bronca GERAL que mereciam e levaram. Os bugs de permissão ao que me referi, por exemplo, são bem típicos principalmente das versões atuais do Mint e do Ubuntu, do Trusty Tahr para cá. Simples : Mude as permissões de uma pasta, e assinale recurssão para todos os arquivos contidos na pasta. Necas ! Só a pasta em si muda as permissões, os arquivos nele voce terá que mudar a permissão manualmente um-à-um ! Mudar pelo terminal resolvia, mas agora não resolve mais, pelo menos não no Mint. Resumindo : Dá muito trabalho ! Fora que um dos motivos que me fez debandar do Ubuntu, foi a instabilidade das permissões. Por 10 ou 15 vezes, em algum dia qualquer eu quis ligar o PC, e não consegui acesso à pasta home, porque as permissões tinham sido adulteradas sem motivo ou por isso mesmo. Tudo ficava como Root, reiniciar não resolvia, e eu ficava de 2 à 3 horas redefinindo permissões, diretório por diretório -- inclusive os ocultos, fora o .xautority e o .drmc, que ficavam inacessíveis para o usuário. Eu poderia simplesmente ter ignorado e entrado direto como administrador, mas aprendi à não ignorar problemas e não deixá-los para o dia seguinte. Sou meio neurótico por causa disso, porque não tenho muito tempo disponível
todos os dias; então no dia que tenho, deixo o Linux no ponto, pronto para uso imediato ou para cair fora dele de imediato.
Mas como pontuei, as permissões são apenas
um dos problemas do Linux. O problema dos drivers não está na falta de fornecimento de driver do fabricante, mas sim que o Linux
administra mal os drivers, mesmo os muito bem-feitos. Vamos comparar : Eu disse que o verdadeiro segredo comercial do Ruinwindows era o seu "refinado sistema de gerenciamento de drivers". O que isso quer dizer exatamente ? Não era uma frase de efeito e muito menos um elogio; eu estou no Linux porque desde os anos 90 tenho uma relação de ódio com o Ruinwindows, e parece que o ódio é mútuo... Agora, veja : segundo um amigo meu, hacker que dedicou a vida á quebrar o código-fonte do Windows, o tanto que desse, e o surpreendente no Ruinwindows é como ele implementa os drivers. O Linux só joga eles direto no compilador, como se fosse uma subrotina qualquer. E é exatamente o que não funciona. O Ruinwindows usa aqueles nefastos arquivos autorun ( Auto-Run, "auto-início" ) para implementar a chamada de sistema para aquele driver. Parece um lixo, esses autorun, um mero risco de segurança, mas na verdade são espertos : São cheios de meta-dados para a orientação das Bibliotecas de Chamada da API de drivers. Eles chamam uma biblioteca que vai configurar as Convenções de Chamada para aquele driver. Nada de driver rodando à seco, a execução dele é pré-configurada por uma chamada "personalizada" definida através dos metadados do autorun. Ou seja : O velho golpe do driver pré-configurado. O Linux só usa esse truque com os processadores. É o ponto forte do Debian, com seus pacotes pré-compilados para AMD 64, i386, arm, sparc... Mas no Windows, tudo é assim, e
cada driver tem uma biblioteca pré-compilada para aquele hardware esperando ele. Ele já inicia otimizado no carregamento, e o fracasso do Linux em simplificar a instalação e execução dos drivers mostra que pular etapas não é a melhor solução. E por isso o Ruinwindows leva bem mais tempo para instalar um driver, mas quando termina, roda bonito ! Claro, foi pré-compilado pelo próprio sistema seguindo as instruções da tal biblioteca... Esconder isso é a razão do empenho da Microsoft em não abrir nem parcialmente o código-fonte para auditoria pública. É tão secreto que eles nem mesmo patentearam ! Eles até liberaram o código-fonte de versões antigas -- arcaicas -- como o XP, milenium, 95 e cacas e tal... Mas a API de drivers não está lá no código-fonte liberado para exame. Qualquer hackeada básica no windows mostra de cara que a API de Drivers é separada da API de sistema. E, segundo o meu amigo, é bem parecida com uma API ODBC -- Open Database Connectivity ( ODBC ) -- uma API de banco de dados de alta perfomance. Não por acaso, foi a Microsoft que desenvolveu essa tecnologia, junto de uma outra empresa chamada Simba Technologies. Oficialmente, a tecnologia foi desenvolvida para Big Data, mas a API de Drivers do Ruinwindows parece ser algo como um protótipo dela.
Pelo que entendi do que ele me disse, uma biblioteca dinâmica tipo ODBC, permite que as ligações sejam configuradas por um arquivo ou biblioteca externa de diretivas, e o auto-run é para chamar esses arquivos de diretivas. Simples assim, mas muito engenhoso. Mas espero que tenha sacado que, por isso, fazer engenharia reversa num driver feito para windowns -- como é o caso do Noveau -- não dá certo, porque o segredo não está no driver, mas na
implementação dele dentro da API ( bibliotecas + driver =
implementação ) o que depende, essencialmente, das ligações -- o modo como uma biblioteca chama a outra.
Mas, outro aspecto do mesmo problema que eu quero apontar também, é que o Linux não precisava usar drivers próprios -- ele poderia muito bem usar os drivers do Windows mesmo, mas decidiu-se reinventar a roda. Bastaria que a API de drivers fosse separada, e fosse compatível com a API de drivers do windows. ( ou pelo menos que fosse híbrida/mista ). E nem seria preciso engenharia reversa para isso, já que a API de drivers do Windows é pública, para os desenvolvedores de aplicações, e só a implementação dela é que é segredo comercial. De resto é bom lembrar que a execução de drivers no Linux é mais estável, porque o Linux usa Pseudo-sistemas de arquivos ( Procs, Sys ). Mas no windows o driver "evolui" e dá para tirar o máximo rendimento dele, ao invés da execução rígida do Linux.
Bom, vou terminar por aqui, porque se eu ficar enumerando tópicos e detalhando, vai levar páginas de assunto. Tomei esses dois exemplos -- permissões e drivers -- porque eram os mais significativos.