FTIN Formação Técnica em Informática Módulo Sistema Operacional Aberto (Linux) AULA 07 Prof. André Lucio Competências da Aula 7 • ACI ACI • Compreende todo conteúdo abordado em sala, abordando de maneira geral. Aula 01 INTRODUÇÃO E FILOSOFIA AO SOFTWARE LIVRE Introdução ao Software Livre • Mas o que é SL? • GNU • Linux • GNU/Linux Introdução ao Kernel • Kernel FSF – Free Software Foudation • Luta pelas liberdades essenciais de usuários de computadores • Autora da GPL e de outras importantes licenças • Criadora da LSB Licenças • Mas se é livre, precisa de licença? • Software Livre != Software Grátis • Tipos de Licenças • Copyleft Aula 01 HISTÓRIA DO GNU/LINUX História do GNU/Linux • GNU, que é um acrônimo recursivo de GNU’s Not Unix. Trata-se, de um grupo que foi fundado em 1984 por seu idealizador, Richard Stallman, com o intuito de criar um sistema operacional “Unix-like” desprovido de amarras e travas ao seu uso. • Os desenvolvedores GNU criaram uma série de programas básicos para um sistema operacional funcional, como editores de texto e compiladores. Entretanto, havia um pedaço de código essencial, que ainda não tinha sido criado: o kernel. Aula 01 APLICAÇÕES DO LINUX Aplicações do Linux • • • • • Desktops Servidores Smartphones Sistemas embarcados (automação) Super Computadores Aula 01 PRINCIPAIS DISTRIBUIÇÕES CONCEITO Distribuições • Você já deve ter ouvido falar em Debian, RedHat, Slackware, SuSe, Conectiva, Mandrake, Ubuntu dentre outras. Mas, o que realmente é isso? O que são todos esses nomes? Todos esses nomes são o que chamamos de distribuições GNU/Linux. • Uma distribuição nada mais é do que o kernel, Linux, softwares GNU e outros aplicativos que são desenvolvidos por outras comunidades ou grupos. Tipos de Distribuições • Livres o Convencionais o Lives • Corporativas • From Scratch • Baseadas Aula 02 VIRTUALBOX Virtualbox • VirtualBox é uma poderosa ferramenta virtualização para empresa, bem como uso doméstico. É um produto extremamente rico em recursos, de alto desempenho para clientes corporativos, é também a única solução profissional que está disponível gratuitamente como software de código aberto sob os termos da GNU General Public License (GPL) versão 2. • Atualmente, o VirtualBox roda em Windows, Linux, Macintosh e Solaris anfitriões e suporta um grande número de sistemas operacionais convidados , incluindo mas não limitado ao Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8), DOS / Windows 3.x, Linux (2.4, 2.6 e 3.x), Solaris e OpenSolaris, OS / 2, e OpenBSD. Aula 02 INSTALAÇÃO E CONFIGURAÇÃO DO GNU/LINUX Debian • O Debian foi lançado em 16 Agosto de 1993 por Ian Murdock, ao tempo estudante universitário, que escreveu o Manifesto Debian que apelava à criação de uma distribuição Linux a ser mantida de uma maneira aberta, segundo o espírito do Linux e do GNU. • O Projeto Debian cresceu vagarosamente e lançou suas versões 0.9x em 1994 e 1995, quando dpkg ganhou notoriedade. Os primeiros ports para outras arquiteturas iniciaram em 1995, e a primeira versão 1.x do Debian aconteceu em 1996. Ubuntu • Ubuntu foi concebido em 2004 por Mark Shuttleworth, um empreendedor Sul-Africano de sucesso, e sua companhia Canonical. Shuttleworth reconheceu o poder do Linux e do código-aberto, mas reconhecia as fraquezas que impediam o seu uso disseminado. CentOS • O CentOS é uma versão gratuita do Red Hat Enterprise, gerado a partir do código fonte disponibilizado pela Red Hat e mantido de forma bastante competente por um grupo de desenvolvedores, que combina representantes de diversas empresas que utilizam o sistema (sobretudo empresas de hospedagem) e voluntários. Principais Distribuições Fedora • Distribuição: livre; • Descrição: mantida pela RedHat, serve de teste para o carro chefe da empresa, o RedHat Enterprise. • Interface padrão: GNOME; • Sistema de pacote: RPM - RedHat Package Manager; • Site oficial: http://fedora.redhat.com Aula 03 APLICATIVOS PARA DESKTOP NO GNU/LINUX Instalação de Software • Ubuntu: Central de programas • Fedora: Softwares • GNU/Linux: Código fonte Aula 03 ESTRUTURA DO GNU/LINUX Estrutura do GNU/Linux • Kernel • FHS • Estrutura de diretórios Aula 03 INTRODUÇÃO A COMANDOS GNU/LINUX Introdução a Comandos GNU/Linux • Comandos são instruções passadas ao computador para executar uma determinada tarefa. • No mundo *NIX (GNU/Linux,Unix), o conceito de comandos é diferente do padrão MS-DOS. Um comando é qualquer arquivo executável, que pode ser ou não criado pelo usuário. • Uma das tantas vantagens do GNU/Linux é a variedade de comandos que ele oferece, afinal, para quem conhece comandos, a administração do sistema acaba se tornando um processo mais rápido. • O “Shell” é o responsável pela interação entre o usuário e o sistema operacional, interpretando os comandos. • É no “Shell” que os comandos são executados. Aula 04 DOCUMENTAÇÃO E EDITORES DE TEXTO GNU/LINUX Introdução a Documentação GNU/Linux • O Sistema Operacional GNU/Linux possui uma vasta biblioteca de documentação. Antes de recorrermos a ajuda de outras pessoas, devemos lembrar que podemos ter a respostas que precisamos no próprio sistema, bem a nossa frente, ao teclar de um simples comando. Essa documentação em grande parte dos casos é de extrema qualidade. Formas de Documentação GNU/Linux • Os “How-to’s” são documentos que focam uma necessidade específica, como montar um “firewall”, instalar uma “webcam”, configurar placas de som, configurar um servidor web e muitos outros. Normalmente esses documentos são instalados junto com suas respectivas aplicações ou podem ter um pacote específico para a documentação daquela aplicação. Os “howto’s” também são conhecidos como “cook-books” (livro de receitas). Editores de Texto GNU/Linux • A grande maioria das configurações em sistemas GNU/Linux são feitas editando diretamente arquivos de configuração em modo texto. Para facilitar essa tarefa, é preciso conhecer alguns editores de texto, dentre eles: “vi”, “vim”, “nano”, “pico”, “mcedit”, “ed”, e “emacs” dentre outros: Aula 05 INTRODUÇÃO A REDES O que é uma rede? • Rede é a conexão de duas ou mais máquinas com o objetivo de compartilhar recursos entre uma máquina e outra. Os recursos podem ser: o Compartilhamento do conteúdo de seu disco rígido (ou parte dele) com outros usuários. Os outros usuários poderão acessar o disco como se estivesse instalado na própria máquina). Também chamado de servidor de arquivos. o Compartilhamento de uma impressora com outros usuários. Os outros usuários poderão enviar seus trabalhos para uma impressora da rede. Também chamado de servidor de impressão. Protocolo de Rede • O protocolo de rede é a linguagem usada para a comunicação entre um computador e outro. Existem vários tipos de protocolos usados para a comunicação de dados, alguns são projetados para pequenas redes (como é o caso do NetBios) outros para redes mundiais (TCP/IP que possui características de roteamento). • Dentre os protocolos, o que mais se destaca atualmente é o TCP/IP devido ao seu projeto, velocidade e capacidade de roteamento. Protocolo IP • O endereço IP são números que identificam seu computador em uma rede. Inicialmente você pode imaginar o IP como um número de telefone. O IP é compostos por quatro bytes e a convenção de escrita dos números é chamada de “notação decimal pontuada”. Por convenção, cada interface (placa usada p/ rede) do computador ou roteador tem um endereço IP. Também é permitido que o mesmo endereço IP seja usado em mais de uma interface de uma mesma máquina mas normalmente cada interface tem seu próprio endereço IP. Classes de Rede IP Aula 05 ARQUIVOS DE LOGS E DAEMONS Arquivos e Logs e Daemons • A atividade dos programas são registradas em arquivos localizados em /var/log . Estes arquivos de registros são chamados de logs e contém a data, hora e a mensagem emitida pelo programa (violações do sistema, mensagens de erro, alerta e outros eventos) entre outros campos. • Enfim, muitos detalhes úteis ao administrador tanto para acompanhar o funcionamento do seu sistema, comportamento dos programas ou ajudar na solução e prevenção de problemas. Aula 05 SERVIÇO SSH História • O openSSH (explicado neste capítulo) é baseado na última versão livre do implementação de Tatu Ylonen com todos os algoritmos patenteados (para bibliotecas externas) removidos, todos as falhas de segurança corrigidas, novas características e muitas outras melhorias. O openSSH foi criado por Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt e Dug Song. Introdução SSH • O serviço de ssh permite fazer o acesso remoto ao console de sua máquina, em outras palavras, você poderá acessar sua máquina como se estivesse conectado localmente ao seu console (substituindo o rlogin e rsh). A principal diferença com relação ao serviço telnet padrão, rlogin e rsh é que toda a comunicação entre cliente/servidor é feita de forma encriptada usando chaves públicas/privadas RSA para criptografia garantindo uma transferência segura de dados. Aula 06 SERVIÇO DHCP Introdução ao DHCP • O DHCP Dynamic Host Confguration Protocol é um protocolo que que funciona nas camadas 2 e 3 do modelo OSI e é amplamente utilizado para oferecer endereçamento IP á um host que ainda não está configurado, o que oferece um flexibilidade ao Administrador de Sistemas. Aula 06 SERVIÇO FTP Introdução ao FTP • O FTP File Transfer Protocol é um protocolo simples para transferência de arquivos. O cliente FTP faz uma solicitação ao servidor FTP, a seção é estabelecida e então é solicitado o usuário e senha válidos no caso de um FTP autenticado, ou, caso este servidor permita navegação anônima, basta entrar como o usuário "anonymous“ e um endereço de e-mail qualquer como senha. O FTP pode atuar como servidor ativo ou passivo. Aula 06 SERVIÇO SAMBA Introdução ao Samba • A suíte SAMBA começou a ser desenvolvida por Andrew Tridgell em 1992 como ferramenta para compartilhamento de diretórios e arquivos entre máquinas *nix e maquinas com sistema operacional Windows e OS/2, da IBM. • Utilizando engenharia reversa no protocolo SMB, Server Message Block, Andrew foi capaz de implementar algumas funcionalidades SMB em máquinas *nix. Mais tarde, o IETF batizou este conjunto de funcionalidades como CIFS, Common Internet File System. Além de promover esta interoperabilidade, o SAMBA também é capaz de realizar algumas tarefas citadas abaixo: Aula 06 SERVIÇO APACHE Introdução ao Apache • O Web Server Apache é um esforço comunitário feito por desenvolvedores ao redor do mundo, no qual o objetivo consiste em desenvolver um Web Server de código fonte aberto, estável e seguro. Em 1996, tornou-se um dos Web Servers mais populares no mundo, e, desde então, mantém sua posição como o servidor web com a maior base instalada no mundo. Aula 06 SERVIÇO DE FIREWALL Introdução ao IPtables • Os sistema GNU/Linux com Kernel série 2.4 e 2.6 trabalham com o Iptables para fazer o gerenciamento de regras de Firewall. Lembrando que o Iptables é apenas um Front-End que gerencia o suporte Netfilter no Kernel. O Iptables possuí 4 tabelas, sendo elas: • filter • nat • mangle • raw Dúvidas Acesse o Fórum!! Acessem o Chat!! (4ª às 20:30hs)