Linux:xstowマネージャーを使用した非配布プログラムのインストール

はじめに


最新のLinuxディストリビューションには、多くのソフトウェアが組み込まれています。 そのようなソフトウェアのインストール/アンインストール/更新の問題は完全に解決されました。 パッケージマネージャーがすべてを処理します。 必要なパッケージを選択すると、パッケージマネージャーがインストールします。 削除する必要があります-パッケージマネージャーは、すべてを慎重に削除してクリーンアップします。 しかし、ディストリビューションに含まれていないソフトウェア、ソースに配布されているソフトウェア、またはバイナリにさえインストールされているソフトウェアをインストールすることが必要な場合があります。 そのような場合はどうすればいいですか?


将来的には、明確にするために、Linux、Ubuntu、またはDebianディストリビューションを使用していると想定しています。

ソースからパッケージをインストールする


古典的なフリーソフトウェア配布パス、ソースコードでの配布。 このフォームでは、プログラムはフォームの名前を持つアーカイブです。

 name-version.tar.gz


このようなソフトウェアのインストールは、一連の単純なコマンドを実行することにより実行されます。

 tar -xzvf name-version.tar.gz
 cd name-version
 ./configure
作る
 sudo make install


アクションの復号化:

ステップチーム何をする
1tar -xzvf name-version.tar.gzアーカイブの解凍
2cd name-version解凍後に受け取ったディレクトリに移動します
3./configureシステムのソースコードを設定する
4作る編集
5sudo 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


アクションの復号化:

ステップチーム何をする
1tar -xzvf name-version.tar.gzアーカイブの解凍
2cd name-version解凍後に受け取ったディレクトリに移動します
3./configure —prefix = / usr / local / stow / name-version指定されたディレクトリにインストールするようにシステム上のソースを構成する
4作る編集
5sudo make install設置
6cd / usr / local / stow /プログラムがあるディレクトリに移動します
7sudo xstow name-version/ usr /ローカル階層にシンボリックリンクを作成します


チーム:

 sudo xstow -D name-version


シンボリックリンクを削除します。 リンクを削除した後、 / usr / local / stow /にあるプログラムファイルのあるディレクトリを削除できます。

おわりに


xstowパッケージマネージャーを使用すると、システム内で順序を維持できるだけでなく、プログラムの複数のバージョンを同時に使用して、それらをすばやく切り替えることができます。

文学


1. 標準のLinuxファイルシステム階層(File System Hierarchy Standard)
2. ファイルシステム階層標準

Source: https://habr.com/ru/post/J63221/


All Articles