5. Objetivos da disciplina
Instalação
Capacitação básico no uso de sistemas Linux/Unix
Monitorização e diagnóstico de redes
Configuração de rede básica e avançada
Entendimento do funcionamento dos principais serviços
de rede
Exercitar os princípios aprendidos
5
6. Bibliografia básica
Beginning Ubuntu Server Administration:
From Novice to Professional, Sander van
Vugt Editora Apress, 2007
Manual de Administração do Sistema
UNIX, Nemeth, Garth Snyder e Scott
Seebass, Editora Bookman, 3º Edição,
2002.
6
7. Bibliografia adicional recomendada
TCP/IP Illustrated, Vol 1, Richard Stevens,
Addison Wesley, 1994.
Redes de computadores e a Internet: uma
nova abordagem. Keith Ross, James Kurose,
Pearson Brasil, 2002
Redes de computadores, A. S. Tanenbaum,
Campus.
Redes de Computadores, uma abordagem
sistêmica, L. L. Peterson, B. S. Davie, LTC
Editora, 2004
Redes e Servidores Linux Guia Prático 2ª
Edição. Carlos Eduardo Morimoto, Sulina,
2006 7
8. Vantagens no uso de Linux
Não exige muitos recursos de hardware
Estável, rápido e seguro
Altamente configurável
Suporte a várias plataformas e grande diversidade de
hardware
Escalonável
Grande comunidade e amplo suporte, inclusive comercial
Código livre e aberto
Custo de instalação zero ou baixo
8
9. Desvantagens do Linux
Curva de aprendizagem um pouco mais íngrime
Ainda sem porte de alguns softwares comerciais
Impressoras mais simples geralmente sem suporte
Falta de uma maior padronização entre sabores do Linux
Alguns hardware proprietário podem não funcionar
Jogos mais complexos muitas vezes não rodam nem em
emulação
Felizmente, quando se trata de redes, muitas destas
desvantagens não se aplicam.
9
10. Áreas consagradas no uso de Linux
Gerenciamento de redes
Firewalls
Proxies
Banco de dados
Servidores de web, DNS, FTP, entre outros
Clusters
Virtualização
Desenvolvimento de software
10
12. (Algumas) Grandes empresas usando ou
vendendo Linux
Google Intel
IBM Fujitsu
NASA DreamWorks
Banco do Brasil WindRiver
Petrobrás Motorola
Dell, HP Sun
Novell, Redhat, Canonical Sony
Catho
ThiNetworks
Freescale 12
14. Instalando um servidor Linux
Ubuntu server, modismo ?
Não ! Versão voltada para servidores com suporte de longo
prazo (versão LTS, 5 anos)
Ampla comunidade
Farta documentação
Suporte comercial via canonical
Software atualizado constantemente
Usa a Debian como base, facilitando a instalação, administração
e manutenção
Em breve sendo oferecido pelos grandes fabricantes de
hardware, como Dell
Esta imagem será usado quando aparecer uma característica específica do Ubuntu Server.
14
15. Pra apimentar a discussão ...
Server OS Reliability Survey 2008, publicado pelo Yankee' Group. Amostra de 700 usuários espalhados pelo mundo. 15
16. Particionamento
Fase mais importante durante a instalação, deve ser feita
com cuidado para evitar reinstalações futuras
Depende muito da finalidade do servidor que se deseja
instalar
Exige algumas decisões técnicas, como tipos de sistemas
de arquivos, RAID e LVM
Particionamentos ruins podem dificultar o backup ou
limitar o crescimento do sistema
16
17. Particionamento
Partições importantes em sistemas Linux
/boot: arquivos de inicialização e kernel Linux. Deve usar um
sistema de arquivos bem conhecido e suportado.
/var: dados de aplicações diversas, como spool de impressão,
email, banco de dados, logs, etc. Depende muito da finalidade do
servidor e da distribuição.
/home: área destinado a contas de usuário.
/tmp: área temporária de armazenamento utilizada pelos
aplicativos.
swap: partição usada como área de troca temporária pelo Linux
/usr: onde residem a maior parte das aplicações instaladas no
sistemas.
/ : o restante do sistema, não alocado ainda (/bin, /sbin, /lib...) 17
18. Particionamento
Particionamentos típicos usados em servidores
Só pra testar:
/boot (~ 100MB)
swap (~ 1GB)
/ (o resto)
Um pouco mais profissional:
/boot (~ 100MB)
swap (~ 2GB)
/var (~ 4GB)
/home (~ num. de usuários x espaço para cada usuário)
/ (o restante, mas pelo menos uns 5 a 10GB)
18
19. Particionamento: RAID e LVM
RAID: Redundant Array of Independent Disks
Usa dois ou mais discos para permitir características como
redundância, imunidade a falha, mais desempenho ou espaço
maior de armazenamento.
LVM: Logical Volume Managment
Introduz uma grande flexibilidade no gerenciamento das
partições dos discos, permitindo que partições (lógicas) sejam
aumentadas, diminuídas, movidas ou espelhadas.
Dá flexibilidade para que o sistema cresça de forma controlada.
Permite a criação de snapshots incrementais.
São técnicas diferentes e, de certa forma,
complementares
19
20. RAID: níveis mais comuns
RAID 0 (striping):
Aumento de desempenho nas leituras e escrita (com
controladoras múltiplas).
Permite que o sistema gere um grande espaço contíguo de
armazenamento.
Não possui imunidade à falhas.
20
Figura: http://www.prepressure.com/library/technology/raid
21. RAID: níveis mais comuns
RAID 1 (mirroring):
Permite redundância completa dos dados através do uso de
disco adicional para espelhamento.
Desempenho similar ao uso de um disco único (com
controladoras múltiplas).
Metade do espaço é perdido na redundância.
21
Figura: http://www.prepressure.com/library/technology/raid
22. RAID: níveis mais comuns
RAID 5:
A informação de redundância é espalhada entre os discos
participante do array (pelo menos 3).
Desempenho da escrita geralmente menor que o da leitura,
devido à geração da paridade.
Facilita os processos de troca a quente e recuperação.
22
Figura: http://www.prepressure.com/library/technology/raid
23. RAID: níveis mais comuns
RAID 10:
Combina os níveis 1 e 0, gerando
segurança (espelhamento completo),
grande espaço de armazenamento e
desempenho.
Figura: http://www.prepressure.com/library/technology/raid
23
24. LVM: princípios
Desenvolvido originalmente pela
IBM, introduz uma grande
flexibilidade no gerenciamento dos
discos.
Conceitos:
Volumes físicos (PV): representam
discos ou partições reais
Grupo de Volumes (VG):
representam uma espécie de disco
virtual composto de vários PVs Figura: http://www.storix.com/aixbackup
Volume Lógicos (LV): representam
partições lógicas prontas para serem
usadas no sistema
24
25. LVM: alguns exemplos
Figura: http://br.geocities.com/marcio_katan/tutorial_lvm_mandriva.html
25
26. Particionamento: RAID e LVM
RAID e LVM são tecnologias diferentes e, de
certa forma, complementares. Em geral,
usase o LVM sobre uma estrutura de RAID
prédefinida, preferencialmente por
hardware. File System
Nenhuma das duas tecnologias dispensa o
LVM
backup. Mantenha o backup em dia.
Recuperação de dos em RAID/LVM é muito RAID
mais complexa do que em esquemas mais
simples.
Nenhuma das duas tecnologias dispensa o
backup. Mantenha o backup em dia.
26
27. Outros tópicos da instalação
Sistemas de arquivo (prefira com journaling):
ext3: estável, robusto e amplamente usado (ext4)
swap: usado especificamente para partições de troca
Outros: xfs (Silicon Graphics), jfs (IBM), ReiserFS
Avalie a finalidade, isto pode mudar o file system
Boot loader: permite a carga de vários sistemas
operacionais diferentes ou várias versões de kernel para o
mesmo
Grub: atual padrão de bootloader
LILO: usado durante muito tempo por várias distros
ISOLinux: Usado em CDs de instalação
27
28. Pausa para o exercício
Executa uma instalação do Ubuntu
Server 8.04 LTS com as seguintes
configurações:
Particionamento com /boot, /var, /home, / e
swap
Use LVM para /home e /var
Ext3 como sistema de arquivos
No tasksel, deixe préinstalado os serviços
LAMP e OpenSSH
Deixe um pequeno espaço não alocado,
cerca de 100MB. Vamos usálo depois.
28
30. Características gerais de sistemas *nix
Multitarefa preemptiva, multiusuário e com suporte a
multiprocessamento.
Interface gráfica independente do kernel.
Orientado a arquivos, praticamente tudo pode ser
acessado como arquivo. Ex:
/dev/sda: disco rígido mestre na primeira IDE
/dev/ttyS0: primeira porta serial
Estrutura de diretórios relativamente similar.
Aplicações Servidor X Shell
Kernel
30
31. Estrutura de diretórios
/bin, /sbin: arquivos executáveis mais importantes para
manutenção e configuração do sistema, usado com
frequência.. .
|-- bin
/boot: arquivos de inicialização e kernel Linux. É onde |-- boot
ficam os arquivos do Grub também. |-- dev
|-- etc
/dev: diretórios com arquivos representando diversos |-- home
dispositivos do sistema. |-- lib
|-- lost+found
/etc: diretório onde geralmente são armazenados os |-- media
|-- mnt
arquivos de configuração do sistema. |-- proc
|-- root
/home: distório destinado a contas de usuário. |-- sbin
/lib e /usr/lib: diretórios onde são armazenadas as |-- tmp
|-- usr
principais bibliotecas do sistema e do kernel. `-- var
/mnt e /media: área de montagem de dispositivos
(pendrives, discos externos, etc).
31
32. Estrutura de diretórios
/proc: sistema virtual de arquivos gerado pelo kernel, com
informações gerais do kernel em execução e outras
informações úteis para diversos programas. .
|-- bin
/lost+found: arquivo existente em toda partição e usado |-- boot
para armazenamento de arquivos recuperados por |-- dev
|-- etc
comandos como fsck. |-- home
/root: diretório onde reside a conta do administrador (root). |-- lib
|-- lost+found
/tmp: área temporária de armazenamento. Geralmente |-- media
|-- mnt
apagada na partida do sistema. |-- proc
|-- root
/usr: onde residem a maior parte das aplicações |-- sbin
instaladas. |-- tmp
|-- usr
/var: dados de aplicações diversas, como spool de `-- var
impressão, email, banco de dados, logs, etc.
32
33. Ubuntu: administração via comando sudo
No Ubuntu, a administração é planejada para ser feita através
de um usuário com privilégios normais, bastando que ele faça
parte do grupo admin.
Quando necessário, o usuário invoca o comando sudo para
ganhar poderes de administrador (root), diminuindo as
chances de erro como administrador.
Operações administrativas são feitas como a seguir (a sua
senha será pedida):
sudo <comando> <opções do comando>
Caso se prefira trabalhar diretamente como administrador,
configure uma senha para o root:
sudo passw root
33
34. Dispositivos para disco e UUID
Os arquivos dentro do /dev/ eram estáticos,
até o aparecimento do kernel 2.6.10 e do
gerenciador de dispositivos udev.
ls /dev/sd* /dev/sc*
Discos IDE eram normalmente identificados
/dev/scd0
como /dev/hd[a,b,c,d,...]. Nos kernels mais /dev/sda
novos é usada a notação /dev/sd[a,b,c,d,...] /dev/sda1
/dev/sda2
Número adicionais indicam partições, como /dev/sda3
/dev/sda5
/dev/sda1, /dev/sda2. /dev/sda6
CD, DVDs eram identificados como /dev/hd*
também, mas agora usam /dev/sc*.
O udev permite personalizar estes nomes (/etc/
udev/rules.d/).
34
35. Dispositivos para disco e UUID
O Ubuntu passou a usar a um identificador universal único
(UUID) para referenciar partições e discos.
A idéia é permitir independência do nome do dispositivo em
configurações mais complexas.
No caso das partições, o UUID muda sempre que a partição
é formatada.
ls /dev/disk/by-uuid/ -l
2a495a8e-f986-4a3f-9d94-1c24fa2820c8 -> ../../sda5
794d5282-e505-42b8-a699-c4d3a276abc5 -> ../../sda1
7960bf08-9dd9-4201-8571-ea0536416e9b -> ../../sda6
d29466ec-4f0e-4a81-9754-ba23949f1982 -> ../../sda2
35
36. Sistemas de arquivos: suporte amplo
DOS, FAT, NTFS: para compatibilidade com Windows.
ext2, ext3, ext4: sistema de arquivo original do Linux. Ext3 é
sinônimo de estabilidade e robustez.
xfs (Silicon Graphics), jfs (IBM), ambos com bom desempenho
mas ainda com pouco tempo de vida no Linux. ReiserFS
perdendo espaço recentemente.
Suporte aos sistemas de arquivos da Sun, HP, Apple.
ISO9660, Joliet: sistemas de arquivos para Cds.
Sistemas de arquivos para rede, como NFS, GFS.
Diversos outros sistemas de arquivos para clusters, acesso
distribuídos, gerenciamento de volumes, etc.
Diversos sistemas de arquivos para dispositivos embarcados.
36
38. Sistemas de arquivos: critérios
Meus critérios pessoais:
Robustez
Estabilidade
Suporte a redimensionamento
Suporte a cotas
Journaling
Necessidades especiais devem ser tratadas à parte:
Maior velocidade de escrita: xfs, jfs
Volumes gigantes: ext4, ZFS, entre outros
38
39. Sistemas de arquivos: montagem
Antes de usar um sistema de arquivo, é preciso ”montálo”
Montar significa associar um diretório (ponto de montagem) a um
dispositivo (geralmente uma partição)
É usado o comando mount, como a seguir:
mount o <opções> t <tipo> <device> <pontodemnt>
Exemplo1: montando um pendrive formatado no Windows
mount t vfat /dev/sdb1 /media/pendrive
Exemplo 2: montando um CD
mount t iso9660 /dev/scd0 /media/cdrom
Em sistemas com interface gráfica todo o processo é feito
automaticamente.
39
40. Sistemas de arquivos: montagem
Na partida, o sistema monta as partições criadas pelo
usuário, seguindo informação do arquivo /etc/fstab.
Podese ver, a qualquer momento, os sistemas de
arquivos montados através do comando df.
O comando umount permite desmontar um sistema de
arquivo, desde que ele não esteja sendo usado por
nenhum processo.
umount /dev/sdb1 (ou)
umount /media/pendrive
O comando lsof <arquivo> pode lhe ajudar a apontar
quem está usando o sistema de arquivos em questão.
40
41. Sistemas de arquivos: particionamento e
verificação manual
Comando para particionamento: cfdisk ou fdisk
Comandos para formatação de uma partição: mkfs.*
Comandos para verificação de integridade: fsck.*
Exemplo:
cfdisk /dev/sda (suponha que sda7 vá ser criada neste passo)
mkfs.ext3 /dev/sda7
fsck.ext3 /dev/sda7
mkdir /mnt/pos (cria o diretório /mnt/pos)
mount /dev/sda7 /mnt/pos
Falta adicionar uma linha ao fstab para que a modificação
seja mantida entre reboots. 41
42. Sistemas de arquivos: /etc/fstab
O fstab é um arquivo texto, com campos separados por
espaços ou tabs, com o seguinte formato:
<SISARQ> <MNT> <TIPO> <OPT> <DUMP> <PASS>
SISARQ: Sistema de arquivos (dispositivo ou UUID)
MNT: Ponto de montagem
TIPO: Tipo do sistema de arquivos
OPT: Opções de montagem (ro, rw, auto, defaults, ...)
DUMP: Frequência de uso do dump nesta partição
PASS: Ordem em que o fsck será usado para verificar erros
42
44. Pausa para o exercício
Para o espaço não alocado deixado no
momento da instalação, faça o seguinte:
Edite o particionamento do disco e crie uma
nova partição do tipo xfs.
Formatea para usar ext3.
Monte e desmonte a partição manualmente,
no ponto de montagem /mnt/teste.
Coloque uma entrada no /etc/fstab para
deixar automático o processo de montagem
da partição.
Reboot e veja se está tudo certo.
Obs: não esqueça de usar o sudo !
44
45. Linha de comando (shell)
Para um administrador Linux, é praticamente impossível
não ter contato com a linha de comando.
Um bom editor, um guia de referência e as páginas de
manual podem ajudar muito no início.
Com o tempo você vai notar que é mais rápido digitando
alguns comandos do que dando cliques.
A ausência de interface gráfica elimina bugs de segurança
potenciais.
No entanto, caso se sinta mais confortável ou a linha de
comando seja muito improdutiva num primeiro instante,
instale uma GUI até se acostumar.
45
46. Linha de comando (shell): dicas gerais
O sistema é todo dependente da caixa (Teste <> teste)
A barra de separação de diretórios é sempre para a direita: ”/”
Arquivos que começam com ponto (”.”) são considerados ocultos por
padrão e não são mostrados a menos que opções adicionais sejam
dadas.
Os diretórios ”.” e ”..” são como no DOS, indicando o diretório atual e o
imediatamente superior.
Vários comandos numa mesma linha podem ser separados por ponto e
vírgula (”;”).
Finalizar o comando com ”e” comercial (”&”) permite que o comando seja
executado em background, liberando o prompt.
Extensões não são obrigatórias e o ponto é só mais um caractere.
Asterisco (”*”) e interrogação (”?”) também são curingas, como no DOS.
Adicionalmente, {} e [] desempenham funções especiais.
46
47. Linha de comando (shell): editores de texto
Existem muitas opções. Escolha um mais simples e
comece a aprender alguns comandos do vi paralelamente.
nano: default do Debian/Ubuntu.
mcedit: uma boa relação para quem vem do Windows.
vi/vim: Presente em todas as distribuições. Com o tempo
você passa a gostar dele (sintaxe colorida muito boa,
procuras e substituições facilitadas, edição poderosa).
Outros: joe, pico, emacs ...
47
48. Linha de comando (shell): help
Com o tempo você também irá memorizar várias opções e
comandos. Até lá, use e abuse do manual:
Obtendo detalhes de um comando:
man <comando>
Procurando nas páginas do manual:
apropos <palavras chaves>
Local padrão para documentação no Ubuntu/Debian:
/usr/share/doc/<nome do aplicativo>
Geralmente os comandos tem opção help:
<comando> help
48
49. Linha de comando (shell): variáveis de
ambiente
Como em outros sistemas, existem variáveis de ambiente
num shell usadas pelo sistema operacional.
Os comandos set ou env mostram as variáveis atuais.
Algumas variáveis importantes:
PATH: path usada na busca de arquivos
PS1: definição do prompt
HOME: local da conta do usuário logado
SHELL: shell em uso pelo usuário
VISUAL: editor de textos default do usuário
49
50. Linha de comando (shell): variáveis de
ambiente
As principais variáveis são definidas no arquivo
/etc/profile, valendo para todos os usuários. Outras são
criadas no momento do login.
Para se criar uma variável de ambiente, use o comando
export ou set (este último só deixa a variável válida para o
shell corrente):
export MYPATH=/mnt/pos
No arquivo /home/<usuário>/.bashrc podem ser
adicionadas variáveis e outras configuração. Este arquivo
é carregado toda vez que o usuário se loga ao sistema.
50
51. Linha de comando (shell): atalhos úteis
CTRL+C: Finalizar a execução do comando e retorna ao
prompt do shell.
CTRL+Z: Manda para segundo plano o comando em
execução, liberando a linha de comando.
CTRL+R: Permite buscar nos últimos comandos digitados.
CTRL+P e CTRL+N navegam nos últimos comandos.
O comando history lista os últimos comandos dados.
Exclamação (”!”) seguido do número do comando permite
executálo novamente.
O arquivo /home/<usuário>/.bash_history tem a lista dos
últimos comandos digitados.
51
52. Linha de comando (shell): comandos básicos
para manipulação de arquivos
cd: muda de diretório.
pwd: imprime o diretório atual.
mkdir: cria um novo diretório.
rm: apaga arquivos e/ou diretórios.
ls: lista o conteúdo de um diretório.
cp: copia arquivos.
mv: move arquivos.
touch: cria um arquivo vazio.
man: permite obter informações sobre um comando.
52
53. Linha de comando (shell): comandos básicos
para manipulação de arquivos
cat: imprime o conteúdo de um arquivo no terminal.
tac: imprime o conteúdo de um arquivo mas em ordem
inversa.
tail: mostra as últimas linhas de um arquivo.
head: mostra as primeiras linhas de um arquivo.
more: visualiza um arquivo na tela, passo a passo.
less: uma melhoria do more, permitindo também voltar na
visualização.
man: permite obter informações sobre um comando.
53
54. Linha de comando (shell): comandos básicos
para procura
grep: procura por padrões dentro de outros arquivos.
find: procura por arquivos.
whereis: mostra a localização do arquivo.
tree: imprime a árvore de diretórios/arquivos.
locate: localiza arquivos pelo nome.
man: permite obter informações sobre um comando.
54
55. Linha de comando (shell): comandos básicos
de sistema
uptime: mostra há quanto tempo o sistema está rodando.
free: mostra a memória livre.
uname: mostra a versão do kernel em execução e outros
detalhes do sistema.
reboot, halt, poweroff: delisgamento do sistema.
shutdown: desligamento, mas com controles adicionais de
hora.
dmesg: mostra as mensagens geradas pelo kernel.
man: permite obter informações sobre um comando.
55
56. Linha de comando (shell): comandos básicos
de sistema
date: mostra a data atual.
cal: imprime um calendário em mode texto.
clear: limpa o terminal.
reset: reseta o terminal atual (útil quando caracteres
estranhos começam a aparecer ”inexplicavelmente”).
shutdown: desligamento, mas com controles adicionais de
hora.
df: mostra o uso atual das partições do sistema.
du: mostra o espaço usado por arquivos ou diretórios.
man: permite obter informações sobre um comando.
56
57. Linha de comando (shell): pipes e
redirecionamento
O pipe (”|”) permite que a saída de um programa seja
usada como entrada para outro programa, encadeando o
processamento:
cat /etc/X11/xorg.conf | less
less /etc/X11/xorg.conf
locate bash | grep bin
ls la | less
57
58. Linha de comando (shell): pipes e
redirecionamento
”>”: redireciona a saída do programa para um arquivo ou
dispositivo. O arquivo será criado caso não exista.
ls /usr la > /tmp/arquivos
cat /etc/X11/xorg.conf > /dev/ttyS0
”>>”: redireciona a saída do programa para um arquivo ou
dispositivo, mas adicionando ao arquivo caso ele já exista.
ls /home/ la >> /tmp/arquivos
”<”: redireciona a entrada do programa.
less < /etc/X11/xorg.conf
Existem outros usos e operadores, mas estes são
suficientes neste momento.
58
59. Linha de comando (shell): links simbólicos (o
que todo atalho gostaria de ser)
Mecanismo que permite a criação de referências a outros
arquivos ou diretórios. Bastante flexível e útil no
gerenciamento do sistema.
ln <opções> <destino_do_link> <nome_do_link>
Existem links simbólicos (”s”) e hard links (”d”). O
simbólico é apenas uma referência para o destino. Já o
hard é realmente idêntico ao destino.
Hard links não podem ser usados com diretórios nem
podem ser feitos para outras partições.
59
60. Linha de comando (shell): links simbólicos (o
que todo atalho gostaria de ser)
Alguns detalhes de links simbólicos:
Apagar ou mover um link simbólico não apaga ou move o
destino, só o link.
Copiar ou visualizar, por exemplo, um link simbólico, copia ou
visualiza realmente o destino.
Existem muitos usos para links simbólicos no sistema:
Na inicialização (níveis de inicialização e init.d).
Gerenciamento de versões de programas ou bibliotecas.
Compatibilização de distribuições.
60
61. Pausa para o exercício
Pratique um pouco os comandos vistos e
experimente os redirecionamentos e
links!
61
62. Gerenciamento de software: A Gênese
No início, criou Unix o tar.gz.
E o autoconf era difícil e chato; e havia trevas sobre a
recompilação; e os arquivos se moviam por todo o disco.
E disse Debian: que haja pacote; e houve pacote.
E a comunidade viu que era bom o pacote e fez separação
entre distros com e sem pacotes.
E chamou os pacotes de .deb e criou o dpkg. Foi a tarde e a
manhã de debug, o dia primeiro.
E disse Debian: haja uma gerência dos pacotes com o apt e
haja separação em repositórios.
E fez Debian os repositórios; e separou os .deb entre main,
contrib e nonfree; e assim foi.
E a comunidade viu que isto era bom e copiou sem dó. 62
63. Gerenciamento de software: Ubuntu
O Ubuntu se baseia na gerencia
de pacotes proveniente da
Debian.
Arquivos
Num nível mais baixo, o dpkg (make)
gerencia pacotes individuais,
sem tratar dependências, Pacotes
(dpkg)
apenas instalação isolada.
Repositório
Num nível mais alto, o apt (apt)
permite tratar dependências,
atualizações, buscas e várias
outras operações de nível mais
elevado.
63
64. Gerenciamento de software: Repositórios
Os pacotes são agrupados em repositórios:
main: software livre oficialmente suportado pela
Canonical.
restricted: software com licenças que não são
consideradas abertas.
universe: software livre sem suporte pela
Canonical.
multiverse: software com licenças que não são
consideradas abertas e sem suporte pela
Canonical.
backports: bleedingedge software, geralmente as
últimas versões ainda pouco testadas.
64
65. Gerenciamento de software: Repositórios
Os repositórios são listados em /etc/apt/sources.list,
contendo linhas como a seguir:
deb http://br.archive.ubuntu.com/ubuntu/ hardy main restricted
debsrc http://br.archive.ubuntu.com/ubuntu/ hardy main restricted
Note que são especificados:
Pacotes binários (deb) ou fonte (debsrc).
Servidor (http...), também existem servidores que operam via ftp
e CDs pode ser usados com ”cdrom:”
O codename da versão atual.
Respositórios disponíveis neste servidor.
65
66. Gerenciamento de software: aptitude e apt
Para adiconar novos repositórios, edite o
/etc/apt/sources.list e atualize a base de dados do apt:
sudo aptitude update
ou
sudo aptget update
Para instalar as versões mais novas de pacotes
disponíveis, use o comando upgrade (será pedido uma
confirmação antes):
sudo aptitude safeupgrade
ou
sudo aptget upgrade
66
67. Gerenciamento de software: aptitude e apt
É possível inclusive atulizar toda a distribuição, mudando
de versão (da 7.10 para 8.04, por exemplo):
sudo aptget upgrade
sudo aptget distupgrade
Buscas no repositório são possíveis:
sudo aptitude seach <palavras chaves>
ou
sudo aptcache search <palavras chaves>
67
68. Gerenciamento de software: aptitude e apt
Uma vez que se sabe o nome do pacote, a sua instalação
pode ser feita com:
sudo aptitude install <nome_do_pacote>
sudo aptget install <nome_do_pacote>
Já a remoção é feita com remove ou purge, sendo que o
purge também remove arquivos de configuração
associados:
sudo aptitude remove <nome_do_pacote>
sudo aptitude purge <nome_do_pacote>
sudo aptget remove <nome_do_pacote>
sudo aptget purge <nome_do_pacote>
68
69. Gerenciamento de software: aptitude e apt
É possível remover um pacote e suas dependências
(default para o aptitude):
sudo aptget autoremove <nome_do_pacote>
A reinstalação de um pacote é outra ação bastante
explorada:
sudo aptitude reinstall <nome_do_pacote>
sudo aptget install reinstall <nome_do_pacote>
Finalmente, o indipensável:
aptitude help
aptget help
69
70. Gerenciamento de software: dpkg básico
O dpkg é útil ao lidar com pacotes isolados.
Instalar: sudo dpkg i <pacote.deb>
Remover: sudo dpkg r <pacote.deb>
Purge: sudo dpkg P <pacote.deb>
Procurar por padrão: sudo dpkg l <padrão>
Listar arquivos num pacote: dpkg L <nome_do_pacote>
A que pacote pertence um arquivo: dpkg S <padrão>
E, o mais importante: dpkg help
70