Não é possível “sudo chroot” no Ubuntu

3

No terminal quando tento sudo chroot . no diretório inicial, recebo:

chroot: failed to run command ‘/bin/bash’: No such file or directory

Quando tento sudo chroot . no cartão SD externo, obtenho:

chroot: failed to run command ‘/bin/bash’: Permission denied

Descobri que havia um bug chroot relatado sobre isso , mas lá em 2016/04/12 eles dizem:

"Changed in canonical-devices-system-image:  
status:  
Fix Committed → Fix Released"

Estou em um Bq Aquaris m10 HD rodando Ubuntu 15.04 (OTA-11). Esse bug também afetou o OTA 10.1, mas eu decidi esperar pelo próximo OTA. Alguém mais está experimentando esse comportamento?

Estou perguntando isso porque gostaria de instalar algumas ferramentas cli sem atrapalhar o sistema e quebrar as OTAs muito necessárias. Estou seguindo este guia: link .
Existe alguma outra maneira de instalar ferramentas cli sem definir o sistema de arquivos como gravável?

Qualquer solução alternativa é bem-vinda

Edit: Problema resolvido! Como Terdon e Rinzwind apontaram, o erro "Permission denied" foi devido a não ter permissões de execução no meu SDcard externo. Eu baixei e extraí a imagem do Ubuntu em uma pasta no meu diretório home e agora posso fazer o chroot muito bem. Obrigado!

    
por Ciofeca999 02.06.2016 / 10:10

2 respostas

2

Não tenho certeza se o bug que você vinculou é relevante aqui. Você não pode apenas chroot para um diretório arbitrário como esse. Por padrão, chroot definirá / para o diretório que você forneceu e, em seguida, tentará executar /bin/sh (ou qualquer que seja o shell padrão). Como não há /bin/sh no diretório de destino, ele reclama. Isso é o que você vê no primeiro erro:

chroot: failed to run command ‘/bin/bash’: No such file or directory

O segundo erro é provavelmente porque você montou uma partição FAT ou NTFS na unidade externa e não a configurou para permitir a execução. Parece que /path/to/external/bin/sh existe, mas não pode ser executado. Tente montar o cartão SD com a execução ativada.

Observe que o guia ao qual você se vinculou diz para baixar uma imagem do Ubuntu e usá-la como destino chroot. Não lhe diz para usar o seu diretório home para isso!

Para ilustrar:

$ sudo chroot .
chroot: failed to run command ‘/bin/bash’: No such file or directory
$ cp /bin/busybox bin/sh 
$ sudo chroot /bin/sh   ### works!
# /
    
por terdon 02.06.2016 / 10:44
0

Tente fazer isso de uma pasta que não esteja dentro de / home like

chroot path_chroot_folder

Olhe para o  comente no link do relatório de erros que você compartilhou sobre "chroot".  especificamente

  

Jamie Strandboge (jdstrand) escreveu no dia 2016-01-15: # 3
  A razão pela qual isto não funciona é porque esta regra esculpe o / home:    / [^ h] [^ o] [^ m] [^ e] ** pix,
  Precisávamos fazer isso para os testes de fakeenv-style do piloto automático. Eu acho que esse estilo de teste foi abandonado devido a outros problemas; Se isso for verdade, posso simplificar as regras de transição do exec e remover essas regras do piloto automático. Nicholas, você pode comentar?
  Alterado no apparmor-easyprof-ubuntu (Ubuntu):   cessionário: ninguém → Nicholas Skaggs (nskaggs)   status: Confirmado → Incompleto

    
por Manoel Rebelo Abranches 02.06.2016 / 10:41