web-dev-qa-db-ja.com

ソースコードを取得してプログラムをインストールしてから、 `Sudo make install`を実行しました。 「apt-get」にそれを知らせる方法は?

ソースコードからビルドしてプログラムをインストールし(たとえば、progAなど)、最後にSudo make installSudo ldconfigを呼び出します。

ただし、apt-getはメモを取得していないようです。これは、progBに依存するprogAをインストールするときに、apt-getprogAもインストールすることを推奨しているためです。これはなぜですか、私は何ができますか?

46
user390136

TL; DRcheckinstallはあなたの友人;)

Sudo apt-get install checkinstall

Sudo make installを使用してインストールした後、パッケージマネージャーはこのインストールについてまったく何も知りません。しかし、UbuntuリポジトリまたはPPAにある同じ名前のパッケージについてはすべて知っています。

Sudo checkinstallの代わりにSudo make installを使用し、リポジトリ内のバージョンとして上位バージョンを使用して、パッケージマネージャーがProgBの正しい依存関係としてこのバージョンを受け入れるようにします。


詳細情報:

checkinstallは本当に気の利いたものです。パッケージをビルドする方法を理解するためにmake installコマンドが実行することに従うためです。

これは、make installを使用してプログラムをインストールした後、罪を悔い改めたい場合、Sudo checkinstall -D make installだけで、そのコマンドは次のことを意味します。

  1. make installをフォローして、それが何をするのかを理解します

  2. copy-cat make install(* .debパッケージ形式を除く)

  3. パッケージからインストールします(make installが持つように、ポイント1が与えられます)。ただし、apt-getについても知らせます。したがって、make installが置く場所すべてのファイルを上書きします。 YESを選択してmake installによってパッケージ内のホームディレクトリに置かれたファイルを含める限り、checkinstallプロセス中にいくつかのオプションを選択できます(もちろん、選択はケースバイケースでそれを行使できるように)

ボーナス:そのodesではないmake installを使用してインストールされたパッケージを削除する(progAを再度呼び出すこともできます)これまでに概説したcheckinstallプロセスに従って、make uninstallサポート を実行し、次に単に実行します。

dpkg -r progA
56
A.B.

3つのオプション:

  1. progAの偽のパッケージを作成します: インストールされているパッケージバージョンを偽る方法?TeXliveの広範な例) .

  2. パッケージの作成progAの場合、checkinstallオプションがあると簡単になります。 apt依存関係をだます方法

  3. ソースからprogBもビルドします。

13
Rmano

uupdatedevscriptsを使用して、以前にビルドしたものと同じようにパッケージをビルドすることをお勧めします。

必要なパッケージをインストールする

$ Sudo apt-get install build-essential devscripts

公式リポジトリから古いパッケージをダウンロードし(例としてMediaWikiを使用します)、アップストリームから新しいtarボールをダウンロードします。

$ mkdir ~/Downloads/mediawiki
$ cd ~/Downloads/mediawiki
$ apt-get source mediawiki
$ wget https://releases.wikimedia.org/mediawiki/1.26/mediawiki-1.26.0.tar.gz

uupdateを実行して、アップストリームのtarボールと古いdebian/controlから新しいソースフォルダーを作成します

$ cd mediawiki-1.19.14+dfsg   # depends on your Ubuntu version
$ uupdate ../mediawiki-1.26.0.tar.gz 1.26.0
$ cd ../mediawiki-1.26.0

debian/control etcファイルに変更を加える必要があるかどうかを確認する必要があります。完了したら、debパッケージをビルドしてインストールできます

$ dpkg-buildpackage -us -uc
$ cd ..
$ Sudo dpkg -i *.deb
1
Germar