はじめに
最新の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. ファイルシステム階層標準