GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでGNUStowを使用してソースからインストールされたプログラムを削除する方法

場合によっては、ソースから手動でコンパイルしていくつかのプログラムをインストールする必要があります。なぜなら、それらは公式またはサードパーティのリポジトリでは利用できない可能性があるため、通常のパッケージマネージャーを使用してインストールすることはできません。ご存知かもしれませんが、ソースからプログラムをインストールすると、パッケージファイルは /usr/local/binなどの複数の場所にコピーされます。 /usr/local/etc/ 、ファイルシステム上。ソースからインストールされたプログラムにアンインストーラーが組み込まれていない場合、不要になったパッケージを削除するのは面倒な作業になります。これらのパッケージファイルを見つけて手動で削除するには、数分(または数分)かかる場合があります。これは、「GNUStow」という名前のユーティリティに出くわすまで私がやってきたことです。 。ありがたいことに、Stowには、ソースからインストールされたプログラムを簡単に管理する簡単な方法があります。

公式ウェブサイトを引用するには、

簡単に言うと、Stowは、パッケージファイルを簡単に管理できるように整理しておくのに役立ちます。この方法では、ファイルは複数の場所にコピーされません。代わりに、すべてのファイルは通常はプログラム名自体で特定のフォルダーに保存され、Stowはすべてのプログラムのファイルへのシンボリックリンクを適切な場所に作成します。例: /usr/local/bin /usr/local/stow/vim/bin内のファイルへのシンボリックリンクを含めることができます /usr/local/stow/python/bin など、および .../shareなどの他のサブディレクトリについても同様に再帰的に .../man 、 等々。このチュートリアルでは、実際の例を使用して、Stowを使用してソースからインストールされたプログラムを簡単に管理する方法を示します。続きを読む。

LinuxにGNUStowをインストールする

GNU Stowは、一般的なLinuxオペレーティングシステムのデフォルトのリポジトリで利用できます。

Arch Linux およびそのバリアントについては、次のコマンドを実行してStowをインストールします。

$ sudo pacman -S stow

Debian Ubuntu Linux Mint ポップOS

$ sudo apt install stow

Fedora

$ sudo dnf install stow

RHEL / CentOS AlmaLinux 、および Rocky Linux

$ sudo dnf install epel-release
$ sudo dnf install stow

LinuxでStowを使用してソースからインストールされたプログラムを削除する

すでに述べたように、パッケージのすべてのプログラムファイルは、 /usr/local/stow/にあるルートフォルダーに保存されます。 。このルートまたは親ディレクトリの下で、各パッケージは独自のプライベートサブディレクトリに保存されます。たとえば、 Vimをインストールした場合 ソースからのエディタ、Vimに関連するすべてのプログラムファイルとディレクトリは /usr/local/stow/vimに保存されます フォルダ。 pythonをインストールする場合 ソースから、Pythonに関連するすべてのファイルは /usr/local/stow/pythonの下に保持されます など。

たとえば、こんにちはなどのプログラムをインストールします。 、ソースから。

まず、「hello」プログラムのtarballをダウンロードします。

$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz

次のコマンドを使用して、ダウンロードしたtarballを抽出します:

$ tar -zxvf hello-2.10.tar.gz

上記のコマンドは、現在の作業ディレクトリに「hello-2.10」という名前のディレクトリを作成し、その中のすべてのコンテンツを抽出します。

抽出したディレクトリに切り替えます:

$ cd hello-2.10/

--prefixオプションを指定して次のコマンドを実行します。

$ ./configure --prefix=/usr/local/stow/hello

上記のコマンドは、ビルドファイルを指定された場所( /usr/local/stow/hello)に保存します。 私たちの場合。

最後に、次のコマンドを使用してhelloプログラムをビルドしてインストールします。

$ make
$ sudo make install

それでおしまい。 helloプログラムは/usr/local/stow/hello/にインストールされています 位置。以下に示すように、「ls」コマンドで確認できます。

$ ls /usr/local/stow/hello/
bin share

最後に、 /usr/local/stow/に移動します ディレクトリを作成し、次のコマンドを実行して必要なシンボリックリンクを生成します。

$ cd /usr/local/stow/
$ sudo stow hello

すべて完了しました!

ちょうど起こったことは、helloパッケージに含まれるすべてのファイルとディレクトリがディレクトリ /usr/local/にシンボリックリンクされていることです。 。つまり、 /usr/local/stow/hello/bin /usr/local/binにシンボリックリンクされています および/usr/local/stow/hello/share /usr/local/shareにシンボリックリンクされています および/usr/local/stow/hello/share/man /usr/local/share/manにシンボリックリンクされています など。

'ls'を使用して確認できます コマンド:

$ ls /usr/local/bin/
hello

コマンドを使用して、helloプログラムが機能しているかどうかを確認しましょう:

$ hello
Hello, world!

ええ、それは機能しています!!

同様に、上記のように独自のサブディレクトリにプログラムをインストールできます。

Stowルートディレクトリの内容は次のとおりです。

$ tree /usr/local/stow/

見る? helloプログラムは"/usr/local/stow/hello/"にインストールされます 位置。同様に、すべてのパッケージは独自のディレクトリに保存されます。

ここに主要な部分があります。 helloプログラムを削除しましょう。これを行うには、 /usr/local/stow/に移動します ディレクトリ:

$ cd /usr/local/stow/

..そして次のコマンドを実行します:

$ sudo stow --delete hello

helloプログラムが削除されました。コマンドで実際に削除されたかどうかを確認できます:

$ hello
-bash: /usr/local/bin/hello: No such file or directory

見る?こんにちはプログラムが削除されました!

Stowはシンボリックリンクのみを削除していることに注意してください。 helloプログラムに関連するすべてのプログラムファイルとディレクトリは、引き続き /usr/local/stow/helloで利用できます。 フォルダ。したがって、実際のソースファイルをダウンロードしなくても、helloプログラムを再度インストールできます。

helloプログラムが不要になった場合は、そのフォルダを削除するだけです。

$ sudo rm -fr /usr/local/stow/hello/

Stowの詳細については、manページを参照してください。

$ man stow

結論

GNU Stowは、プログラムをインストールするのと同じくらい簡単にプログラムをアンインストールするのに役立ちます。ソースからインストールされた多くのプログラムを効果的に管理する方法を知りたい場合は、GNU Stowは、このタスクをはるかに簡単にするプログラムの1つです。試してみてください。失望することはありません。


Linux
  1. Linuxでグループにユーザーを追加またはグループから削除する方法

  2. Linux でソースから Nginx をインストールして構成する方法

  3. Linux でソース コードからソフトウェアをコンパイルしてインストールする方法

  1. gdbを使用してLinuxでCプログラムをデバッグする方法

  2. ソースコードを使用してLinuxにphpMyAdminをインストールする方法

  3. Linuxに最新のGNUNanoをインストールする方法

  1. Linux にソースから Apache 2 をインストールする

  2. Linux でソースから SQLite3 をインストールする方法 (サンプル データベースを使用)

  3. Linux でソースから (および YUM を使用して) MongoDB をインストールする方法