はじめに
最新のLinuxディストリビューションには、多くのソフトウェアが組み込まれています。 そのようなソフトウェアのインストール/アンインストール/更新の問題は完全に解決されました。 パッケージマネージャーがすべてを処理します。 必要なパッケージを選択すると、パッケージマネージャーがインストールします。 削除する必要があります-パッケージマネージャーは、すべてを慎重に削除してクリーンアップします。 しかし、ディストリビューションに含まれていないソフトウェア、ソースに配布されているソフトウェア、またはバイナリにさえインストールされているソフトウェアをインストールすることが必要な場合があります。 そのような場合はどうすればいいですか?
将来的には、明確にするために、Linux、Ubuntu、またはDebianディストリビューションを使用していると想定しています。
ソースからパッケージをインストールする
古典的なフリーソフトウェア配布パス、ソースコードでの配布。 このフォームでは、プログラムはフォームの名前を持つアーカイブです。
name-version.tar.gz
このようなソフトウェアのインストールは、一連の単純なコマンドを実行することにより実行されます。
tar -xzvf name-version.tar.gz cd name-version ./configure 作る sudo make install
アクションの復号化:
ステップ | チーム | 何をする |
1 | tar -xzvf name-version.tar.gz | アーカイブの解凍 |
2 | cd name-version | 解凍後に受け取ったディレクトリに移動します |
3 | ./configure | システムのソースコードを設定する |
4 | 作る | 編集 |
5 | sudo make install | 設置 |
問題
問題1:必要なライブラリが見つからない
非常に頻繁に、物事がそれほどスムーズに進まないため、ステップ3でconfigureコマンドが何かについて不平を言っています。 そして、彼女は通常、必要なライブラリまたはライブラリヘッダーの不足について不平を言っています。 configureコマンドがコンソールに発行した出力を慎重に検討し、不足しているライブラリとヘッダーをインストールします。 Ubuntuを含むDebianライクディストリビューションのヘッダーは、パッケージ名に-devサフィックスが付いたパッケージに含まれています。
configureがライブラリについて文句を言うのを見たと仮定して、システムにインストールします:
sudo apt-getインストール名
構成を再度実行します 。 今、同じライブラリのヘッダーについて文句を言います。 それらをインストールします。
sudo apt-get install name-dev
最後に、必要なものをすべてインストールし、コンパイルし、作業して楽しんでいます。 それは幸せに思えます、ここにあります。 しかし、いや、問題2が迫っています。
問題2:システムの混乱
1つのプログラムをソースから、もう1つのプログラムを3番目からインストールしたとします。 そして突然、最初のものを削除するか、そのバージョンを置き換える必要がありました。 そして、私たちは、どのファイルがこのプログラムに属しているのか、どこにあるのかがわかりません。 / usr / local階層にファイルをインストールするプログラムもあれば、通常/ usrにインストールするプログラムもあります。 一般に、パッケージに関連するファイルを削除する方法はわかりません。
余談:Linuxファイルシステム階層標準
Linuxには、システムにファイルを配置するための標準があります。 リンクは「 文献」セクションにあります。 この標準によれば、他のコンピューターのユーザーを含むユーザーが使用するファイルは、 / usrディレクトリ階層に保存する必要があります。 ディレクトリ階層/ usr / local-ローカルユーザーが使用するファイル。 したがって、混乱を避けながら、プログラムを/ usr /ローカル階層に配置する必要があります。
Xstowパッケージマネージャー
xstowパッケージマネージャーはこれを行うのに役立ちます。 また、ストウマネージャーを使用することもできます。xstowは高度なバージョンです。 彼は何をしていますか? 非常に簡単なことです。 プログラムを/ usr / local / stow階層にインストールします 。各プログラムは独自のディレクトリに配置し、xstowマネージャーは/ usr / local階層からファイルへのシンボリックリンクを作成します。 xstowをインストールします。
sudo apt-get install xstow
次に、xstowマネージャーを使用してパッケージをインストールするときの一連の操作。
tar -xzvf name-version.tar.gz cd name-version ./configure --prefix = / usr / local / stow / name-version 作る sudo make install cd / usr / local / stow / sudo xstow name-version
アクションの復号化:
ステップ | チーム | 何をする |
1 | tar -xzvf name-version.tar.gz | アーカイブの解凍 |
2 | cd name-version | 解凍後に受け取ったディレクトリに移動します |
3 | ./configure —prefix = / usr / local / stow / name-version | 指定されたディレクトリにインストールするようにシステム上のソースを構成する |
4 | 作る | 編集 |
5 | sudo make install | 設置 |
6 | cd / usr / local / stow / | プログラムがあるディレクトリに移動します |
7 | sudo xstow name-version | / usr /ローカル階層にシンボリックリンクを作成します |
チーム:
sudo xstow -D name-version
シンボリックリンクを削除します。 リンクを削除した後、 / usr / local / stow /にあるプログラムファイルのあるディレクトリを削除できます。
おわりに
xstowパッケージマネージャーを使用すると、システム内で順序を維持できるだけでなく、プログラムの複数のバージョンを同時に使用して、それらをすばやく切り替えることができます。
文学
1. 標準のLinuxファイルシステム階層(File System Hierarchy Standard)
2. ファイルシステム階層標準