sudo?須藤さんて誰?と思ったのは、遠い日のお約束。
Linuxとかのコンソールで、自分でないユーザーの権限で何か実行したい時のコマンドね。古~いディストリビューションなんかには注意書きがついてたりもしたわね。
そんな sudo だけど、いくつかエラーが出る事があるわね。
lxcで作ったコンテナなんかで、こんなのが出たらどうする?
sudo: 端末 (tty) が存在せず、パスワードを尋ねる (askpass) プログラムが指定されていません
あら、なにこれ。(Debian stretchほか)
一般的なのは以下かな?
sudo: no tty present and no askpass program specified
まぁ、どっちでも意味は同じね。
このままではsudoできないので厄介なエラーだけど、要はメッセージに対応すればいいわけ。つまり以下のどちらかね。
そもそも。
sudoでtty指定について文句を言われて止まっちゃう理由っていうのはね、 ユーザーに見えないようにtty機能を利用して裏でパスワード渡してるのに、それができないから なのよ。
だったら、ttyを使わずパスワードを入れさせるか、ttyを割り当ててあげればいいってわけ。たとえば、visudo しといて、そっちで Defaults visiblepw を設定しておくとかね。
ピンポイントで使いたいんだって時は以下でやりましょう。
sudo -S コマンド
これでイケるはずよ。
ローカルに適当にたてたマシンでよくあるわよね。
これは単に とりあえず見なかったふり するか、/etc/hosts に現在のIPと名前を登録しておけばいいわ。
じゃあね。