その他について詳しく解説します
お仕事で珍しくLinux(Debian7)を触ってました。 Linuxはあまり触る機会がないので、正直いってほとんど詳しくないんですよね。 毎回、やろうとしたことを調べながら試行錯誤しながら設定してます。
で、そのLinuxに外付けHDDを接続してフォーマットしようと試そうと思ったら、なんでかfdiskコマンドが実行出来ませんでした。
fdisk
fdisk: コマンドが見つかりません
うーん、なんで使えないんだろ? と思って調べてみた結果の備忘録です。
ためしてみたこと
/sbin/fdisk
とりあえずコマンドをフルパス指定で実行したみたら、実行されました。
このコマンドを試してみたのがrootではなく、作業用に作成したユーザだったので、試しにrootのアカウントに入りなおしてこのコマンドを実行してみると、フルパスじゃなくても実行出来ました。
つまりroot以外のアカウントでログインしていると、上記の現象が出るということなので、おそらく環境変数がうまく設定されてないっぽいですね。
環境変数の確認
printenv
環境変数を確認するコマンドです。 これを実行すると、現在のアカウントに設定されている変数が一覧表示されます。
環境変数をこのコマンドで見てみると、rootのPATHの中に /sbin/ が指定されている(画像前者)が、別アカウントの方には /sbin/ が指定されてなかった(画像後者)みたいです。
なので、そのまま実行しようとしてもfdiskのコマンドが見つからないでエラーになってた、ということですね。 環境変数の指定を追加してやれば、別アカウントでもこのコマンドが実行出来そうです。
ただ、fdiskについてはrootで実行すれば事足りるので、こっちで実行することにしました。 ディスクのフォーマットってそんなに頻繁に使うわけじゃなさそうだし、rootで十分そうですね。
まとめ
とりあえず、コマンドが見つからない場合は、環境変数を確認する。 ということですね。 覚えました。
てか、もしかしてこれってLinuxでは基本的なことですかね? rootの権限じゃないから、許可されてないコマンドが使えない…それだけのことだったりして。
ホント、Linuxはそんなに頻繁に触らないんですよ。 だから毎回手さぐりなんです…。