O Debian tenta não efetuar mudanças nos pacotes dos autores originais, entretanto haverão mudanças nos pacotes originais no Debian GNU/Linux
Na versão Debian GNU/Linux 2.2 'Potato', o tar
usava a opção
-I
para compressão bzip
, entretanto agora será usada a opção
-j
. Você pode precisar alterar quaisquer scripts apropriadamente.
Antes de atualizar seu sistema, recomenda-se fortemente que você faça uma cópia de segurança completa, ou pelo menos copie os dados ou informações de configuração que você não pode perder. As ferramentas de atualização e processos são bastante confiáveis, mas uma falha de hardware no meio de uma atualização pode resultar em um sistema bastante danificado.
As principais coisas que você precisará copiar são os conteúdos de
/etc
, /var/lib/dpkg
e a saída de dpkg
--get-selections \*.
É prudente informar todos os usuários antes de qualquer atualização que você
esteja planejando, apesar que usuários acessando seu sistema via ssh possam não
notar muito durante a atualização, e possam querer continuar trabalhando. Se
você deseja tomar precauções extras, faça uma uma cópia de segurança ou
desmonte as partições dos usuários (/home
) antes de atualizar.
Normalmente não será necessária um reinicialização.
A atualização da distribuição pode ser feita localmente a partir de um console
virtual em modo texto (ou um terminal serial conectado diretamente), ou
remotamente através de um link ssh
.
Importante: Você não deve atualizar usando
telnet
, rlogin
, rsh
, ou de uma sessão X
gerenciada por xdm
na máquina que você está atualizando. Isso
ocorre porque cada um desses serviços pode ser terminado durante a atualização,
que pode resultar em um sistema inacessível que esteja apenas
parcialmente atualizado.
Qualquer que seja o método usado para atualização, recomenda-se que você verifique o estado de todos os pacotes antes, e verifique se todos os pacotes estão em um estado atualizável. O comando seguinte exibirá qualquer pacote cujo estado seja de semi-instalado ou falha na configuração, e aqueles com qualquer estado de erro.
# dpkg --audit
Você também pode inspecionar o estado de todos os pacotes em seu sistema usando
o dselect
, ou com comandos como
# dpkg -l | pager
ou
# dpkg --get-selections > ~/curr-pkgs.txt
É desejável remover qualquer hold antes da atualização. Se algum pacote essencial para a atualização estiver em hold, a atualização falhará. Você pode identificar pacotes em hold com
# dpkg --audit
Se você mudou e recompilou um pacote localmente, e não mudou seu nome nem
colocou uma data na versão, você deve colocá-lo em hold para evitar que seja
atualizado. O estado `hold' do pacote pode ser alterado usando o
dselect
(no menu Select, use as teclas `H' e `G' keys para colocar
e tirar de hold, respectivamente), ou editando o arquivo produzido por
dpkg --get-selections > ~/curr-sels.txt
e mudando "hold" para "install" (ou vice versa), e então, com permissões de superusuário, fazendo
dpkg --set-selections < ~/curr-sels.txt
O SSH comercial localizado no pacote ssh
antes da versão 2.2 ou no
ssh-nonfree
na versão 2.2 foi substituído pelo pacote
ssh
livre segundo a DFSG nesta edição. A coleção SSH comercial
não está mais presente. O pacote ssh
inclui uma questão do
Debconf que irá regerar uma configuração que é compatível com OpenSSH.
Por favor, note que o pacote ssh
nesta edição habilita logins de
root por padrão. (Desabilitado no 2.2) Se você não precisa desta
característica para acesso remoto ao seu sistema, deve certificar-se de que a
opção PermitRootLogin em /etc/ssh/sshd_config
esteja
ajustada para no depois da atualização por razões de segurança.
Para garantir que o dpkg nunca atualize o arquivo para seguir novos padrões,
pode-se simplesmente modificar o arquivo localmente. Adicionar uma linha em
branco é o suficiente.
É importante que o diretório /etc/rcS.d
exista antes da
atualização; a instalação do pacote libc6
falhará em caso
contrário.
O diretório /usr/share/doc
(se já existir) não deve ser um link
simbólico (por exemplo para /usr/doc
), já que isso causará a
quebra de alguns pacotes. Entretanto, fazer um link simbólico
/usr/doc
para /usr/share/doc
é permitido. Por favor,
note que se você usa esse tipo de link simbólico haverão numerosas mensagens
sobre diretórios /usr/doc
que não podem ser removidos. Essas são
normais, e você pode ignorá-las seguramente.
O método recomendado de atualização é usar o método apt
com o
dselect, conforme descrito aqui. O sistema de análise de dependências interno
possibilita atualizações suaves e instalações fáceis.
Você não deve fazer atualizações maiores de pacotes com métodos de
acesso diferentes de apt
no dselect
, porque esses,
diferente do método apt
, não fazem nenhuma ordenação lógica de
pacotes durante a instalação, e então não são confiáveis. Além disso, essas
atualizações não foram bem testadas e não são suportadas pelo Debian.
Qualquer operação de instalação de pacote deve ser feita com privilégios de
superusuário, então entre como root ou use su
ou sudo
para obter os direitos de acesso necessários.
Antes de iniciar a atualização você deve ajustar o arquivo de configuração do
apt
para a lista de pacotes, /etc/apt/sources.list
.
O apt
considerará todos os pacotes que podem ser encontrados
através de qualquer linha "deb", e instalará o pacote
com o maior número de versão, dando prioridade para as linhas mencionadas
primeiro (assim, em caso de várias localizações em espelho, você nomearia
primeiro tipicamente um disco rígido, então CD-ROMs, e então espelhos
HTTP/FTP).
A configuração padrão é ajustada para instalação a partir dos sevidores Debian
principais da Internet, mas você pode desejar modificar o
/etc/apt/sources.list
para usar outros espelhos, preferencialmente
um espelho que esteja mais próximo de você na rede.
Caso contrário, os endereços de espelhos Debian HTTP ou FTP podem ser
encontrados em http://www.debian.org/distrib/ftplist
(veja na seção "Lista completa de espelhos"). Espelhos HTTP
geralmente são mais rápidos que espelhos FTP.
Por exemplo, suponha que seu espelho Debian mais próximo seja http://mirrors.kernel.org/debian/. Ao inspecionar esse espelho com um navegador web ou um programa de FTP, você notará que os diretórios principais são organizados assim:
http://mirrors.kernel.org/debian/dists/woody/main/binary-m68k/... http://mirrors.kernel.org/debian/dists/woody/contrib/binary-m68k/...
Para usar esse espelho com o apt
, adicione essa linha em seu
arquivo sources.list
:
deb http://mirrors.kernel.org/debian woody main contrib
Note que o `dists' é adicionado implicitamente, e os argumentos depois do nome da versão são usados para expandir o caminho para vários diretórios.
Depois de adicionar suas novas fontes, desabilite as linhas
"deb" previamente existentes em
sources.list
, colocando uma cerquilha (#) na frente
delas.
Qualquer pacote necessário para instalação que seja obtido pela rede é
armazenado em /var/cache/apt/archives
(e o subdiretório
partial/
, durante o download), então você deve certificar-se de
que possui espaço suficiente antes de iniciar a instalação. Com uma instalação
Debian razoavelmente extensa, pode-se esperar pelo menos 300 MB de dados
baixados.
Nota: se você está usando as versões estáticas do apt
e
dpkg
, a determinação de nomes de hosts está quebrada (o que é uma
razão para usar o apt
normal quando atualizando através da rede).
A solução é simplesmente colocar o endereço IP dos espelhos na linha
"deb". (Dica: nslookup algum-servidor)
Ao invés de usar espelhos de pacotes HTTP ou FTP, você pode desejar modificar o
/etc/apt/sources.list
para usar um espelho em um disco local
(possivelmente um montado via NFS).
Por exemplo, seu espelho de pacotes pode estar sob
/var/ftp/debian/
, e ter diretórios principais como esses:
/var/ftp/debian/dists/woody/main/binary-m68k/... /var/ftp/debian/dists/woody/contrib/binary-m68k/...
Para usá-los com o apt
, adicione essa linha em seu arquivo
sources.list
:
deb file:/var/ftp/debian woody main contrib
Note que o `dists' está adicionado implicitamente e os argumentos depois do nome da versão são usados para expandir o caminho para vários diretórios.
Depois de adicionar suas novas fontes, desabilite as linhas
"deb" previamente existentes no
sources.list
, colocando uma cerquilha (#) na frente
delas.
Veja acima se você precisa primeiro instalar a última versão dos pacotes
apt
e dpkg
, como descrito acima.
Se você quer usar apenas CD's, comente as linhas
"deb" no /etc/apt/sources.list
colocando
uma cerquilha (#) na frente delas.
Certifique-se de que há uma linha em /etc/fstab
que habilita a
montagem de sua unidade de CD-ROM no ponto de montagem /cdrom
(é
necessário exatamente o ponto de montagem /cdrom
para o
apt-cdrom
). Por exemplo, se /dev/hdc
é sua unidade
de CD-ROM, o /etc/fstab
deve conter uma linha como:
/dev/hdc /cdrom auto defaults,noauto,ro 0 0
Note que não pode haver nenhum espaço entre as palavras defaults,noauto,ro no quarto campo.
Para verificar se funciona, insira um CD e tente executar
mount /cdrom (isto montará o CD no ponto de montagem) ls -alF /cdrom (isto deve exibir o diretório raiz do CD) umount /cdrom (isto desmontará o CD)
A seguir, execute:
apt-cdrom add
para cada CD-ROM Debian Binário que tiver, para adicionar os dados sobre cada CD na base de dados do APT.
O método recomendado de atualizar para o Debian GNU/Linux 3.0 é usando a
ferramenta de gerenciamento de pacotes dselect
. Esta ferramenta
toma decisões mais seguras sobre pacotes do que o apt-get
.
Caso o dselect
não esteja instalado por favor instale a versão
fornecida com sua versão do Debian GNU/Linux.
O método de acesso para o repositório (usando o APT) já foi configurado. Você pode mudar esta configuração usando o método "[A]ccess" no menu. Caso você esteja feliz com sua configuração de acesso vá para a próxima etapa selecionando "[U]pdate" a partir do menu. Isto irá atualizar a base de dados de pacotes.
Caso nenhum problema ocorra com a etapa de atualização, escolha
"[S]elect" a partir do menu. O dselect
examinará os
pacotes disponíveis e inteligentemente irá decidir quais pacotes precisam ser
atualizados e quais novos pacotes precisam ser instalados para completar as
atualizações. O dselect irá também sugerir pacotes que devem ser removidos.
Teclar Enter na tela de seleção de pacotes irá lhe levar a uma tela de
resolução de conflitos/dependências (na qual você pode ter que mudar seleções e
pressionar Enter novamente) ou levá-lo de volta ao menu principal. Ajuda sobre
a etapa de seleção de pacotes está disponível através do pressionamento da
tecla "?".
Agora que as seleções de pacotes foram decididas é necessário instalar quaisquer novos pacotes e para isso escolha "[I]nstall" a partir do menu principal. Isto irá fazer o download e instalar os pacotes usando o APT através de sua mídia preferida. Saia para tomar uma boa xícara de café pois isso irá demorar um bom tempo.
Os dois estágios finais são "[C]onfig" e "[R]emove" os quais irão finalizar o processo de atualização configurando os novos pacotes e removendo quaisquer pacotes redundantes.
Não esqueça de montar todas as partições necessárias (notavelmente as partições
raiz e /usr
) como leitura e escrita, com um comando como:
mount -o remount,rw /ponto_de_montagem
Supondo que você já configurou o sources.list
do apt
conforme explicado acima, execute (como root):
apt-get update
Isso sincronizará os arquivos das descrições dos pacote a partir de suas fontes, atualizando informações sobre pacotes novos e atualizados.
Recomenda-se fortemente que você use o programa /usr/bin/script
para gravar uma transcrição da seção de atualização. Então, se ocorrer algum
problema, você terá um log do que aconteceu, e se necessário, poderá dar a
informação exata em um relatório de bug. Para iniciar a gravação, digite:
script -a ~/upgrade-to-woody.typescript
ou similar. Não ponha o arquivo typescript em um diretório temporário como
/tmp
ou /var/tmp
(arquivos nesses diretórios podem
ser apagados durante a atualização ou durante alguma reinicialização).
É importante atualizar o apt, dpkg e debconf antes que você faça a maior parte da atualização. O apt foi consideravelmente melhorado desde as versões anteriores. Debconf é uma ferramenta essencial que está em uso extensivo nos pacotes recentes.
apt-get install dpkg apt debconf
Isso instalará as versões mais novas do dpkg
, apt
e
debconf
, que são necessárias para o resto da atualização. Isso
também atualizará algumas bibliotecas de sistema necessárias para a última
versão.
Quando o debconf perguntar sobre o tipo de perguntas a serem perguntadas, não escolha 'critical' ou senão você irá perder perguntas importantes.
Algumas pessoas preferem primeiro visualisar a atualização usando
apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager
Apesar de isso levar algum tempo, pode evitar algumas surpresas. Isso lhe mostrará o que está errado em seu sistema (e como consertá-lo), ou, mais freqüentemente, o que exatamente será feito durante a atualização. Preste atenção especialmente ao pacotes que estarão em "REMOVE"; nenhum pacote essencial deve estar listado aqui.
Depois de ter verificado que o apt-get
deve funcionar bem,
execute:
apt-get --fix-broken --show-upgraded dist-upgrade
Isso realizará uma atualização completa do sistema, isto é, instalará as versões mais novas disponíveis de todos os pacotes, e resolverá todas as possíveis dependências de mudanças entre pacotes em diferentes versões. Se necessário, instalará alguns pacotes novos (geralmente novas versões de bibliotecas ou pacotes renomeados), e removerá quaisquer pacotes conflitantes obsoletos.
Quando atualizando a partir de CD-ROMs, será pedido que você insira CDs específicos em vários momentos durante a atualização. Você pode ter que inserir o mesmo CD várias vezes; isso ocorre devido aos pacotes inter-relacionados que foram dispostos ao longo dos CDs.
Novas versões de pacotes já instalados que não podem ser atualizados sem mudar
o estado de instalação de outro pacote serão deixados na versão atual (exibidos
como "held back"). Entretanto, pode ser necessário usar o
dpkg
ou dselect
para remover e reinstalar alguns
pacotes quebrados ou dependências. Alternativamente, apt-get
dselect-upgrade pode ser usado depois de apt-get -f
dist-upgrade. (Veja a página de manual do apt-get(8)
.)
A opção --fix-broken (ou apenas -f) faz com que o
apt
tente corrigir um sistema com dependências quebradas. O
apt
não permite que existam dependências quebradas em um sistema.
Algumas vezes é necessário habilitar a opção APT::Force-LoopBreak no APT para
poder remover temporariamente um pacote essencial devido a um loop de
Conflitos/Pré-Dependências. O apt-get
o alertará sobre isso e
abortará a atualização. Você pode resolver isso especificando a opção -o
APT::Force-LoopBreak=1 na linha de comando do apt-get
.
É possível que a estrutura de dependências de um sistema possa estar tão
corrompida que a ponto de requerer intervenção manual. Geralmente isso
significa usar o dselect
ou
dpkg --remove nome_do_pacote
para eliminar alguns dos pacotes problemáticos, ou
apt-get --fix-broken --show-upgraded install dpkg --configure --pending
Em casos extremos você pode ter que forçar a reinstalação com um comando como
dpkg --install /caminho/para/nome_do_pacote.deb
Depois de consertar as coisas, você deve ser capaz de terminar a atualização repetindo os comandos de dist-upgrade previamente descritos.
Durante a atualização, serão feitas perguntas para configurar ou reconfigurar
vários pacotes. Quando perguntado se algum arquivo nos diretórios
/etc/init.d
ou /etc/terminfo
, ou o arquivo
/etc/manpath.config
devem ser substituídos pela versão do
desenvolvedor do pacote, geralmente é necessário responder `yes' (sim) para
garantir a consistência do sistema. Você sempre poderá reverter para as
versões antigas, já que serão guardadas com uma extensão
.dpkg-old.
Se você não souber bem o que fazer, escreva o nome do pacote ou arquivo, e resolva isso depois. Você pode procurar no arquivo typescript para rever a informação que estava na tela durante a atualização.
Quando o apt-get dist-upgrade tiver acabado, a atualização "formal" estará completa, mas há algumas outras coisas que devem receber atenção antes da próxima reinicialização.
Mais importante, os pacotes locales
e util-linux
podem precisar ser instalados. Isso pode ser feito com:
apt-get install locales util-linux
Se você está atualizando a partir do Debian versão 2.0 ou anterior, isso
removerá o pacote getty
, porque getty
agora está no
pacote util-linux
.
Provavelmente há vários outros pacotes que precisam ser instalados, que não são
notados pelo apt-get
porque o apt-get
não seleciona
automaticamente pacotes que não são dependência para outros pacotes (por
exemplo, todos os pacotes nos campos Recommends: e Suggests:). Esses podem ser
facilmente encontrados usando o dselect
ou outro frontend visual.
No dselect
, use o método `apt' na tela [A]ccess (se já não o fez)
e atualize a base de dados com as informações dos novos pacotes, usando a opção
[U]pdate. Depois disso, na tela [S]elect, pressione `o', `o', `v' e Shift-d, e
então procure pelo cabeçalho
--- Obsolete and local packages present on system ---
Nessa seção, todos esses pacotes serão exibidos. Por exemplo, o antigo pacote
gimp
foi substituído pelo gimp1.2
. Você pode
instalar o novo pacote através do dselect
(que então exibirá uma
tela de ``resolução de conflitos de dependências'' indicando que os pacotes
antigos podem ser removidos), ou usando:
apt-get install gimp1.2
que removerá as versões mais antigas de uma vez (você só precisa confirmar).
Outro exemplo, que freqüentemente não é exibido até no dselect
,
são os clientes e servidores de telnet e talk, e o servidor NFS, que foi
dividido a partir do antigo pacote netstd
. Você pode instalá-los
com um comando como:
apt-get install telnet telnetd talk talkd nfs-server
O mesmo se aplica a manpages-dev
, que foi dividido a partir do
pacote manpages
.
Por favor, verifique o documento Notas de Lançamento das versões anteriores do Debian GNU/Linux para maiores informações sobre os pacotes que foram divididos naquelas versões; volte e leia Pacotes Renomeados, Secção 5.1 e Pacotes Divididos, Secção 5.2 para ver a lista dos pacotes divididos nesta versão.
Se você atualizou a partir do Debian versão 2.0 ou anterior e tem o Sistema X Window instalado, execute os seguintes comandos:
apt-get remove xbase apt-get install xfonts-base xfonts-75dpi xfonts-100dpi xfonts-scalable
E se você não quiser que o xdm
inicie no boot ("X
autostart"), execute também:
apt-get remove xdm
Leia /usr/share/doc/xfree86-common/README.Debian-upgrade
para
maiores informações sobre a atualização dos pacotes do sistema X window. Isso
é relevante para usuários de todas as versões anteriores do Debian. Resumindo,
você precisa ler isso.
O sistema de configuração dos módulos do kernel foi alterado desde o Debian
GNU/Linux versão 2.0. Se você atualizou do Debian 2.0 ou anterior, deve
converter seu sistema antes da próxima reinicialização. Geralmente executar
update-modules force será suficiente; ainda assim recomenda-se a
leitura da página de manual update-modules(8)
.
Note que o kernel Linux não foi atualizado por esses procedimentos.
Você pode desejar fazer isso por si mesmo, instalando um dos pacotes
kernel-image-*
ou compilando um kernel conforme suas necessidades
a partir dos fontes.
O Debian GNU/Linux vem com um 2.2.20 que está na série 2.2, a antiga série de kernel Linux estável. Você pode querer usar um kernel da série 2.4 para melhor suporte a hardware ou performance superior. Inicializar através do terceiro cdrom fará isso automagicamente ou você pode instalar um pré compilado.
apt-get install kernel-image-2.4.18-{386,586tsc,686}
Para os mais aventureiros, há uma maneira fácil de compilar seu próprio kernel
personalizado no Debian GNU/Linux. Instale a ferramenta
kernel-package
e leia a documentação em
/usr/share/doc/kernel-package
.
Divirta-se com seu novo sistema Debian GNU/Linux 3.0! :-)
Usuários de scanners de vírus como o amavis
,
scannerdaemon
e clamav
devem manter seus pacotes
atualizados ou existirá a possibilidade de um pacote problemático permita que
vírus penetrem ou passem por seu sistema, trazendo horríveis consequências.
Também deve ser mencionado que a base de dados de vírus no woody é agora
estática e obsoleta. Usar o recurso de pinagem do apt para obter os pacotes de
anti-vírus das distribuições testing ou unstable pode ser uma solução possível.
Notas de Lançamento para Debian GNU/Linux 3.0 (`woody'), Motorola 680x0
$Id: release-notes.pt.sgml,v 1.11 2002/07/28 20:09:10 gleydson Exp $debian-doc@lists.debian.org