Como o Linux funciona

O que todo superusuário deveria saber

Como o Linux funciona Esgotado
× Como o Linux funciona

Como o Linux funciona

Autor:

ISBN impresso: 978-85-7522-419-9
ISBN ebook: 978-85-7522-578-3
Ano: 2015
Páginas: 440
Preço impresso: R$ 109,00 O ebook deste livro está disponível na Amazon.

10 opiniões | Opine sobre este livro

Descrição do livro

De modo diferente de alguns sistemas operacionais, o Linux não tenta esconder as partes importantes – ele permite que você tenha um controle completo de seu computador. Porém, para verdadeiramente dominar o Linux, é necessário entender o seu funcionamento interno, por exemplo, como o sistema inicializa, de que modo a rede funciona e o que o kernel realmente faz.

Nesta segunda edição totalmente revisada do sempre best-seller Como o Linux funciona, o autor Brian Ward torna os conceitos por trás da operação interna do Linux acessíveis a qualquer pessoa que tenha curiosidade de saber como o sistema operacional funciona por dentro.

Neste livro, você encontrará o tipo de conhecimento que normalmente resulta de anos de experiência realizando tarefas com muito esforço. Você saberá:

  • Como o Linux é inicializado, usando de boot loaders a implementações de init (systemd, Upstart e System V)

  • Como o kernel administra dispositivos, device drivers e processos

  • Como a rede, as interfaces, os firewalls e os servidores funcionam

  • Como as ferramentas de desenvolvimento funcionam e se relacionam com bibliotecas compartilhadas

  • Como escrever shell scripts eficientes

Você também irá explorar o kernel e analisará as tarefas fundamentais do sistema no espaço de usuário, incluindo chamadas de sistema, entrada e saída e sistemas de arquivo. Com sua combinação de informações básicas, teoria, exemplos do mundo real e explicações dadas com paciência, Como o Linux funciona ensinará o que você deve saber para resolver problemas complicados e assumir o controle de seu sistema operacional.

Ver menos ▲

Sumário

