Não é possível fazer o login após a atualização Raspberry Arch Linux

0

Hoje, tentei atualizar meu Arch Linux no Raspberry, mas recebi um erro:

error: could not prepare transaction
error: failed to commit transaction (conflicting files)
package: /bin exists in filesystem
package: /sbin exists in filesystem
package: /usr/bin exists in filesystem
Errors occurred, no packages were upgraded.

Então, eu segui as instruções fornecidas aqui .

Após atualizar alguns pacotes com pacman -S --force (incluindo o pacote shadow), não consigo logar com nenhuma conta e receber a mensagem Access denied .

Eu fiz algo de errado? As contas de senhas foram redefinidas?

    
por rigon 12.06.2013 / 13:28

2 respostas

2

Eu também acabei com uma instalação bem agitada, depois de atualizar a última vez (só porque eu não li a instrução de antemão)! O que eu fiz, é o login com um CD do archlinux (um stick USB inicializável também faria isso) e o chroot no meu linux 'original' e atualizei tudo de lá. Eu tenho que correr agora, mas se você gostaria de ter mais informações eu estou feliz em dar um pouco mais ...

    
por 12.06.2013 / 18:58
2

Você pode ter substituído /etc/shadow e /etc/passwd quando você fez pacman -S --force shadow . Tentar logar em um console virtual (ou seja, tty para teclado e monitor HDMI) ou a porta serial (UART conectada a alguns dos pinos GPIO) não terá mais sucesso.

Remova o cartão SD do Raspberry Pi, insira-o em outro computador com Linux e com sombra (provavelmente qualquer distribuição relativamente moderna), e:

  • Edite /etc/shadow e /etc/passwd no cartão SD manualmente.
  • Corrija o /etc/shadow e o /etc/passwd usando o conjunto de sombras:

    1. Se o usuário não estiver em /etc/shadow ou /etc/passwd , recrie o usuário.

      sudo useradd -M -R /path/to/sd/card/mount/point whatever_your_rpi_username_is
      
    2. Redefina a senha do seu usuário.

      sudo passwd -R /path/to/sd/card/mount/point whatever_your_rpi_username_is
      

Sincronize e desmonte o cartão SD, coloque-o novamente no Pi e tente inicializar a partir dele.

Outros usuários do Raspberry Pi podem ter sido falsificados ou completamente ausentes também.

O login no SSH não deve alterar nada em relação ao registro no console se você substituir /etc/passwd ou /etc/shadow .

Siga as importantes notícias do Arch Linux . A mais recente teria poupado o sofrimento. Todos os binários em /bin , /sbin e /usr/sbin foram movidos para /usr/bin e você ainda tem algo a seguir, portanto, por que pacman está reclamando. Siga as instruções desse artigo, mas use seu julgamento. Se eles não resolverem o problema completamente (afinal, você está em um estado impuro), você poderá conseguir mover manualmente tudo em /bin , /sbin e /usr/sbin em /usr/bin e tentando novamente.

Não use --force a menos que você saiba o que está fazendo ou seja explicitamente instruído a fazê-lo pelo Arch devs.

    
por 12.06.2013 / 20:16