Buscar

Apostila Debian Intermediario

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 167 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 167 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 167 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Apostila Debian
 Intermediário ­ Desktop
Parana
Apostila Debian Intermediário - Desktop Parana
Direitos autorais:
Essa   Apostila   está   licenciada   sob   uma   Licença   Creative   Commons   Atribuição­Uso   Não­Comercial­
Compartilhamento pela mesma licença 2.0 Brazil. Pode ser copiada, distribuída e modificada. Para ver uma 
cópia   desta   licença,   visite  http://creativecommons.org/licenses/by­nc­sa/2.0/br/   ou  envie   uma   carta  para 
Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
2
Documento Apostila Debian Intermediário - Desktop Parana
Versão 1.9
Data de Revisão 29 de Janeiro de 2010, por Robson Alves Pavan
Equipe Técnica Mantenedor: Robson Alves Pavan
Revisor: Robson Alves Pavan
Colaboradores: 
Robson Alves Pavan
Felipe Camargo de Pauli
André Lucas Falco
Andre Luiz de Souza Paula
Coordenação do projeto: Jonsue Trapp Martins
Páginas 168 páginas
Índice
APROFUNDANDO-SE NO APT............................................................................................9
APT (ADVANCED PACKAGE TOOL)................................................................................9
ARQUIVOS DE CONFIGURAÇÃO “APT.CONF”............................................................14
Grupos.........................................................................................................................15
Exemplos:....................................................................................................................15
ARQUIVO DE CONFIGURAÇÃO “PREFERENCES”.....................................................16
DPKG...............................................................................................................................18
Utilizando o dpkg.........................................................................................................18
Ações...............................................................................................................................19
Opções.............................................................................................................................21
 Exemplos de ocorrências mais comuns no uso do dpkg.................................................21
COMPILANDO PROGRAMAS A PARTIR DO CÓDIGO FONTE......................................25
GERENCIANDO DISCOS E PARTIÇÕES..........................................................................27
O QUE SÃO PARTIÇÕES...............................................................................................27
OBTENDO INFORMAÇÕES SOBRE AS PARTIÇÕES..................................................28
PARTICIONANDO DISCO COM CFDISK.......................................................................30
Excluindo uma partição...............................................................................................32
Salvando as alterações...............................................................................................32
SISTEMA DE ARQUIVOS...............................................................................................32
CRIANDO SISTEMA DE ARQUIVOS..............................................................................33
GERENCIADOR DE PARTIDA – GRUB.............................................................................34
TRABALHANDO COM DISCOS E PARTIÇÕES............................................................34
INSTALAÇÃO DO GRUB................................................................................................35
CUSTOMIZANDO O ARQUIVO MENU.LST...................................................................36
OUTROS PARÂMETROS DE CONFIGURAÇÃO DAS IMAGENS................................41
LINHA DE COMANDO DO GRUB...................................................................................42
RUNLEVEL..........................................................................................................................45
PROCESSO DE BOOT...................................................................................................45
CONHECENDO OS RUNLEVELS..................................................................................45
IDENTIFICANDO O RUNLEVEL EM UTILIZAÇÃO........................................................46
O ARQUIVO /ETC/INITTAB.............................................................................................46
ENTENDENDO O FUNCIONAMENTO DOS RUNLEVELS...........................................48
INSERINDO/ REMOVENDO SCRIPTS DO RUNLEVEL................................................49
SISTEMA DE LOGS............................................................................................................51
PRINCIPAIS ARQUIVOS DE LOG..................................................................................51
LENDO UM ARQUIVO DE LOG......................................................................................52
CONFIGURANDO O SYSLOG........................................................................................52
LOGGER..........................................................................................................................55
LOGCHECK.....................................................................................................................56
LOGROTATE...................................................................................................................57
CRON...................................................................................................................................61
COMANDOS........................................................................................................................64
ALIAS...............................................................................................................................64
BC....................................................................................................................................66
LAST................................................................................................................................73
LASTLOG........................................................................................................................75
NEWUSERS....................................................................................................................77
STAT................................................................................................................................77
CONVERT.......................................................................................................................80
CONVMV.........................................................................................................................81
Apostila Debian Intermediário - Desktop Parana
ICONV..............................................................................................................................82
Identificando a codificação de caractere do arquivo e a do sistema..........................83
PASTE..............................................................................................................................84
CUT..................................................................................................................................85
DD....................................................................................................................................88
FIND.................................................................................................................................90
XARGS............................................................................................................................95
FSCK................................................................................................................................96
FUSER.............................................................................................................................98LSOF..............................................................................................................................100
PIDOF............................................................................................................................101
NICE..............................................................................................................................102
RENICE.........................................................................................................................104
NOHUP..........................................................................................................................105
LSPCI.............................................................................................................................105
LSUSB...........................................................................................................................107
HWCLOCK.....................................................................................................................109
NMBLOOKUP................................................................................................................110
NSLOOKUP...................................................................................................................114
GERÊNCIA DE REDES DE COMPUTADORES...............................................................117
CAMADA OSI.................................................................................................................117
PROJEÇÃO DA ARQUITETURA TCP/IP SOBRE O MODELO OSI.............................119
EMPACOTAMENTO DE DADOS..................................................................................120
TCP/IP...........................................................................................................................121
CAMADA DE APLICAÇÃO............................................................................................122
CAMADA DE TRANSPORTE........................................................................................123
TCP............................................................................................................................124
UDP...........................................................................................................................124
Portas e soquetes......................................................................................................125
CAMADA INTER-REDES..............................................................................................126
IP...............................................................................................................................127
ICMP..........................................................................................................................128
ARP...........................................................................................................................128
CAMADA DE ENLACE..................................................................................................130
Ethernet.....................................................................................................................130
PARÂMETROS NECESSÁRIOS...................................................................................131
IP...............................................................................................................................131
Rede..........................................................................................................................132
Gateway.....................................................................................................................132
Nomes.......................................................................................................................132
PRIMEIROS SOCORROS.............................................................................................134
PING..............................................................................................................................135
WGET............................................................................................................................137
IFCONFIG......................................................................................................................138
up...............................................................................................................................140
down..........................................................................................................................140
IFUP E IFDOWN............................................................................................................141
ROUTE..........................................................................................................................142
Sintaxe.......................................................................................................................144
Exemplos...................................................................................................................145
5
Apostila Debian Intermediário - Desktop Parana
 IFTOP............................................................................................................................146
Primeira coluna..........................................................................................................147
Segunda coluna.........................................................................................................148
Terceira coluna..........................................................................................................148
Quarta, quinta e sexta coluna...................................................................................148
TRACEROUTE..............................................................................................................150
ttl (Time To Live)........................................................................................................151
ARP................................................................................................................................152
DIG.................................................................................................................................154
Servidor-de-nome......................................................................................................154
Tipo de pesquisa.......................................................................................................155
Objeto a ser pesquisado...........................................................................................155
Exemplos de saídas..................................................................................................155
MII-TOOL.......................................................................................................................157
Negociação................................................................................................................158
Alterar os modos disponíveis....................................................................................159
Mensagens de erro....................................................................................................160
NETSTAT.......................................................................................................................160
Primeira coluna (Protocolo utilizado)........................................................................161
Segunda coluna (Fila de dados a serem recebidos)................................................161
Terceira coluna (Fila de dados a serem enviados)...................................................161
Quarta coluna (Endereço local).................................................................................162
Quinta coluna (Endereço remoto).............................................................................162Sexta coluna (Estado)...............................................................................................162
Praticando.................................................................................................................162
GERENCIADOR WICD.................................................................................................163
Estrutura do Wicd......................................................................................................164
Funcionamento e configurações...............................................................................165
REFERÊNCIAS BIBLIOGRÁFICAS.................................................................................167
6
Índice de Figuras
Figura 1: Arquivo sources.list.........................................................................................................10
Figura 2: Tela principal do cfdisk....................................................................................................30
Figura 3: Cfdisk - criando uma nova partição.................................................................................30
Figura 4: Cfdisk - escolhendo o tipo de partição (primária ou lógica).............................................31
Figura 5: Cfdisk - definindo o tamanho da partição........................................................................31
Figura 6: Cfdisk - Selecionando tipo de partição............................................................................32
Figura 7: Exemplo resultado de uso do comando convert..............................................................81
Figura 8: Representação de uma consulta a um servidor WINS..................................................112
Figura 9: Camada OSI..................................................................................................................118
Figura 10: Saída do comando IFTOP...........................................................................................147
Figura 11: Janela do Wicd............................................................................................................165
Apostila Debian Intermediário - Desktop Parana
APROFUNDANDO-SE NO APT
No Debian temos basicamente duas formas de se instalar pacotes: (a) através das ferra-
mentas de instalação; (b) ou manualmente compilando o pacote. O Debian é capaz de trabalhar 
com diversas ferramentas de instalação, dentre elas destacamos o APT e o DPKG. Quando fala-
mos em instalação ou desinstalação em qualquer distribuição Linux, sempre esbarramos no termo 
pacote em vez de programa. Isso vem da ideia de empacotamento de programas, que é um agru-
pamento de dados que contém os arquivos e a estrutura indicativa de onde cada arquivo deve ser 
gravado no sistema para que o mesmo funcione corretamente, junto com um conjunto de instru-
ções que são executadas antes (preinst) e após (postinst) a instalação e remoção dos mesmos.
Cada distribuição Linux possui uma extensão representativa para seus pacotes. No Debian 
e seus derivados, a extensão utilizada é ”.deb”. Outra extensão comumente encontrada é “.rpm” 
que é oriunda das distribuições derivadas do RedHat. Ainda é possível encontrar arquivos binári-
os, como acontece quando instalamos alguns módulos proprietários de interfaces de rede. Estes 
possuem uma série de alternativas em seu corpo, permitindo que o módulo seja instalado inde-
pendente da distribuição (desde que ela seja suportada).
APT (ADVANCED PACKAGE TOOL)
O APT é a principal ferramenta de manipulação de pacotes do Debian. Com ele é possível 
instalar, remover, reinstalar, configurar, atualizar, etc... É uma ferramenta completa que possui 
muitos recursos que são utilizados através dos vários comandos do APT. Os comandos mais utili-
zados são o “apt-get” e o “apt-cache”. O APT possui uma ferramenta com interface gráfica que 
permite a instalação e remoção de pacotes. Ele se chama “Gerenciador de Pacotes Synaptic”.
 Antes de nos aprofundarmos no estudo do APT devemos fazer algumas observações sobre 
