
Ubuntu日本語フォーラム

ログインしていません。
こんにちは、初めて投稿/質問させて頂きます。
ubuntuを最近使い始めた者です。
TeamSpeak3というアプリケーションをインストールしようとした所、パッケージでは無く、実行ファイルとして配布されていました。
そこで、ダウンロード・解凍後、usr/local/binディレクトリへ実行ファイルを含む解凍済みディレクトリを移動させました。
さらにコマンドで実行できるようにしようとしたのですが、このアプリケーションは実行ファイルとは別に実行用のシェルスクリプトが含まれてましたので、それをコマンドに登録することにしました。
usr/binディレクトリの中にこのシェルスクリプトのリンクを作ればいいと思ったので、ln -s hoge.sh teamspeak3としてシェルスクリプトのリンクを作成し、それをmv teamspeak3 ../../../../usr/binでディレクトリ移動させました。
しかし、これではteamspeak3とコマンド入力しても実行ファイルが見つからず起動できませんでした。
結果、nautilusから右クリックメニューのリンクを作成、teamspeak3にリネーム、これをusr/binに移動する事でうまくいったのですが
以上の事について質問があります。
1. こういったアプリケーションのディレクトリはusr/local/binに移動させておくという認識で良いか
2. なぜlnコマンドで作成したリンクではうまくいかなかったのか
3. 2.も含みますが、nautilusからのリンク作成に相当するコマンドはあるのか
どうか回答お願いします。
オフライン
pope による投稿:
1. こういったアプリケーションのディレクトリはusr/local/binに移動させておくという認識で良いか
そこは実行ファイルを置く場所なので、/usr/local/lib/とかの方がいいかもしれませんね。
pope による投稿:
2. なぜlnコマンドで作成したリンクではうまくいかなかったのか
相対リンクを指定したからです。
Nautilusでリンクを作成した場合、中身は絶対リンクになります。
pope による投稿:
3. 2.も含みますが、nautilusからのリンク作成に相当するコマンドはあるのか
絶対リンクを指定すればOKです。
例えば、
cd /usr/local/bin
sudo ln -s /usr/local/lib/teamspeak3/teamspeak3 .
のような感じで。
オフライン
書いた後で気付きましたが、相対リンク/絶対リンクじゃなくて、
相対パス/絶対パスと言った方が正しいですね。
オフライン
私の場合、ビルド不要でバイナリ配布されてるものは、/opt配下に適当にディレクトリを掘って格納し、パスの通った所(/usr/loca/binや$HOME/binとか)に実行ファイルやシェルスクリプトへのシンボリックリンクを置くケースが多いかも。
#4の誤字訂正
誤) /usr/loca/bin
正) /usr/local/bin
なるほど、localフォルダを使うのですか、参考になります。
シンボリックリンクについても、よく分かりました。
回答ありがとうございました、これですっきりしました。
なるべく自力で解決したいですが…、また何かあったら宜しくお願いします。
オフライン