2017-01-19 17 views
0

境界:インターネットにアクセスせずにルートなしでLinuxバイナリを展開しますか?

  • 私は私が私たちのイントラネットでFTP経由でアクセスすることができ、ここでLINUX64(RedHatの6.8)テストサーバーを持っています。このサーバーはインターネットにアクセスできません。

  • は私が

  • 私はrootアクセス権を持たないマシン上でSVNのコマンドラインクライアントとPython cx_Oracleとし、Oracleクライアントを使用したいです。 私の最初の推測では、私はちょうどSVN用のバイナリをダウンロードすることができること、だった:

  • 私は私が私の意見でSVNをした最も簡単な方法で起動しますと思ったのLinux

の多くのアイデアを持っていません私のWindowsマシンのRedHat 6のために、FTPを使ってLinuxマシンにコピーしてください。

しかし私がここで見つけたのは、 "yum install subversion"(rootとインターネットアクセスがないために動作しない)と "subversion_installer_1.9.sh"でした。再度インターネットにアクセス)。

なぜそれほど複雑ですか?私はWindowsの世界から来て、私はいつもこのようなものはLINUX上ではかなり簡単に動作するはずだと思っていたので、現時点で少し失望しています(バイナリをコピーするだけで良いです)。 何を見落としますか? どうしますか?

+1

これはプログラミングの質問ですか? [サーバー障害](http://serverfault.com) –

+0

のための何かのようです。root特権なしで新しいソフトウェアをインストールすることはできません。 root権限を持っていれば、パッケージをインストールするのは簡単ではありませんが、実行可能です。 iMosesが正しいです、これはプログラミングの質問ではありません – Bruno9779

+0

@ Bruno9779: '$ HOME'が' noexec 'にマウントされていない限り、特権のないユーザーはソフトウェアをインストールできます。システムタスクでバージョンを使用することはありませんが、コマンドラインや独自のアカウント内のスクリプトから完全に使用できます。 –

答えて

1

SubversionとPythonとcx_Oracleをルートアクセスなしで「インストール」することはできますが、「通常の」手法を単に実行した場合よりもはるかに難しいことがわかります。また、 "通常の"アプローチでは、ルートアクセスが必要なパッケージマネージャ(yumなど)を使用します。 Windowsのアプローチは単純に異なります。それよりも「より良い」という多くの議論がありましたが、ここには入りません!

+0

私はroot権限を持っていると仮定します(私は一時的に取得すると思います)。インターネットにアクセスできないパッケージをインストールできるでしょうか? そうでない場合、その問題の回避策は何ですか? linux redhat 6.8のコマンドラインsvn-clientの具体例を考えてみましょう。 – and0r

+0

私はrootの一時的な権利を持っているので、「yum install subversion」を発行することができました。出来た!しかし、なぜ私は考えていない。私はインターネットにアクセスできないと思った。おそらく私は間違っていた。あるいは、アクセス可能なイントラネット・リポソートがいくつかあります。また、Pythonのcx_Oracle-moduleのrpmファイルもインストールできました。これはyum経由で利用できなかったからです。 次に、yumは実際にはrpmsをインストールするためのスマートなインターフェースのようなものです:パッケージ依存関係を自前で管理しているパッケージマネージャー(依存関係を扱う必要性はBen Voigt回答)。 – and0r

1

Linuxに何かをインストールするは、バイナリをコピーするのと同じくらい簡単ですです。難しいのは、適切なバイナリをコピーすることです。システムAPI(kernel32.dll/user32.dll/gdi32.dll)がバージョン間で非常に一貫性があり、互換性が高いWindowsとは異なり、Linuxディストリビューションには複数のシステムAPI(glibc、newlib、uclibc)があり、より頻繁なABI破損が発生します。nn変更。

ディストリビューションメンテナーがホストするリポジトリからバイナリをダウンロードすると、システム上の他のバイナリと同じバージョンのさまざまな依存関係を使用するようにビルドされていることがわかります。開発者から得られたバイナリには、完全に異なるディストリビューションを使用する可能性のある保証はありません。

したがって、Subversionなどのオープンソースプロジェクトの一般的なことは、開発者からソースコードのアーカイブを入手して解凍し、./configureを実行してシステムライブラリのメイクファイルをカスタマイズし、makeはバイナリをビルドします。あなたのディストリビューションの特有のシステムライブラリーを使用し、make install DESTDIR=~/somesoftを使用して、書込みアクセス権を持つディレクトリーにインストールしてください。

+0

最初の段落は、まさに私が思ったことであり、これまでに経験したことです。 $ PATHをバイナリを含むいくつかのフォルダで拡張すれば十分です。その後、私が "適切に"(少なくとも私のユーザで)インストールされているかのように使用できます。 しかし、私の問題はむしろ、私のディストリビューションメンテナーからそのものをダウンロードする方法はわかりません。彼らが(何かをダウンロードしてroot権限を必要とする)いくつかのスクリプトのみを提供する場合、バイナリをコピーすることはできません。私は検索して、tar.gzアーカイブのようなものを期待しています... – and0r

+0

..または「開発者のソースコード」と同じです。 SVNのためのLinux Redhat 6.8はどこで見つけることができますか?それを得るための最善の方法は何ですか? – and0r

+0

ソースパッケージのダウンロードページはこちらhttp://subversion.apache.org/download.cgi http://svn.apache.org/repos/asf/subversion/trunk/INSTALLを必ず読んで、必要なものを用意してください依存関係もインストールされています。 –