Debian Basico
Gerência de Gestão de Ambientes – GGA Coordenação de Planejamento, Pesquisa e Capacitação – CPPC
DocumentoApostila de Debian Básico
Jonsue Trapp Martins André Luiz de Souza Paula David Alves França Paulo César de Oliveira Robson Alves Pavan
1. Introdução 8
2. O que é o GNU/Debian 9
2.1. Quando surgiu? 9
2.2. Codinomes 9
2.3. Stable, Testing e Unstable 9
2.3.1. Stable 10
2.3.2. Testing 10
2.3.3. Unstable 10
2.4. Main, Contrib e Non-Free 10
2.5. Custo versus Benefício 1
3. Partições, Sistema de Arquivos e Estrutura de Diretórios 12
3.1. Partições 12
3.2. Sistema de Arquivos 12
3.3. Estrutura de Diretórios 12
3.4. Por que Criar Várias Partições ? 13
4. Usuários e Grupos 14
4.1. Usuário 14
4.2. Grupo 14
4.3. Superusuário 14
4.4. Entrando no Sistema 14
4.5. Saindo/Reiniciando do Sistema 15
5. Conceitos Básicos de Utilização 16
5.1. Terminais Virtuais (Consoles) 16
5.2. Background e Foreground 16
5.3. Automação na Console 16
6. Redirecionamentos e Pipe 17
6.1. Utilização do Redirecionador ">" 17
6.2. Utilização do Redirecionador ">>" 17
6.3. Utilização do redirecionador "<" 17
6.4. Utilização do redirecionador "<<" 17
6.5. Uso do "|" (pipe) 17
6.6. Diferença entre Pipe e Redirecionamento 18
7. Comandos Básicos 19
Índice PÁG.: 3
7.1. Comandos para manipulação de diretório 19
7.1.1. ls 19
7.1.2. cd 21
7.1.3. pwd 21
7.1.4. mkdir 21
7.1.5. rmdir 2
7.2. Comandos para manipulação de Arquivos 2
7.2.1. cat 2
7.2.2. rm 23
7.2.3. cp 23
7.2.4. mv 24
7.3. Comandos Diversos 25
7.3.1. badblocks 25
7.3.2. clear 26
7.3.3. date 26
7.3.4. df 27
7.3.5. ln 28
7.3.6. du 28
7.3.7. find 29
7.3.8. free 30
7.3.9. grep 31
7.3.10. head 32
7.3.1. nl 32
7.3.12. more 3
7.3.13. less 3
7.3.14. sort 3
7.3.15. tail 34
7.3.16. time 35
7.3.17. touch 35
7.3.18. uptime 36
7.3.19. dmesg 36
7.3.20. echo 36
7.3.21. su 36
7.3.2. uname 36
7.3.23. reboot 37
7.3.24. shutdown 37
7.3.25. mount 38
7.3.26. umount 39
7.4. Comandos para Manipulação de Contas 39
APOSTILA GNU/DEBIAN BÁSICO PÁG.: 4
7.4.1. adduser 39
7.4.2. addgroup 40
7.4.3. passwd 41
7.4.4. newgrp 41
7.4.5. userdel 42
7.4.6. groupdel 42
7.4.7. sg 42
7.4.8. Adicionando o usuário a um grupo extra 43
7.4.9. chfn 43
7.4.10. id 4
7.4.1. logname 45
7.4.12. users 45
7.4.13. groups 45
7.4.14. getent 45
7.5. Comandos de Rede 46
7.5.1. who 46
7.5.2. finger 46
7.5.3. ftp 47
7.5.4. whoami 47
7.5.5. hostname 48
7.5.6. ping 48
7.5.7. nmap 48
7.6. Comandos para Gerenciamento de Processos 49
7.6.1. ps 49
7.6.2. top 49
7.6.3. bg 50
7.6.4. fg 50
7.6.5. jobs 50
7.6.6. kill 50
7.6.7. killall 51
8. Permissões de acesso a arquivos e diretórios 52
8.1. Donos, grupos e outros usuários 52
8.2. Tipos de Permissões de acesso 52
8.3. Etapas para acesso a um arquivo/diretório 53
8.3.1. Exemplos práticos de permissões de acesso 53
8.4. Permissões de Acesso Especiais 5
8.5. A conta root 56
8.6. Comandos para Manipulação de Permissões 57
8.6.1. chmod 57
APOSTILA GNU/DEBIAN BÁSICO PÁG.: 5
8.6.2. chgrp 58
8.6.3. chown 58
8.7. Modo de Permissão Octal 59
9. Como Instalar pacotes 61
9.1. O que é um Pacote ? 61
9.2. Apt 61
9.2.1. Como encontrar pacotes que contém determinado arquivo 62
9.2.2. Reconfigurar a lista de pacotes 62
9.2.3. Após reconfigurar a lista de pacotes 63
9.2.4. Onde está a tal lista de pacotes para instalação? 63
9.3. Dpkg 63
10. Instalação do Sistema Operacional 65
1. Arquivos Importantes 6
1.1. Rede 6
1.2. Administração de Usuários 6
1.3. Xorg 6
12. Como Obter Ajuda 67
12.1. Páginas de Manual 67
12.2. Info Pages 67
12.3. Help on line 68
12.4. help 68
13. Anexos 69
13.1. Instalação do Sistema Operacional GNU/Debian Desktop Paraná 69
13.1.1. Instalação e configuração dos meta-pacotes customizados 72
13.1.2. Removendo pacotes desnecessários e finalizando a instalação 72
13.2. Instalando uma impressora através do CUPS 72
13.3. SSH 75
APOSTILA GNU/DEBIAN BÁSICO PÁG.: 6
Figura 1 - As informações dos pacotes do sistema obtidas com o uso do dpkg 64
Figura 2 - A tela inicial de instalação do GNU/Debian 69
Figura 3 - A página principal de administração do CUPS – Aba "Home" 73
Figura 4 - Exibindo as informações de uma impressora instalada no CUPS - Aba "Printers" 75
Índice de Figuras PÁG.: 7
APOSTILA GNU/DEBIAN BÁSICO 1. Introdução
Este documento, foi elaborado especialmente para o curso de Debian básico ministrado pela
Coordenação de Planejamento, Pesquisa e Capacitação - CPPC. O objetivo desta apostila, é fazer uma explanação básica com relação aos conceitos e ao uso das principais ferramentas que encontramos numa distribuição GNU/Linux, de maneira especial no GNU/Debian. Esta apostila foi gerada tendo como base o "Guia Foca GNU/Linux para Iniciantes", de Gleydson Mazioli da Silva, que pode ser acessado em "http://focalinux.cipsga.org.br/guia/iniciante/index.htm#contents".
A Gerência de Gestão de Ambientes – GGA, por meio da Coordenação de Planejamento,
Pesquisa e Capacitação – CPPC, espera que você possa aproveitar o conteúdo deste material para ampliar mais o seu conhecimento do Sistema Operacional GNU/Linux, e em especial, da distribuição Debian.
APOSTILA GNU/DEBIAN BÁSICO 2. O que é o GNU/Debian
"O Debian é um sistema operacional (SO) livre para seu computador. Um sistema operacional é um conjunto de programas básicos e utilitários que fazem seu computador funcionar. O Debian usa o kernel Linux, mas grande parte das ferramentas do sistema operacional vêm do projeto GNU, daí o nome GNU/Linux.
O Debian GNU/Linux é mais que um simples SO: ele vem com mais de 18733 pacotes contendo softwares pré-compilados e distribuídos em um bom formato, que torna fácil a instalação deles na sua máquina."
A última versão estável do Debian é 4.0, codinome "etch". A última atualização desta versão foi feita em 8 de Abril de 2007.
(fonte: http://www.debian.org
2.1. Quando surgiu?
O Debian foi iniciado em agosto de 1993 por Ian Murdock, como uma nova distribuição que seria feita abertamente, no espírito do Linux e do projeto GNU. O Debian deveria ser feito cuidadosamente e consciensiosamente e ser mantido e suportado com cuidado similar. Ele começou como um grupo pequeno de desenvolvedores de Software Livre e cresceu gradualmente para se tornar uma comunidade grande e bem organizada de desenvolvedores e usuários.
Debian é pronunciado /de.bi.ən/. e o nome vem do nome de seu criador, Ian Murdock, e sua esposa, Debra.
2.2. Codinomes
Para saber sobre os nomes que cada uma das versões do Debian recebeu, leia esta referência: http://www.debian.org/releases/
2.3. Stable, Testing e Unstable
O desenvolvimento da distribuição Debian segue um rígido controle de qualidade. A versão conhecida como estável (stable) é exaustivamente testada e corrigida. Quando o conjunto de pacotes atinge esta maturidade, eles são congelados (freeze) na versão em que estão, e uma nova versão estável é lançada.
O intervalo de tempo entre o lançamento de duas versões estáveis pode levar 1 ou até 2 anos. O compromisso é com a qualidade, ao contrário de outras distribuições que soltam "releases" incompletos, devido as pressões de mercado. Isto é motivo de alguma confusão para aqueles não habituados a utilizar o Debian. Quando uma nova versão de um pacote é lançada, digamos o GNOME 2.12, ele não é incluído na versão estável, que disponibiliza apenas a série 2.8 . Somente problemas graves, como um "bug" de segurança, é que permitem a alteração de um pacote da distribuição estável.
Digamos que a versão estável do Debian esteja utilizando o Apache 1.3.3. Se um "bug" de segurança for encontrado neste pacote, o time de desenvolvimento do Apache vai lançar a versão corrigida com o número 1.3.3, por exemplo. O time de desenvolvimento do Debian também vai corrigir o pacote, mas o número versão dele será alterado para 1.3.3-1, por exemplo. Alguém não habituado com o Debian pode achar que está usando uma versão errada. Na estrutura de diretórios do software a nova versão do Debian está nas "árvores" teste e instável. O time de desenvolvimento coloca seus pacotes na árvore experimental. Em seguida os pacotes são migrados para a instável e, após algum tempo, eles são migrados para a árvore teste.
Isto significa que ele já teve um tempo suficiente para testes e não apresentou problemas. É possível fazer a instalação de um sistema com a árvore teste, mas isso exige conhecimento para resolver problemas com pacotes "jovens".
A versão instável exige grande conhecimento e capacidade de resolver problemas de configuração e instalação.
O Debian tem sempre três versões em manutenção constante: "stable", "testing" e "unstable".
A distribuição "stable" contém a última distribuição oficialmente lançada pela
Essa é a versão de produção do Debian, ela é a recomendada primariamente. A distribuição "stable" do Debian GNU/Linux está atualmente na versão 4.0 e seu codinome é etch. Ela foi lançada em 8 de Abril de 2007.
A distribuição "testing" contém pacotes que não foram aceitos numa versão "stable" ainda, mas eles já estão na fila para serem aceitos. A principal vantagem de usar essa distribuição é que ela tem versões mais novas dos programas. A distribuição "testing" atual chama-se lenny.
É na distribuição "unstable" que o desenvolvimento ininterrupto do Debian ocorre.
Geralmente, os usuários dessa distribuição são os próprios desenvolvedores e pessoas que gostam de emoções fortes. A distribuição "unstable" sempre possuí o codinome sid.
2.4. Main, Contrib e Non-Free
Todos os pacotes incluídos à distribuição oficial do Debian são livres de acordo com a
Definição Debian de Software Livre http://www.debian.org/intro/free Isso assegura uso livre e redistribuição de pacotes com seu código fonte completo. A distribuição oficial do Debian é a que está contida na seção "main" do repositório do Debian.
Como um serviço para nossos usuários, provemos pacotes em seções separadas que não podem ser incluídas na distribuição "main" por causa de uma licença restritiva ou problemas legais.
Os pacotes podem ser classificados quanto ao tipo de Licença de Software que seguem.
No site do Debian podemos encontrar a seguinte explicação:
•Contrib - Pacotes nessa área são livremente licenciados pelo detentor do copyright mas dependem de outros pacotes que não são livres.
•Non-Free - Pacotes nessa área têm algumas condições na licença que restringem o uso ou redistribuição do software.
•Non-US/Main - Pacotes nessa área são livres mas não podem ser exportados de um servidor nos EUA.
•Non-US/Non-Free - Pacotes nessa área têm algumas condições na licença que restringem o uso ou redistribuição do software. Eles não podem ser exportados dos EUA porque eles são pacotes de criptografia que não são reconhecidos pelo procedimento de controle de exportações, que é usado para os pacotes que estão no Main. Ou então eles não podem ser armazenados em um servidor nos EUA porque eles estão envolvidos com problema de patentes. Pacotes nessa área não necessariamente custam dinheiro, mas têm algumas condições onerosas na licença restringindo o uso ou distribuição do software. •Non-US/Main e Non-US/Non-Free - Esses pacotes não podem ser exportados dos EUA, eles são em sua maioria pacotes de software de criptografia ou software que está obstruído por problemas com patentes. A maioria deles é livre mas alguns são não-livres.
Note que os mesmos pacotes podem aparecer em muitas distribuições, mas com números de versão diferentes.
2.5. Custo versus Benefício
Para evitarmos alguns enganos ou incompreensões, precisamos falar do elevado tempo entre novas versões do Debian. Quando uma versão estável é liberada, ela não é alterada a menos que apareça algum bug. Quando isto ocorre, apenas o pacote problemático é corrigido e não atualizado para a versão mais recente.
Isso torna-se um incômodo principalmente quando se faz a instalação de uma estação de trabalho. Geralmente um usuário quer a versão mais recente de determinado programa, seja por melhorias no código, seja por novas características. Se você estiver usando a versão estável, a única forma de conseguir isso é instalar a versão mais recente. Isso pode exigir desde a recompilação do próprio programa, até a recompilação dele e de seus pré-requisitos. Você não vai conseguir isso fazendo o "apt-get install".
Se a sua instalação for para um servidor, isso pode ser menos problemático. Na maior parte do tempo você estará suficientemente provido de bons pacotes. Um servidor também precisa de um administrador experiente e capaz de manter o sistema funcionando. Teoricamente ele seria capaz de instalar um pacote que não está na distribuição Debian. Em alguns casos, o CD de instalação pode não conter um "driver" para uma versão nova de controladora SCSI. Isso vai exigir mais do administrador para que ele consiga fazer a instalação do sistema operacional. Eventualmente, ele poderá gerar um disquete com os módulos necessários. Em casos como esse, as soluções começam a deixar de ser triviais. Com a intenção de utilizar versões mais novas de alguns pacotes, alguém pode ter a idéia de misturar a "árvore" estável com a teste ou pior, com a instável. Este procedimento pode gerar resultados imprevisíveis, e nem sempre você poderá encontrar ajuda por estar fazendo algo muito fora dos padrões.
Você deve saber isso antes de instalar um servidor ou uma máquina desktop. Se a versão estável pode ser "estável como uma rocha", ela pode ser tão dura quanto se precisar de um programa novíssimo!
APOSTILA GNU/DEBIAN BÁSICO 3. PARTIÇÕES, SISTEMA DE ARQUIVOS E ESTRUTURA DE DIRETÓRIOS
3.1. Partições
São divisões existentes no disco rígido que marcam onde começa onde terminam um sistema de arquivos. Por causa destas divisões, nós podemos usar mais de um Sistema Operacional no mesmo computador, ou dividir o disco rígido em uma ou mais partes para ser usado por um único Sistema Operacional.
Após criada e formatada, a partição será identificada como um dispositivo no diretório "/dev" e deverá ser montada para permitir seu uso no sistema.
No Linux, os dispositivos existentes em seu computador são identificados por um arquivo referente a este dispositivo no diretório "/dev". A identificação de discos rígidos no Linux é feita da seguinte forma:
| | | |__Indica o número da partição do HD.
| | |_ Letra que indica o HD (a=primeiro, b=segundo...).
| |_ Sigla que indica o tipo do HD (hd=ide, sd=scsi ou sata).
/dev/hda1 |_ Diretório onde são armazenados dispositivos do sistema.
3.2. Sistema de Arquivos
É criado durante a "formatação" da partição do disco. Após a formatação, toda a estrutura para leitura/gravação de arquivos e diretórios pelo Sistema Operacional estará pronta para ser usada. Normalmente este passo é feito durante a instalação de sua distribuição Linux.
Cada sistema de arquivos tem uma característica em particular mas seu propósito é o mesmo: Oferecer ao Sistema Operacional a estrutura necessária para ler/gravar os arquivos/diretórios.
3.3. Estrutura de Diretórios
O Linux acessa as partições existentes nos discos rígidos e disquetes através de diretórios. Os diretórios que são usados para acessar (montar) partições, são chamados de "Pontos de Montagem". No DOS, cada letra de unidade (C:, D:, E:) identifica uma partição de disco. No Linux, os pontos de montagem fazem parte da grande estrutura do sistema de arquivos raiz.
/ /bin
/boot /cdrom
Sistema raiz.
Contém arquivos necessários para inicialização do sistema. Ponto de montagem de unidades de CD-ROM.
Contém arquivos usados para acessar dispositivos existentes no computador.
Arquivos de configuração de seu computador.
/floppy /home
/media, /mnt /proc
/root /sbin
Ponto de montagem de unidades de disquetes. Diretórios contendo os arquivos dos usuários.
Bibliotecas compartilhadas pelos programa do sistema e módulos do kernel.
Pontos de montagem de outros dispositivos e unidades de rede.
Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou modificar o funcionamento de dispositivos do sistema através da alteração em seu arquivos.
Diretório de programas usados pelo superusuário para administração e controle do funcionamento do sistema.
Contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema.
3.4. Por que Criar Várias Partições ?
Vamos citar apenas uma razão, que é justamente a segurança. Caso venha ocorrer algum tipo de corrupção do sistema de arquivos, somente aquela partição será afetada, e desta forma, você terá apenas que restaurar (através de backups que tenha feito) ou refazer aquela partição, não necessitando realizar qualquer tipo de ajustes em outras partes do sistema. Hoje em dia, basicamente os usuários fazem pelo menos 4 partições:
/boot – partição para os arquivos de inicialização. / - partição para o sistema raiz. swap – partição para memória virtual. /home – partição para os dados dos usuários.
Muitos usuários avançados, assim como empresas de médio e grande porte, se sentem mais seguros colocando os diretórios cruciais do sistema em partições separadas.
APOSTILA GNU/DEBIAN BÁSICO 4. Usuários e Grupos
4.1. Usuário
Como o Unix foi concebido para que várias pessoas pudessem acessar a mesma máquina usando os seus recursos, foi criado o conceito de usuário para diferenciar o que cada pessoa estivesse fazendo e quais recursos ela pode utilizar.
A identificação do usuário é feita por um nome ou id, que é atribuído ao usuário durante a criação de sua conta no sistema. E para garantir que um usuários não acessem o trabalho de outro, ele deve informar uma senha que confirme a veracidade daquele id. Desta forma, o id + a senha é a chave de entrada para o usuário acessar o sistema.
O Linux possui o conceito de grupo, que serve para agrupar vários usuários que compartilham das mesmas características, por exemplo, permissão de acesso a arquivos e dispositivos.
4.3. Superusuário
O superusuário é aquele que tem plenos poderes dentro do Linux. É o superusuário que pode criar novos usuários, alterar direitos, configurar e fazer atualizações no sistema. Somente ele tem direito a executar essas atividades.
É recomendado utilizar a conta de superusuário somente quando for necessário configurar algo no sistema e mesmo assim, sendo o mais cauteloso possível para evitar algum erro que danifique o mesmo. O superusuário é identificado pelo nome de root.
4.4. Entrando no Sistema
Ao iniciar o Linux, um prompt semelhante ao ilustrado abaixo será mostrado: localhost login:
Você deverá informar seu login (nome de usuário) e pressionar Enter. Logo a seguir será solicitado o seu password (senha).
Ao digitar a senha, não será apresentado nada, nem sequer os famosos asteriscos "*", pois desta forma o sistema garante o sigilo absoluto de seu password, pois nem a pessoa que está ao seu lado, saberá quantas teclas você digitou.