次のように this tutroial ユーザーまたはSudoとしてコマンドを実行しようとすると、次のエラーが発生します。
Sudo:ttyが存在せず、askpassプログラムが指定されていません
この記事の Lurdan からのコメントには、実行する必要があると記載されています
Sudo -S <YOUR_COMMAND>
chmod 0666 /dev/tty
chmod
は機能しませんが、Sudo -S
ありますが、確かに別の修正がありますか?
とてもばかげて、さらに下を見ると、 Beorat からの解決策が見つかります。
Sudo ttyの問題などを回避するには、do-release-upgradeを実行する直前に次のコマンドを実行します。
Sudo -S apt-mark hold Sudo
sudo -S apt-mark hold procps
Sudo -S apt-mark hold strace
すでにアップグレードしている場合は、上記のコマンドを実行してから、手動でTrustyパッケージにダウングレードします。
Sudo -S wget http://mirrors.kernel.org/ubuntu/pool/main/s/Sudo/sudo_1.8.9p5-1ubuntu1.1_AMD64.deb
Sudo -S wget http://mirrors.kernel.org/ubuntu/pool/main/p/procps/procps_3.3.9-1ubuntu2_AMD64.deb
Sudo -S wget http://mirrors.kernel.org/ubuntu/pool/main/s/strace/strace_4.8-1ubuntu5_AMD64.deb
Sudo -S dpkg -i Sudo_1.8.9p5-1ubuntu1.1_AMD64.deb
Sudo -S dpkg -i procps_3.3.9-1ubuntu2_AMD64.deb
Sudo -S dpkg -i strace_4.8-1ubuntu5_AMD64.deb
詳細はこちら: https://github.com/Microsoft/BashOnWindows/issues/482
WSLは、Windowsからの管理にlxrun実行可能ファイルを使用します。
lxrun -h
Usage:
/install - Installs the subsystem
Optional arguments:
/y - Do not Prompt user to accept
/uninstall - Uninstalls the subsystem
Optional arguments:
/full - Perform a full uninstall
/y - Do not Prompt user to accept
/setdefaultuser - Configures the subsystem user that bash will be launched as. If the user does not exist it will be created.
Optional arguments:
username - Supply the username
/y - If username is supplied, do not Prompt to create a password
/update - Updates the subsystem's package index
そのため、lxrun /setdefaultuser root
を使用できます。 Xenialにアップグレードしようとしたときに同じ問題が発生したときに必要だったので、この点について指摘しようと思いました。 このコマンド を実行すると、問題が解決したwget/dpkgコマンドを確認できます。
私が使用したコマンド:
wget http://mirrors.kernel.org/ubuntu/pool/main/s/Sudo/sudo_1.8.9p5-1ubuntu1.4_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/p/procps/procps_3.3.9-1ubuntu2_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/strace/strace_4.8-1ubuntu5_AMD64.deb
dpkg -i Sudo_1.8.9p5-1ubuntu1.4_AMD64.deb
dpkg -i procps_3.3.9-1ubuntu2_AMD64.deb
dpkg -i strace_4.8-1ubuntu5_AMD64.deb
最後に、Sudo apt-get install -f
を取得した場合に備えて、The following packages have unmet dependencies [xxx] but it is not going to be installed
の実行が必要になる場合があります。
/ etc/hostsを/etc/hosts.buに移動して、エラーを取り除きました。シェルを再び開いて閉じた後、/ etc/hostsが再作成され、コンピューター名が追加されます。エラーはなくなりました(私にとって)。