Antes de atualizar seu sistema, é extremamente recomendado que você faça uma cópia de segurança completa (backup), ou no mínimo, copie qualquer arquivo ou informações de configurações que você pode perder. As ferramentas de atualização e o processo é bastante confiável, mas uma falha no hardware durante a atualização pode ser catastrófico.
Se seu sistema i386 não foi atualizado para a Debian 2.0 (hamm), você deve primeiro atualizar para libc6, como descrito em autoup.README encontrado em "http://www.debian.org/2.0/autoup/". Em complemento ao README, você deve copiar autoup.sh e todos os arquivos do diretório debfiles.
Indiferente do método usado para atualização, é recomendado que
você verifique primeiro o estado de todos pacotes. Isto pode ser
feito com dpkg -l | less ou dpkg --get-selection >
nome_do_arquivo, ou ele pode ser feito no dselect.
É recomendável remover qualquer "holds" antes de atualizar. Se qualquer
pacote que é essencial a atualização está em "hold", a atualização
pode falhar. "Holds" podem ser removidos no dselect, ou editando o
arquivo produzido por dpkg --get-selections > nome_do_arquivo
para alterar de "hold" para "install". Então, com permissões de root,
digite dpkg --set-selections < filename.
Qualquer operação de instalação de pacotes deve ser executada com
privilégios de superusuário (root), assim faça o login como root ou
use su ou sudo para obter este privilégio.
É muito recomendado que você use /usr/bin/script
para gravar um transcript da seção de atualização -- de fato,
é uma boa idéia usar o script para gravar qualquer seção dselect (e qualquer outra coisa que você desejar manter
registro). Então se qualquer problema for detectado, você pode
ver o que aconteceu. script pode gravar este transcript
para o arquivo especificado como um argumento (script nome_do_arquivo) ou para o nome do arquivo padrão, typescript.
Existem dois métodos de atualizar para slink -- usando diretamente
o apt-get, ou usando dselect.
apt-get
Se você ainda não tem instalado apt, nós sugerimos
você fazer seu download e instala-lo, através de
ftp://ftp.br.debian.org/debian/dists/slink/main/upgrade-2.0-i386/apt_0.1.8_i386.deb
.
Dependendo do seu navegador você pode ter que fazer uma ação
especial para copiar diretamente para um arquivo, em modo
binário simples. Por exemplo, no Netscape você deve pressionar
a tecla shift enquanto clica na URL para copiar o arquivo.
Instale o pacote copiado como root com o comando dpkg -i
apt*.deb.
Se você está instalando através de um CD-Rom, você pode instala-lo diretamente através do CD-Rom. Como root, execute:
dpkg -i ponto_de_montagem_do_CD/upgrade-2.0-i386/apt_0.1.8_i386.deb
É recomendado que você leia agora as páginas de manual
apt-get(8) e sources.list(5). Antes de iniciar a atualização você deve ajustar o
arquivo de configuração /etc/apt/sources.list do apt. A configuração padrão é ajustada para instalações
pela Internet, mas você pode desejar modificar /etc/apt/sources.list para usar outros espelhos (mirrors) ou seu mirror local. Se estiver
instalando de um CD-Rom, veja Upgrading from CD-ROMs:, Secção 3.2.
Uma vez que configurar o apt execute (como root):
apt-get update
apt-get -f dist-upgrade
Muitas pessoas preferem executar apt-get -f --dry-run dist-upgrade | less antes de apt-get -f dist-upgrade para ver o que acontecerá. Este método pode consumir muito tempo, mas pode evitar muitas surpresas.
Se novas versões dos pacotes atualmente instalados estão
disponíveis, apt-get dist-upgrade e apt-get upgrade
verifica e os atualiza; sobre nenhuma circunstância os pacotes
instalados serão removidos, ou pacotes verificados como não
instalados serão instalados. Novas versões dos pacotes atualmente
instalados não podem ser atualizados sem alterar o estado da
instalação de outro pacote que será deixado na sua versão atual.
Então, pode ser necessário usar dpkg ou dselect
para remover e reinstalar pacotes corrompidos ou dependências.
Alternativamente, apt-get dselect-upgrade pode ser usado após
apt-get -f dist-upgrade. Veja a página de manual apt-get(8).
A opção -f (corrigir) faz o apt
tentar corrigir o sistema locais com falta de dependências.
apt não permite a existência da dependência
de pacotes corrompidos nosistema. É possível que uma estrutura
de dependência de um sistema possa ser corrompida, bem como requerer
intervenção manual (que normalmente significa usar dselect ou dpkg --remove pacote para eliminar
alguns dos pacotes problemáticos).
Se o apt-get relatar muitos pacotes corrompidos
após estes dois comandos, tente reparar o sistema (talvez removendo
o pacote corrompido ou instalando dependências não existentes). Se
voce não puder reparar o sistema para a satisfação do apg-get, use o método dselect (com um auxiliar
nãoapt) para atualizar.
O código do apt para manipular múltiplos CD-ROMs
não foi completado a tempo para o lançamento da slink, mas há um
desenvolvimento disponível. Em /etc/apt/sources.list,
inclua como a primeira linha após os comentários de instrução:
deb file:ponto_de_montagem_do_CD/debian stable main
As outras linhas "deb" devem ser comentadas colocando uma # antes delas.
Então insira o primeiro CD binário, monte-o, e, como superusuário (root), execute:
apt-get update
apt-get dist-upgrade
Como mencionado acima, apt-get -f --dry-run dist-upgrade | less pode ser usando antes de apt-get dist-upgrade para evitar surpresas.
Enquanto o primeiro CD ainda estiver montado, é uma boa idéia executar apt-get install dpkg-multicd
Desmonte o primeiro CD binário, substitua-o pelo segundo CD binário, e
mounte o CD. Então altere a linha em /etc/apt/sources.list
para
deb file:ponto_de_montagem_do_CD/debian stable main contrib
e repita os passos update e dist-update, como mostrado acima.
Após atualizar, desmonte o último CD-Rom mas deixe-o na unidade
de CD-ROM. Então inicie o dselect. [A]ccess, escolha
o novo método de instalação multi_cd, digite o
/nome-do-dispositivo correto e tecle Enter em todas as questões
seguintes (o segundo CD-Rom binário deve estar na unidade quando fizer
isto!). [U]pdate. Então [S]elect; pressione espaço para deixar a tela de
ajuda. Na tela de seleção de pacotes, pressione Shift-D imediatamente
seguido de Enter. É muito provável que ocorra muitos conflitos
de dependências, neste caso você verá uma tela de ajuda.
Saia da tela de ajuda pressionando espaço, e verifique a lista de
pacotes que é mostrada. Você pode alterar os estados calculados, mas
isto não é recomendado; apenas pressionando Enter todas as
dependências/conflitos devem ser resolvidas satisfatóriamente.
Então [I]nstall. Após [I]nstall, outro [C]onfigure é normalmente necessário.
Então insira o primeiro CD binário e repita o processo. Este procedimento
dselect é necessário porque o xbase está
no segundo CD, mas muitas de suas dependências estão no primeiro CD.
O CD da Debian Oficial possui dois CDs binários. Muitos vendedores
produzem uma configuração com três CDs binários, incluindo toda ou
parte de não-free e/ou não-US. Se você tem um terceiro CD binário,
desmonte o segundo CD e monte o terceiro. Altere a linha em
/etc/apt/sources.list para
deb file:ponto_de_montagem_do_CD/debian stable non-free non-US
(Omita non-free ou non-US se não estiverem incluídos em seu CD.)
Então repita os passos update e dist-update como
acima. Note que você terá que re-executar [A]ccess e [U]pdate no
dselect após este passo, como descrito acima. Algumas
versões do tal terceiro CD binário não-oficial tem uma estrutura
que faz possível ter eles inseridos enquanto se executa os passos
[A]ccess e [U]pdate; se você tem esse tal CD, os pacotes de todos
três CDs pode ser acessados simultâneamente pelo dselect.
Uma "alternativa não oficial" usando a versão potato do apt, versão 0.3.x, está disponível. Tenha em mente
que o apt 0.3.x está em versão beta, assim algumas
falhas provavelmente estão presentes. Jason Gunthorpe, um dos principais
autores do apt, escreveu:
A solução real é instalar "apt" 0.3 do potato e usa-lo
embutindo um CD controlado pelo "apt-cdrom". I tenho feito um
fonte especificamente para isto, que pode ser acessado colocando
a linha "deb http://www.debian.org/~jgg apt/" em "sources.list", e
então executando "apt-get update; apt-get install apt".
Esta versão contém o "apt v 3.x." linkado com a última glibc 2.0.
Tudo que você deve fazer é instalar o "apt", incluir a linha
acima em seu "sources.list" (e talvez um arquivo temporário
uri para o primeiro CD-Rom) e então fazer "apt-get install apt".
Próximo, insira o primeiro disco, execute "apt-cdrom add", então
insira o segundo disco e execute "apt-cdrom add" então execute
"apg-get dist-upgrade -u" duas vezes (ou será 3 vezes?).
dselect
Esta seção assume que você tem algum conhecimento do dselect. Afinal de contas, você fez a instalação do sistema
que está tentando atualizar, não fez? Existe um tutorial iniciante
para o dselect em http://www.br.debian.org/releases/2.1/i386/dselect-beginner,
caso precise refrescar sua memória.
O primeiro passo para usar o dselect é escolher um
método de "Acesso". Mais informações sobre os métodos de acesso, e
qual você deve escolher, pode ser encontrado no dselect Tutorial referido acima.
O método de acesso apt para dselect é
o mais rápido atualmente disponível. Ele instala e configura os pacotes
na seqüencia correta, assim como dependências são resolvidas quando os
pacotes são descompactados, tornando desnecessário um segundo passo.
No entanto, o método de acesso apt não é capaz
de gerenciar corretamente múltiplos CDs. Assim se quaisquer pacotes
em seu sistema estão corrompidos, o apt-get upgrade não
poderá ser usado, e o método de acesso apt também
falhará.
O método de acesso "montado" (mounted) para o dselect instala e configura
qualquer pré-dependências primeiro, que reduz o número de passos de
instalação necessários. O método de acesso "montável" (mountable) também
tenta instalar e configurar pré-dependências primeiro, e é relativamente
rápido. Existem muitos problemas conhecidos com a manipulação
de pré-dependências destes métodos de acesso; em caso de problemas,
tente usar o método apt como descrito acima.
O método de acesso recomendado para usar múltiplos CDs é o multi_cd. Para usar este método, primeiro instale o dpkg-multicd
usando:
dpkg -i ponto_de_montagem_do_CD/dists/slink/main/binary-i386/base/dpkg-multicd
ou
apt-get install dpkg-multicd
Explicado em README.multicd do primeiro CD e, após a instalação,
leia /usr/doc/dpkg-multicd/readme.txt.gz para usar este método.
O método de acesso "http" da versão hamm não controla pré-dependências
corretamente; ele não é recomendado. Se esta versão do dpkg-http for
usada para atualizar haverá um aviso Abort automatic installation (Y/n)?
(Abortar instalação automática (S/N)?) para qualquer pré-dependência.
Devido a uma falha no dpkg-http da hamm o usuário pode pressionar
Ctrl-C ao invés de Y neste ponto e instalar manualmente
(dpkg -i) o pacote requerido. dselect pode então
ser reiniciado para procurar a próxima pré-Dependência. Para economizar
tempo, o usuário pode instalar manualmente os seguintes pacotes da slink:
libc6, libncurses4,
libreadlineg2, libstdc++2.9,
slang1, and libhtml-parser-perl.
Indiferente do método de acesso usado, é recomendado que você
atualize primeiro seus pacotes existente antes de adicionar qualquer
outro novo. Execute os passos [A]ccess, [Update], e [S]elect do
dselect inicialmente. Assim que você entrar em "Select"
você pode pressionar imediatamente "D" (shift-D) então Enter.
Uma tela de resolução de conflitos/dependências provavelmente será
mostrada. Após resolver os conflitos (normalmente você pode apenas
pressionar Enter), execute [I]nstall, e então [C]onfigure para
simplesmente atualizar todos os pacotes instalados. Após isto você pode
usar o [Select] e [I]nstall modules para instalar pacotes adicionais,
se desejado.
Quando o dpkg ou dselect atualizam muitos
pacotes, é normalmente necessário repetir os passos de instalação e
configuração diversas vezes antes de todo o sistema ser configurado.
Dependendo do método de acesso escolhido, pode ser necessário
repetir o passo [U]pdate entre os passo de instalação. Pode ser útil
sair do dselect e reinicia-lo imediatamente antes do
passo [U]pdate.
Você não deve executar a atualização através de qualquer seção X
gerenciada pelo xdm na máquina que esta atualizando.
xdm e xfs são interrompidos na atualização,
assim você iria terminar com uma máquina meia-atualizada quando
o X fosse terminado. Se a máquina está configurada para inicializar
o X automáticamente na inicialização, isto pode ser difícil de
corrigir. Se o servidor X que estiver usando se refere a atualização
do host para os serviços de fonte xfs, ele terminará sua
conexão com o servidor de fontes quando o xfs for
terminado. Isto não é fatal mas pode ser aborrecedor. Na dúvida, se
a seção X é controlada pelo xdm ou não, atualize sua
máquina através de um terminal virtual do Linux.
Você não deve atualizar através de uma conexão telnet remota, a não ser
que instale o netstd e telnetd da
slink primeiro. Quando o pacote antigo netstd é
removido, a conexão telnet será interrompida, e você não poderá
reconectar até que o pacote telnetd seja instalado.
hilliard@debian.org