alguns pontos com relação a seu uso.
● Com exceção dos recursos de pesquisa do APT, todos os demais só podem ser exe-
cutado pelo superusuário (root). Quando tentamos utilizar esses recursos como usuários co-
muns, uma mensagem de erro parecida com “E: Não foi possível abrir arquivo de trava 
/var/lib/dpkg/lock – open (13 Permissão negada)” é apresentada na tela.
● Não é possível executar mais de uma instância simultaneamente. Enquanto uma ins-
tância estiver sendo executada as tentativas de se iniciar uma outra resultaram em erro, 
como “E: Não foi possível obter trava /var/lib/dpkg/lock – open (11 Recurso temporariamente 
indisponível)”. É comum esse erro acontecer na seguinte situação: algum usuário deixa o 
synaptic aberto ou esta efetuando as atualizações de segurança e tentar instalar algum pa-
cote através do APT.
9
Apostila Debian Intermediário - Desktop Parana
● Para o correto funcionamento do APT, os repositórios de onde serão baixados os pa-
cotes devem estar corretamente configurados no arquivo “sources.list” que se encontra no 
diretório “/etc/apt”.
 configuração do arquivo “sources.list” deve ser feita da seguinte forma: primeira-
mente deve ser passado o tipo de pacote que será instalado, onde o parâmetro 
“deb” o define que o repositório configurado nesta linha trará os pacotes que contêm os 
componentes que serão instalados, ou seja, os programas e toda estrutura necessária 
para seu funcionamento no sistema, e “deb-src” define os pacotes que contêm os códi-
gos fontes dos pacotes tipo “deb”. Em seguida devemos definir qual protocolo será utili -
zado para transferências dos pacotes (http ou ftp), seguido do endereço (ip ou nome) do 
repositório e do compartilhamento desejado. Após o endereço, devemos definir a qual 
release os pacotes devem pertencer e as seções desejadas (pacotes livres, livres de-
pendentes de proprietários ou integralmente proprietários).
A
Geralmente quando instalamos um pacote, para que funcione corretamente, ele depende de 
outros pacotes (que podem conter bibliotecas ou outros programas). Estes pacotes, os quais ele 
depende, chamamos de dependências. Um pacote pode ter várias dependências sendo que paco-
tes diferentes podem vir a ter dependências em comum e as próprias dependências podem vir a 
ter dependências, como numa grande teia de pacotes que unidos formam um sistema funcional.
Sabendo que um pacote possui dependências ao tentarmos instalá-lo, para que ele funcio-
ne, precisamos instalar também todas as suas dependências e as dependências de suas depen-
dências. Isso torna esse processo muitas vezes complexo e trabalhoso.
O APT é considerado por muitos como a melhor ferramenta para gerenciamento de pacotes 
principalmente devido a sua capacidade, através do apt-get, de quando acionando para instalação 
de um pacote, sempre seguir uma determinada ordem que possibilita a instalação dos pacotes e 
de todas as dependências necessárias para que ele funcione. A ordem seguida por ele é esta: ve-
rificar se o pacote existe na lista local, resolver as dependências, solicita ao servidor todos os pa-
cotes necessários, faz o download, descompacta, configura e instala os pacotes.
1. Verificação de existência do pacote: Verifica se o pacote indicado para instalação está 
disponível nos repositórios através da lista local de pacotes.
2. Resolver dependências: Caso o pacote exista, verifica quais são as suas dependências, 
10
Figura 1: Arquivo sources.list
Apostila Debian Intermediário - Desktop Parana
a disponibilidade delas e se alguma já está instalada no sistema. Quando encontra depen-
dências já instaladas, verifica se estão com a versão correta. Em seguida, caso não haja 
nenhum conflito com os pacotes instalados e suas dependênciassejam sanadas, será exi-
bido um relatório com toda relação de pacotes a serem instalados, removidos e atualiza-
dos, além de, em alguns casos, mostrar uma relação de pacotes sugeridos ou recomenda-
dos para instalação junto a uma solicitação de confirmação para continuidade do processo 
de instalação.
3. Baixar: Ele acessa o repositório configurado no “sources.list” e faz o download do pacote e 
de suas dependências para o seu computador, no diretório “/var/cache/apt/archives”.
4. Descompactar: O pacote é descompactado para iniciar a instalação.
5. Configurar: Todas as configurações necessárias para que a instalação se dê de forma 
acertada são realizadas. Estas configurações muita vezes não interagem com o adminis-
trador. Caso seja necessário que este informe algo ao instalador, será perguntado.
6. Instalar: Todos os componentes do pacote são copiados para os diretórios devidos.
Agora iremos ver algumas formas de uso do comando apt-get mostrando seus principais 
parâmetros:
 apt-get update – Existe uma lista, que contém uma descrição de todos os pacotes dispo-
níveis para o Debian, disponível dentro de cada repositório de pacotes. O “apt-get” consulta esta 
lista para saber o que pode ser instalado. Este comando faz uma comparação entre a lista que 
você têm armazenada e a lista que está no servidor de pacotes. Se a sua for mais velha, ele faz o 
download da mais recente. A atualização de um único pacote provoca o lançamento de um nova 
lista. Este comando sempre deve ser executado antes de se fazer a instalação de algum pacote e 
após efetuar alterações no arquivo “sources.list”.
 apt-get upgrade – Esta é a opção responsável pela atualização de pacotes. Quando 
você executa este comando, uma lista de pacotes é copiada do repositório para a máquina local 
do usuário, onde é feita uma comparação entre as versões de softwares existentes no repositório 
e na máquina local. Caso existam versões mais recentes para os programas que o usuário possui 
em seu sistema, então, o APT automaticamente atualizará estes programas no computador do 
usuário. Não é preciso dizer qual pacote você quer atualizar. Independente de ser apenas um, ou 
serem vários, ele fará toda atualização necessária.
 apt-get clean - Após a instalação de um pacote, não precisamos necessariamente man-
ter o arquivo ”.deb” em nosso sistema (em “/var/cache/apt/archives”). O processo de instalação 
não remove os pacotes baixados! Se você não remover os pacotes baixados, começará a acumu-
lá-los no disco rígido. Com o passar do tempo, isso pode causar um problema de falta de espaço. 
11
Apostila Debian Intermediário - Desktop Parana
O “apt-get clean” faz a remoção de todos os pacotes do diretório de cache do APT.
 apt-get install PACOTE - Executamos este comando para realizar a instalação de paco-
tes no sistema. Se quisermos instalar mais de um programa, basta escrever todos os nomes se-
parados por espaço na linha de execução do comando. Se um pacote precisa de outros para ser 
instalado, isto é, se ele tem pré-requisitos, eles também serão selecionados para instalação auto-
maticamente. Quando você requisita a instalação de um pacote que não tem dependências, a ins-
talação começa imediatamente. Caso existam dependências, elas são mostradas a você e o pro-
grama aguarda a sua confirmação (“s/n”) para continuar. Existem vários motivos para ele esperar 
por uma confirmação: a lista de dependências pode ser muito grande e você pode não querer ins-
talar todos os pacotes; pode não haver espaço em disco suficiente para instalar o programa e/ou 
suas dependências; o pacote ser incompatível com outro já instalado e exigir que este seja remo-
vido; ou, ainda, o repositório não é uma fonte confiável para o Debian, que acontece quando não 
existe na máquina a chave pública do repositório de onde vem a atualização. Existe ainda, um 
caso em que há mais de uma versão disponível para o mesmo pacote. Se um pacote chamado 
“nome” possui uma versão “1.0-0” e “2.0-0”, por exemplo, a versão mais nova será instalada por 
padrão, entretanto, podemos querer instalar a versão mais antiga (1.0-0), tendo que executar o 
comando da seguinte forma: 
# apt­get install nome=1.0­0
 apt-get dist-upgrade - Possibilita a atualização completa da distribuição utilizada pelo 
