Angulo Sólido, Tecnologias de Informação

info @ angulosolido.pt

SL1201 – Fundamentos de Linux e UNIX

Enquadramento

Esta ação de formação é uma introdução prática ao UNIX e Linux na sua versão mais divulgada: o GNU Linux.

São focados os princípios essenciais do Unix e do Linux de forma independente de plataforma, garantindo que os formando aprendem os conceitos presentes em todas as versões de Linux, independentemente do distribuidor.

No final da formação, os formandos terão competências para se tornarem administradores de sistemas ou programadores em qualquer sistema Linux. Terão, igualmente, compreendido o funcionamento do ambientes comerciais Unix.

Destinatários

Utilizadores experientes na utilização de computadores, mas pouco experientes em Unix ou Linux e que pretendem administrar sistemas Unix/Linux rápida e eficazmente.

Utilizadores de Linux ou Unix que precisam de consolidar e melhorar conhecimentos básicos adquiridos "em campo".

Utilizadores de Linux ou Unix que iniciam uma abordagem profissional à administração de sistemas Linux/Unix, administração de redes em Linux/Unix ou programação em Linux/Unix.

Pré-requisitos

Bons conhecimentos informáticos.

Compreensão básica dos conceitos de redes TCP/IP.

Vontade de aprender e utilizar aplicações de linha de comando.

Duração

30 horas/5 dias

Outros Cursos Recomendados

[SL1203] Instalação, Configuração e Administração de Linux

[SL1221] Introdução ao TCP/IP e à Internet

