INSTALAÇÃO ARCH LINUX - BIOS-Legacy, Triple-Boot, XFCE, /home, games
Página 7 de 7
Página 7 de 7 • 1, 2, 3, 4, 5, 6, 7
2ª HISTÓRIA DO LINUX
VOLTAR AO ÍNDICE
PRÓXIMA PÁGINA
Usar programas do Linux, é Realmente Seguro?
Vou apresentar um olhar abrangente sobre o sistema de segurança que permeia o Arch Linux, com base no mecanismo de Chaves de Assinatura.
Embora seu funcionamento seja executado discretamente nos bastidores do sistema operacional, compreender sua estrutura pode ser esclarecedor,
e explorar esse conceito pode aumentar a segurança do seu sistema.
O Arch Linux adota uma abordagem sólida para assegurar a integridade e autenticidade dos pacotes de software distribuídos.
Isso é alcançado através do sistema de chaves de assinatura, que é um componente fundamental do processo de distribuição dos pacotes.
Ele fornece aos usuários a garantia de que os pacotes que estão sendo instalados são autênticos e não sofreram alterações em seu código-fonte.
Vou agora focar nas chaves; posteriormente, abordarei o fato de que esses programas são de código aberto.
Chaves Mestras de Assinatura
O Arch Linux mantém um conjunto de Chaves Mestras de Assinatura, representando as chaves oficiais da distribuição.
Cada chave é gerenciada por um desenvolvedor distinto, enquanto o controle de revogação da chave é mantido por outro desenvolvedor.
Esse desenho de controle duplo evita a centralização de poder e assegura uma rede de confiança resiliente.
Assinaturas das Chaves Mestras
Conforme a filosofia de "web of trust" do PGP, todos os desenvolvedores oficiais do Arch Linux e usuários confiáveis devem ter suas chaves assinadas por, no mínimo, três Chaves Mestras distintas, quando são responsáveis pela construção de pacotes nos repositórios. Esse mecanismo valida as chaves dos desenvolvedores por meio de múltiplas assinaturas de diferentes Chaves Mestras. A importação manual dessas chaves ou a obtenção a partir de servidores de chaves é possível, lembrando que apenas impressões digitais completas, em caixa alta e sem espaços em branco, são aceitas.
O Arch Linux utiliza um gerenciador de chaves chamado PGP (Pretty Good Privacy) que verifica suas chaves toda vez que você instala ou atualiza o sistema.
O PGP é um sistema de criptografia de chave pública que é essencial para garantir a autenticidade e integridade das informações.
Seu 'chaveiro' (Keyring) consiste em uma coleção de chaves PGP armazenadas em seu sistema, as quais são usadas para verificar a autenticidade dos pacotes.
O sistema realiza a verificação das chaves, marcando-as como confiáveis ou revogadas.
O processo de importação de chaves PGP é uma rotina cotidiana. Uma chave PGP possui um formato específico, como por exemplo: '9B7A287D9A2EC608',
e está associada a um desenvolvedor, como 'David Runge dvzrv@archlinux.org'. Essa etapa é crucial para garantir a autenticidade dos pacotes que você está instalando.
Além disso, o pacote archlinux-keyring gerencia suas chaves públicas e as atualiza periodicamente para manter as chaves atualizadas e válidas.
Este pacote também realiza a constante validação das chaves e a desativação das chaves revogadas no chaveiro.
Quando você usa esse comando sudo pacman -Syu o sistema verifica a autenticidade das atualizações, usando as chaves PGP que estão armazenadas no seu chaveiro (keyring).
Software Responsável por essa Segurança
O GnuPG (Gnu Privacy Guard) é a ferramenta que assegura a confidencialidade e autenticidade de mensagens e arquivos por meio da criptografia de chave pública. Permite a configuração de opções, como definição de chaves padrão, algoritmos e comportamento do GnuPG. A segurança dessas configurações é mantida ao manter as permissões dos arquivos em 600.
Para aqueles que desejam aprofundar seus conhecimentos, vale a pena explorar os conceitos de criptografia assimétrica e simétrica. A autenticidade de uma chave pode ser verificada por comparação de impressões digitais, realizada em softwares específicos.
É viável especificar um servidor de chaves alternativo, útil para a instalação de programas de diferentes distribuições. Adicionar manualmente uma chave, criar backups do chaveiro, gerenciar subchaves, revogar chaves e proteger o chaveiro com senhas são ações possíveis.
O uso da mesma chave em diversos dispositivos e a exportação de subchaves são características factíveis. Recomenda-se definir uma data de expiração para subchaves, prevenindo o uso indevido no caso de perda de acesso.
Além disso, sua chave PGP pode ser empregada como uma chave SSH, viabilizando a aprovação de chaves em máquinas remotas por meio de SSH. A adição de regras para permitir acesso a usuários específicos é um atributo adicionado.
Esse conhecimento técnico eleva a segurança operacional, contribuindo para uma experiência de uso Linux ainda mais confiável e resiliente.
Existe um arquivo chamado trustdb.gpg ele armazena informações de confiança associadas a chaves GPG. Ele registra o nível de confiança de cada chave, variando de "nenhuma" a "completa". Esse arquivo é mantido automaticamente pelo GPG e é encontrado em um diretório oculto chamado .gnupg na home do usuário. Devido à sensibilidade das informações, o trustdb.gpg é geralmente configurado como somente leitura e protegido por permissões de arquivo. Sua integridade é a maior prioridade de segurança.
Instalar um programa sem utilizar a chave de assinatura GPG é permitido, porém, se isso for feito você perde a garantia de que o pacote é autêntico e seguro.
O ideal quando for se ariscar assim é confiar em desenvolvedores de renome e evitar a instalação de pacotes com reputação ruim.
A chave de assinatura GPG é uma ferramenta que existe para te passar uma segurança antes mesmo da instalação iniciar.
Ao adicionar a chave de assinatura GPG e assiná-la localmente, você estabelece uma cadeia de confiança.
As etapas são executadas automaticamente pelo sistema operacional, a chave só precisa existir no seu computador.
A confiança em um software começa no momento da instalação. Embora seja possível instalar programas de fontes não oficiais no Arch Linux,
é importante entender as possíveis consequências:
Aqui estão algumas razões pelas quais não é aconselhável instalar programas diretamente, sem usar repositórios, sem gerenciamento de pacote. Veja as consequências:
Falta de gerenciamento de dependências: Quando você instala um programa diretamente da internet, não tem um mecanismo automático para resolver dependências, o que pode levar a problemas de compatibilidade e a um sistema instável, caso você não saiba o que está fazendo.
Falta de atualizações automáticas: Se você instalar software sem usar um repositório, não receberá atualizações automáticas.
Isso significa que você deve acompanhar manualmente as atualizações e baixar novas versões do software quando necessário.
Risco de segurança: Baixar e instalar software de fontes não confiáveis pode conter vulnerabilidades ou até mesmo malware.
Dificuldade na remoção: Desinstalar software instalado dessa forma pode ser complicado, pois não haverá um registro limpo.
Sempre é aconselhável usar repositórios oficiais e repositórios confiáveis ao instalar software no Arch Linux.
Atualização de Keyrings:
O Pacman e o makepkg usam assinaturas PGP para verificar seus arquivos.
Para resolver erros relacionados às chaves, reinstale o pacote archlinux-keyring e atualize o sistema:
sudo pacman -Sy archlinux-keyring && pacman -Su
Diretório /usr/share/pacman/keyrings/
Contém arquivos relacionados aos keyrings usados pelo Pacman.
Explicação dos arquivos dentro desse diretório:
archlinux.gpg: Chaves de assinatura para verificar a autenticidade dos pacotes do repositório oficial do Arch Linux.
archlinux-revoked: Chaves revogadas.
archlinux-trusted: Lista de IDs de chave confiáveis.
Use o comando find para encontrar arquivos .gpg dentro do diretório /
find / -type f -name "*.gpg"
Sincronização de Chaves com GnuPG:
Para reconhecer as chaves do archlinux.gpg como confiáveis:
sudo pacman-key --populate archlinux
No Arch Linux, os diferentes repositórios possuem seus próprios conjuntos de chaves. Quando você instala pacotes de diferentes repositórios, o Pacman precisa verificar suas assinaturas usando as chaves associadas a esses repositórios específicos. O comando --populate é utilizado para preencher o keyring (conjunto de chaves) associado a um determinado repositório, garantindo que as chaves necessárias estejam disponíveis para verificar a autenticidade dos pacotes desse repositório. Nesse caso, ao usar --populate, estamos garantindo que o keyring associado ao repositório oficial do Arch Linux seja atualizado com as chaves necessárias para essa verificação.
Problemas com Chaves:
Reinstale o archlinux-keyring para solucionar problemas com chaves expiradas.
Se persistirem os problemas, atualize as assinaturas GPG:
sudo pacman-key --refresh-keys
Resolução de Problemas de Autenticação de Chave:
Use o comando gpg para resolver problemas de autenticação de chave.
Adicione a chave para corrigir:
gpg --recv-keys 04C367C218ADD4FF
Assinatura Local de Chave Pública:
Útil para usar pacotes de terceiros.
Assine localmente a chave pública do repositório específico:
sudo pacman-key --lsign-key 04C367C218ADD4FF
Suponhamos que você deseje instalar um pacote que não esteja nos repositórios oficiais do Arch Linux, mas ainda assim quer usar um gerenciador de pacotes em conjunto.
Nesse caso, é recomendável adicionar o endereço de download aos repositórios do seu sistema. Isso permitirá que você gerencie o pacote usando o Pacman.
Com o Pacman, é fácil cuidar de atualizações e remoções.
O Pacman simplifica o processo, exigindo apenas um comando para atualizar todos os programas e seu sistema junto:
sudo pacman -Syu
Além disso, facilita a remoção de pacotes, dispensando a necessidade de buscar os resquícios do software para deletar manualmente:
sudo pacman -R nome_do_software
Para habilitar o gerenciamento de um programa instalado nessas circunstâncias, é necessário adicionar um repositório para esse programa.
Em vez de realizar uma instalação anônima no sistema.
Como mencionado anteriormente, os repositórios proporcionam benefícios substanciais em relação à segurança e à administração.
Como adicionar um novo repositório para um programa obtido na internet:
Abra o arquivo de configuração para adiciona-lo:
sudo nano /etc/pacman.conf
Dentro do arquivo, identifique a seção destinada a repositórios e adicione o nome do novo repositório, seguindo o padrão dos outros repositórios existentes, como estes exemplos:
Para ilustrar o processo, vamos considerar a adição do repositório do Sublime Text:
Certifique-se de fornecer um nome descritivo para o repositório entre colchetes [sublime-text] e inclua a URL do novo repositório.
Observe que você deve usar a diretiva Server. A diretiva Server é usada para especificar o endereço online de um repositório,
enquanto a diretiva Include é usada para definir o repositório em formato de arquivo.
Após fazer as edições necessárias, salve o arquivo e feche o editor de texto.
No caso do nano, você pode salvar as alterações pressionando Ctrl + O, confirmando o nome do arquivo com Enter e, em seguida, saindo com Ctrl + X.
Após feito a adição do repositório, é necessário atualizar a lista de pacotes utilizando o seguinte comando:
sudo pacman -Sy
PRONTO! Você tem um novo repositório.
Agora, na etapa de instalação, é importante observar se o pacote deste repositório foi empacotado especificamente para funcionar no ambiente do Arch Linux.
sudo pacman -S sublime-text
Vamos agora retomar a discussão sobre as chaves, pois é necessário ter uma chave antes de instalar o pacote.
Explicarei como instalar uma nova chave de assinatura GPG (GnuPG) em um cenário que não está ligado aos softwares disponíveis nos repositórios oficiais do Arch Linux. Para demonstrar o processo, usarei o repositório do Sublime Text, um editor de texto amplamente reconhecido, vamos adicionar manualmente sua chave de assinatura.
Nota importante: Se os desenvolvedores não implementaram ou não utilizam um sistema de chaves, não será possível realizar esses passos.
Usarei o comando curl para baixar a chave sublimehq-pub.gpg e salva-la no diretório home. Este arquivo .gpg é uma chave de assinatura que verificará a autenticidade dos pacotes do repositório [sublime-text].
curl -O https://download.sublimetext.com/sublimehq-pub.gpg
Este comando adiciona a chave GPG baixada anteriormente ao arquivo /etc/pacman.d/gnupg. Usando pacman-key com o argumento --add, seguido pelo nome da chave sublimehq-pub.gpg.
sudo pacman-key --add sublimehq-pub.gpg
Este próximo comando assina a chave GPG adicionada anteriormente. Assinar a chave é um passo importante para garantir que você confia na autenticidade dos pacotes do repositório Sublime Text. O argumento --lsign-key indica que você deseja assinar localmente uma chave com a sua própria chave GPG.
sudo pacman-key --lsign-key 8A8F901A
Caso você precise remover esta chave em algum momento, utilize o seu ID da seguinte maneira:
sudo pacman-key --delete 8A8F901A
Após a remoção de uma chave, o sistema não terá uma chave para verificar a autenticidade do pacote.
Após adicionar e assinar a chave GPG, pode remove o arquivo sublimehq-pub.gpg que foi baixado inicialmente, ele não é mais necessário.
Para verificar a localização exata do anel de chaves GPG do seu sistema, você pode executar o seguinte comando:
pacman-key --list-keys
Use esse comando caso queira instruir o GPG a buscar um chave correspondente ao ID especifico em suas chaves públicas.
pacman-key --list-keys | grep "8A8F901A"
Para verificar se um pacote no Arch Linux foi realmente assinado por uma chave GPG, você pode executar o seguinte comando pacman -Qi, depois observe a última linha,
caso você encontre a palavra "Assinatura", significa que o pacote foi verificado. Neste exemplo, o Firefox foi validado com uma chave GPG.
pacman -Qi firefox | tail -n 2
Explorando as Capacidades extras do comando GPG
Aqui está uma dica: você pode usar o comando gpg para fortalecer a segurança das suas mensagens e arquivos, veja:
Utilize o comando gpg para criptografar os arquivos de texto onde tem suas senhas armazenadas.
gpg -c arquivo.txt
Ao executar esse comando, uma janela será aberta, permitindo que você escolha uma senha para o arquivo.
Posteriormente, um novo arquivo com a extensão .gpg será criado no mesmo local do arquivo original.
Para abrir um arquivo que foi criptografado, basta usar o comando:
gpg arquivo.txt.gpg
Dessa forma, você será solicitado a inserir a senha que foi definida durante o processo de criptografia para descriptografar o arquivo.
Explore a Internet com Segurança e Descentralização
O Nostr (Wiki) é um protocolo aberto e simples projetado para criar uma rede social global, descentralizada e resistente à censura.
Similar ao HTTP ou TCP-IP, o Nostr é um protocolo que não recorre a algoritmos secretos para decidir o conteúdo.
Enquanto a internet mainstream está centralizada em um pequeno grupo de empresas que controlam as redes sociais, o Nostr oferece uma alternativa descentralizada e aberta.
Voltando às raízes abertas e descentralizadas da web, o Nostr permite que os usuários controlem as informações que consomem e como as consomem.
Embora muitos clientes Nostr se concentrem em redes sociais, existem outras possibilidades, como jogar xadrez ou transmitir conteúdo ao vivo.
Os NIPs delineiam como o protocolo Nostr funciona e permitem que a comunidade influencie sua direção e evolução. Não é recomendado inserir sua chave privada nos clientes, pois isso pode expor sua identidade.
O Protocolo Nostr é composto por clientes e relays, onde os clientes são a interface usada pelos usuários para ler e escrever dados nos relays, que funcionam como servidores backend.
Cada usuário é identificado por uma chave pública, e todos os objetos de evento são assinados. Os relays Nostr permitem a conexão websocket entre clientes e relays, tornando fácil escrever clientes e relays e promover novos softwares.
Enquanto muitos relays atualmente são gratuitos, espera-se que relays pagos se tornem mais comuns no futuro devido aos custos de manutenção.
Relays pagos tendem a ter uma maior qualidade de sinal, ajudando a prevenir contas de spam. Para enviar e receber Zaps no Nostr, é necessário ter uma carteira de Lightning compatível com Zaps e garantir que seu endereço de Lightning esteja definido no perfil Nostr para receber Zaps.
É recomendável que os usuários se conectem a vários relays para garantir alguma redundância, pois se todos os relays ficarem offline, suas postagens se tornar inacessíveis.
Embora nem todos os usuários precisem, é recomendado para usuários executarem seus próprios relays, garantindo que suas postagens sejam sempre acessíveis e imunes à censura.
Como começar a usar o protocolo Nostr:
Crie uma conta e junte-se a outros usuários no Nostr.
Aprenda mais sobre como o protocolo Nostr funciona e o que o torna especial.
Encontre um cliente (aplicativo) para web, iOS, Android ou Desktop.
Existem várias implementações disponíveis em diferentes linguagens de programação, cada uma com suas características específicas:
Python: nostrypy e nostr_relay são implementações em Python, com este último utilizando SQLite como backend.
Node.js / TypeScript: nostream é um relay escrito em TypeScript com suporte a PostgreSQL.
Go: Relayer Basic é uma implementação simples de referência escrita em Go.
C++: Stirfry é uma implementação sem banco de dados escrita em C++.
Rust: nostr-rs-relay é um relay minimalista escrito em Rust que utiliza SQLite para armazenamento.
Esta é uma coleção de outros recursos e projetos Nostr
Para começar, acesse o Nostr no GitHub e explore os recursos disponíveis.
Outras plataformas descentralizadas:
O Mastodon é um software livre e de código aberto para executar serviços de redes sociais auto-hospedadas.
Ele oferece recursos de microblogging semelhantes ao Twitter, através de uma grande quantidade de nós independentes.
Qualquer pessoa pode contribuir com código e executá-lo em sua própria infraestrutura de servidor ou participar de servidores administrados por outras pessoas na rede do fediverso.
Ele é escrito em Ruby on Rails e Node.js no lado do servidor, com React.js e Redux no frontend, e utiliza PostgreSQL como banco de dados.
O Mastodon é interoperável com outras redes sociais descentralizadas que utilizam o protocolo ActivityPub.
O Mastodon é financiado por crowdfunding e não contém anúncios, ele é registrado na Alemanha como uma organização sem fins lucrativos.
Diferentemente do Twitter, o Mastodon busca apenas hashtags e contas mencionadas no Fediverse, não o texto completo das mensagens.
Cada instância do Mastodon pode aplicar suas próprias regras de moderação e bloquear outras instâncias de interagir com elas.
Existem aplicativos de cliente disponíveis para interagir com a API do Mastodon em sistemas operacionais GNU/Linux.
Link para começar a usar:
https://joinmastodon.org
https://mastodon.social/@nixCraft
Outros forks de Mastodon incluem Civiq.Social e Tooter, este último lançado na Índia.
Em 2023, a Fundação Mozilla contratou a Cure53 para realizar testes de penetração no software do Mastodon, em preparação para estabelecer uma instância para a comunidade Mozilla. Os testes descobriram várias vulnerabilidades, que foram corrigidas em julho de 2023.
VOLTAR AO TOPO
VOLTAR AO ÍNDICE
PRÓXIMA PÁGINA
Usar programas do Linux, é Realmente Seguro?
Vou apresentar um olhar abrangente sobre o sistema de segurança que permeia o Arch Linux, com base no mecanismo de Chaves de Assinatura.
Embora seu funcionamento seja executado discretamente nos bastidores do sistema operacional, compreender sua estrutura pode ser esclarecedor,
e explorar esse conceito pode aumentar a segurança do seu sistema.
O Arch Linux adota uma abordagem sólida para assegurar a integridade e autenticidade dos pacotes de software distribuídos.
Isso é alcançado através do sistema de chaves de assinatura, que é um componente fundamental do processo de distribuição dos pacotes.
Ele fornece aos usuários a garantia de que os pacotes que estão sendo instalados são autênticos e não sofreram alterações em seu código-fonte.
Vou agora focar nas chaves; posteriormente, abordarei o fato de que esses programas são de código aberto.
Chaves Mestras de Assinatura
O Arch Linux mantém um conjunto de Chaves Mestras de Assinatura, representando as chaves oficiais da distribuição.
Cada chave é gerenciada por um desenvolvedor distinto, enquanto o controle de revogação da chave é mantido por outro desenvolvedor.
Esse desenho de controle duplo evita a centralização de poder e assegura uma rede de confiança resiliente.
Assinaturas das Chaves Mestras
Conforme a filosofia de "web of trust" do PGP, todos os desenvolvedores oficiais do Arch Linux e usuários confiáveis devem ter suas chaves assinadas por, no mínimo, três Chaves Mestras distintas, quando são responsáveis pela construção de pacotes nos repositórios. Esse mecanismo valida as chaves dos desenvolvedores por meio de múltiplas assinaturas de diferentes Chaves Mestras. A importação manual dessas chaves ou a obtenção a partir de servidores de chaves é possível, lembrando que apenas impressões digitais completas, em caixa alta e sem espaços em branco, são aceitas.
O Arch Linux utiliza um gerenciador de chaves chamado PGP (Pretty Good Privacy) que verifica suas chaves toda vez que você instala ou atualiza o sistema.
O PGP é um sistema de criptografia de chave pública que é essencial para garantir a autenticidade e integridade das informações.
Seu 'chaveiro' (Keyring) consiste em uma coleção de chaves PGP armazenadas em seu sistema, as quais são usadas para verificar a autenticidade dos pacotes.
O sistema realiza a verificação das chaves, marcando-as como confiáveis ou revogadas.
O processo de importação de chaves PGP é uma rotina cotidiana. Uma chave PGP possui um formato específico, como por exemplo: '9B7A287D9A2EC608',
e está associada a um desenvolvedor, como 'David Runge dvzrv@archlinux.org'. Essa etapa é crucial para garantir a autenticidade dos pacotes que você está instalando.
Além disso, o pacote archlinux-keyring gerencia suas chaves públicas e as atualiza periodicamente para manter as chaves atualizadas e válidas.
Este pacote também realiza a constante validação das chaves e a desativação das chaves revogadas no chaveiro.
Quando você usa esse comando sudo pacman -Syu o sistema verifica a autenticidade das atualizações, usando as chaves PGP que estão armazenadas no seu chaveiro (keyring).
Software Responsável por essa Segurança
O GnuPG (Gnu Privacy Guard) é a ferramenta que assegura a confidencialidade e autenticidade de mensagens e arquivos por meio da criptografia de chave pública. Permite a configuração de opções, como definição de chaves padrão, algoritmos e comportamento do GnuPG. A segurança dessas configurações é mantida ao manter as permissões dos arquivos em 600.
Para aqueles que desejam aprofundar seus conhecimentos, vale a pena explorar os conceitos de criptografia assimétrica e simétrica. A autenticidade de uma chave pode ser verificada por comparação de impressões digitais, realizada em softwares específicos.
É viável especificar um servidor de chaves alternativo, útil para a instalação de programas de diferentes distribuições. Adicionar manualmente uma chave, criar backups do chaveiro, gerenciar subchaves, revogar chaves e proteger o chaveiro com senhas são ações possíveis.
O uso da mesma chave em diversos dispositivos e a exportação de subchaves são características factíveis. Recomenda-se definir uma data de expiração para subchaves, prevenindo o uso indevido no caso de perda de acesso.
Além disso, sua chave PGP pode ser empregada como uma chave SSH, viabilizando a aprovação de chaves em máquinas remotas por meio de SSH. A adição de regras para permitir acesso a usuários específicos é um atributo adicionado.
Esse conhecimento técnico eleva a segurança operacional, contribuindo para uma experiência de uso Linux ainda mais confiável e resiliente.
Existe um arquivo chamado trustdb.gpg ele armazena informações de confiança associadas a chaves GPG. Ele registra o nível de confiança de cada chave, variando de "nenhuma" a "completa". Esse arquivo é mantido automaticamente pelo GPG e é encontrado em um diretório oculto chamado .gnupg na home do usuário. Devido à sensibilidade das informações, o trustdb.gpg é geralmente configurado como somente leitura e protegido por permissões de arquivo. Sua integridade é a maior prioridade de segurança.
Instalar um programa sem utilizar a chave de assinatura GPG é permitido, porém, se isso for feito você perde a garantia de que o pacote é autêntico e seguro.
O ideal quando for se ariscar assim é confiar em desenvolvedores de renome e evitar a instalação de pacotes com reputação ruim.
A chave de assinatura GPG é uma ferramenta que existe para te passar uma segurança antes mesmo da instalação iniciar.
Ao adicionar a chave de assinatura GPG e assiná-la localmente, você estabelece uma cadeia de confiança.
As etapas são executadas automaticamente pelo sistema operacional, a chave só precisa existir no seu computador.
A confiança em um software começa no momento da instalação. Embora seja possível instalar programas de fontes não oficiais no Arch Linux,
é importante entender as possíveis consequências:
Aqui estão algumas razões pelas quais não é aconselhável instalar programas diretamente, sem usar repositórios, sem gerenciamento de pacote. Veja as consequências:
Falta de gerenciamento de dependências: Quando você instala um programa diretamente da internet, não tem um mecanismo automático para resolver dependências, o que pode levar a problemas de compatibilidade e a um sistema instável, caso você não saiba o que está fazendo.
Falta de atualizações automáticas: Se você instalar software sem usar um repositório, não receberá atualizações automáticas.
Isso significa que você deve acompanhar manualmente as atualizações e baixar novas versões do software quando necessário.
Risco de segurança: Baixar e instalar software de fontes não confiáveis pode conter vulnerabilidades ou até mesmo malware.
Dificuldade na remoção: Desinstalar software instalado dessa forma pode ser complicado, pois não haverá um registro limpo.
Sempre é aconselhável usar repositórios oficiais e repositórios confiáveis ao instalar software no Arch Linux.
Atualização de Keyrings:
O Pacman e o makepkg usam assinaturas PGP para verificar seus arquivos.
Para resolver erros relacionados às chaves, reinstale o pacote archlinux-keyring e atualize o sistema:
sudo pacman -Sy archlinux-keyring && pacman -Su
Diretório /usr/share/pacman/keyrings/
Contém arquivos relacionados aos keyrings usados pelo Pacman.
Explicação dos arquivos dentro desse diretório:
archlinux.gpg: Chaves de assinatura para verificar a autenticidade dos pacotes do repositório oficial do Arch Linux.
archlinux-revoked: Chaves revogadas.
archlinux-trusted: Lista de IDs de chave confiáveis.
Use o comando find para encontrar arquivos .gpg dentro do diretório /
find / -type f -name "*.gpg"
Sincronização de Chaves com GnuPG:
Para reconhecer as chaves do archlinux.gpg como confiáveis:
sudo pacman-key --populate archlinux
No Arch Linux, os diferentes repositórios possuem seus próprios conjuntos de chaves. Quando você instala pacotes de diferentes repositórios, o Pacman precisa verificar suas assinaturas usando as chaves associadas a esses repositórios específicos. O comando --populate é utilizado para preencher o keyring (conjunto de chaves) associado a um determinado repositório, garantindo que as chaves necessárias estejam disponíveis para verificar a autenticidade dos pacotes desse repositório. Nesse caso, ao usar --populate, estamos garantindo que o keyring associado ao repositório oficial do Arch Linux seja atualizado com as chaves necessárias para essa verificação.
Problemas com Chaves:
Reinstale o archlinux-keyring para solucionar problemas com chaves expiradas.
Se persistirem os problemas, atualize as assinaturas GPG:
sudo pacman-key --refresh-keys
Resolução de Problemas de Autenticação de Chave:
Use o comando gpg para resolver problemas de autenticação de chave.
Adicione a chave para corrigir:
gpg --recv-keys 04C367C218ADD4FF
Assinatura Local de Chave Pública:
Útil para usar pacotes de terceiros.
Assine localmente a chave pública do repositório específico:
sudo pacman-key --lsign-key 04C367C218ADD4FF
Suponhamos que você deseje instalar um pacote que não esteja nos repositórios oficiais do Arch Linux, mas ainda assim quer usar um gerenciador de pacotes em conjunto.
Nesse caso, é recomendável adicionar o endereço de download aos repositórios do seu sistema. Isso permitirá que você gerencie o pacote usando o Pacman.
Com o Pacman, é fácil cuidar de atualizações e remoções.
O Pacman simplifica o processo, exigindo apenas um comando para atualizar todos os programas e seu sistema junto:
sudo pacman -Syu
Além disso, facilita a remoção de pacotes, dispensando a necessidade de buscar os resquícios do software para deletar manualmente:
sudo pacman -R nome_do_software
Para habilitar o gerenciamento de um programa instalado nessas circunstâncias, é necessário adicionar um repositório para esse programa.
Em vez de realizar uma instalação anônima no sistema.
Como mencionado anteriormente, os repositórios proporcionam benefícios substanciais em relação à segurança e à administração.
Como adicionar um novo repositório para um programa obtido na internet:
Abra o arquivo de configuração para adiciona-lo:
sudo nano /etc/pacman.conf
Dentro do arquivo, identifique a seção destinada a repositórios e adicione o nome do novo repositório, seguindo o padrão dos outros repositórios existentes, como estes exemplos:
Para ilustrar o processo, vamos considerar a adição do repositório do Sublime Text:
Certifique-se de fornecer um nome descritivo para o repositório entre colchetes [sublime-text] e inclua a URL do novo repositório.
Observe que você deve usar a diretiva Server. A diretiva Server é usada para especificar o endereço online de um repositório,
enquanto a diretiva Include é usada para definir o repositório em formato de arquivo.
Após fazer as edições necessárias, salve o arquivo e feche o editor de texto.
No caso do nano, você pode salvar as alterações pressionando Ctrl + O, confirmando o nome do arquivo com Enter e, em seguida, saindo com Ctrl + X.
Após feito a adição do repositório, é necessário atualizar a lista de pacotes utilizando o seguinte comando:
sudo pacman -Sy
PRONTO! Você tem um novo repositório.
Agora, na etapa de instalação, é importante observar se o pacote deste repositório foi empacotado especificamente para funcionar no ambiente do Arch Linux.
sudo pacman -S sublime-text
Vamos agora retomar a discussão sobre as chaves, pois é necessário ter uma chave antes de instalar o pacote.
Explicarei como instalar uma nova chave de assinatura GPG (GnuPG) em um cenário que não está ligado aos softwares disponíveis nos repositórios oficiais do Arch Linux. Para demonstrar o processo, usarei o repositório do Sublime Text, um editor de texto amplamente reconhecido, vamos adicionar manualmente sua chave de assinatura.
Nota importante: Se os desenvolvedores não implementaram ou não utilizam um sistema de chaves, não será possível realizar esses passos.
Usarei o comando curl para baixar a chave sublimehq-pub.gpg e salva-la no diretório home. Este arquivo .gpg é uma chave de assinatura que verificará a autenticidade dos pacotes do repositório [sublime-text].
curl -O https://download.sublimetext.com/sublimehq-pub.gpg
Este comando adiciona a chave GPG baixada anteriormente ao arquivo /etc/pacman.d/gnupg. Usando pacman-key com o argumento --add, seguido pelo nome da chave sublimehq-pub.gpg.
sudo pacman-key --add sublimehq-pub.gpg
Este próximo comando assina a chave GPG adicionada anteriormente. Assinar a chave é um passo importante para garantir que você confia na autenticidade dos pacotes do repositório Sublime Text. O argumento --lsign-key indica que você deseja assinar localmente uma chave com a sua própria chave GPG.
sudo pacman-key --lsign-key 8A8F901A
Caso você precise remover esta chave em algum momento, utilize o seu ID da seguinte maneira:
sudo pacman-key --delete 8A8F901A
Após a remoção de uma chave, o sistema não terá uma chave para verificar a autenticidade do pacote.
Após adicionar e assinar a chave GPG, pode remove o arquivo sublimehq-pub.gpg que foi baixado inicialmente, ele não é mais necessário.
Para verificar a localização exata do anel de chaves GPG do seu sistema, você pode executar o seguinte comando:
pacman-key --list-keys
Use esse comando caso queira instruir o GPG a buscar um chave correspondente ao ID especifico em suas chaves públicas.
pacman-key --list-keys | grep "8A8F901A"
Para verificar se um pacote no Arch Linux foi realmente assinado por uma chave GPG, você pode executar o seguinte comando pacman -Qi, depois observe a última linha,
caso você encontre a palavra "Assinatura", significa que o pacote foi verificado. Neste exemplo, o Firefox foi validado com uma chave GPG.
pacman -Qi firefox | tail -n 2
Explorando as Capacidades extras do comando GPG
Aqui está uma dica: você pode usar o comando gpg para fortalecer a segurança das suas mensagens e arquivos, veja:
Utilize o comando gpg para criptografar os arquivos de texto onde tem suas senhas armazenadas.
gpg -c arquivo.txt
Ao executar esse comando, uma janela será aberta, permitindo que você escolha uma senha para o arquivo.
Posteriormente, um novo arquivo com a extensão .gpg será criado no mesmo local do arquivo original.
Para abrir um arquivo que foi criptografado, basta usar o comando:
gpg arquivo.txt.gpg
Dessa forma, você será solicitado a inserir a senha que foi definida durante o processo de criptografia para descriptografar o arquivo.
Explore a Internet com Segurança e Descentralização
O Nostr (Wiki) é um protocolo aberto e simples projetado para criar uma rede social global, descentralizada e resistente à censura.
Similar ao HTTP ou TCP-IP, o Nostr é um protocolo que não recorre a algoritmos secretos para decidir o conteúdo.
Enquanto a internet mainstream está centralizada em um pequeno grupo de empresas que controlam as redes sociais, o Nostr oferece uma alternativa descentralizada e aberta.
Voltando às raízes abertas e descentralizadas da web, o Nostr permite que os usuários controlem as informações que consomem e como as consomem.
Embora muitos clientes Nostr se concentrem em redes sociais, existem outras possibilidades, como jogar xadrez ou transmitir conteúdo ao vivo.
Os NIPs delineiam como o protocolo Nostr funciona e permitem que a comunidade influencie sua direção e evolução. Não é recomendado inserir sua chave privada nos clientes, pois isso pode expor sua identidade.
O Protocolo Nostr é composto por clientes e relays, onde os clientes são a interface usada pelos usuários para ler e escrever dados nos relays, que funcionam como servidores backend.
Cada usuário é identificado por uma chave pública, e todos os objetos de evento são assinados. Os relays Nostr permitem a conexão websocket entre clientes e relays, tornando fácil escrever clientes e relays e promover novos softwares.
Enquanto muitos relays atualmente são gratuitos, espera-se que relays pagos se tornem mais comuns no futuro devido aos custos de manutenção.
Relays pagos tendem a ter uma maior qualidade de sinal, ajudando a prevenir contas de spam. Para enviar e receber Zaps no Nostr, é necessário ter uma carteira de Lightning compatível com Zaps e garantir que seu endereço de Lightning esteja definido no perfil Nostr para receber Zaps.
É recomendável que os usuários se conectem a vários relays para garantir alguma redundância, pois se todos os relays ficarem offline, suas postagens se tornar inacessíveis.
Embora nem todos os usuários precisem, é recomendado para usuários executarem seus próprios relays, garantindo que suas postagens sejam sempre acessíveis e imunes à censura.
Como começar a usar o protocolo Nostr:
Crie uma conta e junte-se a outros usuários no Nostr.
Aprenda mais sobre como o protocolo Nostr funciona e o que o torna especial.
Encontre um cliente (aplicativo) para web, iOS, Android ou Desktop.
Existem várias implementações disponíveis em diferentes linguagens de programação, cada uma com suas características específicas:
Python: nostrypy e nostr_relay são implementações em Python, com este último utilizando SQLite como backend.
Node.js / TypeScript: nostream é um relay escrito em TypeScript com suporte a PostgreSQL.
Go: Relayer Basic é uma implementação simples de referência escrita em Go.
C++: Stirfry é uma implementação sem banco de dados escrita em C++.
Rust: nostr-rs-relay é um relay minimalista escrito em Rust que utiliza SQLite para armazenamento.
Esta é uma coleção de outros recursos e projetos Nostr
Para começar, acesse o Nostr no GitHub e explore os recursos disponíveis.
Outras plataformas descentralizadas:
O Mastodon é um software livre e de código aberto para executar serviços de redes sociais auto-hospedadas.
Ele oferece recursos de microblogging semelhantes ao Twitter, através de uma grande quantidade de nós independentes.
Qualquer pessoa pode contribuir com código e executá-lo em sua própria infraestrutura de servidor ou participar de servidores administrados por outras pessoas na rede do fediverso.
Ele é escrito em Ruby on Rails e Node.js no lado do servidor, com React.js e Redux no frontend, e utiliza PostgreSQL como banco de dados.
O Mastodon é interoperável com outras redes sociais descentralizadas que utilizam o protocolo ActivityPub.
O Mastodon é financiado por crowdfunding e não contém anúncios, ele é registrado na Alemanha como uma organização sem fins lucrativos.
Diferentemente do Twitter, o Mastodon busca apenas hashtags e contas mencionadas no Fediverse, não o texto completo das mensagens.
Cada instância do Mastodon pode aplicar suas próprias regras de moderação e bloquear outras instâncias de interagir com elas.
Existem aplicativos de cliente disponíveis para interagir com a API do Mastodon em sistemas operacionais GNU/Linux.
Link para começar a usar:
https://joinmastodon.org
https://mastodon.social/@nixCraft
Outros forks de Mastodon incluem Civiq.Social e Tooter, este último lançado na Índia.
Em 2023, a Fundação Mozilla contratou a Cure53 para realizar testes de penetração no software do Mastodon, em preparação para estabelecer uma instância para a comunidade Mozilla. Os testes descobriram várias vulnerabilidades, que foram corrigidas em julho de 2023.
VOLTAR AO TOPO
VOLTAR AO ÍNDICE
Última edição por ADRIANNO em Ter 19 Mar 2024, 12:28 pm, editado 7 vez(es)
3ª HISTÓRIA DO LINUX
VOLTAR AO ÍNDICE
PRÓXIMA PÁGINA
Uma palavra-chave comumente usada ao falar de Linux
PRÓXIMA PÁGINA
Uma palavra-chave comumente usada ao falar de Linux
- O que é Open source - Software livre - Código aberto. (Clique aqui, para expandir o texto):
Essas expressões têm o mesmo sentido...
Open source
Software de código aberto
Software de licença livre
Software transparente
Software colaborativo
Software sem patentes
Software sem royalties
Software sem limitações
Compartilhamento de código em geral
Open Source Software (OSS). é um código projetado para ser acessado abertamente pelo público: todas as pessoas podem vê-lo, modificá-lo e distribuí-lo conforme suas necessidades.
O modelo opensource se diferencia de outros modelos, como o Freeware e o Shareware.
Freeware:
O termo "freeware" é uma combinação de "free" (grátis) e "software". O autor do freeware disponibiliza o software sem custo para os usuários, mas ainda retém os direitos autorais mantendo o código-fonte fechado.
O nome "software livre" em inglês ("free software") chegou a causar muita confusão. O termo "free" é ambíguo e pode significar "livre" ou "gratuito".
Nesse caso, o software não é necessariamente gratuito, mas livre para ser usado. Para resolver a ambiguidade, "software livre" foi substituído por "open source"
Mostramos ao mundo que o software ficava muito melhor quando é compartilhado, colaborativo, aberto e modificável.
Shareware:
É um modelo de distribuição de software onde os usuários podem baixar e experimentar o software gratuitamente por um período de tempo limitado.
Durante esse período de teste, se o usuário quiser continuar usando o software após o período de teste, é necessário pagar a taxa de licenciamento para manter o acesso.
O mundo do código aberto não segue uma estrutura democrática, o desenvolvedor principal NÃO é eleito com base em votos majoritários,
tampouco o mais competente da equipe assume a liderança, cada projeto é uma proposta híbrida, bastante sortida, com cada situação contendo singularidades.
O poder que molda o rumo de um projeto de código aberto não é avaliado de maneira centralizada, uniforme, nem existe padronização de modelos.
Em vez disso, a pessoa com maior influência gradualmente se torna a face visível do software, a persuasão é um fator determinante.
Para aqueles que se sentirem desconfortáveis com essa direção, resta uma opção clara: afastar-se.
Alguns até se referem a isso como a "lei da selva". Um alfa emerge com características de liderança que conquista a adesão de todos.
Nesse cenário, surgem bifurcações do projeto, conhecidas como "forks", onde novas iniciativas são lançadas com diferentes abordagens e visões.
Isso se torna possível devido à natureza aberta e completamente livre do código-fonte, permitindo indivíduos e empresas balancearem suas necessidades.
Na verdade, a genuína selva se revela naqueles ambientes em que você não é autorizado a reproduzir sua criatividade.
Conectores de Vídeo.
HDMI vs DisplayPort
Na arena da tecnologia, observamos um paralelo interessante, saindo do assunto software e falando de hardware.
Onde também há tecnologias fechadas e abertas. Uma dicotomia encontra eco na batalha entre os conectores HDMI e DisplayPort.
Com diferenças que refletem não apenas escolhas técnicas, mas também modelos de negócios e filosofias de desenvolvimento.
Porém a abordagem fechada do HDMI, que envolve taxas de licenciamento e royalties, pode ser comparada à natureza restrita de sistemas operacionais proprietários.
Enquanto o HDMI, surgido em 2002, mantém sua presença dominante em diversos produtos, a necessidade de pagar royalties para utilizar essa tecnologia impõe custos adicionais às empresas. Cada conector HDMI embutido em um produto como uma placa de vídeo, resulta em encargos que devem ser pagos ao donos da patente (HDMI), um modelo que pode limitar a inovação e elevar os custos de produção.
No lado oposto desse espectro, o DisplayPort, introduzido em 2006, abraça o paradigma de aberto. A ausência de royalties permite que os fabricantes incorporem o DisplayPort em seus dispositivos sem encargos adicionais. Essa abertura não apenas reduz os custos, mas também libera as empresas para realizar modificações, adaptando a tecnologia conforme necessário ou por demanda do cliente, podendo alterar os padrões permitindo ajustes na largura de banda e velocidade conforme as demandas do mercado.
Adotar tecnologias abertas não só reduz custos, mas também estimula um ecossistema dinâmico. Empresas podem criar produtos personalizados, impulsionando a evolução por meio de uma competição saudável.
Uma reflexão sobre inovação e competitividade no cenário tecnológico, voltado para ecossistema fechado.
As recentes legislações levantam questionamentos sobre a possibilidade de coexistência entre código aberto e hardware proprietário.
Esse texto é uma crítica a liberdade simulada das Leis dos Digital Markets Ac (DMA) e a Lei dos Serviços Digitais (DSA) na União Europeia (UE).
A genuína liberdade só é encontrada ao optar por uma solução opensource, o resto é somente tentativas.
DMA tenta regulamentar a Apple e outras gigantes da tecnologia para que seu oligopólio não seja demasiadamente óbvio.
A principal fonte de receita do ecossistema da Apple, é sua loja de aplicativos exclusiva "App Store" usada em dispositivo de hardware proprietário.
Os diversos pontos de monetização adotados pela Apple poderiam igualmente ser explorados por um software open source:
Venda de Dispositivos: A comercialização de hardware e software em conjunto.
Comissões: Uma estrutura semelhante à cobrança de comissões dos desenvolvedores por transação realizada na loja.
Publicidade: A possibilidade de permitir que desenvolvedores destaquem seus aplicativos para aumentar visibilidade.
Serviços e Assinaturas: A oferta de serviços como Música, TV, Jogos e iCloud, com a geração de receitas recorrentes por meio de Vendas In-App, poderia ser uma estratégia aplicável em um contexto open source.
Qualidade: Explorar a monetização por meio de tópicos relacionados à qualidade, como por exemplo a cobrança por camadas extras de segurança, oferecendo uma opção premium para usuários que buscam medidas personalizadas de proteção.
Integração com Outros Serviços: A implementação de uma taxa para cada transação processada.
Há várias estratégias para monetizar produtos open source, e ainda gerar boas receitas:
Suporte premium e Consultoria, Parcerias e Integrações, Treinamento, Hospedagem, comissão: Programa de Afiliados,
Cobrar por atualização, Desenvolvimento Sob Demanda, Doações e Crowdfunding, Venda de Merchandising: camisetas, canecas, adesivos, etc.
Deixo aberto um questionamento será que um software open source pode coexistir em um ambiente de hardware proprietário? como por exemplo da Apple.
Vamos explorar as vantagens do modelo de software de código aberto, começando por:
A longevidade assegurada, vencendo o desafio do tempo:
Mesmo que os desenvolvedores originais não estejam mais conosco nas décadas seguintes para continuar fornecendo atualizações e suporte,
suas ideias e contribuições perduram, cuidadas pela comunidade de código aberto.
Os mantenedores de software livre desempenham um papel importante ao garantir que as futuras gerações tenham acesso à tecnologia do passado.
Aqui estão alguns fatos reais que ilustram suas contribuições:
1- Atualizações e correções de bugs: Os mantenedores de software livre trabalham continuamente para atualizar e corrigir bugs nos projetos de código aberto, assegurando assim que o software permaneça funcional e compatível com as mudanças tecnológicas ao longo do tempo.
2- Documentação e suporte: A comunidade de usuários e programadores de software livre cria documentação abrangente e oferece suporte para garantir que as pessoas possam compreender e utilizar efetivamente o software no futuro, mesmo quando os desenvolvedores originais não estão mais envolvidos.
3- Forks e ramificações: Quando os desenvolvedores originais de um projeto de software livre se afastam, a comunidade frequentemente realiza forks (bifurcações) do código-fonte para continuar o desenvolvimento. Isso permite que a tecnologia seja mantida e evoluída por outros mantenedores, preservando assim o legado do software.
4- Compatibilidade com sistemas operacionais: Os mantenedores de software livre trabalham para garantir a compatibilidade com diferentes sistemas operacionais, possibilitando que as pessoas acessem e utilizem o software em uma ampla variedade de ambientes e dispositivos, tanto no presente quanto no futuro.
5- Arquivamento e preservação: A comunidade de software livre frequentemente se preocupa com a preservação do patrimônio digital, criando arquivos históricos, repositórios e outras iniciativas para garantir que as versões antigas do software estejam disponíveis para referência e estudo no futuro.
Essa característica inerente do software open source não apenas garante a durabilidade do software em si, mas também proporciona a capacidade de adaptação e melhoria contínua ao longo do tempo. A comunidade de usuários, impulsionada pelo interesse em aprimorar a ferramenta, desempenha um papel indispensável na manutenção da vida e relevância desses projetos.
O curl, uma ferramenta e biblioteca de linha de comando para transferência de dados por meio de URLs, representa uma excelente ilustração das vantagens proporcionadas pelo modelo de código aberto. Desde a sua criação em 1998, O curl tem sido um recurso útil para diversas finalidades, abrangendo desde transferência de arquivos até interações complexas com servidores. A sua capacidade de suportar uma ampla gama de protocolos e recursos, como TLS, proxies, autenticação e compressão, tornou-o essencial para muitos cenários tecnológicos.
A manutenção do curl por uma comunidade global é uma ilustração prática das vantagens do software de código aberto. Essa abordagem assegura que os mantenedores trabalhem constantemente para melhorar o programa, incorporar atualizações de segurança, corrigir bugs e adicionar novos recursos, tudo isso enquanto mantêm a transparência no processo. Essa transparência é essencial para que os usuários confiem na ferramenta, pois podem inspecionar o código para garantir sua integridade e segurança, ao mesmo tempo em que possibilita a evolução contínua do software.
Além disso, o curl é usado em uma variedade de contextos, desde scripts de automação até dispositivos como carros, TVs, smartphones e equipamentos médicos. A natureza de código aberto do curl permite que esses diferentes domínios adaptem e personalizem a ferramenta para atender às suas necessidades específicas. Esse processo de personalização e adaptação é facilitado pelo acesso ao código-fonte, possibilitando que os desenvolvedores ajustem o curl conforme necessário.
Vários exemplos reais respaldam a capacidade de continuidade oferecida pelo software open source. Muitos projetos de código aberto já passaram por transições de desenvolvedores-chave ao longo dos anos, mantendo-se ativos e continuamente aprimorados graças ao engajamento da comunidade.
Portanto, além de ser uma opção econômica, flexível e duradoura, o software open source proporciona a segurança de que a comunidade pode assumir o papel de continuar os esforços já realizados, garantindo assim a evolução contínua dos softwares mesmo após a partida dos desenvolvedores originais.
Essa capacidade de continuidade é extremamente valiosa a longo prazo. À medida que o tempo passa, a tecnologia evolui, novas gerações de programadores surgem e novas necessidades e desafios se apresentam. Com o software open source, a comunidade tem a liberdade de adaptar o software para resistir ao teste do tempo e atender às demandas em constante mudança.
Dessa forma, o software open source não apenas se mantém relevante, mas também se fortalece com o passar dos anos, graças ao compromisso e à colaboração contínua da comunidade.
Normalmente, o software proprietário é desenvolvido com a intenção de atender o máximo de perfis possíveis,
enquanto o software de código aberto começa com um escopo menor, atendendo apenas às necessidades do seu criador.
À medida que novos usuários do código aberto aparecem e personalizam o software, surgem novas funcionalidades que vão além da imaginação do criador original.
Este processo pode ser escalonado. Com o tempo, o código aberto amadurece e se desenvolve,
atingindo um estágio em que é capaz de atender às necessidades de usuários que buscam por soluções prontas.
Isso resulta em um ecossistema de desenvolvimento mais robusto, com uma ampla gama de contribuições e ideias inovadoras.
O código aberto oferece a vantagem de possibilitar a auditoria do código-fonte, garantindo a segurança do software e identificando vulnerabilidades antes da sua utilização. Essa abordagem também permite que contribuições sejam feitas para fortalecer a robustez do código, tornando-o mais resiliente a ataques e invasões. Embora esse modelo contribua para prevenir inserções maliciosas, protegendo contra backdoors, é importante destacar que o uso de chaves criptográficas mantém a segurança dos dados, e o código aberto não implica em ter todo o sistema exposto a terceiros.
Nesse contexto vou citar o programa OpenSSL, uma ferramenta de Linha de Comando de código aberto essencial para segurança cibernética, onde você pode baixar o seu code (toolkit), um resumo rápido desse programa, ele executa uma biblioteca libcrypto de criptografias e implementa o protocolo TLS (Transport Layer Security), antes conhecido como Secure Sockets Layer (SSL). Isso assegura a transferência de dados em protocolos como HTTP, SMTP e FTP, estabelecendo conexões seguras entre clientes e servidores através de autenticação e algoritmos de criptografia. Essa abordagem garante que a comunicação seja legítima e que os dados transmitidos permaneçam confidenciais mesmo se interceptados.
A Licença Apache 2.0, sob a qual o OpenSSL opera, permite seu uso tanto em projetos comerciais quanto não comerciais. Diferentemente da Licença GPL, a Licença Apache permite a incorporação do software em projetos proprietários e não exige que o programa seja completamente de código aberto. Essa escolha fica a critério dos desenvolvedores. Vale ressaltar que a concessão de patentes na Licença Apache é limitada e a licença pode ser revogada. Além disso, é importante notar que a presença de uma marca registrada na Licença Apache não autoriza automaticamente o uso da marca ou do nome comercial associado ao software.
Ao entender e confiar na forma como seu programa de segurança funciona, você está tomando medidas proativas para mitigar riscos. Esse nível de confiança é alcançado quando os usuários sabem que não existem "portas dos fundos" ou funcionalidades ocultas que possam ser exploradas por entidades maliciosas. Em um ambiente de código aberto, os valores fundamentais da transparência e da integridade estão enraizados, assegurando que a segurança não seja comprometida em nome de interesses ocultos.
Em algum momento, é natural que você encontre softwares favoritos nos quais deseje contribuir para torná-los ainda melhores.
Tomemos o Wine como exemplo, um projeto open-source onde essa prática se torna possível por meio de commits, diffs e outras ferramentas fornecidas pelo Git.
Você pode ter um fork do repositório do Wine usando o Gitlab, podendo manter esse fork alimentado pelo código original, mas contendo suas próprias modificações.
No Git, um commit representa uma versão do código que registra um instantâneo do repositório. Já um diff descreve as diferenças entre dois conjuntos de arquivos, permitindo comparar o estado "antes" e "depois" das modificações. É importante destacar que o Git pode apresentar desafios, principalmente para iniciantes.
Outra prática importante ao contribuir com projetos open-source é manter-se atualizado com as novidades.
No caso do Wine, você pode fazer isso utilizando o comando: git pull --rebase.
Isso irá buscar as novas alterações do repositório original e reaplicar seus commits locais sobre a versão mais recente.
Essa sincronização garante que você esteja trabalhando com a versão mais atualizada do software.
Ao contribuir com seu código, você tem a oportunidade de participar ativamente do processo de desenvolvimento e aprimoramento de um software.
Cada commit que você envia representa uma contribuição, que será revisada e, se aprovada, integrada ao projeto.
Essa experiência pode ser encarada como um hobby pessoal ou até mesmo uma forma de enriquecer seu currículo, uma vez que você terá contato e causará um impacto real em um código em uso.
Além disso, ao se envolver nesse processo, você terá a oportunidade de fazer novos amigos e expandir sua rede de contatos. Você estará trabalhando em conjunto com outros desenvolvedores, seguindo as diretrizes estabelecidas pela comunidade ou pela empresa responsável pelo software, isso passa responsabilidade.
Contribuir com linhas de código para seu software open-source favorito vai além de apenas adicionar funcionalidades ou corrigir erros. É uma oportunidade de se envolver ativamente com algo, aprender com outros e deixar sua marca no projeto.
Empresas de diferentes setores reconhecem o valor do software de código aberto e investem capital nesses projetos para atender às suas necessidades e oferecer soluções empresariais.
Essas empresas não apenas copiam os projetos existentes, mas também modificam e implementam funcionalidades específicas para atender aos requisitos do mercado corporativo.
Isso demonstra que o código aberto não tem repulsa ao mundo corporativo, mas sim oferece oportunidades de inovação e crescimento.
O software de código aberto tem sido recompensado financeiramente de diversas maneiras, tanto diretamente como indiretamente.
Um exemplo é a presença de doações por parte de empresas de contabilidade, que investem recursos para apoiar e fortalecer os projetos de código aberto.
Grandes empresas do setor de tecnologia também têm desempenhado um papel significativo no investimento no código aberto.
Empresas (OSDL) como IBM, Hewlett-Packard, Intel, AMD, RedHat, Novell e muitas outras têm contribuído financeiramente e colaborado ativamente com a comunidade de código aberto.
Uma característica essencial do código aberto é que qualquer pessoa pode executar, estudar, modificar e redistribuir o código-fonte, inclusive vendendo cópias do código alterado.
No entanto, é importante ressaltar que essas atividades devem ser realizadas sob a mesma licença do software original, quando se tratar de uma licença GPL.
Isso significa que os desenvolvedores podem ser remunerados e receber compensações pelo seu trabalho, mesmo em projetos de código aberto.
Um exemplo concreto é o software OpenProject, que é uma ferramenta de gerenciamento de projetos de código aberto que permite modificações e distribuição, mas também é um software pago.
Isso desmistifica a crença de que o código aberto é exclusivamente para aqueles que não desejam remunerar os desenvolvedores.
O modelo de negócio baseado no código aberto oferece flexibilidade para os usuários, permitindo que eles desfrutem da liberdade de estudar, modificar e executar novas ideias,
ao mesmo tempo em que fornecem uma fonte de sustento para os desenvolvedores.
Em suma, o código aberto é uma via de mão dupla, beneficiando tanto os usuários quanto as empresas.
As decisões relacionadas ao desenvolvimento do software são tomadas com o objetivo de torná-lo mais útil e adaptável às necessidades dos usuários, incentivando a colaboração e a inovação contínua na comunidade de código aberto.
Organizarei grupos para categorizar a natureza do código fechado.
Grupo 1: Introdução ao software proprietário e suas restrições
O software livre é o oposto do software proprietário (código-fonte fechado), aqui o código é ocultado.
Somente os proprietários do código-fonte têm direito de acessá-lo.
Não é possível alterar ou copiar legalmente um código-fonte fechado.
Ao comprar um software proprietário, o usuário só pode usá-lo se aceitar os termos, sem modificar ou compartilhá-lo.
Grupo 2: Consequências da rescisão do contrato e limitações impostas pelo proprietário
O proprietário do código pode suspender, descontinuar, substituir ou limitar o acesso ao software a qualquer momento.
Algumas cláusulas do contrato permanecem em vigor mesmo após a rescisão.
Jogos gratuitos com código fechado seguem a mesma lógica de restrições:
Se o proprietário rescindir o contrato de uso sem aviso prévio, você perde acesso ao servidor, no caso de jogos online.
Com o contínuo avanço dos sistemas operacionais, os jogos offline descontinuados acabam parando de funcionar, uma vez que suas bibliotecas são substituídas.
Grupo 3: Restrições e limitações da licença concedida
Os usuários recebem uma licença limitada para usar o software e seus serviços associados.
Não é permitido o uso comercial, cópia ou modificação do software.
Grupo 4: Consequências e punições relacionadas à adulteração do software
Aqueles que adulterarem o software podem enfrentar punições, geralmente de natureza financeira.
A Lei 9.609 / 1998 sobre o uso de software pirata no Brasil, prevê multa de até 10 vezes o valor original do software.
Grupo 5: Exclusões e limitações de responsabilidade
A empresa não é responsável por lucros cessantes ou danos indiretos, incidentais, consequenciais, especiais, punitivos ou exemplares.
Os usuários devem concordar em liberar, quitar, indenizar e isentar o proprietário e suas afiliadas de qualquer responsabilidade negativa.
A empresa não é responsável por erros ou problemas relacionados ao programa.
Você pode trabalhar no desenvolvimento de um MOD se a empresa conceder permissão prévia, porém, não conferirá participação financeira.
Grupo 6: Outros aspectos do contrato de software proprietário
A interpretação do contrato não será regida por leis ou regulamentos que afirmem que o conteúdo do contrato é ilegítimo.
Outra forma de trabalhar com código fechado é vender o software vinculado ao hardware do cliente, cadastrando-o em um banco de dados e fornecendo uma chave de ativação (OEM).
Vamos desenvolver mais um pouco o pensamento, antes de dar uma conclusão:
O código aberto não obriga as empresas a serem transparentes em relação aos seus segredos de estratégia comercial.
É inegável que segredos sempre farão parte do ambiente corporativo, embora alguns deles, mais cedo ou mais tarde, possam ser revelados através do hardware.
No entanto, é o usuário quem obtém os maiores benefícios do código aberto, enquanto as empresas estão aprendendo a aproveitar as comunidades que surgem em torno dele.
Essas comunidades são responsáveis por elaborar suas próprias correções e introduzir novidades que estendem a vida útil do produto. Elas estão ativamente envolvidas no teste, desenvolvimento e promoção do produto.
É um equívoco atribuir ao código aberto a característica de amadorismo. A comunidade que trabalha com o código é liderada por diversos especialistas, desmistificando esse mito.
Uma boa ideia pode, de fato, surgir da mente de um novato, e a história nos mostra que várias inovações importantes tiveram origem em mentes inexperientes.
No entanto, quando essa ideia ganha uma aceitação global, é natural que especialistas de diversas áreas se juntem para aprimorá-la ainda mais.
Um exemplo notável é o sistema operacional Linux. Inicialmente criado por Linus Torvalds, um estudante finlandês,
o Linux se tornou um projeto de código aberto que atraiu contribuições de milhares de desenvolvedores em todo o mundo.
Esses desenvolvedores incluíam tanto profissionais experientes quanto entusiastas apaixonados. Com o tempo,
o Linux evoluiu para se tornar um dos sistemas operacionais mais utilizados em servidores e dispositivos móveis,
demonstrando a capacidade da comunidade de código aberto em transformar uma ideia inicial em um produto robusto e sofisticado.
Outro exemplo impressionante é o navegador web Mozilla Firefox. Criado inicialmente como um projeto de código aberto chamado "Phoenix" por um grupo de desenvolvedores voluntários, o Firefox rapidamente ganhou popularidade como uma alternativa ao Internet Explorer. Com o apoio de uma comunidade de especialistas em desenvolvimento de software,
o Firefox foi continuamente aprimorado, resultando em um navegador rápido, seguro e altamente customizável.
Esses exemplos ilustram como a comunidade de código aberto é impulsionada por uma mistura de talentos e expertise.
Embora possa haver iniciantes entre os contribuidores iniciais, a medida que uma ideia ganha tração e visibilidade,
especialistas de diversos campos se unem para fornecer conhecimentos técnicos e orientação. Portanto, é um equívoco associar o código aberto ao amadorismo,
uma vez que ele é impulsionado por uma comunidade liderada por especialistas comprometidos em desenvolver soluções inovadoras e de alta qualidade.
O uso de software não se limita apenas a computadores convencionais, mas também se estende a outros dispositivos e equipamentos. Por exemplo,
tratores da marca John Deere e carros da Tesla utilizam software em seus sistemas de controle e operação.
Além disso, ferramentas técnicas como osciloscópios também incorporam software em suas funcionalidades.
Uma das limitações do código fechado é que ele funciona bem apenas para o proprietário do código, pois terceiros enfrentam restrições em relação ao seu uso.
Ao aceitar os termos e condições impostos pelo fabricante, o usuário fica sujeito às regras estabelecidas sobre como ele pode utilizar o dispositivo que adquiriu.
Essas restrições podem incluir limitações quanto a modificações, acesso ao código-fonte ou liberdade para personalizar o software conforme suas necessidades.
Linus Torvalds, o criador do sistema operacional Linux, famosamente disse: "Com olhos suficientes, todos os bugs são superficiais".
Essa afirmação destaca a importância da transparência e da colaboração proporcionadas pelo código aberto.
Quando uma falha de segurança é identificada em um software de código aberto,
os usuários finais têm a possibilidade de se protegerem imediatamente enquanto a correção é desenvolvida.
Isso ocorre porque a comunidade de código aberto permite que os próprios usuários contribuam na identificação e solução de problemas.
A comunidade de código aberto também desempenha um papel significativo na criação de documentação, fóruns, wikis e grupos de notícias dedicados a relatar erros e compartilhar conhecimentos.
Essa colaboração coletiva permite que os usuários troquem informações, discutam soluções e ajudem uns aos outros na resolução de problemas. Dessa forma,
a comunidade fortalece a segurança e a estabilidade do software de código aberto, beneficiando diretamente os usuários finais.
Esses exemplos reais destacam os benefícios do código aberto em termos de segurança, personalização e colaboração.
Ao ter acesso ao código-fonte e envolver uma comunidade de usuários ativos, o software de código aberto se torna mais robusto, confiável e adaptável às necessidades dos usuários.
Na era digital, a proteção da privacidade é uma preocupação crescente para os usuários. Optar por utilizar software de código aberto oferece benefícios significativos nesse aspecto,
uma vez que é possível preservar sua privacidade sem comprometer a estética ou funcionalidades dos seus dispositivos.
Um exemplo relevante é o setor de automação residencial, onde o código aberto é amplamente utilizado para desenvolver soluções inteligentes que controlam diversos aspectos de uma casa, como iluminação, temperatura, segurança, entre outros. Ao adotar soluções de código aberto nesse contexto,
os usuários têm a garantia de que suas informações pessoais não serão coletadas sem seu consentimento, proporcionando uma maior tranquilidade em relação à privacidade dentro de suas próprias residências.
Outro setor em que o código aberto desempenha um papel importante é o streaming de música. Aplicativos de código aberto, como o Ampache,
oferecem opções alternativas para ouvir música, sem exigir que os usuários estejam sujeitos a algoritmos de recomendação invasivos.
Isso permite que os usuários desfrutem de suas músicas favoritas com maior segurança e sem comprometer sua privacidade.
O Ampache é um aplicativo de streaming de áudio/vídeo de código aberto, projetado para fornecer aos usuários a capacidade de acessar e reproduzir sua biblioteca de mídia de forma remota.
Com o Ampache, é possível criar playlists personalizadas, compartilhar músicas e vídeos com outros usuários e até mesmo transmitir conteúdo para dispositivos compatíveis, como smartphones, tablets e smart TVs.
Os usuários têm a liberdade de modificar o código-fonte para atender às suas necessidades específicas ou até mesmo contribuir com melhorias e recursos para a comunidade Ampache.
Além disso, ao utilizar VPNs (Redes Virtuais Privadas), o código aberto novamente se destaca como uma opção confiável. VPNs de código aberto, como o OpenVPN,
oferecem aos usuários a capacidade de navegar na internet de forma segura e anônima, protegendo suas informações pessoais de invasões e monitoramento.
Ao adotar essas soluções de código aberto, os usuários têm a certeza de que não há intenções ocultas para coletar seus dados e podem confiar na proteção da privacidade fornecida pela tecnologia.
Além disso, existem casos reais em que o uso de código fechado de terceiros limita significativamente a personalização e a liberdade do usuário.
Por exemplo, em certos videogames, a coleta de dados do jogador pode ser obrigatória e não há opção de desativá-la, o que pode gerar preocupações com privacidade.
Outra restrição comum é a impossibilidade de expandir o armazenamento de forma livre. Muitos dispositivos, como consoles de videogame,
vêm com um espaço de armazenamento específico e limitado. Mesmo que o usuário deseje aumentar o tamanho do armazenamento virtual ou utilizar um SSD de sua preferência,
é comum encontrar barreiras impostas pelo código fechado. Por exemplo, um videogame pode ser vendido com 512 GB de espaço, mas na prática, apenas 300 GB estão disponíveis para uso do usuário.
Além disso, quando se trata de expandir o armazenamento, o usuário pode se deparar com a obrigatoriedade de utilizar um SSD especificado pelo fabricante, muitas vezes a um preço alto.
Isso restringe a liberdade de escolha do usuário e pode resultar em custos adicionais significativos. Por exemplo, um SSD compatível pode custar cerca de R$ 1.600,00, o que pode ser uma realidade frustrante para muitos usuários.
Esses exemplos reais demonstram as limitações e frustrações enfrentadas pelos usuários quando lidam com o código fechado de terceiros,
Outro exemplo é a existência de dois celulares com o mesmo hardware, fabricados pela mesma marca, mas um deles possui downgrades intencionais, limitando seu desempenho.
Muitas empresas estão sendo pressionadas a revelar seu código, como foi o caso do Twitter. O mercado está caminhando em direção a um modelo de trabalho que favorece a transparência do código.
Podemos observar a Microsoft se tornando uma mantenedora de software Linux, ao mesmo tempo em que possui políticas anti-GPL ao disponibilizar seus próprios códigos abertos.
Embora o código fechado ainda predomine no mercado, é importante destacar a crescente importância do código aberto em um futuro próximo.
Ajude seu código aberto favorito.
O código aberto transmite valores que protegem os consumidores, e existem diversos motivos pelos quais as pessoas optam pelo código aberto em vez do software proprietário.
Alguns desses motivos comuns incluem:
Revisão por colaboradores: o código aberto permite que uma comunidade de colaboradores reveja e contribua com o desenvolvimento do software, aumentando a segurança e qualidade do mesmo.
Transparência: o código aberto permite que o código-fonte seja acessível e examinado, fornecendo transparência sobre o funcionamento interno do software.
Confiabilidade: devido à revisão aberta e à participação da comunidade, o código aberto tende a ser mais confiável e resiliente em relação a falhas e vulnerabilidades.
Flexibilidade: o código aberto permite que o software seja personalizado e adaptado de acordo com as necessidades individuais, oferecendo maior flexibilidade aos usuários.
Custo reduzido: em muitos casos, o uso de software de código aberto pode resultar em economia de custos significativa, uma vez que lhe é cobrado só pelo hardware, mais serviços.
Sem dependência de fornecedor: o código aberto permite que os usuários não fiquem dependentes de um único fornecedor ou empresa, proporcionando maior liberdade e garantindo que o software possa ser continuamente mantido e aprimorado.
Colaboração aberta: o código aberto incentiva a colaboração e compartilhamento de conhecimento entre desenvolvedores e usuários, promovendo um ambiente de inovação e melhoria contínua.
É importante destacar que, mesmo sendo um código aberto, ainda vai haver uma empresa ou entidade por trás, monetizando o software de diferentes maneiras.
Essa diferença também se estende ao campo de redes neurais em deep learning, utilizadas para gerar linguagem natural,
onde podemos observar a distinção entre soluções proprietárias e de código aberto.
________ChatGPT_____________________ChatVicuna______________
https://chat.openai.com/chat 1 2 3 vs https://chat.lmsys.org
________________________________________________________________
A popularização das inteligências artificiais já é uma realidade: LINK¹ LINK²
Você já pode treinar seu modelo de análise de dados com o PyTorch, ou outros.
LLaMA é um modelo de linguagem de código aberto criado pela META, você é livre para importar outros modelos, veja a library
Você pode importar do PyTorch, Safetensors ou outros. Personalize seu prompt.
Apresentarei algumas aplicações que fazem o uso de Inteligência Artificial:
O Texxto.ai é uma ferramenta desenvolvida pelos mesmos criadores de Dicio, Sinônimos, Conjugação e Antônimos.
Esta ferramenta aplica Inteligência Artificial (IA) no processamento de linguagem natural, permitindo reescrever textos substituindo os seus sinônimos
e também resumir textos de forma automatizada.
O Akinator é uma ferramenta de entretenimento que utiliza inteligência artificial (IA) para adivinhar pessoas ou personagens em que os jogadores estão pensando.
Desenvolvido pela empresa francesa Elokence, que utiliza técnicas de aprendizado de máquina e processamento de linguagem natural para analisar as respostas dos jogadores. Seu algoritmo proprietário é continuamente atualizado com novas informações e personagens, aprimorando sua capacidade de adivinhação ao longo do tempo.
Leia sobre as movimentações do Linux para trazer inteligências artificiais de código aberto. LINK
VOLTAR AO TOPO
VOLTAR AO ÍNDICE
Última edição por ADRIANNO em Sex 26 Abr 2024, 3:22 pm, editado 10 vez(es)
Internet, redes, segurança
em construção...
NFS (Network File System) é um sistema de arquivo distribuído que provê acesso transparente a discos remotos.
Este serviço permite centralizar a administração dos discos,
assim como o NIS permite a administração centralizada das informações dos usuários e dos hosts.
https://wiki.archlinux.org/title/Network_configuration_(Portugu%C3%AAs)
https://wiki.archlinux.org/title/Internet_sharing
https://wiki.archlinux.org/title/Category:Firewalls
https://wiki.archlinux.org/title/Systemd-homed_(Portugu%C3%AAs)
https://www.whatismybrowser.com/pt/detect/what-is-my-user-agent/
Monitoramento de Processos: Você pode usar esses dados para monitorar quais processos e programas estão em execução no seu sistema. Isso é útil para verificar se há processos não autorizados ou suspeitos.
Diagnóstico de Problemas: Quando ocorrem problemas de desempenho ou instabilidade no sistema, você pode usar esses dados para identificar quais programas ou processos estão consumindo muitos recursos da CPU ou memória. Isso ajuda na solução de problemas.
Segurança: Pode ser usado para verificar se há executáveis desconhecidos em execução no sistema que possam representar uma ameaça à segurança. Você pode investigar qualquer executável desconhecido encontrado.
Avaliação de Requisitos de Recursos: Você pode avaliar quais programas consomem mais recursos e, com base nisso, decidir se deseja ajustar ou otimizar seu sistema.
Configuração de Inicialização: Essa lista pode ajudar a entender quais programas são iniciados automaticamente quando o sistema é inicializado. Isso pode ser útil ao personalizar a inicialização do sistema.
Atualizações e Manutenção: Pode ser útil durante a atualização ou manutenção do sistema, para garantir que nenhum processo inesperado esteja em execução durante esse processo crítico.
sudo pacman -S network-manager-applet
/usr/bin/nm-applet
Esse pacote network-manager-applet é um applet que fornece uma interface gráfica para gerenciar conexões de rede no Linux.
Gerencia o cabeamento e conexões Wi-Fi, VPNs, conexões de modem 3G/4G, incluindo configurações avançadas, como configuração de proxy, DNS personalizado.
Ele cria um ícone do NetworkManager na área de notificação(barra de tarefas) do seu ambiente de desktop.
Para fazer uma solicitação HTTP HEAD sem baixar o corpo do site, inclui os cabeçalhos da resposta HTTP, como o código de status, o tipo de conteúdo, as informações do servidor, cookies definidos e muito mais.
curl -Is https://flyer.forumeiro.com/t351-instalacao-arch-linux-bios-legacy-triple-boot-xfce-home-games
NFS (Network File System) é um sistema de arquivo distribuído que provê acesso transparente a discos remotos.
Este serviço permite centralizar a administração dos discos,
assim como o NIS permite a administração centralizada das informações dos usuários e dos hosts.
https://wiki.archlinux.org/title/Network_configuration_(Portugu%C3%AAs)
https://wiki.archlinux.org/title/Internet_sharing
https://wiki.archlinux.org/title/Category:Firewalls
https://wiki.archlinux.org/title/Systemd-homed_(Portugu%C3%AAs)
https://www.whatismybrowser.com/pt/detect/what-is-my-user-agent/
Monitoramento de Processos: Você pode usar esses dados para monitorar quais processos e programas estão em execução no seu sistema. Isso é útil para verificar se há processos não autorizados ou suspeitos.
Diagnóstico de Problemas: Quando ocorrem problemas de desempenho ou instabilidade no sistema, você pode usar esses dados para identificar quais programas ou processos estão consumindo muitos recursos da CPU ou memória. Isso ajuda na solução de problemas.
Segurança: Pode ser usado para verificar se há executáveis desconhecidos em execução no sistema que possam representar uma ameaça à segurança. Você pode investigar qualquer executável desconhecido encontrado.
Avaliação de Requisitos de Recursos: Você pode avaliar quais programas consomem mais recursos e, com base nisso, decidir se deseja ajustar ou otimizar seu sistema.
Configuração de Inicialização: Essa lista pode ajudar a entender quais programas são iniciados automaticamente quando o sistema é inicializado. Isso pode ser útil ao personalizar a inicialização do sistema.
Atualizações e Manutenção: Pode ser útil durante a atualização ou manutenção do sistema, para garantir que nenhum processo inesperado esteja em execução durante esse processo crítico.
sudo pacman -S network-manager-applet
/usr/bin/nm-applet
Esse pacote network-manager-applet é um applet que fornece uma interface gráfica para gerenciar conexões de rede no Linux.
Gerencia o cabeamento e conexões Wi-Fi, VPNs, conexões de modem 3G/4G, incluindo configurações avançadas, como configuração de proxy, DNS personalizado.
Ele cria um ícone do NetworkManager na área de notificação(barra de tarefas) do seu ambiente de desktop.
Para fazer uma solicitação HTTP HEAD sem baixar o corpo do site, inclui os cabeçalhos da resposta HTTP, como o código de status, o tipo de conteúdo, as informações do servidor, cookies definidos e muito mais.
curl -Is https://flyer.forumeiro.com/t351-instalacao-arch-linux-bios-legacy-triple-boot-xfce-home-games
Compartilhar Arquivos na Rede
Samba - Wiki Arch Linux
smb.conf | mount.cifs
O Samba é uma suíte de programas que possibilita computadores de ambas as plataformas compartilhem arquivos e serviços em uma rede.
Essa ferramenta é particularmente útil em ambientes mistos, nos quais máquinas com sistemas operacionais diferentes coexistem.
Com o Samba, você pode visualizar e acessar os arquivos compartilhados em uma rede, como se fossem pastas locais em seu sistema.
Você pode visualizar arquivos de outros computadores, ou você pode disponibilizar seus próprios arquivos para que outros computadores os vejam.
O processo de acessar arquivos de outros computadores é diferente do método de disponibilizar arquivos para eles, vou mostrar ambos.
Lembrando que os arquivos que você está acessando na rede, passam a ser tratados como um diretório comum que foi montado em sua raiz /.
Você pode estar no Linux ou Android, acessando os arquivos que estão sendo hospedados no Windows.
Ou você pode estar no Windows ou Android, acessando os arquivos que estão sendo hospedados no Linux.
Primeiro: Acessando arquivos do Windows no Linux com o smbclient:
Para acessar o disco rígido de um computador Windows a partir de um sistema Arch Linux através de uma rede doméstica,
Usaremos o protocolo SMB (Server Message Block).
Guia do passo a passo para configurar.
Estou no Arch Linux quero acessar o HD de um computador Windows:
No Computador com Windows você deve compartilhar a Pasta desejada:
Selecione a pasta ou unidade que você deseja compartilhar.
Clique com o botão direito e escolha "Propriedades".
Vá para a guia "Compartilhamento" e clique em "Compartilhamento Avançado".
Marque a caixa "Compartilhar esta pasta" se precisar clique em "Permissões".
Clique em "OK" para fechar as janelas de permissões e compartilhamento.
Certifique-se de que o usuário Linux tenha instalado um leitor de partições NTFS sudo pacman -S ntfs-3g
Ainda no computador com Windows, vamos descobrir o Endereço IP:
Pressione Win + R, digite cmd e pressione Enter.
No prompt de comando, digite ipconfig e pressione Enter.
Anote o endereço IPv4 do adaptador de rede conectado à sua rede doméstica. (192.168.1.2)
No Computador Linux:
Instalar o Cliente SMB:
sudo pacman -S smbclient
Caso não tenha, também instale o Avahi ele implementa o serviço de descoberta de novos serviços, facilitando a integração e o acesso a esses serviços de rede.
sudo pacman -S avahi
Crie qualquer diretório no Linux, onde você vai montar os arquivos que estão vindo do Windows.
mkdir ~/windows_share
Agora que o Windows está compartilhando uma pasta,
vamos usar o comando para receber esses arquivos, precisamos montar esses arquivos dentro da pasta que criamos:
sudo mount -t cifs //IPV4_do_windows/D ~/windows_share -o username=USUARIO_WINDOWS,vers=3.0,file_mode=0777,dir_mode=0777
O resultado:
FIM! Você já pode acessar os arquivos do Windows ou Linux que estiverem disponíveis em sua rede local.
Para encerrar o vinculo entre os dois computadores.
Basta desmontar o diretório windows_share:
sudo umount ~/windows_share
para resolver um erro que pode acontecer ao desmontar, que diz:
umount: /home/adr1/windows_share: o alvo está ocupado.
instale o sudo pacman -S lsof
Para identificar quais processos estão interagindo com o diretório /home/adr1/windows_share
sudo lsof | grep $HOME/windows_share
Após localizar o PID (ID do processo) associado ao diretório, podemos encerrá-lo com o comando kill.
sudo kill -9 1691
██████████████████████████████████████████████████████████████████████████████████████████████████████████████████
Agora, vamos configurar um servidor para compartilhar seus arquivos na rede.
Antes, estávamos apenas acessando os arquivos que outro computador disponibilizava para nós, mas agora iremos criar um servidor para compartilhar arquivos.
No Computador que Compartilhará a Pasta:
Instale o Samba:
sudo pacman -S samba
Configure o Compartilhamento:
Crie o arquivo de configuração do Samba:
sudo nano /etc/samba/smb.conf
Com o arquivo criado, procederemos à adição das configurações para o compartilhamento. Para cada diretório compartilhado, utilize a seguinte estrutura:
Defina uma Senha para o Usuário do Samba, pode ser o mesmo nome de usuário e senha do seu Linux.
sudo smbpasswd -a seu_usuario
Sempre reinicie o serviço Samba ao fazer alterações ou adições nas configurações do /etc/samba/smb.conf
Além disso, é aconselhável usar esse comando, se o servidor estiver recusando conexões ou se o caminho da rede não for encontrado.
sudo systemctl restart smb
Se desejar evitar a necessidade de reiniciar manualmente o Samba sempre que precisar utilizá-lo, há uma maneira de ativá-lo automaticamente ao iniciar o computador.
Para isso, você precisa habilitar o serviço Samba (smb) usando enable.
Esse comando criará um link simbólico (Created symlink) para o serviço /usr/lib/systemd/system/smb.service no diretório /etc/systemd/system/multi-user.target.wants,
Todos os serviços que forem criados dentro desse diretório serão iniciados automaticamente durante a inicialização do sistema.
sudo systemctl enable smb
Com o arquivo /etc/samba/smb.conf configurado, usuário e senha do Samba criados, e o serviço smb ativo, o compartilhamento está pronto para ser utilizado.
Como já foi mostrado para acessar esse compartilhamento de um sistema Linux, você usa o protocolo CIFS (Common Internet File System) e o comando mount.
Mas para acessar diretórios do Linux pelo Windows?
Para visualizar e interagir com esses arquivos a partir de um Windows na rede,
simplesmente insira o endereço do diretório na rede, dentro de um gerenciador de arquivos ou até mesmo na barra de endereços de um navegador.
O endereço é composto pelo IP do servidor seguido pelo nome do compartilhamento.
\\IP_DO_LINUX\Título_Do_Compartilhamento
Para obter o IP do seu Linux use o comando: ip a ou ip -o link show; ifconfig -a
\\192.168.1.6\pendriver_share
\\192.168.1.6\pclinux_share
\\192.168.1.6\home_share
Será solicitado o nome de usuário e a senha que configuramos anteriormente.
Para criar uma unidade no Windows que se abre com apenas um clique.
Isso é uma comodidade, permitindo que você monte o diretório compartilhado para que seja visualizado no "Meu Computador".
Para ter os arquivos montados do Windows, vamos criar um comando CMD usando os dados do arquivo /etc/samba/smb.conf
net use X: \\IP_DO_SERVIDOR_LINUX\NOME_DO_COMPARTILHAMENTO /user:USUARIO_LINUX SENHA_LINUX
net use Z: \\192.168.1.6\home_share /user:biscoito 123
FIM! Sempre que reiniciar o PC com Windows, os compartilhamentos estarão disponíveis, mas será solicitada a senha do Linux para conceder acesso.
Lembre-se de que as permissões no diretório compartilhado devem ser adequadamente configuradas. Certifique-se de que o usuário Linux tenha permissões para acessar os arquivos compartilhados.
Isso não impede a conexão entre os computadores, apenas restringe o acesso aos arquivos.
sudo chown -R flyer:flyer /home/flyer
Confirme as permissões do diretório compartilhado
ls -lha /home
drwx------ 55 flyer 12K dez 7 07:35 flyer
Faça um ping para fins de testes.
ping 192.168.1.6
Você encontra na internet serviços de compartilhamento local de arquivos pelo seu navegador.
Como é baseado na web, funciona em todos os dispositivos. Existe diversos sites oferecendo esse serviço que é inspirados no AirDrop da Apple.
Como funciona: você abre o site no navegador do computador e depois abre o mesmo site no navegador do celular.
https://pairdrop.net
smb.conf | mount.cifs
O Samba é uma suíte de programas que possibilita computadores de ambas as plataformas compartilhem arquivos e serviços em uma rede.
Essa ferramenta é particularmente útil em ambientes mistos, nos quais máquinas com sistemas operacionais diferentes coexistem.
Com o Samba, você pode visualizar e acessar os arquivos compartilhados em uma rede, como se fossem pastas locais em seu sistema.
Você pode visualizar arquivos de outros computadores, ou você pode disponibilizar seus próprios arquivos para que outros computadores os vejam.
O processo de acessar arquivos de outros computadores é diferente do método de disponibilizar arquivos para eles, vou mostrar ambos.
Lembrando que os arquivos que você está acessando na rede, passam a ser tratados como um diretório comum que foi montado em sua raiz /.
Você pode estar no Linux ou Android, acessando os arquivos que estão sendo hospedados no Windows.
Ou você pode estar no Windows ou Android, acessando os arquivos que estão sendo hospedados no Linux.
Primeiro: Acessando arquivos do Windows no Linux com o smbclient:
Para acessar o disco rígido de um computador Windows a partir de um sistema Arch Linux através de uma rede doméstica,
Usaremos o protocolo SMB (Server Message Block).
Guia do passo a passo para configurar.
Estou no Arch Linux quero acessar o HD de um computador Windows:
No Computador com Windows você deve compartilhar a Pasta desejada:
Selecione a pasta ou unidade que você deseja compartilhar.
Clique com o botão direito e escolha "Propriedades".
Vá para a guia "Compartilhamento" e clique em "Compartilhamento Avançado".
Marque a caixa "Compartilhar esta pasta" se precisar clique em "Permissões".
Clique em "OK" para fechar as janelas de permissões e compartilhamento.
Certifique-se de que o usuário Linux tenha instalado um leitor de partições NTFS sudo pacman -S ntfs-3g
Ainda no computador com Windows, vamos descobrir o Endereço IP:
Pressione Win + R, digite cmd e pressione Enter.
No prompt de comando, digite ipconfig e pressione Enter.
Anote o endereço IPv4 do adaptador de rede conectado à sua rede doméstica. (192.168.1.2)
No Computador Linux:
Instalar o Cliente SMB:
sudo pacman -S smbclient
Caso não tenha, também instale o Avahi ele implementa o serviço de descoberta de novos serviços, facilitando a integração e o acesso a esses serviços de rede.
sudo pacman -S avahi
Crie qualquer diretório no Linux, onde você vai montar os arquivos que estão vindo do Windows.
mkdir ~/windows_share
Agora que o Windows está compartilhando uma pasta,
vamos usar o comando para receber esses arquivos, precisamos montar esses arquivos dentro da pasta que criamos:
sudo mount -t cifs //IPV4_do_windows/D ~/windows_share -o username=USUARIO_WINDOWS,vers=3.0,file_mode=0777,dir_mode=0777
O resultado:
FIM! Você já pode acessar os arquivos do Windows ou Linux que estiverem disponíveis em sua rede local.
- Mais informações sobre esse comando:
- Use o seguinte comando para montar o compartilhamento sem permissões totais:
sudo mount -t cifs //IP_AQUI/resources ~/windows_share -o username=USUARIO_AQUI,vers=3.0
Forma de representar o D:
sudo mount -t cifs //IP_AQUI/D ~/windows_share2 -o username=USUARIO_AQUI,vers=3.0
Forma de representar o C:
sudo mount -t cifs //IP_AQUI/C ~/windows_share3 -o username=USUARIO_AQUI,vers=3.0
(obs:. antes do IP tem essas duas //)
substitua IP_AQUI pelo IP correto.
substitua resources pelo nome da pasta que foi compartilhada pelo Windows, não precisa fornecer o caminho completo.
substitua USUARIO_AQUI pelo nome do usuário do Windows.
Quando fornecer sua senha do sudo, será solicitado o Password do usuário Windows.
Esse método dá permissões de leitura, escrita e execução para o proprietário -rwxr-xr-x, mas apenas permissão de leitura e execução para o grupo e outros.
Se você deseja obter essas permissões aqui -rwxrwxrwx que concedem permissões de leitura, escrita e execução para o proprietário, e também para o grupo e para outros, onde qualquer usuário pode ler, escrever e executar o arquivo.
- Monte sua rede mais rápida com esse script:
- Esse script solicita ao usuário que forneça valores para o
IP da maquina remota (192.168.1.4)
diretório remoto (C D E F)
caminho de montagem (/home/flyer/aqui/)
nome de usuário windows (ADRIANNO)
Se você simplesmente pressionar Enter nas pergunta do script, o valor padrão será utilizado.
Em seguida, o script constrói o comando mount com base nas respostas do usuário.- Código:
#!/bin/bash
# Pergunta ao usuário sobre o IP
read -p "Digite o IP (pressione Enter para usar o padrão 192.168.1.4): " ip
ip=${ip:-192.168.1.4}
# Pergunta ao usuário sobre o diretório
read -p "Digite o diretório (pressione Enter para usar o padrão D): " directory
directory=${directory:-D}
# Pergunta ao usuário sobre o caminho de montagem
read -p "Digite o caminho de montagem (pressione Enter para usar o padrão ~/windows_share): " mount_path
mount_path=${mount_path:-~/windows_share}
# Pergunta ao usuário sobre o nome de usuário
read -p "Digite o nome de usuário (pressione Enter para usar o padrão user_windows): " username
username=${username:-user_windows}
# Constrói o comando mount com base nas respostas do usuário
mount_command="sudo mount -t cifs //$ip/$directory $mount_path -o username=$username,vers=3.0,file_mode=0777,dir_mode=0777"
# Executa o comando
echo "Executando o comando: $mount_command"
eval $mount_command
Certifique-se de tornar o script executável antes de rodá-lo:
chmod +x seu_script.sh
CRIANDO UM ATALHO PARA SEU SCRIPT
adicione um lançador no seu desktop para esse script para abri-lo com um clique.
Este guia foi feito usando ferramentas do Xfce, para criação de um atalho:
exo-desktop-item-edit --create-new $HOME/Desktop/
preencha os campos:
Se quiser copiar o formato, aqui está ele pronto:- Código:
[Desktop Entry]
Version=1.0
Type=Application
Name=Rede Local
Comment=conexão
Exec=xfce4-terminal --tab -e '/home/flyer/scripts/redelocal.sh'
Icon=
Path=
Terminal=false
StartupNotify=false
Para encerrar o vinculo entre os dois computadores.
Basta desmontar o diretório windows_share:
sudo umount ~/windows_share
para resolver um erro que pode acontecer ao desmontar, que diz:
umount: /home/adr1/windows_share: o alvo está ocupado.
instale o sudo pacman -S lsof
Para identificar quais processos estão interagindo com o diretório /home/adr1/windows_share
sudo lsof | grep $HOME/windows_share
Após localizar o PID (ID do processo) associado ao diretório, podemos encerrá-lo com o comando kill.
sudo kill -9 1691
██████████████████████████████████████████████████████████████████████████████████████████████████████████████████
Agora, vamos configurar um servidor para compartilhar seus arquivos na rede.
Antes, estávamos apenas acessando os arquivos que outro computador disponibilizava para nós, mas agora iremos criar um servidor para compartilhar arquivos.
No Computador que Compartilhará a Pasta:
Instale o Samba:
sudo pacman -S samba
Configure o Compartilhamento:
Crie o arquivo de configuração do Samba:
sudo nano /etc/samba/smb.conf
Com o arquivo criado, procederemos à adição das configurações para o compartilhamento. Para cada diretório compartilhado, utilize a seguinte estrutura:
- Código:
[home_share]
comment = dispositivo de armazenamento que será compartilhado /dev/sdb1
available: yes
path = /home
read only = no
browseable = yes
guest ok= yes
- +informações:
[home_share]: Esse é o nome do compartilhamento. Pode ser qualquer nome escolhido para identificar o compartilhamento.
comment: Fornece um comentário descritivo sobre o compartilhamento. Isso pode ser útil para identificar a finalidade do compartilhamento.
available: Ativa ou desativa esse compartilhamento
path: Indica o caminho do sistema de arquivos para o diretório que você deseja compartilhar. No exemplo, /home é o diretório que será compartilhado.
read only: Define se o compartilhamento é somente leitura (yes) ou se permite gravação (no). No exemplo, está configurado como permitindo gravação.
browseable: Determina se o compartilhamento é visível ao navegar pela rede (yes) ou se deve ser oculto (no). No exemplo, está configurado como visível.
guest ok: Permite o acesso de convidados ao compartilhamento sem autenticação (yes). Isso é útil se você deseja permitir o acesso público.
Outras opções que você pode incluir:
valid users: Especifica quais usuários têm permissão para acessar o compartilhamento.
writeable: Semelhante a read only, mas ao contrário. Define se o compartilhamento permite gravação (yes) ou é somente leitura (no).
create mask e directory mask: Define as permissões padrão para novos arquivos e novos diretórios criados dentro do compartilhamento.
force user e force group: Força a atribuição de usuário e grupo para todos os arquivos e diretórios criados no compartilhamento.
Se você quer testar a configuração do seu servidor Samba para verificar se há erros ou problemas, use esse comando:
testparm
Se você procura uma maneira eficaz de visualizar os logs relacionados aos compartilhamentos CIFS (Common Internet File System), especialmente aqueles que indicam tentativas e falhas nas operações de montagem, pode utilizar o seguinte comando:
sudo dmesg | grep CIFS
Este comando faz uso do utilitário dmesg, que exibe mensagens de log do kernel, e o comando grep para filtrar apenas as linhas que contêm a string "CIFS". O resultado mostrará informações importantes sobre as tentativas de montar compartilhamentos CIFS, incluindo detalhes como endereço IP do servidor, nome do compartilhamento, status de logon e eventuais códigos de erro.
Defina uma Senha para o Usuário do Samba, pode ser o mesmo nome de usuário e senha do seu Linux.
sudo smbpasswd -a seu_usuario
Sempre reinicie o serviço Samba ao fazer alterações ou adições nas configurações do /etc/samba/smb.conf
Além disso, é aconselhável usar esse comando, se o servidor estiver recusando conexões ou se o caminho da rede não for encontrado.
sudo systemctl restart smb
Se desejar evitar a necessidade de reiniciar manualmente o Samba sempre que precisar utilizá-lo, há uma maneira de ativá-lo automaticamente ao iniciar o computador.
Para isso, você precisa habilitar o serviço Samba (smb) usando enable.
Esse comando criará um link simbólico (Created symlink) para o serviço /usr/lib/systemd/system/smb.service no diretório /etc/systemd/system/multi-user.target.wants,
Todos os serviços que forem criados dentro desse diretório serão iniciados automaticamente durante a inicialização do sistema.
sudo systemctl enable smb
Com o arquivo /etc/samba/smb.conf configurado, usuário e senha do Samba criados, e o serviço smb ativo, o compartilhamento está pronto para ser utilizado.
Como já foi mostrado para acessar esse compartilhamento de um sistema Linux, você usa o protocolo CIFS (Common Internet File System) e o comando mount.
Mas para acessar diretórios do Linux pelo Windows?
Para visualizar e interagir com esses arquivos a partir de um Windows na rede,
simplesmente insira o endereço do diretório na rede, dentro de um gerenciador de arquivos ou até mesmo na barra de endereços de um navegador.
O endereço é composto pelo IP do servidor seguido pelo nome do compartilhamento.
\\IP_DO_LINUX\Título_Do_Compartilhamento
Para obter o IP do seu Linux use o comando: ip a ou ip -o link show; ifconfig -a
\\192.168.1.6\pendriver_share
\\192.168.1.6\pclinux_share
\\192.168.1.6\home_share
Será solicitado o nome de usuário e a senha que configuramos anteriormente.
- Um script que cria esses endereços:
- Utilize este script no servidor que deseja compartilhar para gerar uma lista contendo os links de compartilhamento disponíveis.
- Código:
#!/bin/bash
# Obtendo o IP do Linux
ip_address=$(ip a | awk '/inet / && !/127.0.0.1/ {gsub(/\/[0-9]+/, "", $2); print $2}')
# Lendo o conteúdo do arquivo smb.conf
smb_conf_content=$(cat /etc/samba/smb.conf)
# Analisando o conteúdo do smb.conf para obter os compartilhamentos
share_names=$(echo "$smb_conf_content" | awk '/^\[.*\]$/ {gsub(/^\[|\]$/, "", $1); print $1}')
# Construindo e exibindo os endereços dos compartilhamentos
echo "Endereços dos Compartilhamentos:"
for share_name in $share_names; do
share_address="\\\\$ip_address\\$share_name"
echo "$share_address"
done
Para criar uma unidade no Windows que se abre com apenas um clique.
Isso é uma comodidade, permitindo que você monte o diretório compartilhado para que seja visualizado no "Meu Computador".
Para ter os arquivos montados do Windows, vamos criar um comando CMD usando os dados do arquivo /etc/samba/smb.conf
net use X: \\IP_DO_SERVIDOR_LINUX\NOME_DO_COMPARTILHAMENTO /user:USUARIO_LINUX SENHA_LINUX
net use Z: \\192.168.1.6\home_share /user:biscoito 123
FIM! Sempre que reiniciar o PC com Windows, os compartilhamentos estarão disponíveis, mas será solicitada a senha do Linux para conceder acesso.
Lembre-se de que as permissões no diretório compartilhado devem ser adequadamente configuradas. Certifique-se de que o usuário Linux tenha permissões para acessar os arquivos compartilhados.
Isso não impede a conexão entre os computadores, apenas restringe o acesso aos arquivos.
sudo chown -R flyer:flyer /home/flyer
Confirme as permissões do diretório compartilhado
ls -lha /home
drwx------ 55 flyer 12K dez 7 07:35 flyer
Faça um ping para fins de testes.
ping 192.168.1.6
- corrigir erros:
- Certifique-se de que não há conflitos de endereços IP na rede.
Verifique Configurações de Firewall do windows:
Verifique se o firewall no computador Windows permite a comunicação com a porta do compartilhamento de arquivos (normalmente, a porta 445).
Configurar Manualmente o Endereço IP do Windows:
No computador com Windows, você pode configurar manualmente o endereço IP para que ele esteja na mesma sub-rede que o Arch Linux.
Abra as configurações de rede no Windows, vá para as configurações da interface de rede, selecione IPv4 (TCP/IPv4) e configure manualmente o endereço IP, a máscara de sub-rede e o gateway para corresponder à configuração da interface de rede no Arch Linux.
Se ambos os computadores estão na mesma:
Máscara de Sub-rede: 255.255.255.0
então as configurações são compatíveis e permitem a comunicação entre os dois sistemas na mesma rede local.
Veja o IP no windows, com esse comando:
ipconfig /all
Veja o IP do Arch Linux, com esse comando:
ip -o link show; ifconfig -a
No Windows, ao invés de depender do DHCP, você pode querer configurar manualmente o endereço IP para a interface de rede conectada
netsh interface ipv4 set address name="NomeDaInterface" static 192.168.1.4 255.255.255.0 192.168.1.1
Endereço IP: 192.168.1.4
Máscara de Sub-rede: 255.255.255.0
Gateway Padrão: 192.168.1.1
Arch Linux: Nome da Interface de Rede: enp2s0
Windows: Nome da Interface de Rede (Wi-Fi): Wi-Fi
Mude de conexão.
Se necessário, modifique a interface de rede de um dos computadores para Wi-Fi/Cabo; caso o problema persista, realize a mesma alteração na conexão do segundo computador.
Ao optar por esta ação, lembre-se que um novo endereço IP será atribuído à sua máquina, resultando no encerramento das conexões existentes. Certifique-se de efetuar as mudança no comando:
sudo mount -t cifs //IPV4_do_windows/D ~/windows_share -o username=USUARIO_WINDOWS,vers=3.0,file_mode=0777,dir_mode=0777
verifique as configurações do roteador
Acesse as configurações do roteador e verifique se ele está configurado para atribuir endereços IP diferentes para a conexão via cabo e via Wi-Fi.
Se a conexão via cabo usa a sub-rede 192.168.137.x e a conexão Wi-Fi usa a sub-rede 192.168.1.x, veja que não é a mesma sub-rede;
Nesse caso, mude uma delas para que ambas estejam na mesma sub-rede.
Procure por uma seção chamada "Configurações de Rede" ou algo semelhante no painel de controle do roteador.
Procure por configurações de atribuição de IP e veja se por lá tem opções de usar sub-rede para as conexões via cabo e via Wi-Fi diferentes.
Lembre-se de que, ao realizar alterações nas configurações de rede, pode ser necessário reiniciar os dispositivos ou renovar os endereços IP para que as configurações entrem em vigor.
- Linux para celular:
- Vá até a loja de aplicativos no seu dispositivo Android (Google Play Store)
baixe: Solid Explorer File Manager
Quando o servidor é hospedado pelo Windows, seu Android o encontra automaticamente.
Mas se é um servidor Linux, você precisará configurar a conexão manualmente, pelo menos é assim neste aplicativo.
A imagem a seguir ilustra como é feito no Windows, enquanto a próxima imagem mostra o procedimento no Linux.
No Solid Explorer, adicione uma nova conexão
Selecione "LAN/SMB/CIFS" como o tipo de servidor.
Não encontrou o que está procurando? (Toque no ícone para editar um servidor)
Preencha os campos necessários com as informações do seu servidor Linux:
Nome do host remoto: Insira aqui o endereço IP do seu servidor Linux (por exemplo, 192.168.1.6).
Número da Porta: Deixe em branco ou use a porta padrão (139 ou 445).
Caminho: digite o nome do compartilhamento que você configurou no arquivo smb.conf (por exemplo, home_share).
Insira a senha associada ao usuário do Samba.
Agora, você pode acessar os arquivos do Linux em seu celular. Além disso, é possível compartilhar arquivos com esse computador remoto. Basta selecionar o aplicativo Solid Explorer após tocar em "compartilhar" no seu dispositivo Android:
- Windows para celular:
- Vá até a loja de aplicativos no seu dispositivo Android (Google Play Store)
baixe: Solid Explorer File Manager
Conecte-se ao Computador Windows ou Linux em poucos segundos, veja que você pode copiar, colar ou reproduzir os arquivos remotamente:
Inclusive você pode compartilhar um arquivo do seu celular com seu computador remoto, basta selecionar o app Solid Explorer:
Existem muitos outros aplicativos com essa função de acessar sua rede domestica.
Você encontra na internet serviços de compartilhamento local de arquivos pelo seu navegador.
Como é baseado na web, funciona em todos os dispositivos. Existe diversos sites oferecendo esse serviço que é inspirados no AirDrop da Apple.
Como funciona: você abre o site no navegador do computador e depois abre o mesmo site no navegador do celular.
https://pairdrop.net
Última edição por ADRIANNO em Dom 28 Jan 2024, 6:12 pm, editado 5 vez(es)
O que é systemD?
WIKI
O systemd é um sistema de inicialização e gerenciamento de sistema que foi criado para lidar com as complexidades da inicialização do sistema e o controle de processos em sistemas operacionais baseados em Linux. Desenvolvido por Lennart Poettering e Kay Sievers, o projeto surgiu em 2010 como uma resposta aos desafios encontrados em sistemas Unix contemporâneos, que utilizavam sistemas de inicialização mais tradicionais, como o System V init.
A criação do systemd foi motivada por uma busca por melhorias na eficiência e desempenho no processo de inicialização do sistema. Ele foi projetado para superar algumas limitações percebidas nos métodos de inicialização existentes na época, oferecendo um sistema mais rápido, paralelo e flexível.
O systemd não apenas substituiu o System V init, mas também introduziu uma abordagem mais abrangente para o gerenciamento de serviços, oferecendo um conjunto de ferramentas para controlar processos, lidar com dependências e fornecer informações detalhadas sobre o estado do sistema.
Ao longo dos anos, o systemd tornou-se amplamente adotado, sendo incorporado em várias distribuições Linux, incluindo o Fedora, CentOS, Ubuntu, Arch Linux e muitas outras. Sua adoção tem sido uma fonte de discussão na comunidade Linux, recebendo tanto apoio quanto críticas, mas sua presença é inegável em muitos ambientes Linux modernos.
O systemd não só é utilizado em servidores e estações de trabalho, mas também pode ser encontrado em sistemas embarcados e em ambientes mais exóticos, como contêineres e ambientes de nuvem. Suas funcionalidades abrangentes incluem gerenciamento de inicialização, controle de serviços, rastreamento de processos, gerenciamento de logs e muito mais
O diretório /usr/lib/systemd/system/ é o local padrão para os arquivos de unidade do systemd. O systemd é um sistema de inicialização e gerenciamento de sistema adotado por muitas distribuições Linux, incluindo o Arch Linux. Nesse diretório, você encontrará os arquivos de configuração das unidades systemd, que são responsáveis por definir e controlar os serviços, sockets, dispositivos, montagens de sistema de arquivos, entre outros aspectos do sistema.
Cada unidade possui um arquivo com extensão .service (por exemplo, smb.service para o serviço Samba) e contém as configurações específicas para o serviço associado. O diretório /usr/lib/systemd/system/ é geralmente usado para unidades que fazem parte da instalação padrão do sistema ou de pacotes instalados pelo gerenciador de pacotes.
X11
O projeto X.Org é a corporação educacional sem fins lucrativos que fornece uma implementação de código aberto do X Window System.
Documentação: https://www.x.org/releases/current/doc/index.html
Notícias: https://lists.freedesktop.org/archives/xorg-announce/
Para pesquisar uma palavra no site do xorg, use esse formato de texto em seu buscador, onde vesa é a palavra a ser pesquisada:
vesa site:http://www.x.org/wiki/
Xinerama site:http://www.x.org/wiki/
O systemd é um sistema de inicialização e gerenciamento de sistema que foi criado para lidar com as complexidades da inicialização do sistema e o controle de processos em sistemas operacionais baseados em Linux. Desenvolvido por Lennart Poettering e Kay Sievers, o projeto surgiu em 2010 como uma resposta aos desafios encontrados em sistemas Unix contemporâneos, que utilizavam sistemas de inicialização mais tradicionais, como o System V init.
A criação do systemd foi motivada por uma busca por melhorias na eficiência e desempenho no processo de inicialização do sistema. Ele foi projetado para superar algumas limitações percebidas nos métodos de inicialização existentes na época, oferecendo um sistema mais rápido, paralelo e flexível.
O systemd não apenas substituiu o System V init, mas também introduziu uma abordagem mais abrangente para o gerenciamento de serviços, oferecendo um conjunto de ferramentas para controlar processos, lidar com dependências e fornecer informações detalhadas sobre o estado do sistema.
Ao longo dos anos, o systemd tornou-se amplamente adotado, sendo incorporado em várias distribuições Linux, incluindo o Fedora, CentOS, Ubuntu, Arch Linux e muitas outras. Sua adoção tem sido uma fonte de discussão na comunidade Linux, recebendo tanto apoio quanto críticas, mas sua presença é inegável em muitos ambientes Linux modernos.
O systemd não só é utilizado em servidores e estações de trabalho, mas também pode ser encontrado em sistemas embarcados e em ambientes mais exóticos, como contêineres e ambientes de nuvem. Suas funcionalidades abrangentes incluem gerenciamento de inicialização, controle de serviços, rastreamento de processos, gerenciamento de logs e muito mais
O diretório /usr/lib/systemd/system/ é o local padrão para os arquivos de unidade do systemd. O systemd é um sistema de inicialização e gerenciamento de sistema adotado por muitas distribuições Linux, incluindo o Arch Linux. Nesse diretório, você encontrará os arquivos de configuração das unidades systemd, que são responsáveis por definir e controlar os serviços, sockets, dispositivos, montagens de sistema de arquivos, entre outros aspectos do sistema.
Cada unidade possui um arquivo com extensão .service (por exemplo, smb.service para o serviço Samba) e contém as configurações específicas para o serviço associado. O diretório /usr/lib/systemd/system/ é geralmente usado para unidades que fazem parte da instalação padrão do sistema ou de pacotes instalados pelo gerenciador de pacotes.
X11
O projeto X.Org é a corporação educacional sem fins lucrativos que fornece uma implementação de código aberto do X Window System.
Documentação: https://www.x.org/releases/current/doc/index.html
Notícias: https://lists.freedesktop.org/archives/xorg-announce/
Para pesquisar uma palavra no site do xorg, use esse formato de texto em seu buscador, onde vesa é a palavra a ser pesquisada:
vesa site:http://www.x.org/wiki/
Xinerama site:http://www.x.org/wiki/
Última edição por ADRIANNO em Qua 24 Jan 2024, 11:26 am, editado 2 vez(es)
termo: socket
Existem dois tipos principais de sockets: sockets de domínio de arquivo (file-based) e sockets de domínio de internet (Internet-based). Vou focar na explicação dos sockets de domínio de internet, que são mais comuns em aplicações de rede.
Os sockets de domínio de internet são utilizados para comunicação entre processos que podem estar em máquinas diferentes em uma rede. Eles são uma implementação da API de soquete, que é um conjunto de regras e convenções para a comunicação entre processos.
Existem dois tipos principais de sockets de domínio de internet:
TCP (Transmission Control Protocol) Sockets: Oferecem uma comunicação orientada à conexão. Isso significa que há uma conexão estabelecida antes que os dados sejam trocados. O TCP garante a entrega ordenada e confiável dos dados, sendo adequado para aplicações onde a ordem dos dados é crítica, como em transferência de arquivos, navegação na web, etc.
UDP (User Datagram Protocol) Sockets: Oferecem uma comunicação sem conexão, onde os dados são enviados como datagramas independentes. O UDP é mais leve e rápido, mas não garante a entrega dos dados nem a ordem em que são recebidos. É adequado para aplicações em que uma latência mais baixa é mais crítica do que a entrega garantida de todos os dados, como em jogos online, streaming de vídeo, etc.
Os desenvolvedores utilizam APIs de soquete em linguagens de programação como C, C++, Python, Java, etc., para criar aplicações de rede que podem se comunicar através de uma rede, seja local ou global. Essas aplicações podem ser desde simples clientes e servidores até sistemas mais complexos e distribuídos.
Os sockets de domínio de internet são utilizados para comunicação entre processos que podem estar em máquinas diferentes em uma rede. Eles são uma implementação da API de soquete, que é um conjunto de regras e convenções para a comunicação entre processos.
Existem dois tipos principais de sockets de domínio de internet:
TCP (Transmission Control Protocol) Sockets: Oferecem uma comunicação orientada à conexão. Isso significa que há uma conexão estabelecida antes que os dados sejam trocados. O TCP garante a entrega ordenada e confiável dos dados, sendo adequado para aplicações onde a ordem dos dados é crítica, como em transferência de arquivos, navegação na web, etc.
UDP (User Datagram Protocol) Sockets: Oferecem uma comunicação sem conexão, onde os dados são enviados como datagramas independentes. O UDP é mais leve e rápido, mas não garante a entrega dos dados nem a ordem em que são recebidos. É adequado para aplicações em que uma latência mais baixa é mais crítica do que a entrega garantida de todos os dados, como em jogos online, streaming de vídeo, etc.
Os desenvolvedores utilizam APIs de soquete em linguagens de programação como C, C++, Python, Java, etc., para criar aplicações de rede que podem se comunicar através de uma rede, seja local ou global. Essas aplicações podem ser desde simples clientes e servidores até sistemas mais complexos e distribuídos.
Monitorando o tráfego de rede
A ferramenta de linha de comando chamada iftop, não requer uma interface gráfica de desktop (DE) para funcionar.
Essa ferramenta fornece informações sobre o tráfego de rede em tempo real, mostrando estatísticas de comunicação entre o seu computador e outros hosts na rede.
sudo pacman -S iftop
Para obter três informações básicas (Interface, IP, MAC), use o comando:
iftop
Saída:
interface: enp2s0
IP address is: 192.168.1.9
MAC address is: a0:b1:c2:d3:e4:f5
Para ver o tráfego em tempo real, use o sudo seguido por esse comando:
sudo iftop -i nome_da_interface_de_rede
sudo iftop -i enp2s0
A opção -i é para especificar a interface de rede.
iftop -i enp2s0 -p
A opção -p é para ativar o modo promíscuo.
O modo promíscuo permite que a interface de rede capture e exiba todo o tráfego na rede, não apenas o tráfego destinado ao seu sistema, mas também o tráfego destinado a outros sistemas na mesma rede.
Os comandos fornecidos abrirão um gráfico que representa o tráfego de rede em tempo real. Os números exibidos no topo do gráfico representam intervalos de tráfego, indicando a taxa de transferência atual de dados.
Por exemplo, se a barra estiver em 12,5 Kb, isso significa que a taxa de transferência está atualmente entre 0 Kb e 12,5 Kb. Conforme mais dados são transferidos, esses valores aumentam progressivamente.
Cada linha representa uma conexão de rede ativa no momento. Meu próprio host, aqui nomeado de "netlinux", irá iniciar todas as linhas de tráfego.
Logo após o nome do hoste, terá seta => ou <= indica a direção do tráfego:
uma seta para a esquerda <= indica que o tráfego está entrando no seu sistema, enquanto uma seta para a direita => indica que o tráfego está saindo do seu sistema.
Após as setas, você verá os nomes de domínio, que representam os dispositivos na Internet com os quais você está se comunicando.
Quando o tráfego é enviado para o gateway padrão da sua rede, identificado como "_gateway", isso indica comunicação com o roteador principal da sua rede.
Alguns servidores na Internet têm nomes facilmente identificáveis, como "redirect.archlinux.org", "ping.archlinux.org", "store.steampowered.com" e "media.discordapp.net".
No entanto, outros são representados apenas por números. Para identificá-los, você pode usar ferramentas de pesquisa de DNS reverso para obter mais informações sobre esses endereços.
O comando whois também pode ser útil, fornecendo informações sobre o proprietário do bloco de endereços IP e outras informações relevantes.
Instale:
sudo pacman -S whois
whois 104.18.42.105
Retomando a análise do comando iftop:
No final, você tem três linhas agora mostrando o resumo completo de todas as interações:
TX mostra a quantidade total de dados transmitidos do seu sistema.
RX mostra a quantidade total de dados recebidos pelo seu sistema.
TOTAL mostra a soma dos dados transmitidos e recebidos.
Dentro de tx, rx e total, temos valores de cum, peak e rate:
cum: é a quantidade cumulativa total de dados transferidos.
peak: é o pico de transferência de dados em um determinado momento.
rates: são as taxas de transferência de dados atuais, médias e máximas.
Com essas informações você pode monitorar as comunicações entre seu computador e outros hosts na rede.
Funções do comando iftop
Monitoramento de Tráfego em Tempo Real:
Como já foi demonstrando, por padrão ele te exibe uma tabela em tempo real mostrando o uso de largura de banda com as taxas de transferência de dados atualizadas continuamente.
Filtragem de Tráfego:
Usando a opção -f seguida de um código de filtro específico. Por exemplo: iftop -f 'port http'
Saída Esperada: Apenas o tráfego correspondente ao filtro especificado será exibido na tabela.
Controle de Resolução de DNS e Porta:
Usando as opções -n para desativar a resolução de nomes de DNS, -N para desativar a resolução de portas. Por exemplo: iftop -n -N
Por padrão, o iftop tenta converter números de porta para os nomes dos serviços associados, abrindo o iftop com essas opções você desativa essa função.
Saída Esperada: Os endereços IP e números de porta serão exibidos em vez de nomes de host e serviços.
Exibição Gráfica e de Texto:
Ativação: A saída gráfica é a padrão. Para a saída de texto, você pode usar a opção -t. Por exemplo: iftop -t
Saída Esperada: A saída será em formato de tabela de texto, sem barras gráficas indicando a largura de banda.
Agregação de Dados por Fonte e Destino:
Ativação: Pressionando 's' para agregar por fonte e 'd' para agregar por destino, você altera a forma de exibição.
Saída Esperada: O tráfego será agregado por origem ou destino.
Exibição e Ordenação Personalizáveis:
Ativação: Usando as teclas numéricas (1, 2, 3) para selecionar a coluna de classificação desejada ou usando '<' e '>' para ordenar por origem ou destino.
Saída Esperada: A tabela será ordenada de acordo com a opção selecionada, personalizando a exibição do tráfego de rede.
Configuração através de Arquivo de Configuração:
Ativação: Criando ou editando o arquivo ~/.iftoprc você pode definir configurações.
Saída Esperada: As configurações definidas no arquivo .iftoprc serão aplicadas quando o comando iftop for executado.
Essa ferramenta fornece informações sobre o tráfego de rede em tempo real, mostrando estatísticas de comunicação entre o seu computador e outros hosts na rede.
sudo pacman -S iftop
Para obter três informações básicas (Interface, IP, MAC), use o comando:
iftop
Saída:
interface: enp2s0
IP address is: 192.168.1.9
MAC address is: a0:b1:c2:d3:e4:f5
Para ver o tráfego em tempo real, use o sudo seguido por esse comando:
sudo iftop -i nome_da_interface_de_rede
sudo iftop -i enp2s0
A opção -i é para especificar a interface de rede.
iftop -i enp2s0 -p
A opção -p é para ativar o modo promíscuo.
O modo promíscuo permite que a interface de rede capture e exiba todo o tráfego na rede, não apenas o tráfego destinado ao seu sistema, mas também o tráfego destinado a outros sistemas na mesma rede.
Os comandos fornecidos abrirão um gráfico que representa o tráfego de rede em tempo real. Os números exibidos no topo do gráfico representam intervalos de tráfego, indicando a taxa de transferência atual de dados.
Por exemplo, se a barra estiver em 12,5 Kb, isso significa que a taxa de transferência está atualmente entre 0 Kb e 12,5 Kb. Conforme mais dados são transferidos, esses valores aumentam progressivamente.
Cada linha representa uma conexão de rede ativa no momento. Meu próprio host, aqui nomeado de "netlinux", irá iniciar todas as linhas de tráfego.
Logo após o nome do hoste, terá seta => ou <= indica a direção do tráfego:
uma seta para a esquerda <= indica que o tráfego está entrando no seu sistema, enquanto uma seta para a direita => indica que o tráfego está saindo do seu sistema.
Após as setas, você verá os nomes de domínio, que representam os dispositivos na Internet com os quais você está se comunicando.
Quando o tráfego é enviado para o gateway padrão da sua rede, identificado como "_gateway", isso indica comunicação com o roteador principal da sua rede.
Alguns servidores na Internet têm nomes facilmente identificáveis, como "redirect.archlinux.org", "ping.archlinux.org", "store.steampowered.com" e "media.discordapp.net".
No entanto, outros são representados apenas por números. Para identificá-los, você pode usar ferramentas de pesquisa de DNS reverso para obter mais informações sobre esses endereços.
O comando whois também pode ser útil, fornecendo informações sobre o proprietário do bloco de endereços IP e outras informações relevantes.
Instale:
sudo pacman -S whois
whois 104.18.42.105
Retomando a análise do comando iftop:
No final, você tem três linhas agora mostrando o resumo completo de todas as interações:
TX mostra a quantidade total de dados transmitidos do seu sistema.
RX mostra a quantidade total de dados recebidos pelo seu sistema.
TOTAL mostra a soma dos dados transmitidos e recebidos.
Dentro de tx, rx e total, temos valores de cum, peak e rate:
cum: é a quantidade cumulativa total de dados transferidos.
peak: é o pico de transferência de dados em um determinado momento.
rates: são as taxas de transferência de dados atuais, médias e máximas.
Com essas informações você pode monitorar as comunicações entre seu computador e outros hosts na rede.
Funções do comando iftop
Monitoramento de Tráfego em Tempo Real:
Como já foi demonstrando, por padrão ele te exibe uma tabela em tempo real mostrando o uso de largura de banda com as taxas de transferência de dados atualizadas continuamente.
Filtragem de Tráfego:
Usando a opção -f seguida de um código de filtro específico. Por exemplo: iftop -f 'port http'
Saída Esperada: Apenas o tráfego correspondente ao filtro especificado será exibido na tabela.
Controle de Resolução de DNS e Porta:
Usando as opções -n para desativar a resolução de nomes de DNS, -N para desativar a resolução de portas. Por exemplo: iftop -n -N
Por padrão, o iftop tenta converter números de porta para os nomes dos serviços associados, abrindo o iftop com essas opções você desativa essa função.
Saída Esperada: Os endereços IP e números de porta serão exibidos em vez de nomes de host e serviços.
Exibição Gráfica e de Texto:
Ativação: A saída gráfica é a padrão. Para a saída de texto, você pode usar a opção -t. Por exemplo: iftop -t
Saída Esperada: A saída será em formato de tabela de texto, sem barras gráficas indicando a largura de banda.
Agregação de Dados por Fonte e Destino:
Ativação: Pressionando 's' para agregar por fonte e 'd' para agregar por destino, você altera a forma de exibição.
Saída Esperada: O tráfego será agregado por origem ou destino.
Exibição e Ordenação Personalizáveis:
Ativação: Usando as teclas numéricas (1, 2, 3) para selecionar a coluna de classificação desejada ou usando '<' e '>' para ordenar por origem ou destino.
Saída Esperada: A tabela será ordenada de acordo com a opção selecionada, personalizando a exibição do tráfego de rede.
Configuração através de Arquivo de Configuração:
Ativação: Criando ou editando o arquivo ~/.iftoprc você pode definir configurações.
Saída Esperada: As configurações definidas no arquivo .iftoprc serão aplicadas quando o comando iftop for executado.
Página 7 de 7 • 1, 2, 3, 4, 5, 6, 7
Tópicos semelhantes
» Lista de Scripts em Shell Bash
» Lista de todos os jogos grátis na EPIC GAMES
» Jogando PW no Linux
» Grim Dawn no Linux
» (LINUX) Fallout 4 - Presets
» Lista de todos os jogos grátis na EPIC GAMES
» Jogando PW no Linux
» Grim Dawn no Linux
» (LINUX) Fallout 4 - Presets
Página 7 de 7
Permissões neste sub-fórum
Podes responder a tópicos
|
|