インストールスクリプトは一部の(一般)ユーザーとして実行する必要がありますが、システムディレクトリを作成する必要があります。

インストールスクリプトは一部の(一般)ユーザーとして実行する必要がありますが、システムディレクトリを作成する必要があります。

私はLinuxを初めて使用します。この問題を説明します。comsolある種のネットワークライセンスでインストールしようとしています。

sudo ./setupサーバーディレクトリを使用している場合、ユーザー名「root」は認識されません。サーバーは私のユーザー名zahirを認識しました。作成したばかりの場合、インストール./setupはライセンス確認ステップに合格しましたが/usr/local

zahirroot権限でインストールを実行するには、どのコマンドを使用する必要がありますか?

答え1

setupスクリプトの助けを見つけようとしています。たぶんファイルに付属しているか、スイッチをREADME許可することができます-h(を実行して確認./setup -h)。合理的によく書かれたスクリプトを使用すると、インストールディレクトリを変更できます。次のようなことができます

./setup --prefix=/home/zahir/

またはこれと似ています(スクリプトヘルプで見つけたものによって異なります)。

comsolこれはホームディレクトリにインストールされ、/usr/local使用できますsudo

修正する

上記の方法は機能しますが、comsolコマンドが認識されないことを報告します。これは、バイナリの位置を変数comsolに追加する必要があることを意味します。PATH

comsolにインストールされていると仮定すると、変数に/usr/local/comsol35追加できます。 (システムの実際のパスは異なる場合があります)。/usr/local/comsol35/binPATH

パスを追加してください。PATH変える:

次のコマンドを実行します。

export PATH=$PATH:/usr/local/comsol35/bin

PATH現在のセッションの内容のみが変更されます。変更を永久に適用するには、次の手順を実行します。

echo 'export PATH=$PATH:/usr/local/comsol35/bin' >> ~/.bashrc

$PATH上記のコマンドでは、二重引用符ではなく一重引用符を使用して補間するのではなく、文字通りコマンドに追加することが重要です.bashrc。また、損傷を避けるために>>代わりに使用する必要があります。>.bashrc

このコマンドを実行しechoた後comsol、新しく開くすべての端末で使用できます。コマンドの実行に使用された端末に変更を適用するには、echo以下を実行する必要があります。

. ~/.bashrc

(はい、コマンドはピリオドだけです)

答え2

sudo明らかにあなたのように動作しないいくつかのコマンドがありますsudo ./setup。私は通常、次のようにシェルのルートになります。

オプション1- システムがサポートしていない可能性があります。

$ sudo -i

オプション2- 広く支持されなければならない

$ sudo su -

これら2つのコマンドのいずれかを実行すると、そのシェルの内側にあるため、./setupコマンドを実行できます。ディレクトリ()をプログラムが実行中の場所cdに変更したことを確認してください。./setup

rootとzahirで実行しますか?

インストールを直接実行する必要がある場合は、インストールzahirに必要なディレクトリを作成して、事前にそのzahirディレクトリにインストールして./setupから実行できますzahir

$ sudo mkdir -p /usr/local
$ sudo chown -R zahir /usr/local

答え3

setupスクリプトがあなたの環境からユーザー名を読むようです。$USERあるいは、環境変数の1つを確認することもできます$USERNAME(これらはデフォルト変数であり、echo $USER端末で実行してその値を確認できます)。次の行を含めることができます。

current_user=$USERNAME

ファイルから検索してみてください$USER

grep USER setup

その後、これをに変更できますzahir。たとえば、次のようになります。

current_user=zahir

スクリプトをどこかに投稿できる場合は、喜んで調べてより具体的な回答を提供します。

関連情報