Roteiro • De maneira geral, apresentar a disciplina e discutir algumas regras básicas para melhorar a convivência e o aproveitamento do curso 1 – Informações gerais sobre a disciplina – Pré-requisitos da disciplina – Direitos e deveres – Formas de avaliação – Bibliografia recomendada – Aula de Introdução Curso Superior de Tecnologia em Telemática Administração de Sistemas Apresentação da disciplina Copyright©2011 Prof. Anderson Costa Administração de Sistemas 2 Administração de Sistemas • Administração de Sistemas • Requisitos de um administrador de sistemas – Tipo especial de atividade que envolve a integração dos sistemas de computadores com as necessidades da comunidade usuária, de forma efetiva e eficiente – – – – – – • Atividade complexa e de importância estratégica para as empresas 3 Responsabilidade pelos recursos computacionais Conhecimento técnico (e de negócio) Entendimento dos objetivos e metas da empresa Experiência Hábito de auto-aperfeiçoamento Conhecimento das necessidades dos usuários 4 1 Administração de Sistemas Administração de Sistemas • Tarefas Essenciais do Administrador de Sistemas – Instalar, manter e alterar hardware – Instalar, configurar e manter atualizado e seguro software utilizado pela empresa – Interligar eficientemente os recursos computacionais que funcionam em rede – Administrar/Gerenciar contas de usuário – Realizar backups – Criar scripts para automatização das tarefas – Monitorar atividades do sistema – Manter a documentação local e atual – Solucionar problemas – Ajudar os usuários • Ao término do curso, o aluno deverá estar apto a: – Instalar e administrar redes locais Linux – Instalar e administrar serviços de rede em ambiente Linux 5 Pre-requisitos 6 Conteúdo Programático • Conhecimentos dos conceitos de Redes de Computadores, protocolos e Sistemas Operacionais • Conhecimentos de serviços de rede • Conhecimentos de comandos básicos de Linux • Disposição e boa vontade para aprender. • 1ª Parte : Administração básica de máquinas Linux – Compreender o funcionamento do Linux – Operar um sistema GNU/Linux – Administrar os recursos básicos de um sistema GNU/Linux • 2ª Parte : Gerência de serviços de redes Linux 7 – Configurar serviços de rede local no sistema GNU/Linux – Configurar serviços de aplicação no GNU/Linux – Gerenciar status dos serviços, e identificar problemas de configuração 8 2 Conteúdo Programático Conteúdo Programático • INTRODUÇÃO AO LINUX • SISTEMA DE ARQUIVOS – Histórico – Distribuições – Principais características do linux – Dispositivos de armazenamento – Partições e Tipos de Sistemas de Arquivos – Comandos para gerência de discos e partições – Árvore de diretórios – Gerência de arquivos e diretórios – Gerência de cotas de disco • UTILIZANDO O LINUX – Shell para usuário: comandos básicos, editores de texto. – Shell para administrador: ROOT, gerência de pacotes – Gerência de usuários: usuários, grupos, privilégios. 9 Conteúdo Programático 10 Conteúdo Programático • GERÊNCIA DE PROCESSOS • GERÊNCIA DE RECURSOS – Conceitos sobre processos – Controle de tarefas – Comandos para gerência de processos – O sistemas de arquivos /proc – Ferramentas de configuração de hardware – Configuração de dispositivos de rede • AUTOMAÇÃO E AGENDAMENTO DE TAREFAS – Shell scripts – Processos Periódicos: cron, anacron 11 12 3 Conteúdo Programático Conteúdo Programático • GERÊNCIA DE SERVIÇOS DE REDE • GERÊNCIA DE SERVIÇOS DE APLICAÇÃO – Roteamento e NAT – DHCP – Acesso Remoto – NFS – SAMBA – Servidor FTP – Servidor Web – Servidor de e-mail – Proxy Squid 13 Avisos Importantes 14 Formas de avaliação • Desligar o celular ou colocar no modo silencioso. Atender apenas em casos de URGÊNCIA e sempre sair da sala ao atender. • Evitar conversas e leituras sobre outros assuntos que não sejam da disciplina para não atrapalhar os outros colegas, nem vocês mesmos. • Não serão aceitas desculpas referentes a trabalhos perdidos, portanto previnam-se e façam backups de rotina, mandem para e-mail, salvem em pendrives, etc. 15 • Basicamente, nesta disciplina, serão feitas 06 avaliações (ou mais) mais): – 03 provas Teóricas (Escritas) • Individual • O conteúdo e a datas serão anunciados, brevemente. – 03 provas Práticas • Individual • O conteúdo e a datas serão anunciados, brevemente. – Seminários??? • Depende 16 4 Bibliografia Outras fontes • Instaladas no sistema • Livros Texto – Comando man e info – NEMETH, E.; ZINDER, G.; HEIN, T. R. Manual Completo do Linux: Guia do Administrador. 2ª Edição. São Paulo: Pearson, 2007. – MORIMOTO, C. E. Guia Pratico de Redes e Servidores Linux. 2ª Edição. Porto Alegre: Sulina, 2006. • Sites – Notícias • http://br-linux.org/ | http://www.noticiaslinux.com.br/ – Dicas e Tutoriais • Complementares • http://www.guiadohardware.net/ | http://www.dicas-l.com.br/ | http://www.tldp.org/ – EIRAS, M. C.; MENDONÇA, N. Guia de Certificação Linux. 2ª Ed., Rio de Janeiro: Brasport, 2004. – HUNT, C. Linux Servidores de Rede. São Paulo: Ciência Moderna, 2004. – RIBEIRO, U. Certificação Linux. São Paulo: Axcel Books, 2004. – SMITH, R. W. Redes Linux Avançadas. São Paulo: Ciência Moderna, 2003. • Listas de discussão – Grupo de Usuários Linux do CIn/UFPE • http://www.cin.ufpe.br/~cinlug/ 17 18 Histórico do Linux Histórico do Linux • BSD (1978) • Projeto MULTICS (1965) – – – – MIT, Bell Labs, GE MULTiplexed Information and Computing Service Linguagem PL/I para geração do código Multiusuário, Multiprocessado, Multiprogramado – Berkley Software Distribution – Em 1977 Universidade da Califórnia licenciou os códigos da AT&T • Progressivamente Removeu todos os códigos AT&T • 1BSD em 1978 • Última versão 4.4BSD (1993) • Unix (1969) – – – – – – – Ken Thompson e Denis Ritche (AT&T) Sistema mais simples Linguagem Assembly (PDP-7 ) Linguagem C para portabilidade (PDP-11 em 1973 ) Popularizado nas Universidades UNIX V6 (1975) e UNIX V7 (1979) System V (1983) – FreeBSD, NetBSD, OpenBSD • Década de 80 19 – – – – System V versus BSD TCP/IP IEEE/POSIX Disputa comercial gerou: AIX, SunOS, Solaris, HP-UX... 20 5 Histórico do Linux • Linux – Em 1991, Universidade de Helsinki, Linus Torvalds iniciou o desenvolvimento de seu kernel • MINIX de Andrew Tanenbaum (1987) – Código-fonte disponível, mas com modificação e redistribuição restrita • Casamento com o Projeto GNU – Versao 0.02 em 1991 • Pedido de colaboração – Versão 1.0 lançada em 1994 • Desenvolvido de forma cooperativa “Do you pine for the nice days of minix-1.1, • Gratuito e Código-fonte aberto when men were men and wrote their own device drivers?” Linus Torvalds, messagem de 05/10/1991 21 http://www.infowester.com/linux5.php Histórico do Linux From: [email protected] (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: O que você gostaria de ver a mais no Minix? Summary: pequena pesquisa para o meu novo sistema operacional Date: 25 Aug 91 20:57:08 GMT Olá para todos que estão usando Minix Estou fazendo um sistema operacional independente (apenas um hobby, nada grande e profissional como o GNU) para AT 386 (486) e similares. Iniciei em abril e, agora, está começando a dar certo. Preciso de um retorno sobre as coisas que as pessoas gostam/não gostam no Minix, porque o meu sistema se parece com ele (o mesmo layout de filesystem, por razões práticas, dentre outras coisas). Atualmente, estou portando o bash (1.08) e o gcc (1.40) e as coisas têm funcionado. Isso significa que vou ter algo prático em poucos meses e gostaria de saber quais características as pessoas vão querer. Qualquer sugestão será bem-vinda, apesar de não prometer que eu vá implementá-la :-) Linus ([email protected]) Obs: Sim - ele é independente de qualquer código Minix e tem um filesystem do tipo multithreaded. Ele NÃO é portável (usa características do 386 etc.) e provavelmente nunca irá suportar qualquer outro tipo de HD que não seja AT, pois isso é tudo o que eu 23 consegui. Histórico do Linux From: [email protected] (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Gcc-1.40 e uma questão sobre posix Keywords: gcc, posix Message-ID: <[email protected]> Date: 3 Jul 91 10:00:50 GMT Organization: University of Helsinki Lines: 28 Olá internautas, Em razão de um projeto no qual trabalho (baseado no Minix), estou interessado nas definições dadas pelo Padrão Posix. Alguém pode, por favor, citar um endereço que contenha as últimas normas Posix? Sites ftp serão bemvindos. --- corte --Linus Torvalds [email protected] --- corte --- 22 Histórico do Linux From: [email protected] (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Código-fonte de kernel compatível com o Minix para AT 386 Date: 5 Oct 91 05:41:06 GMT Você aspira pelos bons tempos do Minix 1.1, quando os homens serão independentes e escreverão os seus próprios drivers de dispositivos? Está sem um bom projeto e deseja dedicar-se a um sistema operacional que você possa tentar modificar de acordo com as suas necessidades? Está se sentindo isolado quando todo mundo trabalha no Minix? Perde uma noite inteira tentando fazer um programa funcionar? Então esta mensagem é exatamente para você :-) Como mencionei há um mês (?) atrás, estou trabalhando em uma versão livre de um sistema similar ao Minix para computadores AT 386. Ele está finalmente atingindo o estágio de uso (pode ser que ainda não esteja do jeito que você quer), e vou disponibilizar o código para ampla divulgação. Ele está na versão 0.02 (+1 (muito pequeno) patch pronto), porém, estou rodando com sucesso bash/gcc/gnu-make/gnu-sed/compress etc. sobre ele. Continuando na próxima página... 24 6 Histórico do Linux Histórico do Linux From: [email protected] (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: Código-fonte de kernel compatível com o Minix para AT 386 Date: 5 Oct 91 05:41:06 GMT O Que o levou a escrever o Linux? Continuando e-mail anterior... Os fontes deste projeto podem ser achados em nic.funet.fi (128.214.6.100), no diretório /pub/OS/Linux. O diretório também contém alguns README e um par de binários para trabalhar sobre o Linux (bash, atualizado, e gcc - o que mais você pode querer?). :-) O fonte completo do kernel está disponível. Como no Minix, o código pode ser utilizado. Os fontes das bibliotecas são parcialmente livres, então eu não posso distribuí-los atualmente. "Bem, como eu disse, queria um determinado desempenho em casa e o DOS (e o Windows) não me ofereciam isso. Comecei tentando um pequeno clone do Unix, chamado Minix. Eu era capaz de entender algo sobre as coisas que pretendia com ele. Por outro lado, faltava-me a plena funcionalidade do Unix. A simplicidade do Minix (e os problemas de performance do Minix) levaram-me a desejar algo melhor. No entanto, o Unix custava muito e não seria fácil encontrar algo bom sem dinheiro (que eu definitivamente não tinha). Uma versão de Unix razoavelmente boa, com ferramentas de desenvolvimento etc., custava alguns milhares de dólares. Como eu era um estudante pobre e havia usado todo o meu dinheiro para comprar um computador, eu realmente não tinha opção... Mas, como eu conhecia computadores, comecei a fazer um sistema para mim mesmo, e o resto da história todos conhecem". O sistema, como está, pode ser compilado e sabe-se que ele funciona. Os fontes para os binários (bash e gcc) podem ser encontrados no mesmo servidor, em /pub/gnu. --- corte --Estou interessado em ouvir alguém que tenha escrito qualquer utilitário/biblioteca para o Minix. Se seus produtos forem livremente distribuídos (sob licença ou domínio público), gostaria da sua autorização, para adicioná-lo ao sistema. --- corte --Linus --- corte --- 25 O GNU/Linux Entrevista: http://www.hio.hen.nl/~eniac/Commissies/CommIT/95_96/it4/09_linus.html 26 Características do GNU/Linux • GNU é um SO desenvolvido por Richard Stallman • Multitarefa e Multiusuário • Suporte nativo a pilha TCP/IP • Portabilidade – Kernel + Compilador + Bibliotecas + Shell + Utilitários • Linux é um Sistema Operacional do tipo UNIX – Desenvolvido por Linus Torvalds – Apenas o Kernel – Grande exemplo de desenvolvimento de software livre – X86 PC, x86-64, RISC, etc. • Modularização do Kernel – Carrega em memória somente o que é usado durante o processamento • Pode ser livremente modificado, usado e redistribuído • O GNU/Linux é licenciado de acordo com os termos da GNU – GNU/Linux • Kernel Linux + Ferramental GNU – Liberdade de uso para qualquer propósito – Liberdade de estudar o programa e adaptá-lo • Acesso ao código-fonte Linus Torvalds Richard Stallman 27 – Liberdade de redistribuir cópias – Liberdade de melhorar o programa, e compartilhar as melhorias 28 7 Características do GNU/Linux Arquitetura do GNU/Linux • Desenvolvimento cooperativo – Comunidade de usuários experientes • Compatibilidade com tecnologias proprietárias e diversos dispositivos • Segurança – Contra vírus – Contra usuários mal-intencionados • Padronização – POSIX – Single UNIX Specification Fonte: http://www.ibm.com/developerworks/linux/library/l-linux-kernel/ 29 Arquitetura do GNU/Linux 30 Distribuições • Linux define apenas o kernel • Distribuições – Conjunto de “softwares utilitários” que formam um SO completo e utilizável em conjunto com o kernel – Variam em seu foco, suporte e popularidade Fonte: http://www.ibm.com/developerworks/linux/library/l-linux-kernel/ 32 31 8 Linha do tempo das Distribuições Distribuições • Categorização – Livre – Corporativas – Convencionais – Live – From Scratch – Provenientes 33 34 Red Hat / Fedora SuSE • Distribuição popular • Parte da Novell • Como Red Hat é dividido em dois caminhos – Predominante na América do Norte • Em 2003 a distribuição Red Hat foi dividida em – Red Hat Enterprise Linux – SuSE Linux • Mantém características de SL, mas tem caráter comercial • Oferece grande suporte e estabilidade • Deve-se pagar taxa de licença • Suporte • Recursos extras – Fedora – OpenSuSE • Mantida por comunidades • Com SL gratuito • Alternativa: CentOS – Reúne códigos Red Hat – É gratuita • Sites: www.redhat.com, fedora.redhat.com e www.centos.org • Sites – www.novell.com/linux – www.opensuse.org 35 36 9 Debian e Ubuntu Slackware • Uma das primeiras distribuições • Projeto Debian – Criado em 1993 – Desenvolvido e mantido pela comunidade GNU – Atualmente a distribuição Debian é o resultado de um esforço voluntário para criar um SO compatível com UNIX, de alta qualidade e estabilidade baseado no Linux – A mais velha entre as que são mantidas até hoje • Ser o mais parecido com o UNIX possível • Foco na estabilidade e simplicidade – Desenvolvimento e Manutenção do sistema simples – Dificuldade para usuários comuns • Ubuntu – – – – Versão mais simples do Debian Desenvolvimento em comunidade Versões Desktop e Servidor Financiamento filantrópico • Pouquíssimas ferramentas de configuração – Usa as ferramentas dos próprios desenvolvedores de cada software – Instalação de programas é feita com dificuldade • Empresário sul-africano Mark Shuttleworth • Sites – www.debian.org | www.ubuntu.com • Site: www.slackware.com 38 37 Gentoo Kurumin • Distro brasileira • Projetado para extrair o melhor desempenho do hardware – Carlos Morimoto • LiveCD – Programas instalados direto do código fonte – Baseado no Knoppix • Funciona em diversas arquiteturas atualmente • Bom suporte a detecção de hardware • Ícones Mágicos – Adição de novos serviços e programas facilmente – Primeira a oferecer suporte a 64-bits • Antes procurava ser minimalista • Instalação um pouco mais complexa que as demais distros • Site – www.gentoo.org – Execução em Pen-drives, Mini-CDs etc • Hoje adotou uma forma mais completa • Site: www.guiadohardware.net/kurumin 39 40 10 Qual a melhor distribuição? Distribuição Primeira versão Versão mais atual Propósito CentOS Dez/2003 Jul/2011 Servidores, Desktop comercial Debian Ago/1993 Jan/2010 Propósito Geral Fedora Nov/2003 Mai/2011 Propósito Geral Gentoo Mar/2003 Jul/2008 Propósito Geral Google Ch. OS Jul/2009 Set/2011 netbooks Desktop comercial, Servidores RHEL Mar/2000 Nov/2010 Slackware Jul/1993 Abr/2011 Propósito Geral SUSE Mar/1994 Mai/2008 Desktop comercial, Servidores OpenSuSE Mar/1994 Mar/2011 Desktop Ubuntu Out/2004 Out/2011 Desktop, Servidores Qual a melhor distribuição? • Objetivo do sistema – Desktop doméstico, Desktop comercial – Servidor, roteador, firewall – Sistema embarcado • • • • • • – Patches de segurança • Mais informações Fonte: http://en.wikipedia.org/wiki/Comparison_of_Linux_distributions 41 1 Compatibilidade com diversas arquiteturas Suporte a muitos dispositivos de hardware Suporte a idioma locais Habilidade do administrador com a distribuição Necessidade de Suporte Atualização dos pacotes – http://distrowatch.com/ 42 Curso Superior de Tecnologia em Telemática Administração de Sistemas Apresentação da disciplina Copyright©2011 Prof. Anderson Costa 11