INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA SUDESTE DE MINAS GERAIS Campus Rio Pomba Mini Curso Linux Eu defendo!!! Apresentação Rafael Arlindo Dias •Técnico em Informática CEFET – Rio Pomba/MG •Cursos na área de Redes de Computadores UNIVIÇOSA - Viçosa/MG •Graduando Ciência da Computação IF Sudeste MG - Rio Pomba/MG Email: [email protected] Apresentação Racyus Delano Garcia Pacífico •Técnico em Informática Industrial/Automação. CEFET – Leopoldina/MG •Graduando em Ciência da Computação IF Sudeste MG - Rio Pomba/MG Email: [email protected] Objetivos • Entender o que é software livre • Compreender o que é o Linux e sua estrutura • Obter uma visão geral da sua organização e facilidades • Compreender o uso do Linux com interface gráfica e linha de comando Histórico do Linux • O Unix foi criado no final da década de 1960 e início de 1970 por Ken Thompson. • Em 1987 Andrew Tanenbaum cria o Minix. • Após vários estudos Linus Torvalds anuncia em 1991 a primeira versão do Kernel, que passou a ser chamado de Linux. Kernel é o gerenciador do hardware responsável pela divisão de memória entre aplicativos, interação com dispositivos de entrada e saída de dados por exemplo. Atualmente o Kernel encontra na versão 2.6 e ainda é mantido por Linus Torvalds. O Ambiente do Linux O Ambiente do Linux • A camada de hardware é a mais profunda e é formada pelos componentes físicos do seu computador. •A camada do kernel, seu núcleo, coloca o hardware para funcionar, fazendo seu gerenciamento e controle. • Os programas e comandos que envolvem o kernel, são utilizados para realizar as tarefas aplicativas para que foram desenvolvidos. • Fechando tudo isso vem o Shell, que fica entre o usuário e o sistema operacional. • De um modo em geral, o Shell é um programa que transforma as mensagens de texto do usuário em comandos entendidos pelo sistema. Conceitos • O que é GNU (GNU is Not Unix)? - Visa desenvolver um sistema operacional (SO) completo, ao estilo UNIX e com código aberto. - Criado em 1984; • O que é Código Aberto? - É um software onde o código fonte é disponível publicamente. Conceitos O que é GPL (General Public License)? - É a licença sob a qual a maioria dos softwares livres são distribuídos. Conceitos • O que é Software Livre? - Software Livre refere-se a liberdade, não a gratuidade. Liberdade de executar; Liberdade de estudar e adaptar; Liberdade de redistribuir; Liberdade de aperfeiçoar; E o que é o GNU/Linux? • Inicialmente projetado pelo universitário finlandês chamado Linus Torvalds; • É a composição de um sistema operacional baseado no kernel Linux com aplicativos GNU (como o shell bash, o compilador C GCC e o editor de textos emacs). • Existem diferentes tipos de sistemas operacionais GNU/Linux disponíveis, que são chamados de distribuições GNU/Linux. • São distribuídos usando a licença GPL, que garante os direitos autorais do programador e organização O Kernel Linux • Descendente do Unix e do Minix • Evolui atualmente com a colaboração de vários voluntários ao redor do mundo sob a gerência de Linus Torvalds • O kernel é a essência do sistema operacional e deve ter estabilidade • Multiusuário, multitarefa, multiprocessado • Suporte a memória virtual (swap) • Gerenciamento otimizado de memória O Sistema Operacional Linux • Coleções de softwares (livres ou não) criados, normalmente, por comunidades, tendo o Kernel Linux como núcleo. • Distribuições linux: kernel Linux + Aplicativos GNU + Outros Aplicativos + programas de instalação: • A distribuição começou sua popularidade na metade da década de 90, como alternativa livre para o Microsoft Windows e Mac OS O Sistema Operacional Linux • Algumas distribuições Linux mais conhecidas: Red Hat, SUSE, Mandriva, Debian, Slackware, Ubuntu, Gentoo. Como escolher uma Distribuição? • Ao optar por uma distribuição, verifique as suas respostas às seguintes perguntas: - Ela é compatível com meu hardware? - Inclui pacotes e recursos que necessito? - A instalação e configuração está de acordo com minhas aptidões? - Possui documentação? - Há uma comunidade de usuários que eu possa participar? - Lança atualizações de segurança? - Continua sendo atualizada? Diretórios • Sistema hierárquico (em forma de árvore) - O nível mais alto é o / Sob o diretório “/” existe os diretórios do sistema. A maioria das distribuições possui: /bin - aplicativos binários (programas executáveis) /boot - arquivos que são necessários para iniciar /dev - os arquivos de dispositivos /etc - arquivos de configuração, scripts de inicialização /home - pasta pessoal do usuário local /lib - bibliotecas do sistema Diretórios /mnt - sistemas montados /opt - fornece um local para aplicativos opcionais serem instalados /proc - diretório especial dinâmico que mantem informação sobre o estado do sistema, incluindo os processos atualmente executados /root - diretório home do usuário root, pronunciado 'barra-root' Diretórios /sbin – tem mesma função do diretório bin mais armazena apenas aplicativos que podem ser executados como root (adduser) /sys - contém informações sobre o sistema /tmp - arquivos temporários /usr - aplicativos e arquivos que são na maioria das vezes disponíveis ao acesso de todos usuários. /var - arquivos variáveis tal como logs e bancos de dados. Comandos Básicos • Alguns comandos básicos - ls (exibe informações sobre arquivos e diretórios) - cd (muda o diretório corrente) - pwd (exibe o nome do diretório corrente) - clear (limpa a tela atual) - more (exibe o conteúdo de arquivos) - cat (exibe o conteúdo de arquivos na saída-padrão) - grep (procura por padrões de texto em arquivos) - date (exibe a data e hora do sistema) - mkdir (cria novos diretórios) - cp (copia arquivos/diretórios para outro) Comandos Básicos - mv (renomeia arquivos/diretórios) - rm (remove arquivos e diretórios) - find (procura arquivos por nome ou outras características de maneira recursiva) - ln (cria um link simbólico) - chmod (modifica as permissões do arquivo) - chown (muda o dono do arquivo) - tail (exibe o conteúdo de um arquivo, a partir da posição específica) - ps (exibe os processos do sistema) - kill (envia sinais de interrupção para processos) Comandos Básicos • Formato Básico das Instruções de Comando prompt comando [-opções...] [argumentos] geralmente são nomes de arquivos, caminhos ou qualquer parâmetro exigido para o comando opções de uma ou mais letras nome do comando prompt de comando Sistema de arquivos Ext2 • O sistema de arquivos ext2 é conhecido como "Second Extended File System". Foi desenvolvido para ser mais "eficiente" que o sistema de arquivos "Minix", seu antecessor. • O Minix era muito utilizado nas primeiras versões do Linux, e foi utilizado por muitos anos. • O sistema de arquivos ext2 não possui journaling e foi substituído pelo ext3. Sistema de arquivos Ext3 • O sistema de arquivos ext3 é uma versão do ext2 com suporte a journaling. • Essa característica foi uma evolução e tornou o ext3 um sistema de arquivos muito estável e robusto. • Como no ext3 só foi adicionado o suporte a journaling, podemos converter um sistema de arquivos ext2 para ext3, adicionado suporte a journaling, e também podemos converter um sistema de arquivos ext3 para ext2, removendo o suporte a journaling. Sistema de arquivos ReiserFS • O sistema de arquivos ReiserFS foi criado recentemente. Mas atualmente quase todas as distribuições Linux o suportam. • Sua performance é muito boa, principalmente para um número muito grande de arquivos pequenos. • Também possui suporte a journaling. Sistema de arquivos XFS • O sistema de arquivos XFS também possui suporte a journaling. • Foi desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado o código fonte. • O XFS é considerado um dos melhores sistemas de arquivos para banco de dados, pois é muito rápido na gravação. • XFS utiliza muitos recursos de cache com memória RAM, e para utilizar XFS é recomendado utilizar sistemas que possuem redundância de energia. Sistema de arquivos VFAT • O sistema de arquivos VFAT é também conhecido como FAT32 (MS Windows). • Não possui suporte a journaling. • É utilizado normalmente para transferir dados entre sistemas MS Windows e o Linux instalados no mesmo disco. • O sistema de arquivos VFAT está longe de ser um sistema de arquivos utilizado para sistemas Linux, exceto para compartilhamento e compatibilidade entre o MS Windows e Linux. Particionamento de disco • Partições Primárias – Cada HD pode conter até quatro partições primárias. As partições primárias são nomeadas como: /dev/hda1, /dev/hda2, /dev/hda3 e /dev/hda4. Esse tipo de partição é usada para instalação do sistema operacional. • Partições estendidas – Funciona como um contêiner para as partições lógicas. Um HD pode ter somente uma partição estendida e que toma lugar de uma partição primária. Não ocupa espaço em disco. Particionamento de disco Partições lógicas – Possibilidade que o linux tenha uma memória virtual em disco. Este tipo de memória é usado como arquivo de troca de dados entre a memória física (RAM) e o disco. Seu objetivo é aumentar a performace do sistema. Com isso, os programas conseguem ter acesso a uma quantidade maior de memória. •Exemplo: Partição de swap Obs.: Mínimo de partição de Swap = 300 MB Ambiente Gráfico • O Linux diferente do Ms-Windows possui diversos ambientes gráficos para gerenciar a interface entre o usuário e o computador, podemos citar: kde, Gnome, etc. • Ao iniciar o Linux a primeira tela que teremos é a tela de logon. Nela, digitaremos o login do usuário e sua respectiva senha. Posterior o Linux carregará o ambiente gráfico através do qual gerenciamos nossa comunicação com o sistema operacional. • O GNOME é um dos mais conhecidos Software Livre (SL) dentre aqueles que compõem o projeto GNU. •O ambiente gráfico GNOME nos permite uma configuração pessoal e bem ampla dos atalhos de teclado. Ambiente Gráfico Aplicativos do linux Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Nesse momento inicia a criação da Swap Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Instalação do Debian Intervalo... Prática – Comandos Básicos Configurando Proxy Comando export http_proxy=”http://usuário:[email protected]:3128” export ftp_proxy=”http://usuário:[email protected]:3128” Configurando Repositórios Arquivo para edição /etc/apt/sources.list • Repositório Debian lenny deb http://ftp.us.debian.org/debian/ lenny main contrib non-free deb-src http://ftp.us.debian.org/debian/ lenny main contrib non-free deb http://security.debian.org/ lenny/updates main contrib non-free deb-src http://security.debian.org/ lenny/updates main contrib non-free deb http://volatile.debian.org/debian-volatile lenny/volatile main deb-src http://volatile.debian.org/debian-volatile lenny/volatile main Usando Apt • Apt-get update (Atualizar versões de pacotes recentes) • Apt-get install pacote (Instalar pacote) Ex: apt-get install amsn Apt-get remove pacote (Remove pacote) Ex: apt-get remove amsn Apt-cache search pacote (Procura nome do pacote) • Apt-get upgrade (Atualizar o sistema) Usando Aptitude • Aptitude update (Atualizar versões de pacotes recentes) Aptitude install pacote (Instalar pacote) Ex: aptitude install amsn Aptitude remove pacote (Remove pacote) Ex: aptitude remove amsn Aptitude search pacote (Procura nome do pacote) • Aptitude upgrade (Atualizar o Sistema) Usando Synaptic • É um gerenciador de pacotes similar ao apt e o aptitude, só que com interface gráfica; Caminho “Menu>Sistema> Administração >Gerenciador de pacotes Synaptic”; Entre com a senha de root. Usando Dpkg • dpkg -i pacote.deb (Instala o pacote .deb) • dpkg -i *.deb (Instala todos os pacotes .deb no local) dpkg -r pacote.deb (Remove o pacote .deb) dpkg - -configure -a (reparar erro) Conceito como configurar uma rede • Abra o arquivo /etc/network/interfaces com o editor vim; • Configuração do Arquivo auto lo auto eth0 (interface de rede) iface lo inet loopback iface eth0 inet static address 192.168.0.10 netmask 255.255.255.0 network 192.168.0.0 Broadcast 192.168.0.255 Gateway 192.168.0.1 Obs : Como saber a interface de rede? (Comando ifconfig) Dúvidas Obrigado Pela Atenção !!!