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

CheckInstallを使用してソースからパッケージを構築する方法

少し前に、 Fpmというユーティリティについて書きました これは、複数のLinuxプラットフォーム用のLinuxパッケージを簡単に構築するのに役立ちます。今日は、 CheckInstallについて説明します これは、ソースコードからLinuxパッケージをビルドするためにも使用されます。

CheckInstallの簡単な紹介

通常、ディストリビューションのパッケージマネージャーを使用してパッケージをインストールします。ただし、インストールしたいアプリケーションがディストリビューションリポジトリで利用できない場合は、選択の余地はありません。手動でコンパイルして、ソースコードから自分でインストールします。

ソースコードからアプリケーションをコンパイルしてインストールすることは、一部の人、特に初心者にとっては少し難しいです。ここで、FPMやCheckInstallなどのプログラムが役立ちます。

CheckInstallは、ソースコードからプログラムをコンパイルし、Linuxディストリビューション用のネイティブパッケージを作成するプログラムです。ディストリビューションのパッケージ管理システム(dpkg、rpm、またはinstallpkg)を使用してパッケージをインストールできるようにします。

現在、CheckInstallは、DEBベースのシステム、RPMベースのシステム、およびSlackwareのネイティブパッケージを作成します。この簡単なチュートリアルでは、CheckInstallプログラムを使用してソースからパッケージをビルドする方法について説明します。

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

CheckInstallは、ほとんどのLinuxディストリビューションのデフォルトリポジトリで利用できます。したがって、パッケージマネージャーを使用してインストールできます。

たとえば、Debianベースのシステムでは、次のコマンドを使用してインストールできます。

$ sudo apt-get install checkinstall

SUSE / openSUSEの場合:

$ sudo zypper install checkinstall

CentOS、RHEL、Fedoraの場合:

このリンクからCheckInstallrpmファイルをダウンロードしてインストールします 。

# wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm
# yum install checkinstall-1.6.2-3.el6.1.x86_64.rpm
ダウンロード -無料の電子書籍:「Linux®パッチ管理:Linux®システムを最新の状態に保つ」

CheckInstallを使用してソースからパッケージをビルドする

‘hello’のDEBパッケージを作成する簡単な手順は次のとおりです。 プログラム。 Ubuntu16.04LTSで次の手順をテストしました。

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

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

コマンドを使用してtarballを抽出します:

$ tar -zxvf hello-2.10.tar.gz

、hellotarballを抽出したディレクトリに移動します。

$ cd hello-2.10/

次のコマンドを1つずつ実行してコンパイルします。

$ ./configure
$ make

これで、"make install"と入力する代わりに プログラムをインストールするコマンドを実行するには、次のコマンドを入力します。

$ sudo checkinstall --install=no

このコマンドは.debを作成します パッケージですが、インストールされません。 Yを押します "doc-pak"という名前のパッケージドキュメントディレクトリを作成します 。

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
 This software is released under the GNU GPL.

The package documentation directory ./doc-pak does not exist. 
Should I create a default set of package docs? [y]: y

Preparing package documentation...OK

Please write a description for the package.
End your description with an empty line or EOF.
>> Simple Hello Program ## Type your Program name and hit ENTER key.
>>

*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values:

0 - Maintainer: [ [email protected] ]
1 - Summary: [ Simple Hello Program ]
2 - Name: [ hello ]
3 - Version: [ 2.10 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ hello-2.10 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ hello ]
12 - Conflicts: [ ]
13 - Replaces: [ ]

Enter a number to change any of them or press ENTER to continue: ## Hit ENTER key

[...]

Building file list...OK

Building Debian package...OK

NOTE: The package will not be installed

Erasing temporary files...OK

Deleting temp dir...OK


**********************************************************************

Done. The new package has been saved to

/home/sk/hello-2.10/hello_2.10-1_amd64.deb
 You can install it in your system anytime using:

dpkg -i hello_2.10-1_amd64.deb

**********************************************************************

これで、新しく作成した.debをインストールできます。 dpkgを使用したパッケージ パッケージマネージャー:

$ sudo dpkg -i hello_2.10-1_amd64.deb

"--install=no"なしで上記のコマンドを実行した場合 フラグを立てると、debパッケージが自動的に作成され、システムにインストールされます。

$ sudo checkinstall

出力例:

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
 This software is released under the GNU GPL.

*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values:

0 - Maintainer: [ [email protected] ]
1 - Summary: [ Simple Hello Program ]
2 - Name: [ hello ]
3 - Version: [ 2.10 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ hello-2.10 ]
9 - Alternate source location: [ ]
10 - Requires: [ ]
11 - Provides: [ hello ]
12 - Conflicts: [ ]
13 - Replaces: [ ]

Enter a number to change any of them or press ENTER to continue: ##Press ENTER

[...]

Installing Debian package...OK

Erasing temporary files...OK

Writing backup package...OK
OK

Deleting temp dir...OK


**********************************************************************

Done. The new package has been installed and saved to

/home/sk/hello-2.10/hello_2.10-1_amd64.deb

You can remove it from your system anytime using:

dpkg -r hello

**********************************************************************

このコマンドは、.debファイルを作成し、システムに自動的にインストールします。次のコマンドを使用して、いつでもインストールパッケージを削除できます:

$ sudo dpkg -r hello

CheckInstall .rpmを作成します または.deb 使用している現在のLinuxディストリビューションのタイプに応じて、自動的にパッケージ化されます。 .rpmパッケージを作成する必要がある場合は、RPMベースのシステムで上記の手順に従ってください。 Slackwareパッケージの場合、これはSlackwareシステムで行います。

詳細については、マニュアルページを参照してください:

$ man checkinstall

または、ヘルプセクションを確認してください。

$ checkinstall --help

関連記事:

  • エイリアンを使用してLinuxパッケージを変換する方法
  • ソースからDebianパッケージを構築する方法

Linux
  1. Githubから.debパッケージを作成する方法は?

  2. Debian:dpkg を使用して DEB パッケージをインストールまたは削除する方法

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

  1. rpmパッケージをビルドする方法

  2. CentOS / RedHat でソースから RPM パッケージをビルドする 7 つの手順

  3. CentOS/RHEL 8 で dnf を使用してパッケージをインストールする方法

  1. Ubuntuからソフトウェアパッケージをアンインストールまたは削除する方法

  2. CentOSからパッケージをアンインストールまたは削除する方法

  3. Alienを使用してRPMからDEBおよびDEBからRPMパッケージに変換する方法