ソースをDEBパッケージにコンパイルする


34

コンパイルされたソフトウェアのインストールと削除に常に問題があったので、インストール/削除を簡単にするために、ソースから.debパッケージにソフトウェアをビルドすることを決めました。

エンドユーザーとして、ソースを.debパッケージにビルドする簡単で短い方法を知りたいです。

私が試してみました:


1
Ubucompilatorは興味深いプロジェクトであり、これまでの彼らの努力を称賛します。ただし、発見したように、4〜5つの低レベルコマンドにGUIフロントエンドのみを提供します。そして、いいえ、適切な '.deb'パッケージを簡単に作成するために使用することはできません。
-david6

回答:


47

checkinstallは、目的の処理を行います。どのファイルがインストールされるかを監視し、それらをインストールして削除できる.debパッケージに入れます。

でインストールする

apt-get install checkinstall

次に、ソースから通常のインストール手順を実行し、「sudo make install」を「sudo checkinstall」に置き換えます。

  ./configure
  make
  sudo checkinstall

参照:https : //help.ubuntu.com/community/CheckInstall


9

新しいパッケージのトピックに関するセクションがある本当に良いパッケージングガイドがあります


1
誰かが必要とするすべての情報が含まれているため、このリンクをお勧めします。また、特定の質問がある場合、私は彼らを助けることができますが、ソースからdebianパッケージを作成する手順全体を説明することはできません。
トーマスウォード

@ppumkin:更新されました。
タンブルウィード

6

このmake checkinstallコマンドを何度か使用して、.debあるマシンにパッケージを作成し、他のサーバーにインストールしました。これは、ベータ版をすばやくインストールする方法です。動作しますが、注意して使用する必要があります。.debパッケージの多くの機能を理解していないユーザーには落とし穴があります。

同じ自家製のアプリを使用する20台のサーバーがあります。各ホストにビルドサポートとコンパイラを追加することはそれほど難しくありません。

新しいバージョンをダウンロードしてコンパイルするコマンドを20回入力すると、時間がかかります。別の方法は、タスクを実行するスクリプトをアップロードしてから、スクリプトを実行することです。ただし、多くの場合、で.deb作成したファイルを使用してアプリケーションを更新する方が簡単checkinstallです。


0

ソフトウェアがランダムに作成された.debにパッケージ化するタスクは、特にmake、make installに比べて、ソフトウェアがまだその形式になっていない場合、かなり複雑です。もっとシンプルにしたいのなら、間違った方向に進んでいると思います。

できないと言っているわけではありません-Debian開発者はたくさんやっています。しかし、それはあなたがしたいことをする最も簡単な方法のようには見えません。

たぶん、ソースからのソフトウェアのコンパイルとインストールがどのように機能するかを学ぶことに集中する必要があります。あなたに有利なのは、自分でインストールしたものはすべて/ usr / localに置かれるべきであるという事実です


sugestionに感謝しますが、ソフトウェアのコンパイルについてはすでに知っています。私のシステムでコンパイルされたソフトウェアの多くは静かにしています。私が難しいと感じるのは、アップグレードまたは削除することだけです。だから、debファイルの方が便利だと思います
-Ashu

debパッケージがそれ自体をスムーズにアップグレードまたは削除できるのは、パッケージごとに誰かがこれを行うスクリプトを苦労して書いているからです。さらに、dpkgがファイルが何であるかを決定するために使用できる他の多くの記述的なメタデータを追加する必要がありました。あなたの仕事があなたのために切り取られます。
-thomasrutter

1
実際には、ただフロイドの答えで行く。それが本当に言っていることを本当にやるなら、それは全体的にずっと良い解決策のように見えます!
-thomasrutter

うん。フロイドのソリューションは素晴らしいです。特に今、非常に成熟しています。今では、大量のサーバー上でソースからビルドする必要はありません。:)
Jack_Hu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.