Esta solução não é exatamente para o problema descrito na pergunta ( mas para este ), mas pode ser de alguma ajuda de qualquer maneira.
Normalmente, a falha na atualização é causada por alguns outros pacotes, que precisam ser atualizados antes que você possa atualizar o pacote filesystem
. Então atualize assim:
$ sudo -s
# pacman -Syu --ignore filesystem,bash
# pacman -S bash
# pacman -Su
O primeiro comando é apenas para garantir que tenhamos um shell de root aberto no caso de sudo
ser quebrado durante a atualização. O segundo comando atualiza todos os pacotes, exceto o pacote filesystem
, e o último finalmente atualiza filesystem
.
Se você usa pacotes AUR ou auto-compilados: Lembre-se de que também arquivos de pacotes AUR ou arquivos não-mantidos podem causar conflitos com filesystem
! Supondo que a filesystem
atualização falhe com algo assim:
filesystem: /bin exists in filesystem
filesystem: /sbin exists in filesystem
filesystem: /usr/sbin exists in filesystem
você deve verificar os pacotes AUR ou os arquivos não mantidos em /bin
, /sbin
e /usr/sbin
usando os seguintes comandos:
grep '^\(bin\|sbin\|usr/sbin\)' /var/lib/pacman/local/*/files | cut -d ":" -f 1 | uniq | cut -d "/" -f 6
lista todos os pacotes que contêm arquivos em qualquer um desses diretórios e
find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null
lista todos os arquivos nesses diretórios que não pertencem a nenhum pacote.
Atualize os pacotes AUR e / ou mova os arquivos não-mantidos para / usr / local / ... e a atualização de filesystem
deve funcionar.
Thx para jasonwryan por corrigir minha resposta.