usuário. É importante que o usuário tenha em mente que a execução deste comando num sistema 
que utilize meta-pacotes customizados, como é o caso do “Debian Desktop Paraná” usado na Ce-
lepar, ou versões de software instaladas manualmente (através de compilação do código fonte, 
por exemplo), poderão gerar problemas graves, impossibilitando inclusive o uso posterior do siste-
ma. Para a devida utilização deste comando, é necessário alterar o arquivo de configuração do 
APT, o “/etc/apt/sources.list”, configurando o mesmo para utilizar os repositórios da nova distribui-
ção que será instalada no sistema.
 apt-get remove PACOTE - Remove um ou mais pacotes. Esta operação faz a desinstala-
ção de um pacote do sistema e não a remoção do “.deb” do diretório de cache do APT. Em alguns 
casos, os arquivos de configuração e/ou dados do pacote são mantidos. Isso pode ser bom ou 
ruim. Se você removeu um pacote por acidente, todo o seu trabalho de configuração dele ainda 
estará preservado. Preste atenção às mensagens mostradas durante a remoção de um pacote 
para saber o que está acontecendo. Observe também que, se algum pacote depende do pacote a 
ser removido, esse pacote também será removido.
 apt-get --purge remove PACOTE - Remove um ou mais pacotes e seus respectivos ar-
quivos de configuração.
12
Apostila Debian Intermediário - Desktop Parana
 apt-get source PACOTE - Possibilita que o código fonte de um programa seja copiado 
para máquina local em vez do binário do programa e seus scripts de configuração, que compõem 
o pacote do programa propriamente dito. Para baixar arquivos contendo o código fonte de progra-
mas para sua máquina, é necessário configurar adequadamente o arquivo “/etc/apt/sources.list”. 
Para isso, veja o tópico “Reconfigurando a lista de pacotes”, na sequência.
 apt-get build-dep PACOTE - Este comando tenta satisfazer as dependências que um de-
terminado pacote contendo código fonte de um programa possui, para ser compilado. Por exem-
plo: suponha que você deseja recompilar o código fonte do “tuxracer” (um jogo). Se você executar 
o comando “apt-get build-dep tuxracer”, o APT tentará instalar todos os pacotes que sejam neces-
sários para compilação do pacote “tuxracer”. Em algumas situações, é necessário instalar pacotes 
além daqueles que são trazidos automaticamente pelo comando “apt-get build-dep”. Isto é algo 
natural e você deverá se acostumar a estas situações.
 apt-get check - É uma ferramenta de diagnóstico. Ele atualiza o cache de pacotes e veri-
fica se há alguma dependência quebrada que necessita ser resolvida (utilizando-se “apt-get -f ins-
tall”) no sistema.
 apt-get install --reinstall PACOTE - Em algumas situações, precisaremos reinstalar um 
pacote já presente no sistema. Para isso, podemos utilizar este o comando que permite fazer isso. 
Tome o cuidado de fazer uma cópia dos seus arquivos de configuração para não ter surpresas de-
sagradáveis. 
Além do “apt-get” vamos ver também o uso do “apt-cache” que é a ferramenta de pesquisa 
do APT. Através das ferramentas de pesquisa podemos procurar por pacotes assim como pesqui-
sar informações mais detalhas sobre um determinado pacote.
 apt-cache search NOME - Para procurar por um pacote qualquer, executamos este co-
mando. Ele faz uma pesquisa na lista de pacotes disponíveis, procurando pacotes que possuam a 
expressão fornecida no argumento “NOME”. A saída deste comando, apresenta todos os pacotes 
que apresentam a palavra fornecidacomo argumento em parte do nome ou na descrição do paco-
te. Existem formas mais complexas de busca que podem ser mais claras ou mais específicas, 
mas geralmente, a utilização do comando “grep” para filtrar a saída já é suficiente para grande 
maioria dos casos.
 apt-cache show PACOTE - Uma vez descoberto o nome correto do pacote Debian, você 
pode visualizar todas as informações sobre o pacote, bem como seu mantenedor, sua versão, sua 
descrição, dentre outras informações relevantes.
 apt-cache showsrc PACOTE – Tem a mesma função que o comando “apt-cache show”, 
