Pessoal, acredito que muitos já passaram por isso e, como eu, talvez não tenham encontrado nada além de um "reinstale o sistema inteiro".
Bem, o cenário é basicamente assim:
O sistema está lindo, funcionando perfeitamente, aí atualizamos com "pacman -Syu" e nos deparamos com uma falha como:
"glibc não poder ser atualizado"
ou:
"filesystem: já existe em /usr/lib64"
Então buscamos dicas e em alguma delas existe a opção (nada segura porém) recomendada de usar o --force ou -f para forçar a atualização. Em tese é para funcionar e até funciona, mas em alguns casos o sistema "quebra". O comando pacman para, assim como quase todos os outros, com exceção de alguns como "cd" e "exit" por exemplo.
Sem querer reinstalar tudo e não querendo desta vez desistir, tive a seguinte ideia:
- Vou rever os passos de instalação do sistema e ver o que posso fazer sem acabar com ele todo.
Os passos foram os seguintes:
Dei boot pelo CD de instalação; no meu caso usei o 64 bits;
Montei as duas partições que me eram necessárias; no meu caso a partição onde estava o sistema quebrado e outra para onde eu faria backup de arquivos importantes, pois eu não sabia se daria certo, então melhor não arriscar; :D
Após isso, desmontei a partição para onde enviei os backups por questão de segurança;
Preparei a swap como se fosse instalar do zero;
Dei o comando pacstrap normalmente, como se estivesse em uma nova instalação, porém apenas com o base e base-devel para serem reinstalados no sistema quebrado.
Neste momento houve um problema, pois o sistema não podia sobrescrever a pasta com os arquivos problemáticos, à saber: "/usr/lib64"; o que fiz foi apagá-la com o "rm -R [CaminhoDaPasta]";
Refiz agora o 5° passo e pronto.
Daí tentei gerar o fstab, mas percebi que estava apenas reescrevendo as mesmas coisas no arquivo e não precisava fazer mais nada, somente reiniciar e pronto.
Escrevo esta dica do sistema recuperado, funcionando perfeitamente com todos os programas. Até o presente momento tudo está OK e o sistema atualizado. Graças a DEUS!!! :D
[1] Comentário enviado por removido em 03/02/2013 - 21:09h
"...Então buscamos dicas e em alguma delas existe a opção (nada segura porém) recomendada de usar o --force ou -f para forçar a atualização..."
Isto NÂO é recomendável para este caso (E para a imensa maioria das atualizações, que venham a requerer alguma intervenção manual).
Este problema teria sido evitado, consultando a pagina da distribuição(Uma boa pratica em qualquer distro, mas fundamental no Arch, onde sempre que existe alguma atualização "problemática" ou que exija intervenção manual, a mesma é anunciada previamente) ao receber a mensagem do pacman:
Seguindo isso, será muito difícil um problema como esse acontecer.
*Aqui utilizo o Arch desde o final de 2008 e sequer uma vez(Nunca), tive um problema grave com sistema devido a atualizações.
Note: In general, it is strongly advised to avoid the --force switch as it is not safe. However, in this particular case it is safe, and suggested to avoid having to manually delete the /var/run or /var/lock symlinks.
Nota: Em geral, é fortemente aconselhado evitar a opção - -force, pois não é seguro. No entanto, neste caso particular, é seguro, e sugerido para evitar ter que apagar manualmente os links simbólicos /var/run ou / var/lock.
Assim também foi comigo, ao identificar o problema com a atualização busquei e achei notícias sobre o por que de não poder atualizar no próprio site do Arch. Lendo a ajuda do próprio site tive problemas. Minha dica foi no intuito de ajudar novatos no Arch e outros não tão novatos mas que possam vir a ter problemas como o meu afinal todos podemos ter algum problema uma vez ou outra e as vezes deixamos escapar alguma dica da equipe do Arch ou nosso caso em particular pode não ter dicas lá.
[3] Comentário enviado por removido em 04/02/2013 - 20:04h
@Landox o link que enviou é de uma atualização diferente da citada na sua dica e dos links que enviei, onde no site oficial da distribuição exibi-se a seguinte informação:
" [b]Notícia: Atualize juntos filesystem-2013.01-1 e glibc-2.17-2[/b]
Devido a mudança do symlink "/lib" do pacote glibc para o pacote filesystem, [b]é requerida a atualização em conjunto do glibc-2.17-2 e filesystem-2013.01-1[b/]. Acontecerá automaticamente quando você executa "pacman -Syu". Fique atento, updates parciais não são suportados e não use a opção "--force"...
Um problema em potencial no upgrade em x86_64 é encontrar conflitos de arquivos no /usr/lib64. Todos os pacotes do Arch Linux que tiverem arquivos neste diretório estão sendo atualizados, então atualize individualmente estes pacotes (glibc e filesystem) primeiro. Qualquer pacote no AUR com arquivos neste diretório deve ser atualizado para instala-los no /usr/lib."
Neste caso, o cuidado a ser tomado é o de atualizar os pacotes filesystem e glibc juntos, via pacmam -Syu. e que verifique os pacotes que por ventura utilizem o /usr/lib64 (Não atualizados ou do AUR) e indica claramente:
[b]Fique atento, updates parciais não são suportados e não use a opção "--force".[/b]
Entretanto sua dica é muito util para quem não verificou isto antes de atualizar ou não seguiu a recomendação (Isto não é nenhum crime, porem pode causar problemas), mas ao faze-lo(Verificar) uma situação como:
[i]
"Pessoal, acredito que muitos já passaram por isso e, como eu, talvez não tenham encontrado nada além de um "reinstale o sistema inteiro".
Bem, o cenário é basicamente assim:
O sistema está lindo, funcionando perfeitamente, aí atualizamos com "pacman -Syu" e nos deparamos com uma falha como: ..."[/i]
Dificilmente ocorre.
Aqui, bastou atualizar o sistema com um pacman -Syu e tudo continuou funcionando.
[4] Comentário enviado por lim em 05/02/2013 - 09:28h
Amigo fico feliz que para você tudo saiu bem e seu Arch esta firme e forte, mas só por que em sua máquina funcionou perfeitamente não quer dizer que em outras funcione. Se leu a página que citei (Como exemplo) então viu que lá eles recomendam o uso do --force ou -f afirmando que naquele caso é necessário e melhor do que deletar manualmente os arquivos e diretórios que precisam ser substituídos ou retirados. Infelizmente já tive outros problemas além destes e em um deles fiquei um tempo sem usar o Arch, no entando me agradei tanto deste Roling Release que a saudade foi grande. Agora lembre - se que problemas de conflitos em lib's vão além de atualizações feitas com "pacman -Syu" existem os casos onde o user simplesmente instala manualmente, deleta algo ocasionando a "quebra" do sistema.
Mais uma vez agradeço seu entusiasmo e sua prontidão em ajudar. Sua dica é muito valorosa para a comunidade e se ainda não fez nenhum Post acerca disso, seria bom pois contribuiria bastante.