Conteúdo Programático

  • Introdução
    • O que é o Linux. A filosofia Unix
    • Autenticação, execução de comandos, logout
    • Ficheiros, diretórios e paths
    • Criação de ficheiros com um editor de texto
    • Visualização de ficheiros (cat, less)
    • Gestão de ficheiros (cp, mv, rm)
    • Nomes de ficheiros e ficheiros escondidos (dot files)
    • Gestão de diretórios (mkdir, rmdir)
    • Documentação de comandos (man)
    • Funcionalidades de shell úteis (edição em linha de comando, histórico, ...)
  • A linha de comando Linux e Unix
    • Shells Unix (bash, korn shell, ...)
    • Sintaxe da linha de comando (opções, argumentos)
    • Variáveis de shell e de ambiente
    • Substituição de comandos
    • Utilização de pipes para ligação entre programas
    • Filtros de texto (wc, sort, uniq, head, tail, ...)
    • Redirecionamento de programas para ficheiros
  • Pesquisas com expressões regulares
    • Pesquisar ficheiros através de expressões regulares (grep)
    • O conceito de “pattern matching” com expressões regulares
    • Início e fim de linha (^,$)
    • Repetições (*,+,?)
    • Caracteres especiais (\)
    • Qualquer caractere e alternativa (.,|)
    • Aplicação de pesquisa e substituição com sed
  • Documentação
    • A infeliz documentação da documentação Linux
    • Utilização de man(1)
    • Divisão das páginas de manuais em secções
    • Pesquisa de páginas de manuais (apropos, man -k)
    • Impressão das páginas de manuais (man -t)
  • Edição de texto com vi
    • O Unix é essencialmente texto...
    • Vi: o editor texto standard Unix
    • Clones do vi, extensões ao vi
    • Outros editores de texto em Unix
    • Exercícios práticos em vi / vim
  • Processos e jobs
    • O que são processos
    • As propriedades dos processos
    • Processo parent e processos child
    • Controlo de jobs (fg, bg, jobs)
    • Suspensão de processos (Ctrl-Z)
    • Execução de comandos em background
    • Processos de longa duração (nohup)
    • Monitorização de processos (ps, pstree, top)
    • Terminar processar e enviar sinais aos processos (kill, killall, xkill)
    • Prioridade de processos (nice, renice)
  • Utilização e conceitos de sistemas de ficheiros
    • O sistema de ficheiros unificado Unix
    • Tipos de ficheiros especiais
    • Symbolic Links (ln -s)
    • I-nodes e itens nos diretórios
    • Hard links
    • Manter os links nas cópias e backups
  • Segurança do sistema de ficheiros
    • Utilizadores e grupos
    • O utilizador root ou super-administrador
    • Alteração do proprietário dos ficheiros (chown)
    • Alteração do grupo proprietário dos ficheiros (chgrp)
    • Formas mais complexas de alterar os proprietários (recursivamente, proprietário e grupo ao mesmo tempo)
    • Permissões nos ficheiros
    • Permissões nos diretórios
    • Alteração de permissões (chmod)
    • O sticky bit especial nos diretórios
    • O modo especial setgid e setuid nos diretórios
    • Permissões por omissão para novos ficheiros (umask)
  • Scheduling, Logging e backup
    • Execução de comandos em determinada data (at, atq, atrm)
    • Execução periódica de comandos (cron)
    • Diferentes formas de configuração de crons (/etc/crontab, etc)
    • Crontabs de utilizadores (comando crontab)
    • Configuração de logs (syslog, /etc/syslog.conf)
    • Análise de logs (less, grep, tail -f)
    • Rotação de logs (rotate)
    • Estratégia de backup e media
    • Utilização do tar para criar, consultar e extrair arquivos
    • Acesso a tapes, utilização do tar
  • Instalação de software
    • Gestão da instalação de software (vantagens da gestão por pacotes)
    • Gestão de pacotes em Ubuntu
      • Nomes e versões dos pacotes
      • Gestão dos pacotes (apt-get, dpkg)
    • Gestão de pacotes em CentOS/Fedora
      • Instalação e atualização de pacotes (yum)
      • Pacotes instalados
      • Consulta dos ficheiros dos pacotes instalados
    • Compilação e instalação de software a partir do código fonte
    • Gestão de bibliotecas partilhadas (ldd, ldconfig)
  • O kernel Linux
    • O que é e o que faz
    • Módulos do kernel (lsmod, modprobe, rmmod)
    • Dependências entre módulos (depmod)
    • Análise de módulos (modinfo)
    • Configuração dos módulos de kernel (/etc/modules.conf)
    • Recompilar o kernel
    • Configuração, compilação e instalação do kernel e módulos (make menuconfig, make xconfig, etc)
    • Carregar e descarregar módulos de kernel (lsmod, modprobe, rmmod)
  • Utilização avançada de Shell
    • Quoting (single quote, double quote, backslashes)
    • Utilização combinada dos mecanismos
    • Utilização de padrões (*, ?, [])
    • Criação de nomes de ficheiros e outro texto com {}
  • Scripting Shell e Configuração
    • Porque programar em shell
    • A linha #!
    • Escrever texto (echo)
    • Ler texto (read)
    • Escrever funções de shell simples
    • Regresso à substituição de comandos
    • Execução condicional (||, &&, if, else)
    • Execução repetitiva (for, while, seq)
    • Repetição infinita (while true)
    • Verificar a existência de ficheiros e tipos (-f, -d, etc)
    • Enviar mail a partir de scripts (mail)
  • Configuração TCP/IP
    • Visão geral da gestão de rede moderna, papel do IP, TCP, UDP e ICMP
    • Nomes de domínios e endereços IP (host, dig)
    • Números de portos (/etc/services)
    • Interfaces de rede (ifup, ifdown, ifconfig)
    • Tabelas de roteamento do kernel (route)
    • Encontrar e definir o hostname (hostname, /etc/hostname)
    • Clientes DHCP
    • Diagnósticos de rede (ping, traceroute, netstat)
  • Serviços de rede Linux
    • Visão geral dos serviços de rede em Linux, daemons
    • Enviar sinais para os daemons
    • Vantagens e desvantagens de Inetd e Xinetd. Configuração básica de ambos.
  • DNS e Serviço de mail
    • Configuração das bibliotecas de DNS
    • Estrutura dos nomes dos domínios, registo de domínios (whois)
    • Execução do servidor de DNS (Bind), configuração de um servidor de nomes caching-only
    • Execução de um MTA (servidor de mail)
    • Clientes de mail (MUAs)
    • Configuração básica de Exim
    • Roteamento de mail com um MX (mail exchanger) registos MX
  • Configuração Básica de Apache
    • Execução de um servidor Web (Apache)
    • Ficheiros de configuração do Apache
    • Virtual Hosts por Nome
    • Opções disponíveis para páginas dinâmicas
    • Logs do Apache
  • Sistemas de ficheiros em rede
    • Configuração de NFS (/etc/exports, /etc/fstab)
    • Configuração básica de Samba (smb.conf, SWAT)