Linux4all#1

368 views

Published on

Linux4all#2 é o segundo minicurso da série Linux4all sobre Gnu/Linux, realizado na Uncisal (Universidade Estadual de Ciências Médicas de Alagoas). Abordando conceitos teóricos/praticos a nível intermediário de uma forma simples e dinâmica, onde fui o instrutor.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
368
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Linux4all#1

  1. 1. linux4all#1 d4n1
  2. 2. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  3. 3. Como tudo começou... Richard Stallman funda a FSF (Free Software Foundation) FSF cria a licença GPL (GNU Public Licence) Qualquer programa que pode ser usado, copiado, estudado e redestribuído sem restrinções Softwarelivre
  4. 4. 4 liberdades A liberdade para executar o programa, para qualquer propósito A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades A liberdade de redistribuir, inclusive vender, cópias de modo que você possa ajudar ao seu próximo A liberdade de modificar o programa, e liberar estas modificações, de modo que toda a comunidade se beneficie Softwarelivre
  5. 5. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  6. 6. A revolução 1984, Richard Stallman cria o Projeto GNU 1991, Linus Torvalds cria o Kernel O Compilador gcc da GNU foi usado para compilar o kernel Vários softwares GNU funcionavam desde o 1º dia no Kernel Linux Gnu/Linux
  7. 7. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  8. 8. Por dentro da fera... Árvore de diretórios / /bin /boot /dev /etc /home ... / - Diretório raiz do sistema Hierarquia
  9. 9. Por dentro da fera... /bin - Arquivos binários de comandos essenciais do sistema /boot - Arquivos de boot (inicialização; Linux Loader; Grub); kernel do Linux /dev - Dispositivos (devices) de entrada/saída: floppy, hardisk, cdrom, modem, dentre outros /etc - Arquivos de configuração (scripts) e inicialização. Hierarquia
  10. 10. Por dentro da fera... /home - Diretório local (home) de usuários /lib - Bibliotecas e módulos(drives): compartilhadas com freqüência /mnt - Diretório de montagem de dispositivos, sistemas de arquivos e partições /opt - Para instalação de programas não oficiais da distribuição Hierarquia
  11. 11. Por dentro da fera... /proc - Diretório virtual (RAM) onde rodam os processos ativos /root - Diretório local do superusuário (root) /sbin - Arquivos de sistema essenciais (binários do superusuário) /tmp - Arquivos temporários gerados por alguns utilitários Hierarquia
  12. 12. Por dentro da fera /usr - Arquivos de usuários nativos da distribuição /usr/local - Para instalação de programas não oficiais da distribuição /usr/src - Arquivos fontes do sistema necessários para compilar o kernel /var - Arquivos de log e outros Hierarquia
  13. 13. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  14. 14. Interface Interface humana Interpreta comandos executando-os produzindo algum resultado Shell significa “Casca” Shell
  15. 15. Shells Existem vários Shells, cada um com suas configurações e funções especificas S.R. Bourne cria o Bourne Shell Surge o C Shell criado por Bill Joy e o Korn Shell desenvolvido por David Korn Bash (Bourne Again Shell) é criado pela GNU Shell
  16. 16. Símbolos O sinal “$” significa o usuário normal O sinal “#” significa o super- usuário, root Root é o administrador do sistema O super-usuário pode fazer qualquer coisa no sistema Shell
  17. 17. Variáveis... Variáveis de ambientes PS1 e PS2 (Prompt String) PS1 guarda o conteúdo do prompt do bash PS2 guarda o conteúdo do prompt para várias linhas (“”) Variável PATH Visualizar PS1, PS2 e PATH usando o comando echo Shell
  18. 18. Variáveis Segue uma ordem para achar e executar os comandos Visualizar todas variáveis do shell com o comando set Criar uma nova variável do shell usando o comando export: slack=”slackware_linux” export slack Uma variável exportada é global Shell
  19. 19. Sintaxe Palavras reservadas: case, do, done, elif, else, esac, fi, for, function, if, in, select, then, until, while e time Alguns comandos requerem parâmetros especiais, usando “-” ou “--” Para obter uma ajuda use --help Vários comandos devem ser separado por “;” Shell
  20. 20. Argumentos Nem todos os comandos aceitam argumentos usando o “-” ou “--”, como por exemplo: dd if=/dev/sda1 of=/dev/sdb1 Se o comando não estiver na variável PATH, teremos que explicitar o caminho completo “~” significa diretório home do usuário Shell
  21. 21. Atalhos... O bash escreve os comando digitados em um arquivo chamado .bash_history !! - executa o último comando !n – executa o comando na linha n no arquivo .bash_history !linux – executa o comando linux !?linux – executa o comando que contém o texto linux Shell
  22. 22. Atalhos Ctrl rlinux- procura o comando linux do último para o primeiro Alt m< – vai para o início do arquivo .bash_history Alt m> – vai para o final do arquivo .bash_history Variável ambiente $SHELL Shell
  23. 23. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  24. 24. Núcleo Núcleo do sistema operacional Responsável pelas funções de baixo nível Pode ser compilado e customizado de acordo ao tipo de máquina Suporta as mais diversas arquiteturas Kernel
  25. 25. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  26. 26. Projetando o sistema Partição Swap Planejar as partições de acordo com o sistema a ser instalado Escolher uma distribuição linux Instalação
  27. 27. Lilo Lilo é o mais antigo gerenciador de boot do linux Dividido em 2 partes, uma fica na MBR e a outra em uma partição. Onde é oferecido uma linha de comando (prompt), para escolher qual imagem do kernel carregar ou qual sistema operacional Seu arquivo de configuração fica em /etc/lilo.conf Instalação
  28. 28. Grub Grub é uma alternativa como gerenciador de boot do linux Não há dinstinção entre dispositivos IDE e SCSI, todos são hd(x,y) Seus arquivo de configuração fica em /boot/grub/menu.lst Grub oferece algumas funcionalidades a mais que o lilo Instalação
  29. 29. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  30. 30. Comandos... ls – lista diretório clear – limpa a tela cd – muda de diretório pwd – mostra o caminho corrente cat – concatena e visualiza arquivo less – visualiza arquivo find – procura arquivo Comandosbásicos
  31. 31. Comandos... free – mostra a memória livre shutdown – desliga o computador reboot – reinicia o computador startx – inicia um ambiente X lspci – lista dispositivos pci lsusb – lista dispositivos usb lsmod – lista módulos do kernel Comandosbásicos
  32. 32. Comandos... mkdir – cria diretório rmdir – remove diretório rm – apaga arquivo cp – copia arquivo mv – move arquivo touch – cria arquivo file – descreve um arquivo Comandosbásicos
  33. 33. Comandos... useradd – adiciona um usuário userdel – remove um usuário groupadd – adiciona um grupo groupdel – remove um grupo passwd – modifica a senha do usuário cal – visualiza calendário date – visualiza data e hora Comandosbásicos
  34. 34. Comandos... lynx – navegador web via shell who – mostra quem está logado w – informações de quem está logado uname – informações do computador vim – editor de texto emacs – editor de texto Comandosbásicos
  35. 35. Comandos su – transforma em root ps – relata processos top – processos em hierarquia kill – encerra processos history – comandos já digitados df – informações sobre partições du – informações sobre arquivos man – manuais on-line Comandosbásicos
  36. 36. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  37. 37. Boot... No boot, a BIOS (Basic Input Output System) realiza vários teste usando o POST (Power-On Self Test) No setor de boot é gravado o software para a carga dos sistemas operacionais Booterunlevels
  38. 38. Boot Podemos passar parâmetro no boot ou no arquivo de configuração As informações são passadas para o kernel O gerenciador de boot permite várias opções Ao carregar o Kernel no boot, são exibidas várias informações úteis como cpu, memória, hardwares, serviços, dentre ouros Booterunlevels
  39. 39. Runlevels... Runlevels é a execução de processos em ordem programada Há 7 Runlevels, de 0 a 6 Runlevel 0 é a sequência de desligamento (shutdown) e runlevel 6 reinicialização (reboot) Runlevel 3 a 5 para carga normal do sistema Booterunlevels
  40. 40. Runlevels... Runlevel 1 (single user) é usado para manutenção do sistema Runlevel 2 é o modo multi-usuário sem o compartilhamento de arquivo NFS Runlevel 3 é o modo multi-usuário sem interface gráfica Runlevel 4 não é ultilizado Runlevel 5 é o modo multi-usuário com interface gráfica Booterunlevels
  41. 41. Runlevels... Podemos alterar o runlevel usando o comando init O boot segue a seguência /etc/rc.d/rc.sysinit → /etc/rc.d/rc.local /etc/rc.d/rc→ /etc/init.d,→ variando de distribuição para distribuição o nome e local dos arquivos Em /etc/inittab podemos definir o runlevel padrão entre ouros Booterunlevels
  42. 42. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  43. 43. Estrutura do sistema Sistema de arquivos robusto e flexível, que posibilita manter arquivos em diferente partições, discos, dispositivos e até em computadores remoto Suporta diversos dispositivos e sistema de arquivos Sistemade arquivos
  44. 44. Partições As partições servem como um contêiner Cada disco podem ter 4 partição primária, de 1 a 4, e 1 estendida Pelo menos 1 primária deve ser criada como ativa (boot) A partição estendida serve como contêiner para as partições lógicas, suportando até 12 Sistemade arquivos
  45. 45. Definições /dev/hda1 (primária) /dev/hda2 (estendida) /dev/hda5 (lógica) /dev/hda6 (lógica) /dev/hda7 (lógica) … /dev/hda16 (lógica) Sistemade arquivos
  46. 46. Ultilitarios Partição Swap (troca de arquivo) Os programas fdisk e cfdisk são responsáveis por criar as partições O fdisk e cfdisk são particionadores em modo texto, sendo o último mais amigável Sistemade arquivos
  47. 47. Montagem do sistema Pontos de montagens mount e umount Sistema de arquivos suportados: ext3, ext4, reiserfs, vfat, iso9660 O arquivo /etc/fstab Sistemade arquivos
  48. 48. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  49. 49. Definições... Sistema operacional multi-usuário precisa de permissões especiais Permissão de usuário Permissão de grupo Permissão para outros usuários Acesso de leitura (r), escrita (w), execução (x) Permissões
  50. 50. Definições | dono | grupo | outros d | r w x | r – x | r - - d = tipo de arquivo: diretório (d), arquivo (-), link (l), dispositivo de bloco (b), dispositivo de caractere Permissões hierarquica Permissões
  51. 51. Bits especiais... Bit de SUID afeta arquivo executáveis. Geralmente usado para dar a um programa permissão de root Bit de SGID funciona como o SUID mas executa a permissão do grupo do dono do arquivo Bit Sicky permanece na memória mesmo depois de terminado Permissões
  52. 52. Bits especiais 0 0 0 0 000 000 000 SUID SGID Sticky dono grupo outro 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 --- --x -w- -wx r-- r-x rw- rwx Permissões
  53. 53. Ultilitários... O comando umask mostra a máscara das permissões, aceitando número inteiro de 3 dígitos As permissões padrão para os usuários são 666 (rw-rw-rw-) e 777 (rwxrwxrwx) Com o comando umask as permissões são alteradas tendo como base a permissão padrão Permissões
  54. 54. Ultilitários... O comando chmod modifica as permissões dos arquivos, usando a letra u (user), g (group), o (others) e a (all), + (adicionar), - (retirar), = (igualdade para as operações), r (read), w (write), x (execute), X (execute for all) s (SUID/SGID) e t (Sticky) Permissões
  55. 55. Ultilitários O comando chown e chgrp altera o dono ou grupo de arquivo ou diretório O comando chattr modifica os atributos de arquivo ou diretório O comando lsattr visualiza os atributos de arquivo ou diretório Link simbólico e hard links, o comando ln cria os links Permissões
  56. 56. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  57. 57. Formato Os arquivos de extensão .tar.gz ou .gz, bz2 e tbz2 são uma estrutura de arquivos e diretórios compactados denominado tarball Descompactando um arquivo .tar.gz com o comando tar Descomapcatando um arquivo .tar.bz2 com bzip Instalaçãoe compilação
  58. 58. Compilação Depois de extrair é necessário compilar e instalar Um compilador é um programa que processa instruções escrita em uma linguagem de programação de alto nivel, e gera código de máquina, ou executável Compilador GCC, compila códigos em C, C++, Java, Fortran e etc Make e configure Instalaçãoe compilação
  59. 59. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  60. 60. Referência Howtos – documentos que detalham os procedimentos detalhadamente Man – manuais on-line do sistema Info – documentação fornecida pela Gnu Faq – informações fornecidas por perguntas e respostas Mailing list – lista de discusão Documentação
  61. 61. Agenda Software Livre GNU/Linux Hierarquia Shell Kernel Instalação Comandos básicos Boot e Runlevels Sistema de arquivos Permissões Instalação e compilação Documentação conclusão
  62. 62. d4n1h4ck3r d4n1h4ck3r@gmail.com d4n1h4ck3r.blogspot.com

×