web-dev-qa-db-ja.com

Ubuntuで「Sudo chroot」できません

ターミナルでホームディレクトリでSudo chroot .を実行しようとすると、次のメッセージが表示されます。

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

外部SdカードでSudo chroot .をしようとすると、次のようになります。

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

これについて chroot bug が報告されていることがわかりましたが、2016/04/12には次のように書かれています:

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

Ubuntu 15.04(OTA-11)を実行しているBq Aquaris m10 HDを使用しています。このバグはOTA 10.1にも影響しましたが、次のOTAを待つことにしました。他の誰かがこの行動を経験していますか?

システムをいじったり、必要な多くのOTAを壊したりせずにいくつかのcliツールをインストールしたいので、これを求めています。このガイドに従っています: https://askubuntu.com/a/623311
ファイルシステムを書き込み可能に設定せずにcliツールをインストールする他の方法はありますか?

回避策は大歓迎です

編集:問題解決! terdonとRinzwindが指摘したように、「Permission denied」エラーは、外部SDカードに実行許可がないためです。私はホームディレクトリのフォルダにubuntuイメージをダウンロードして展開しました。これでうまくchrootできます。ありがとう!

3
Ciofeca999

あなたがリンクしたバグがここで関連しているのかどうかはまったくわかりません。そのような任意のディレクトリにchrootすることはできません。デフォルトでは、chroot/を指定したディレクトリに設定し、/bin/sh(またはデフォルトのシェルが何であれ)を実行しようとします。ターゲットディレクトリに/bin/shがないため、文句を言います。それは最初のエラーで見たものです:

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

2番目のエラーは、おそらくFATまたはNTFSパーティションを外部ドライブにマウントし、実行を許可するように設定していないためです。 /path/to/external/bin/shが存在するように見えますが、実行できません。実行を有効にしてSDカードをマウントしてください。

ガイド にリンクすると、Ubuntuイメージをダウンロードし、chrootターゲットとして使用するよう指示されます。ホームディレクトリを使用するように指示するものではありません。

説明する:

$ Sudo chroot .
chroot: failed to run command ‘/bin/bash’: No such file or directory
$ cp /bin/busybox bin/sh 
$ Sudo chroot /bin/sh   ### works!
# /
2
terdon

/ homeのようなフォルダではないようにしてみてください

chroot path_chroot_folder

「chroot」の実行について共有したバグレポートリンクのコメントを見てください。具体的に

Jamie Strandboge(jdstrand)が2016-01-15に書いた:#3
これが機能しない理由は、このルールが切り開くためです
/home: / [^ h] [^ o] [^ m] [^ e] ** pix、
自動操縦のためにそれを行う必要がありました fakeenvスタイル テスト。ただし、このスタイルのテストは他の問題のために放棄されたと思います。それが当てはまる場合、exec移行ルールを簡素化し、これらの自動操縦ルールを削除できます。ニコラス、コメントできますか?
apparmor-easyprof-ubuntu(Ubuntu)の変更:担当者:誰もいない→ニコラススカッグス(nskaggs)ステータス:確認済み→不完全