porém, atua mostrando informações sobre pacotes fontes.
13
Apostila Debian Intermediário - Desktop Parana
ARQUIVOS DE CONFIGURAÇÃO “APT.CONF”
O apt possui a possibilidade, como quase todas aplicações utilizadas no Debian, de ser alte-
rado, personalizado, ou seja, configurado de acordo com o interesse do administrador por meio de 
arquivos de configuração. Sempre que uma ferramenta do grupo APT é iniciada, ela irá ler os ar-
quivos de configuração para saber qual será o seu comportamento. Nas versões anteriores ao De-
bian Lenny, essas configurações eram realizadas no arquivo /etc/apt.conf. A partir da versão 
Lenny, distribuição esta que é a consistência do Desktop Paraná sob a versão 2.x, foi criado um 
diretório que aloca vários arquivos de configuração. O diretório é o /etc/apt/apt.conf.d, e dentro de-
les podemos encontrar vários arquivos. Estes arquivos seguem a mesma sintaxe do antigo apt.-
conf, com a diferença de existir um arquivo para cada configuração diferente. Para que o apt saiba 
qual arquivo tem maior prioridade em relação ao outro, o nome dos arquivos deve iniciar com um 
número de 00 a 99.
odas as opções que são passadas pelo usuário através da linha de comandos sob-
rescrevem as configurações contidas no arquivo “apt.conf”.T
!! Por motivos estritamente didáticos, iremos, a partir de agora, indicar cada ar-
quivo desses que podem ser alocados dentro do diretório /etc/apt/apt.conf.d 
como apt.conf. !! 
O arquivo “apt.conf” é organizado sob a forma de árvore em divisões funcionais, como por 
exemplo: o grupo “APT”, o grupo “Acquire”, o grupo “DPKG” e a seção “Dir” (para diretórios de 
configuração). Sintaticamente, o arquivo pode ser configurado sob as seguintes formas:
APT::Get::Assume­Yes "true";
ou
APT {
  Get {
    Assume­Yes "true";
  };
};
Nos exemplos acima, podemos perceber que tanto os caracteres “::”, quanto “{“ e “};”, são 
utilizados para definir qual o grupo funcional, seção e opções estamos tratando naquele espaço 
do arquivo de configuração. Em ambos exemplos que citamos (acima), estamos tratando da op-
ção “Assume-Yes, da seção “Get”, do grupo funcional “APT”, contudo, de formas sintaticamente 
diferentes, mas produzindo o mesmo resultado.
Linhas que se iniciam com os caracteres “//”, ou um bloco de texto, que se inicia com “/*” e 
termina com “*/”, são considerados comentários e são ignorados.
14
Apostila Debian Intermediário - Desktop Parana
A seguir explicaremos a finalidade de cada grupo funcional, que pode ser configurado atra-
vés do “apt.conf”:
Grupos
– O grupo “APT”
É utilizado para controlar as opções gerais para uso de todas as ferramentas do APT.
– O grupo “Acquire”
É divisão funcional usada para configurar as rotinas de download de pacotes e manipuladores 
de URI's utilizados pelas ferramentas do APT.
– O grupo “Dir”
Definição de layout de diretórios. Usado para a configuração dos diretórios que serão utiliza-
dos pelo APT.
– O grupo “Dselect”
Configurações que afetam o uso da ferramenta “dselect”, quando ela é utilizada em conjunto 
com o APT.
– O grupo “DPKG”
Configurações que afetam o uso do dpkg. As opções que fazem parte desta seção, alteram a 
forma normal como o dpkg atua, quando invocado pelo APT. 
– O grupo “Debug”
Utilizado para configurar opções para depuração no uso das ferramentas do APT.
Cada um destes grupos funcionais possui uma gama própria de opções, que não discutire-
mos aqui, por ser muito vasta (cabe a vocês, caso Se você precisar saber qualquer detalhe sobre 
as opções que podem ser utilizadas neste arquivo de configuração, estude a documentação oficial 
do arquivo, através do comando:
# man apt.conf
Exemplos:
Exemplo 01: Configurando um serviço de proxy para ser utilizado pelo APT. Esta configura-
ção possibilita buscar pacotes de programas na Internet através de um servidor proxy existente na 
sua rede.
Acquire
15
Apostila Debian Intermediário - Desktop Parana
{
   http
   {
     Proxy “http://usuario:senha@proxy.organizacao:8080/”;    
   };
};
Exemplo 02: Configurando a arquitetura e release (versão) padrão dos pacotes a serem uti-
lizados pelo sistema.
APT 
{
   Architecture "i386";
   Default­Release “stable”;
};
Exemplo 03: Configurando o diretório de cache do APT.
Dir “/”
{
   Cache "var/cache/apt/" 
   {
      Archives "archives/";
      srcpkgcache "srcpkgcache.bin";
      pkgcache "pkgcache.bin";     
   };
};
Um ótimo arquivo de exemplos de configuração do “apt.conf” pode ser encontrado em 
“/usr/share/doc/apt/examples/configure-index.gz”.
se o comando # cat /etc/apt/apt.conf.d/* para ver todas as configurações do apt de 
uma só vez.U
ARQUIVO DE CONFIGURAÇÃO “PREFERENCES”
O arquivo “/etc/apt/preferences” controla a prioridade de versão de pacotes. É possível man-
ter fontes stable, testing e unstable ao mesmo tempo. Caso tenha inserido no arquivo 
“/etc/apt/sources.list” repositórios de versões diferentes (stable e testing por exemplo) é necessá-
rio criar o arquivo “preferences” para que possa na instalação selecionar qual versão terá priorida-
de e de qual versão você deseja instalar os pacotes.
16
Apostila Debian Intermediário - Desktop Parana
uito cuidado quando estiver trabalhando com versões diferentes, uma má instala-
ção de pacote pode gerar quebras de pacotes e até mesmo a paralisação do siste-
ma. Isso acontece muito facilmente quando se usa um sistema personalizado, como o 
Desktop Paraná.
M
Segue um exemplo para o arquivo “preferences”:
Package: * Pin: release a=stable Pin­Priority: 900
Package: *
Pin: release a=testing
Pin­Priority: 400
Neste exemplo para todos os repositórios stable, a prioridade será 900 e para testing 400, 
ou seja, vale a prioridade mais alta, então o stable será a opção default. Sempre que utilizarmos o 
comando “apt-get” com as opções “install”, “update”, “upgrade”, “source” e “dist-upgrade”, o pacote 
será do stable.
Para instalar pacotes do testing devemos utilizar o comando:
# apt­get ­t testing install [pacote] 
 comando acima só funcionará SE, e somente SE, no sources.list, os repositórios 
estiverem com a release definida como testing e stable. Não é aconselhável se utili-
zar estes valores, porque caso haja uma alteração de release, um administrador descui-
dado pode acabar instalando pacotes de versões novas em versões antigas. Utilizamos 
esta nomenclatura nesta apostila para facilitar eventuais atualizações da mesma.
O
O mesmo procedimento se aplica as opções “update”, “upgrade”, “dist-upgrade” ou “source”.
Podemos definir que um pacote sempre venha da release testing. Para isso, dentro do ar-
quivo “/etc/apt/preferences”, defina a prioridade específica de um pacote. Veja o exemplo abaixo:
Package: amule
Pin: release a=testing
Pin­Priority: 905
O pacote desejado vai ter prioridade maior que o de qualquer outro release, então o pacote 
desejado será da release testing.
Resumindo: podemos, se tivermos conhecimento suficiente para resolver problemas de de-
pendências desencontradas, conflitos, estrutura de diretórios e pacotes, e compilação de aplicati-
vos, ter pacotesde várias releases em um único sistema. Algumas vezes, existirá a facilidade de 
se usar o apt para instalação destes pacotes, tendo o arquivo preferences como um forte aliado 
nesta tarefa. Podemos priorizar uma release em geral, e configurar exceções para pacotes espe-
cíficos.
17
Apostila Debian Intermediário - Desktop Parana
DPKG
O dpkg é considerado a base do Sistema de Gerenciamento de Pacotes do Debian e das 
distribuições que dele derivam. O dpkg é capaz de instalar, remover e fornecer informações sobre 
os pacotes .deb. É muito usado por usuários avançados da Debian e desenvolvedores para fins 
de instalação, manutenção e construção de pacotes. 
Ele também é utilizado como Back end por ferramentas como “apt-get” e “aptitude”, devido 
aos fatos de ser muito bom na instalação de pacotes, porém falhar nas tarefas de ser capaz de 
buscar pacotes em lugares remotos ou resolver conflitos complexos nas dependências dos paco-
tes. Assim, estes outros comandos resolvem estes problemas e, na hora de realizar a instalação 
em si, chamam-no para o trabalho sujo.
Hoje em dia utilizamos o dpkg principalmente como ferramenta de obtenção de informações 
sobre os pacotes instalados no sistema, na manipulação de pacotes (criação e extração) e na re-
solução de problemas com pacotes. Para instalação, utilizamos o apt, que, como já dito, chama o 
dpkg para realizar a instalação. Os passos seguidos por ele são: (a) desempacotar os arquivos 
debian; (b) executar o preinst; (c) alocação dos arquivos nos seus devidos lugares; (d) executar o 
postinst.
s arquivos de configuração e os scripts de instalação ficam dentro do diretório 
/var/lib/dpkg/info/NomeDoAplicativo. Os scripts utilizam a linguagem shell script, na 
maioria das vezes. Dê uma onlhado nos arquivos que lá existem.
O
O dpkg é composto por uma série de ferramentas que desempenham funções especificas 
em relação aos pacotes Debian. A seguir iremos fazer uma breve breve descrição do que as prin-
cipais ferramentas fazem.
● dpkg - Desempenha a função em “senso estrito” do comando;
● dpkg-source - Empacota e desempacota os arquivos fontes de um .deb;
● dpkg-deb - Empacota e desempacota pacotes binários;
● dpkg-reconfigure - Permite que o usuário execute ajustes nos pacotes já instalados no 
sistema. Também é conhecido como “reconfigurador de pacotes”. É uma das ferramentas mais 
utilizadas do conjunto de aplicações do dpkg.
Utilizando o dpkg
O comando dpkg possui a seguinte sintaxe:
Sintaxe: dpkg <ações> <opções> <pacotes>
18
Apostila Debian Intermediário - Desktop Parana
Ações
As principais ações são:
-i end<pacote> – Instala um pacote no sistema sem resolver dependências.
--unpack end<pacote> – Desempacota um arquivo .deb extraindo o conteúdo e montando 
uma estrutura de diretórios e arquivos de acordo com o esqueleto que foi usado na sua constru-
ção. Perceba que não será descompactado em qualquer lugar, mas sim no lugar pré-definido. Se 
o administrador verificar com o “dpkg -l” o status do arquivo verificará que o pacote possuirá a op-
ção U. Isto indica que o aplicativo foi somente descompactado, e não instalado da forma padrão.
-X end<pacote> <diretório> – Faz a mesma coisa que o comando anterior, porém, em vez 
de extrair os arquivos nos seus devidos lugares, ele permite que o usuário escolha um novo desti-
no. A diferença crucial está no fato de o --unpack realizar a criação dos arquivos a partir do barra 
(/) e o -X iniciar a partir do diretório que você especificar, que será um “barra” falso. Você poderá 
executar o aplicativo digitando o endereço completo do executável, ou colocando o binário dentro 
do PATH do usuário que o irá executar.
--configure pacote – Irá realizar a configuração de todos os pacotes parcialmente instala-
dos nos sistema (ou seja, que deram pau por algum motivo durante a instalação). Durante a insta-
lação, algum erro pode vir a aparecer, fazendo com que o dpkg seja interrompido. Utilizando este 
comando, normalmente os problemas são resolvidos, já que normalmente utilizamos o apt para 
instalações (que sempre procura tomar cuidado com todos os aspectos da instalação para evitar 
quase todos os problemas do mundo). Normalmente, os problemas são originados por algo não 
relacionado aos scripts de instalação (como queda de luz, problema com permissões, tráfego da 
rede, mal configuração dos repositórios, etc). Caso o problema seja causado pelos próprios
scripts, o administrador terá que editá-los (preinst e postinst).
-r <pacote> – Desinstala um pacote do sistema sem remover os arquivos de configuração 
deste, se existirem.
-P <pacote> – Faz a remoção completa de um pacote do sistema, incluindo arquivos de da-
dos, de configuração, etc.
-C – Auditoria de pacotes mal instalados. Procura por pacotes que foram instalados somente 
parcialmente em seu sistema. O legal dele é que indica o que pode ser feito para que o problema 
seja sanado.
--get-selections <padrão> – Procura na lista de aplicações instalados no sistema pela ex-
pressão fornecida através do argumento “padrão”, ou, no caso deste não ser definido, todos os 
pacotes que já passaram pelo sistema. Os pacotes que estejam com o valor “install” indicam as 
aplicações instaladas, enquanto os que possuírem valor “deinstall” os desinstalados.
19
Apostila Debian Intermediário - Desktop Parana
--print-architecture – Imprime a arquitetura padrão utilizada pelos pacotes instalados no 
sistema.
-l <pacotes> (ele)– Lista todos os pacotes instalados no sistema com suas respectivas in-
formações, podendo ter status diferentes: estar instalado corretamente com o apt, ter sido apenas 
desempacotado, ter tido sua instalação interrompida durante a instalação, etc. É muito utilizada 
pelos administradores. Opcionalmente, você poderá especificar o nome de um ou mais pacotes 
(separados por espaços) para verificar suas informações.
-s <pacote> – Lembre-se deste s como s de show. Exibe as informações sobre um determi-
nado pacote, podendo este estar já instalado ou então ter sido instalado uma vez na vida. Estas 
informações são retiradas do arquivo “/var/lib/dpkg/available”.
-I end<pacote> (i)– Exibe uma série de informações acerca de um pacote. Sempre, como 
pode ser visto na sintaxe, devemos indicar o pacote com o endereço completo. Se o administrador 
tentar utilizar apenas o nome do pacote, o erro “Arquivo ou diretório não encontrado” será apre-
sentado na tela. As informações apresentadas são parecidas com as do parâmetro “-s”, porém o 
pacote não precisa ter sido instalado nunca, e temos uma informação adicional: o tamanho do ar-
quivo de controle e uma descrição de o quê o compõe e quanto ocupa de espaço (conffiles, con-
trol, md5sums, postinst, preinst, posrm e prerm).
-S <arquivo> – Permite descobrir qual é o pacote que possui algum arquivo. Ele é muito in-
teressante, já que o administrador pode utilizar um comando em um computador que não existe 
em outro. Para saber o nome do pacote, basta ir até o computador que o possui e verificar, com 
esta opção, aquele pacote que o possui. Como já foi dito, ele pode ser usado para qualquer arqui-
vo, não somente um binário (ex: sources.list).
O resultado será mostrado da seguinte forma:
pacote: linha que contém o arquivo (diretórios também é um arquivo)
-L <pacote> – Mostra todos os passos executados pelo dpkg na instalação de um pacote na 
fase de alocação dos arquivos dentro de seus respectivos diretórios. Veja que o arquivo de confi-
guração fabiqueta.conf do pacote fabiqueta (pacote fictício) para ser alocado dentro do diretório 
“/etc/fabiqueta”, precisa criar o diretório fabiqueta. Então a ordem será:
/
/etc
/etc/fabiqueta
/etc/fabiqueta/fabiqueta.conf
Desta forma, o administrador consegue saber exatamente ondeestá cada um dos diretórios 
e arquivos criados originalmente pelo pacote.
20
Apostila Debian Intermediário - Desktop Parana
aso um pacote venha a ser removido, este comando terá sua fonte atualizada e 
mostrará apenas aqueles arquivos e diretórios que ainda existem. Para você verifi-
car o seu funcionamento, instale o pacote tuxpaint, utilize este parâmetro, remova com 
o dpkg -r e então verifique novamente a saída do comando com o parâmetro “-L”. Você 
observará que somente os arquivos de configuração permanecem no computador.
C
-c end<pacote> – A saída é exatamente a mesma que a do -L1, com a diferença que o -c 
verifica todos os diretórios e arquivos que serão criados na instalação do pacote, diferente do -L 
que verifica quais arquivos e diretórios existem realmente, ou seja, de aplicações instaladas. Ele é 
interessante para que o administrador verifique, caso tenha alguma dúvida, se a instalação irá cri-
ar algum diretório ou arquivo no lugar de um outro já existente.
u seja: -L para aplicações instaladas e -c para pacotes .deb de aplicações não ne-
cessariamente instaladas.O
Opções
As opções do comando dpkg tanto podem ser especificadas através da linha de comandos, 
como através do arquivo de configuração do dpkg, o “/etc/dpkg/dpkg.cfg”. As principais opções 
são:
-B – Quando um pacote é desinstalado do sistema, pode ocorrer que outros pacotes ainda 
instalados dependam do que foi removido. Esta opção faz com que estes pacotes também sejam 
removidos do sistema automaticamente.
--no-act – Faz uma simulação de acordo com as ações envolvidas. Por exemplo, você pode 
simular a instalação ou remoção de um pacote para verificar se algum erro será gerado pelo siste-
ma de gerenciamento de pacotes. Tenha certeza que você especificou esta opção antes da cita-
ção de qualquer ação na linha de comando, caso contrário, esta opção não terá efeito e a ação 
será desempenhada de fato.
-R – Faz com que o dpkg opere no modo recursivo.
--log=arquivo – Permite especificar um arquivo onde o dpkg vai realizar os registros das 
suas operações. Por padrão isto é feito em “/var/log/dpkg.log”.
Exemplos de ocorrências mais comuns no uso do dpkg
Vamos exemplificar agora tudo que foi visto. Verifique se seu apt está configurado correta-
mente. Vamos começar fazendo download de um pacote dos repositórios utilizando o dpkg.
# apt­get clean
1 Isso quando o pacote está instalado corretamente, da forma original, já que o -L verifica até pacotes que foram 
removidos sem a purificação de arquivos de configuração.
21
Apostila Debian Intermediário - Desktop Parana
# apt­get update
# apt­get install ­d sl
aso o aplicativo sl já esteja instalado, será necessário reinstalar a aplicação utilizan-
do o parâmetro “-d” da mesma forma como mostrado acima.C
O pacote foi descarregado dentro do diretório “/var/cache/apt/archives ” . Entre nele para que 
nossas atividades tornem-se mais fáceis. Para verificar se a aplicação está funcionando, digite “sl” 
e pressione <Enter>. Um erro aparecerá. Isso quer dizer que o pacote .deb foi descarregado no 
seu computador, porém não foi instalado (quem fez isso foi o parâmetro “-d”, que indica download 
only). Verifique o nome exato do pacote e instale-o.
# ls ­l sl*
­rw­r­­r­­ 1 root root 25124 2007­12­02 17:47 sl_3.03­15_i386.deb 
# dpkg ­i sl_3.03­15_i386.deb 
Selecionando pacote previamente não selecionado sl. 
(Lendo banco de dados ... 95880 arquivos e diretórios atualmente 
instalados). 
Desempacotando sl (de sl_3.03­15_i386.deb) ... 
Configurando sl (3.03­15) ... 
Processando gatilhos para man­db ...
# sl
O trem tá funcionando. Então agora podemos realizar novos testes. Apesar do aplicativo es-
tar funcionando, será que o sistema sabe que ele está lá?
# dpkg ­­get­selections sl
sl                                              install
Um aplicativo tão pequeno, de nada, sem utilidade nenhuma como este, provavelmente não 
tem quase nenhum arquivo criado no nosso computador, certo? Verifique:
# dpkg ­L sl
Parece que o criador do sl tava meio que desempregado e sem ocupação, no mínimo. Tem 
muita coisa, e, com o comando anterior, pudemos verificar o que foi criado pelo arquivo de contro-
le do pacote sl. Conseguimos descobrir que até mesmo quem digitar errado o ls esquecendo o 
<Caps Lock> ligado vai ser zoado (veja que possui um binário dentro do “/usr/bin” chamado LS).
Chega de sl, vamos removê-lo do sistema. Quando instalamos, o pacote .deb teve que ser 
apresentado ao dpkg, mas agora que ele já está no sistema, como podemos lembrar, existem lis-
tas que o registraram e agora só precisamos indicar o nome da aplicação, e não do pacote.
# dpkg ­r sl
22
Apostila Debian Intermediário - Desktop Parana
(Lendo banco de dados ... 94224 arquivos e diretórios atualmente 
instalados). 
Removendo sl ... 
Processando gatilhos para man­db ... 
Removido! E agora vamos verificar novamente se o sistema está realmente alerta:
# dpkg ­­get­selections sl 
sl                                              purge 
Tá lá. Cadê o deinstall? Não tá lá, porque o deinstall só aparece quando temos um aplicati-
vo desinstalado que possui seus arquivos de configuração ainda presentes na estrutura de diretó-
rios do sistema. Você deve estar se perguntando, “mas eu não usei o -P de purge”. Realmente. 
Acontece que o purge aparece quando não existem os arquivos de configuração e a aplicação 
está desinstalada. No caso do sl, ele é um aplicativo muito simples, por isso, não possui arquivo 
de configuração. Ele sempre passa do status install para o status purge. Se nós tivéssemos insta-
lado um pacote com arquivos de configuração, utilizando o “-r” para removê-los, os arquivos serão 
mantidos, enquanto com o “-P” os arquivos de configuração serão removidos.
Como já vimos, foi muito fácil instalar o pacote sl. A instalação possui vários processos reali-
zados, definidos pelos arquivos de controle, preinst e posinst. Se quisermos realizar a criação de 
todos os diretórios da estrutura que o aplicativo irá assumir, e criar todos os arquivos necessários 
para o seu pleno funcionamento, podemos simplesmente extraí-lo. Iremos realizar essas ativida-
des de duas formas diferentes. A primeira será realizar a extração nos lugares definidos pelo de-
senvolvedor, e a segunda a extração será realizada a partir do diretórios especificado pelo admi-
nistrador.
Primeiro caso: 
# sl
­su: /usr/bin/sl: Arquivo ou diretório não encontrado 
# dpkg ­­unpack sl_3.03­15_i386.deb 
Selecionando pacote previamente não selecionado sl. 
(Lendo banco de dados ... 95880 arquivos e diretórios atualmente 
instalados). 
Desempacotando sl (de sl_3.03­15_i386.deb) ... 
Processando gatilhos para man­db ... 
#
# sl
Como esse pacote não exige que o administrador configure e execute procedimentos mais 
complexos, o simples fato de terem sido criados diretórios definidos pelo desenvolvedor já é o su-
ficiente para que a aplicação funcione. Utilizando o dpkg -L você poderá verificar que todos os ar-
quivos do pacote foram alocados nos seus respectivos lugares. Podemos inferir, então, que o “--
unpack” é a etapa de criação de diretórios e alocação de arquivos já falada anteriormente. Mas e 
23
Apostila Debian Intermediário - Desktop Parana
se quiser instalar o pacote em um lugar diferente do especificado pelo desenvolvedor?
# mkdir /Saci/Teste ; dpkg -x sl_3.03-15_i386.deb /Saci/Teste
O comando acima criou o diretório /Saci/Teste e, logo após, foi desempacotado o conteúdo 
do sl..... com toda sua estrutura a partir do diretório /Saci/Teste. Entre no diretório e verifique com 
o comando “tree” como tudo está.
24
Apostila Debian Intermediário - Desktop Parana
COMPILANDO PROGRAMAS A PARTIR DO CÓDIGO FONTE
Embora, atualmente,a maioria dos programas para o GNU/Debian estejam disponíveis para 
instalação por meio de pacotes, ainda assim, em alguns casos, é preciso compilar programas a 
partir de seu código fonte. Mas o que é compilar um programa? É a ação de criar um arquivo ins-
talador a partir do código fonte de uma aplicação adaptando-o ao sistema ao qual será instalado. 
Isso é necessário, porque algumas vezes uma aplicação possui versão criada para uma distribui-
ção e não para outra. Podemos baixar o código fonte da aplicação e adaptá-la à nova versão. 
Adaptar é indicar ao executável instalador onde ficam alguns diretórios do sistema (como o 
/var/log para arquivos de logs e o /etc para arquivos de configuração, no Debian) que serão ne-
cessários durante a instalação do aplicativo. Também é possível, durante a compilação do progra-
ma, fazer configurações ativando módulos que por padrão não estão. Ou seja, compilar um pacote 
significa adaptá-lo a um sistema operacional para qual não foi criado e permitir configurações na 
instalação que visam otimizar o desempenho do aplicativo que é instalado.
De modo geral, códigos fonte são distribuídos através de arquivos compactados. A grande 
maioria destes arquivos possui uma estrutura de diretórios, os arquivos fonte em si, um arquivo de 
configuração chamado “Makefile”, documentação e outros arquivos encapsulados em um arquivo 
no formato “tar”, com compressão de dados, usando gzip (“.tar.gz” ou “.tgz”), ou bzip2 (“.bz2” ou 
“.tbz2”).
uando começarmos a usar o tar, para extrair arquivos compactados com o gzip utili-
zamos o parâmetro z, enquanto que para extrair arquivos compactados com o bz2 
utilizaremos o parâmetro j. Uma forma de lembrar qual utilizar é BeiJando o GiZ.
Q
Para iniciar a compilação de um código fonte, a primeira coisa a se fazer é obter o código 
para ser compilado. Após o arquivo que contém o código fonte estar disponível localmente, você 
deverá extrair o conteúdo para um diretório adequado a compilação (ex.: /comp-louco). Os arqui-
vos-fontes são, no padrão Debian, agrupados e compactados em arquivos tarball. Para realizar 
nossos testes iremos utilizar um arquivo fonte que possui o código do aplicativo TAL. Para extrair 
o seu conteúdo, use um dos comando abaixo:
tar ­xvzf nome_do_arquivo.tar.gz
             ou 
tar ­xvjf nome_do_arquivo.tar.bz2
Após a extração do conteúdo do arquivo compactado, é necessário entrar no diretório que 
foi criado durante a extração dos arquivos utilizando o comando “cd”. O programa mais utilizado, 
para compilar códigos fonte no GNU/Linux é o “gcc”, um compilador C/C++ livre. De maneira ge-
ral, alguns pacotes GNU são necessários para compilar um programa de código livre. Os mais co-
25
Apostila Debian Intermediário - Desktop Parana
muns na distribuição Debian, são os pacotes: “make”, “autoconf”, “gcc”, “g++” e “libc6-dev”.
A seguir listaremos os procedimentos gerais para configuração/compilação de códigos fon-
tes no GNU/Debian, estes procedimentos podem variar um pouco dependendo do código que se 
está compilando mais informações sobre a compilação do código, você encontrara no arquivo 
“README.txt” descompactado junto com o código fonte.
• Executar o arquivo “configure” – Este arquivo é um script shell que examina o siste-
ma para verificar se diversas dependências necessárias para compilar o projeto serão sa-
tisfeitas. Ele deve ser executado digitando-se “./configure” dentro do diretório que contém o 
código-fonte do programa a ser compilado. Esse script, também pode conter parâmetros 
que podem ser passados na linha de execução para configuração de opções especificas, 
para consultar a lista de parâmetros disponíveis, tente executar o script “./configure --help”. 
Se o script “configure” não encontrar alguma das dependências necessárias para compila-
ção do programa, um erro é gerado e a execução é finalizada automaticamente, gerando 
uma mensagem semelhante à abaixo:
checking for SDL ­ version >= 1.2.0... no
configure: error: *** SDL version 1.2.0 not found!
Nesse caso, nos falta a biblioteca de desenvolvimento (cabeçalhos) “SDL” versão 1.2.0 ou 
mais recente. Para resolver este problema, é necessário instalar o pacote “libsdl1.2-dev” para re-
solver essa dependência. A maioria das bibliotecas necessárias para a compilação de programas 
no GNU/Debian têm o prefixo “lib” e o sufixo “-dev”, como por exemplo, “libc6-dev”, “libsdl1.2-dev”, 
etc. Após resolvidas todas as dependências.
• Executar o comado make – O comando “make” utiliza as configurações que foram 
criadas pelo script “configure” para compilar múltiplos arquivos de código fonte de um pro-
jeto. Utiliza também um arquivo de descrição (chamado “makefile” ou “Makefile”) que está 
presente no diretório onde o código fonte foi extraído. Seu conteúdo é composto de regras 
que definem as dependências entre arquivos fonte e os comandos necessários para a 
compilação. A partir deste arquivo, ele executa sequências de comandos que são interpre-
tados pelo shell para realizar a compilação de maneira correta.
• Em seguida não havendo erros na execução do comando anterior executar o coman-
do make install – É o comando utilizado para compilar e em seguida executar o instalador 
do programa que acabamos de compilar. Alguns programas não possuem essa facilidade, 
nestes casos, o administrador terá também o trabalho manual de instalar o programa com-
pilado corretamente, em geral, realizando atividades como copiar arquivos executáveis 
para diretórios como “/usr”, e os arquivos de configuração para “/etc”, etc.
26
Apostila Debian Intermediário - Desktop Parana
GERENCIANDO DISCOS E PARTIÇÕES
Neste capítulo, mostraremos como listar e obter informações a respeito das partições e dis-
cos existentes no sistema, além de aprendermos a criar, remover e formatar partições.
O QUE SÃO PARTIÇÕES
Partições são divisões feitas em um disco de armazenamento para delimitar um determina-
do espaço deste para instalação de um sistema de arquivos. Existem três tipos de partições: pri-
márias, estendidas e lógicas. Os propósitos fundamentais da criação de partições são 3: (a) maior 
segurança através da divisão de dados de acordo com a natureza de seus dados (sistema, usuá-
rio, de inicialização); (b) divisão de acordo com o tamanho dos dados, afim de melhorar o desem-
penho através de sistemas de arquivos específicos; (c) ter mais de um sistema operacional no 
mesmo disco.
Não existe nenhuma diferença top-down entre partições primária e lógica. A diferença real 
entre elas é o local onde são alocadas as informações acerca de uma partição. Isso foi explicado 
detalhadamente na apostila de Debian Básico, sendo interessante você tirar as teias de aranha 
dela e dar uma relembrada. Basicamente, o detalhamento (primeiro e último setor, número total de 
blocos, etc) de uma partição primária fica dentro do primeiro setor do disco rígido (MBR -Master 
Boot Record), enquanto as lógicas ficam fora da MBR. Podemos chamar este detalhamento, ou 
definição de uma partição, como cabeçalho da mesma. Podemos ter 4 cabeçalhos dentro da 
MBR. Estes cabeçalhos podem ser todos primários ou então de 0 a 3 primários e um estendido. A 
partição estendida só indica onde está, dentro do disco rígido e fora da MBR, o cabeçalho da pri-
meira partição lógica. Ou seja, para que tenhamos pelo menos uma partição lógica, é necessário 
se ter uma partição estendida. Como esta trata apenas de um cabeçalho de ligação, dizemos que 
ele define uma partição não utilizável. Para saber quantas partições utilizáveis temos em um dis-
co, precisamos: (a) quando existe partições lógicas, subtrair do número da última partição lógica o 
resultado de 4 menos o número de partições primárias; (b) quando não existe partições lógicas,verificar o número de partições primárias, que são todas utilizáveis.
Ex: Se temos 2 partições primárias e a última partição lógica é a partição 12, então temos:
12−4−2 = 10 partições utilizáveis
Após criada e formatada, a partição passa a ser reconhecida pelo sistema operacional como 
um nó de dispositivo representado por um arquivo no diretório “/dev”. É como se uma partição fos-
se um dispositivo diferente, sendo que, na realidade, são apenas divisões lógicas do disco, estan-
do todas dentro de apenas um dispositivo físico. Este arquivo receberá automaticamente um 
nome e através deste é possível identificarmos várias informações referentes ao
hardware de armazenamento.
27
Apostila Debian Intermediário - Desktop Parana
A identificação de discos rígidos no Linux é feita da seguinte forma:
/dev/hda1
 | | | |
 | | | |__ Indica o número da partição do HD.
 | | |___ Letra que indica o dispositivo (a=primeiro, b=segundo...).
 | |_____ Sigla que indica o tipo de dispositivo (hd=ide, sd=scsi ou sata).
 |_________ Diretório onde são armazenados dispositivos do sistema.
udo isso foi visto na apostila de Debian Básico, por isso, abordaremos de uma forma 
superficial o assunto, somente para que você possa recordar e tornar vivo tudo que 
já sabe.
T
OBTENDO INFORMAÇÕES SOBRE AS PARTIÇÕES
Sempre que for realizar qualquer atividade referente a partições, será muito interessante 
que o administrador saiba usar o comando abaixo, que trará as primeiras informações que possi-
velmente precisaremos para começar a agir e planejar suas tarefas:
# fdisk ­l 
Disk /dev/sda: 250.0 GB, 250059350016 bytes 
255 heads, 63 sectors/track, 30401 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
Disk identifier: 0x9ebef679 
Device Boot Start End Blocks Id  System 
/dev/sda1 1 16 128488+ 83  Linux 
/dev/sda2 17 1840 14651280 83  Linux 
/dev/sda3 1841 1962 97996582  Linux swap / Solaris 
/dev/sda4 1963 30401 228436267+ 83  Linux 
Disk /dev/sdb: 4005 MB, 4005560320 bytes 
16 heads, 32 sectors/track, 15280 cylinders 
Units = cylinders of 512 * 512 = 262144 bytes 
Disk identifier: 0xef6cfd35 
Device Boot Start End Blocks Id  System 
/dev/sdb1 16 15280 3907648 b  W95 FAT32 
 
28
Apostila Debian Intermediário - Desktop Parana
1. Número de dispositivos físicos conectados:
2. Quantidade de partições em cada dispositivo:
3. Capacidade máxima de armazenamento do primeiro dispositivo:
4. Capacidade máxima de armazenamento do segundo dispositivo:
5. Quantidade de cilindros em cada dispositivo:
6. Quantidade de cabeças em cada dispositivo:
7. Arquivo que representa com certeza uma partição de área de troca:
8. A coluna Id identifica a partição ou o tipo de sistema de arquivos?
9. O sdb1 possui um sistema operacional instalado?
10. Qual é a causa de dump de backtrace e kernel panic num servidor proxy com squid no 
modo slabe do kernel?
A questão 10 é apenas uma piada de mau gosto. É para você sentir que ainda falta chão, 
então continue estudando e crie uma boa base, para que depois você possa brincar com seu co-
nhecimento durante a solução de problemas.
Vale ressaltar que caso seu sistema possua discos utilizando técnicas de RAID via hardwa-
re, quando o comando for executado, os discos serão mostrados de acordo com as configurações 
RAID que estiverem em vigor no seu sistema. Por exemplo, numa configuração em RAID 1
(mirroring), apesar de existirem fisicamente dois discos na máquina, apenas um será mostrado.
AID (Redundant Array of Independent Disks) é um sistema de linearização de dis-
cos. É um sistema que tem dois objetivos que são atingidos de várias formas dife-
rentes. Os objetivos são acelerar o armazenamento e carregamento de dados, e aumen-
tar a segurança desse processo, com métodos de espalhamento de dados em discos di-
ferentes. No link a seguir, existe uma animação que mostra o funcionamento de todos 
os tipos de RAID: “http://www.acnc.com/raid.html”.
R
Para sabermos quais outras opções temos para utilização do “fdisk”, basta digitarmos so-
mente o comando:
# fdisk /dev/sda
      ou
# fdisk /dev/hda
Serão listadas algumas informações sobre o disco e também será aberta a linha de comado 
do “fdisk”, onde digitando a opção “m” será exibida uma lista com as opções disponíveis para utili -
zação na linha de comando do “fdisk”.
29
Deduza por si só!
Apostila Debian Intermediário - Desktop Parana
Não iremos ver nesta apostila o funcionamento de recursos do fdisk senão a verificação das 
informações com o parâmetro “-l”. Para realizar modificações nos sistemas de arquivos e manipu-
lação de partições, usaremos o cfdisk. Podemos obter maiores informações sobre as opções do 
comando “fdisk” através do seu manual (man fdisk).
PARTICIONANDO DISCO COM CFDISK
Para iniciar o particionador como root digite “cfdisk” seguido do nome do dispositivo a ser 
particionado, por exemplo “cfdisk /dev/hda”. Lembre-se, “/dev/hdX” é utilizado para HD's IDE, já 
“/dev/sdX” é usado para discos SCSI, SATA e Pendrives.
Para navegarmos nas opções do “cfdisk”, devemos utilizar as setas para cima e para baixo 
para navegar entre as partições e as setas para esquerda e para direita para selecionar as opções 
do menu inferior.
Para criar uma nova partição, deve-se selecionar o espaço livre do dispositivo e em seguida 
selecionar a opção “Nova”.
30
Figura 2: Tela principal do cfdisk
Figura 3: Cfdisk - criando uma nova partição
Apostila Debian Intermediário - Desktop Parana
Será, então, necessário definir se a partição será primária ou lógica. Utilizando as setas, se-
lecione a opção desejada e pressione o <Enter> do teclado.
s partições estendidas não são definidas manualmente. Automaticamente, ao definir 
a primeira partição como Lógica, a estendida é criada e anula-se a possibilidade de 
se criar uma nova partição primária, mesmo que exista menos de 3 partições desta.
A
O próximo passo é definir o tamanho desejado para a partição em criação. Sempre deve-
mos definir o tamanho em megabytes.
31
Figura 4: Cfdisk - escolhendo o tipo de partição (primária ou 
lógica)
Figura 5: Cfdisk - definindo o tamanho da partição
Apostila Debian Intermediário - Desktop Parana
Em seguida, devemos selecionar na listagem um dos tipos de partições que desejamos criar 
(partição linux, ntfs, fat, etc...). Para selecionar digite o número correspondente sobre o já existen-
te e pressione a tecla <Enter>.
Para concluir a criação da partição, vá até a opção <Gravar>, pressione <Enter>, digite “yes” 
por extenso (para evitar gravações de alterações por engano) e pressione <Enter> novamente.
Para sair do cfdisk, use a opção “Quit” do menu inicial.
Excluindo uma partição
Para excluir uma partição, selecione-a e então vá em “Excluir”. Este procedimento excluirá a 
partição sem solicitar nenhuma confirmação antes de removê-lo. Após a exclusão, o espaço ante-
riormente ocupado pela partição passará a ser espaço livre podendo ser reutilizado.
Salvando as alterações
Devemos tomar muito cuidado sempre antes de selecionar e confirmar a opção “gravar”, 
pois assim confirmarmos esta operação todas as alterações feitas na tabela de partição serão gra-
vadas não tendo mais como serem desfeitas. Sempre que fizermos qualquer alteração indesejada 
na tabela de partição basta sair da aplicação (“cfdisk”) sem gravar as alterações.
SISTEMA DE ARQUIVOS
Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas, que permitem ao 
sistema operacional controlar o acesso ao disco rígido. Existem diversos sistemas de arquivos di-
ferentes, que vão desde sistemas simples como o FAT16, até sistemas como o NTFS, XFS e Rei-
serFS, que incorporam recursos muitomais avançados.
32
Figura 6: Cfdisk - Selecionando tipo de partição
Apostila Debian Intermediário - Desktop Parana
O sistema de arquivos é criado durante o processo de formatação da partição, após isso 
toda a estrutura necessária para leitura/gravação de arquivos e diretórios já estão prontas para se-
rem utilizadas pelo sistema operacional.
CRIANDO SISTEMA DE ARQUIVOS
Podemos também criar uma partição sem definir o tipo dela, entretanto, para que uma parti-
ção fique funcional, temos obrigatoriamente que criar um sistema de arquivos em seu espaço. 
Para criar um sistema de arquivos nesse tipo de partição basta utilizar o utilitário “mkfs” especifi-
cando o tipo de sistema de arquivos que desejamos utilizar na partição. Abaixo um exemplo de 
uso deste utilitário:
mkfs ­t xfs /dev/hda1
No exemplo acima, criamos um sistema de arquivos do tipo “xfs” na partição “/dev/hda1”. 
Essa é a maneira mais simples de se criar um sistema de arquivos numa partição criada sem um 
tipo definido. Também podemos usar as extensões do utilitário mkfs, para realizar a criação de sis-
temas de arquivos específicos. No exemplo abaixo faremos exatamente a mesma operação que a 
do exemplo anterior:
mkfs.xfs /dev/hda1
33
Apostila Debian Intermediário - Desktop Parana
GERENCIADOR DE PARTIDA – GRUB
O gerenciador de partida é o responsável por carregar o sistema operacional durante o pro-
cesso de inicialização além de, nos casos onde houver mais de um sistema operacional, permitir 
que seja feita a escolha de qual sistema operacional deverá ser carregado. Este programa geral-
mente fica gravado ou numa no setor de boot de uma partição ativa ou na Master Boot Record 
(MBR) do disco.
O GRUB (Grand Unified Boot Loader) é o gerenciador de partida padrão do Debian. Ele é 
um dos mais poderosos e funcionais gerenciadores de partida, é capaz de inicializar vários siste-
mas operacionais como Windows (9x, ME, NT, 2000, XP e Vista), Dos, Linux, GNU Hurd, *BSD, 
OS/2 etc. Podemos destacar também o suporte aos sistemas de arquivos EXT2, EXT3 e Rei-
serFS, FAT16 e FAT32 (Win 9x/ME), FFS (Fast File System usado no *BSD), minix (MINIX OS) 
etc.
o instalarmos uma máquina com dual boot, com os sistemas operacionais Linux e 
Windows, devemos sempre instalar primeiro o sistema operacional Windows. Pois o 
mesmo, durante sua instalação, grava suas informações de inicialização na MBR do dis-
co sobrescrevendo todas as configurações nela existentes, consequentemente apagan-
do o GRUB e suas configurações fazendo que o Linux, mesmo instalado, seja ignorado 
e iniciado diretamente o sistema operacional Windows.
A
O GRUB utiliza o padrão Multiboot o que o torna capaz de carregar diversas imagens de ini-
cialização (uma por vez) e módulos. Além de permitir buscar imagens do Kernel pela rede, por ca-
bos seriais, suporta discos rígidos IDE, SATA e SCSI, informar a quantidade total de memória 
RAM ao sistema, tem interface voltada para linha de comandos ou menus de escolha, além de su-
portar sistemas sem discos e terminais remotos.
Os principais arquivos utilizados pelo GRUB para inicialização do sistema encontram-se 
dentro dos diretórios “/boot” e “/boot/grub”. Dentro do diretório “/boot” encontramos os arquivos de 
kernel que são os responsáveis pelo carregamento do mesmo na memória. Dentro do diretório 
“/boot/grub”, encontramos os arquivos dos quais são carregados os parâmetros com as configura-
ções para inicialização do sistema, dentre esses arquivos destacamos o “menu.lst” que é o arqui-
vo que nos possibilita customizar as configurações do GRUB.
TRABALHANDO COM DISCOS E PARTIÇÕES
O GRUB trabalha com uma notação para apontar discos e partições, diferente da que esta-
mos acostumados a ver em sistemas operacionais Linux. Para o GRUB independente do tipo de 
disco (IDE, SATA ou SCSI) ele sempre será representado pela sigla “hd”. O primeiro disco será 
representado pelo número “0” o segundo pelo número “1” e assim por diante. As partições são 
representadas da mesma forma que os discos a primeira partição criada será representada pelo 
34
Apostila Debian Intermediário - Desktop Parana
número “0” a segunda pelo número “1” e assim por diante. Abaixo segue tabela comparativa, 
através dela fica mais fácil visualizar as diferenças acima descritas:
Disco IDE
Dispositivo 
no Linux
Dispositivo 
no GRUB
/dev/hda (hd0)
/dev/hda1 (hd0,0)
/dev/hda2 (hd0,1)
/dev/hdb (hd1)
/dev/hdb1 (hd1,0)
/dev/hdb2 (hd1,1)
Disco SCSI ou SATA
Dispositivo
 no Linux
Dispositivo 
no GRUB
/dev/sda (hd0) # Disco SCSI ID 0
/dev/sda1 (hd0,0) # Disco SCSI ID 0, partição 1
/dev/sda2 (hd0,1) # Disco SCSI ID 0, partição 2
/dev/sdb (hd1) # Disco SCSI ID 1
/dev/sdb1 (hd1,0) # Disco SCSI ID 1, partição 1
/dev/sdb2 (hd1,1) # Disco SCSI ID 1, partição 2
Disquete
Dispositivo
 no Linux
Dispositivo 
no GRUB
/dev/fd0 (fd0)
INSTALAÇÃO DO GRUB
Após instalado o GRUB dificilmente precisaremos reinstalá-lo. As alterações ou adições de 
novos sistemas a serem carregados como opção para inicialização são feitas através de altera-
ções no arquivo de configuração “menu.lst”, com o comando:
# vim /boot/grub/menu.lst
Normalmente, durante a instalação do GNU/Debian você será questionado se deseja ou não 
instalar o GRUB, se selecionada a opção de sua instalação automaticamente todos os sistemas 
operacionais instalados na máquina serão listados e configurados pelo GRUB para estarem dispo-
níveis como opções de sistemas que podem ser inicializados.
Algumas situações podem vir a apagar o GRUB da MBR do disco, por exemplo, como foi 
descrito anteriormente, uma máquina com dual-boot onde a instalação do sistema operacional 
Windows foi efetuada posterior a instalação do Linux. Nesses casos para podermos restaurar o 
GRUB e voltarmos a utilizar o sistema operacional Linux instalado, podemos, dentre as várias al-
ternativas para restauração do grub, executar o comando abaixo por exemplo: 
# grub­install /dev/hda
Este comando grava o GRUB no MBR do primeiro disco rígido IDE do sistema e cria o dire-
tório “/boot/grub”, onde estarão os arquivos necessários para o seu funcionamento. É interessante 
também, executar o comando:
# update­grub
 Este comando atualiza dinamicamente a lista de sistemas que podem ser carregados du-
rante a inicialização da máquina, e os adiciona ao arquivo “menu.lst” automaticamente, conforme 
a instalação corrente. 
35
Apostila Debian Intermediário - Desktop Parana
o entanto, para podermos executar os comando apresentados anteriormente para 
instalar o grub na MBR e para atualizar o arquivo “menu.lst”, precisamos primeiro 
iniciar a máquina a partir de um CD, pendrive, ou algum outro dispositivo que possua 
um sistema operacional que carregue um kernel que disponibilize um shell linux, montar 
a partição com o diretório “/boot”, montar as partições “/proc” e “/dev”, transformarmos a 
partição montada no nosso “/” e só então podemos utilizar aqueles comandos para res-
taurar o grub (instalá-lo na MBR e atualizá-lo)2. 
N
Na linha de comando usar os seguintes comandos: 
CUSTOMIZANDO O ARQUIVO MENU.LST
No arquivo “menu.lst” podemos fazer dois tipos de configurações: as configurações globais 
que afetam o funcionamento do GRUB de forma mais genérica e as configurações especificas que 
afetaram somente as imagens a serem inicializadas. Abaixo mostraremos um exemplo do arquivo 
“menu.lst” configurado onde serão inseridos comentários explicando cada um dos parâmetros 
configurados.
# menu.lst ­ See: grub(8), info grub, update­grub(8)
# grub­install(8), grub­floppy(8),
# grub­md5­crypt, /usr/share/doc/grub
# and /usr/share/doc/grub­doc/.
###################################################################
## default num

Continue navegando