Sumário

  • Prefácio
  • Agradecimentos
    • Quadro geral
    • 1.1 Níveis e camadas de abstração em um sistema Linux
    • 1.2 Hardware: compreendendo a memória principal
    • 1.3 Kernel
    • 1.4 Espaço de usuário
    • 1.5 Usuários
    • 1.6 Próximos passos
      • Comandos básicos e hierarquia de diretórios
    • 2.1 Bourne shell: /bin/sh
    • 2.2 Usando o shell
    • 2.3 Comandos básicos
    • 2.4 Navegando pelos diretórios
    • 2.5 Comandos intermediários
    • 2.6 Alterando sua senha e o shell
    • 2.7 Arquivos ponto
    • 2.8 Variáveis de ambiente e de shell
    • 2.9 O path do comando
    • 2.10 Caracteres especiais
    • 2.11 Edição de linha de comando
    • 2.12 Editores de texto
    • 2.13 Obtendo ajuda online
    • 2.14 Entrada e saída de shell
    • 2.15 Entendendo as mensagens de erro
    • 2.16 Listando e manipulando processos
    • 2.17 Modos e permissões de arquivo
    • 2.18 Arquivamento e compressão de arquivos
    • 2.19 Aspectos essenciais da hierarquia de diretórios do Linux
    • 2.20 Executando comandos como superusuário
    • 2.21 Próximos passos
      • Dispositivos
    • 3.1 Arquivos de dispositivo
    • 3.2 Path de dispositivos sysfs
    • 3.3 dd e dispositivos
    • 3.4 Resumo dos nomes dos dispositivos
    • 3.5 udev
    • 3.6 Em detalhes: SCSI e o kernel do Linux
      • Discos e sistemas de arquivos
    • 4.1 Particionando dispositivos de disco
    • 4.2 Sistemas de arquivos
    • 4.3 Espaço de swap
    • 4.4 Próximos passos: discos e espaço de usuário
    • 4.5 Dentro de um sistema de arquivos tradicional
      • Como o kernel do Linux inicializa
    • 5.1 Mensagens de inicialização
    • 5.2 Inicialização do kernel e opções de boot
    • 5.3 Parâmetros do kernel
    • 5.4 Boot loaders
    • 5.5 Introdução ao GRUB
    • 5.6 Problemas com o boot seguro do UEFI
    • 5.7 Carregando outros sistemas operacionais em cadeia
    • 5.8 Detalhes dos boot loaders
      • Como o espaço de usuário inicia
    • 6.1 Introdução ao init
    • 6.2 Os runlevels do System V
    • 6.3 Identificando o seu init
    • 6.4 systemd
    • 6.5 Upstart
    • 6.6 System V init
    • 6.7 Desligando o seu sistema
    • 6.8 O sistema de arquivos inicial em RAM
    • 6.9 Inicialização de emergência e modo monousuário
      • Configuração do sistema: logging, hora do sistema, tarefas em lote e usuários
    • 7.1 Estrutura do /etc
    • 7.2 Logging do sistema
    • 7.3 Arquivos para gerenciamento de usuários
    • 7.4 getty e login
    • 7.5 Configurando o horário
    • 7.6 Agendando tarefas recorrentes com cron
    • 7.7 Agendando tarefas a serem executadas uma só vez com at
    • 7.8 Entendendo os IDs de usuário e as mudanças de usuário
    • 7.9 Identificação e autenticação de usuários
    • 7.10 PAM
    • 7.11 Próximos passos
      • Observando mais de perto os processos e a utilização de recursos
    • 8.1 Monitorando processos
    • 8.2 Encontrando arquivos abertos com lsof
    • 8.3 Execução de programas de tracing e chamadas de sistema
    • 8.4 Threads
    • 8.5 Introdução à monitoração de recursos
    • 8.6 Medindo o tempo de CPU
    • 8.7 Ajustando as prioridades do processo
    • 8.8 Médias de carga
    • 8.9 Memória
    • 8.10 Monitorando o desempenho da CPU e da memória com vmstat
    • 8.11 Monitoração de I/O
    • 8.12 Monitoração por processo com pidstat
    • 8.13 Tópicos adicionais
      • Entendendo a rede e sua configuração
    • 9.1 Básico sobre redes
    • 9.2 Camadas de rede
    • 9.3 A camada de Internet
    • 9.4 Rotas e a tabela de roteamento do kernel
    • 9.5 Ferramentas básicas para ICMP e DNS
    • 9.6 A camada física e a Ethernet
    • 9.7 Entendendo as interfaces de rede do kernel
    • 9.8 Introdução à configuração das interfaces de rede
    • 9.9 Configuração de rede ativada no boot
    • 9.10 Problemas com a configuração manual de rede ativada no boot
    • 9.11 Gerenciadores de configuração de rede
    • 9.12 Resolvendo nomes de hosts
    • 9.13 Localhost
    • 9.14 A camada de transporte: TCP, UDP e serviços
    • 9.15 Analisando uma rede local simples novamente
    • 9.16 Entendendo o DHCP
    • 9.17 Configurando o Linux como roteador
    • 9.18 Redes privadas
    • 9.19 Tradução de endereços de rede (Mascaramento de IP)
    • 9.20 Roteadores e o Linux
    • 9.21 Firewalls
    • 9.22 Ethernet, IP e ARP
    • 9.23 Ethernet wireless
    • 9.24 Resumo
      • Aplicações e serviços de rede
    • 10.1 Básico sobre serviços
    • 10.2 Servidores de rede
    • 10.3 Secure Shell (SSH)
    • 10.4 Os daemons inetd e xinetd
    • 10.5 Ferramentas de diagnóstico
    • 10.6 Remote Procedure Call (RPC)
    • 10.7 Segurança em redes
    • 10.8 Próximos passos
    • 10.9 Sockets: como os processos se comunicam com a rede
    • 10.10 Sockets de domínio Unix
      • Introdução aos shell scripts
    • 11.1 Básico sobre shell scripts
    • 11.2 Uso de aspas e literais
    • 11.3 Variáveis especiais
    • 11.4 Códigos de saída
    • 11.5 Condicionais
    • 11.6 Laços
    • 11.7 Substituição de comandos
    • 11.8 Gerenciamento de arquivos temporários
    • 11.9 Here documents
    • 11.10 Utilitários importantes para shell scripts
    • 11.11 Subshells
    • 11.12 Incluindo outros arquivos em scripts
    • 11.13 Lendo dados de entrada do usuário
    • 11.14 Quando (não) usar shell scripts
      • Movendo arquivos pela rede
    • 12.1 Cópia rápida
    • 12.2 rsync
    • 12.3 Introdução ao compartilhamento de arquivos
    • 12.4 Compartilhando arquivos com o Samba
    • 12.5 Clientes NFS
    • 12.6 Outras opções e limitações do serviço de arquivos em redes
      • Ambientes de usuário
    • 13.1 Diretrizes para criar arquivos de inicialização
    • 13.2 Quando os arquivos de inicialização devem ser alterados
    • 13.3 Elementos do arquivo de inicialização do shell
    • 13.4 Ordem dos arquivos de inicialização e exemplos
    • 13.5 Configurações default do usuário
    • 13.6 Armadilhas dos arquivos de inicialização
    • 13.7 Tópicos adicionais relativos à inicialização
      • Uma breve análise do desktop Linux
    • 14.1 Componentes do desktop
    • 14.2 Um olhar mais detalhado sobre o X Window System
    • 14.3 Explorando os clientes do X
    • 14.4 O futuro do X
    • 14.5 D-Bus
    • 14.6 Impressão
    • 14.7 Outros assuntos relacionados ao desktop
      • Ferramentas de desenvolvimento
    • 15.1 O compilador C
    • 15.2 make
    • 15.3 Debuggers
    • 15.4 Lex e Yacc
    • 15.5 Linguagens de scripting
    • 15.6 Java
    • 15.7 Próximos passos: compilando pacotes
      • Introdução à compilação de software a partir de código-fonte C
    • 16.1 Sistemas de geração de software
    • 16.2 Desempacotando pacotes com código-fonte C
    • 16.3 GNU autoconf
    • 16.4 Efetuando instalações
    • 16.5 Aplicando um patch
    • 16.6 Resolvendo problemas de compilação e de instalações
    • 16.7 Próximos passos
      • Desenvolvendo sobre o básico
    • 17.1 Servidores e aplicações web
    • 17.2 Bancos de dados
    • 17.3 Virtualização
    • 17.4 Processamento distribuído e por demanda
    • 17.5 Sistemas embarcados
    • 17.6 Observações finais
  • Bibliografia
Ver sumário completo ▼

Sobre o autor

Brian Ward

Brian Ward trabalha com Linux desde 1993. É autor do Linux Kernel-HOWTO, The Book of VMware (No Starch Press) e The Linux Problem Solver (No Starch Press).… Ver perfil completo ▶

Opinião dos leitores

Fernando M da R

Direto ao ponto, mas não serve como um livro introdutório...

Alexandre B B

O livro é ótimo e é recomendadíssimo! Mudei alguns dos meus conceitos com relação à atuação do sistema operacional sobre hardware.

Érick R G

Ótimo livro explicando vários conceitos, muito mais que explicação de serviços e redes. A tradução não é tão ruim.

Josivan P de S

O livro é muito fácil de ler e entender. Porém, para usuários avançados. Para novatos o livro é muito pesado. Eu aprendi bastante coisa com o livro, e provavelmente uma segunda leitura deverá ocorrer.

Ver todas ▼

Títulos relacionados