目次
バイナリ パッケージとは何ですか? " >バイナリ パッケージとは何ですか?
バイナリコードの読み方" >バイナリコードの読み方
ソースコードとは何ですか? " >ソースコードとは何ですか?
「ソースからインストール」とは何ですか? " >「ソースからインストール」とは何ですか?
ソースから構築された例" >ソースから構築された例
バイナリ パッケージを使用する利点" >バイナリ パッケージを使用する利点
ソース コード パッケージをコンパイルする利点" >ソース コード パッケージをコンパイルする利点
バイナリ パッケージとソース パッケージの両方を使用してみてはいかがでしょうか? " >バイナリ パッケージとソース パッケージの両方を使用してみてはいかがでしょうか?
ホームページ システムチュートリアル Linux Linux でのバイナリ パッケージとソース コード パッケージ: どちらを選択する必要がありますか?

Linux でのバイナリ パッケージとソース コード パッケージ: どちらを選択する必要がありますか?

Feb 14, 2024 pm 07:06 PM
linux Linuxチュートリアル Linuxシステム Linux オペレーティング システム Linuxコマンド シェルスクリプト 埋め込みLinux Linux を始める Linux学習

Linux システムでは、インストール プログラムは通常、従来の Windows インストール ソフトウェア方法とは異なります。事前に構築されたパッケージからインストールすることも、プログラムを自分でコンパイルすることもできます。ますます人気が高まっているディストリビューションでは、事前に構築されたパッケージが主要なソリューションとなることがよくあります。ただし、場合によっては、ソース コードからコンパイルする必要がある場合もあります。これも Linux オペレーティング システムの特徴の 1 つです。ソース コードからプログラムをコンパイルすると、プログラムがシステム上で適切に実行されることが保証され、より高い柔軟性とカスタマイズが可能になります。どの方法を選択する場合でも、ニーズに基づいて最適な方法を選択する必要があります。

バイナリ パッケージとは何ですか?

Linux 下二进制包 vs 源代码包:你应该选择哪个?

Linux へのプログラムのインストールは、通常、Windows にソフトウェアをインストールする従来の方法とは異なります。ベンダーの Web サイトからインストーラーをダウンロードするのではなく、ファイルはプログラム リポジトリから取得され、通常は Linux ディストリビューションに合わせてカスタマイズされます。 Linux パッケージ マネージャーまたはアプリ ストアを使用して、このリポジトリにアクセスできます。

これらのリポジトリ内のプログラムは複数のファイルで構成され、簡単にアクセスして配布できるようにアーカイブ形式でパッケージ化されています。たとえば、Debian は DEB 形式を使用してプログラムを保存および配布します。これらのパッケージ化されたファイルはバイナリ パッケージと呼ばれます。

バイナリコードの読み方

これらのファイルを抽出してコンピュータ (通常はパッケージ マネージャーまたはアプリ ストア) にインストールするには、特別なプログラムが必要です。これらのツールには、インストールされたファイルの追跡やソフトウェア更新の管理など、他の便利な機能もあります。

Flatpak や Snap などの新しいパッケージ形式は、さまざまなバージョンの Linux で動作しますが、依然としてプリコンパイルされたバイナリで構成されています。どちらも、インストールにはグラフィカル アプリ ストアまたはコマンド ライン ベースのパッケージ マネージャーが必要です。

ソースコードとは何ですか?

すべてのソフトウェアは、C や C++ などの特定のプログラミング言語で書かれた、ソース コードと呼ばれるテキスト行で構成されています。通常、このソース コードをアーカイブ ファイルにパッケージ化し、それをパッケージと呼ぶことはできません。これらの行は、コンピュータが理解して実行できる言語に翻訳する必要があります。

このプロセスはコンパイルと呼ばれ、最終的にはコンピューターで実行できるバイナリ ファイルが作成されます。ソフトウェア パッケージとソフトウェアの違いは、ソフトウェアのバイナリ ファイルが構成ファイルなどの他のファイルとともにパッケージに保存されることです。

「ソースからインストール」とは何ですか?

Linux 下二进制包 vs 源代码包:你应该选择哪个?

プログラムをソースからインストールするということは、パッケージ マネージャーを使用せずにインストールすることを意味します。ソース コードをコンパイルし、バイナリをコンピュータにコピーする必要があります。

ほとんどの場合、プロジェクトのソース コードは、GitHub、GitLab、Bitbucket などのホスティング サービスからダウンロードできます。大規模なプログラムでは、個人の Web サイトでソース コードをホストする場合もあります。このコードは通常、アーカイブ形式 (ソース コード パッケージとも呼ばれます) で圧縮されます。

特別なツール セットは、ビルド プロセスの自動化に役立ちます。 Linux デスクトップでは、通常、make と呼ばれるコマンド ライン プログラムの形式で存在します。さまざまな言語で書かれたソース コードをバイナリに変換するには、特定のコンパイラとコマンドが必要です。 make プログラムはこのプロセスを自動化します。

この自動化を機能させるために、プログラムは Makefile と呼ばれるファイルを提供します。このファイルは、make に実行すべき内容とコンパイル方法を指示します。現在、Makefile は通常、CMake などの特別なソフトウェアによって自動的に生成されます。ここで介入する必要があります。ここから、ソフトウェアにコンパイルする特定の機能を指定できます。

ソースから構築された例

たとえば、次のコマンドは CMake を使用して Calligra オフィス スイートの構成ファイルを生成します。作成されたファイルは、Make プログラムに Calligra の Writer コンポーネントのみをコンパイルするように指示します。

リーリー

この手順を完了すると、ユーザーは make ツールを実行して結果をコンパイルし、コンピューターにコピーするだけです。手順は次のとおりです。

リーリー Linux 下二进制包 vs 源代码包:你应该选择哪个?

これはプログラムをコンパイルするための一般的なモードですが、ソース コード パッケージをインストールする方法は他にもたくさんあります。たとえば、Gentoo Linux にはソース コード パッケージを処理する方法が組み込まれており、プロセスがより速く簡単になります。ただし、バイナリ パッケージをビルドするには、上記のコマンドよりも多くの手順が必要です。

バイナリ パッケージを使用する利点

Linux を使用している場合は、インストールしたソフトウェアが誰かによってプリコンパイルされている可能性が高くなります。これは、ソース コード パッケージを使用するよりも一般的です。しかし、なぜこのようなことが起こっているのでしょうか?

1. バイナリ バージョンのほうが管理が簡単です

Linux 下二进制包 vs 源代码包:你应该选择哪个?

バイナリ パッケージには、コンパイルされたインストール ファイルが含まれるだけでなく、その他の情報も格納されるため、パッケージ マネージャーがすべてのプログラムを簡単に追跡できるようになります。たとえば、DEB ファイル (Debian とその派生製品のパッケージ形式) には、プログラムの実行に必要な他のソフトウェアやその現在のバージョンなどの重要な情報も含まれています。

これにより、プログラムを正常に実行するために必要な他のファイルについて心配する必要がなくなるため、パッケージのインストールが非常に簡単になります。パッケージ マネージャーは、パッケージ自体からこの情報を読み取り、必要な依存関係をすべて自動的にダウンロードできます。

また、ソース コードからプログラムをインストールする場合、コードがスタンドアロン バイナリ パッケージにコンパイルされない限り、ソフトウェアを管理するのはユーザーの責任となります。それを機能させるために必要な他のプログラムを覚えて、自分でインストールする必要があります。

2. バイナリ バージョンの方が安定性が優れています

パッケージ マネージャー リポジトリの保守を担当する人は、バイナリをテストし、発生した問題を修正しようとすることがよくあります。これにより、パッケージの管理者がソース コードをインストールする人が見落としていた可能性のある問題を発見できるため、安定性が向上する可能性があります。

さらに、パッケージは通常、システム上で確実に実行されるように一連の厳格なルールに従う必要があります。たとえば、Debian と Ubuntu には両方ともポリシー マニュアルがあり、他の多くの Linux ディストリビューションにも同様のマニュアルがあります。

一部のプログラムは、実行するために同じソフトウェアの依存関係の異なるバージョンに依存します。パッケージ リポジトリは、問題が発生しないように、これらの競合を解決するために最善を尽くします。

ソース コード パッケージをコンパイルする利点

プログラムをソースからインストールすることは、誰もが行う必要があるわけではありません。通常、バイナリ パッケージを使用したほうがコンピュータのメンテナンスが容易です。それでも、この少し複雑なプログラムのインストール方法を使用することにはいくつかの利点があります。

1. ソースコードは最新のソフトウェアを提供します

プログラムの信頼性を高めることの欠点の 1 つは、改善と修正に時間がかかることです。バイナリが利用可能な場合もありますが、ソース コードは後で提供されます。最新かつ最高のソフトウェアを入手したい人は、新しいソフトウェアに交換する際に、多少の安定性を犠牲にしても構わないかもしれません。

プログラムをコンパイルせずにこのニーズを満たすことができる Linux オペレーティング システムもいくつかありますが、いくつかの欠点もあります。たとえば、修正パッケージ バージョンを頻繁にリリースしないソフトウェアは、リポジトリ内で最新の状態を維持することが困難になります。対照的に、ソースからのインストールにはこれらの制限はありません。

これは、バイナリ パッケージは通常、正式にリリースされたプログラム バージョンに基づいて作成されるためです。したがって、通常、これらのバージョン間の変更は考慮されません。ソース コードから独自のソフトウェアをコンパイルすると、これらの変更の恩恵をすぐに受けられます。

Linux オペレーティング システムでは、必要なソフトウェアが事前に用意されていない可能性もあります。これまでは、ソースからインストールすることが唯一の選択肢となっていました。一般的なパッケージ形式ではこれが変更されました。また、Flatpak および Snap パッケージは、通常、システム リポジトリよりも速くアップデートを受け取ります。しかし、必要なソフトウェアを入手するにはコンパイルが唯一の方法である場合がまだあります。

2. 機能は自分で選択できます

Linux 下二进制包 vs 源代码包:你应该选择哪个?

FFmpeg の機能 ソース コード パッケージを使用するもう 1 つの利点は、インストールするプログラムをより詳細に制御できることです。バイナリ リポジトリからインストールする場合、パッケージをカスタマイズできる機能は制限されます。

FFmpeg を例に挙げると、これはコマンド ライン ベースのオーディオおよびビデオ変換ツールです。デフォルトでは、大量の機能が付属していますが、中にはまったく使用しないものもあります。たとえば、FFmpeg は JACK オーディオをサポートしていますが、このソフトウェアは通常実稼働環境でのみ使用されます。

FFmpeg をコンパイルすると、不要な機能を削除し、より軽量でニーズに合わせたものにすることができます。同じ原則が他の巨大なプログラムにも当てはまります。

リソースが限られている場合、機能を削除すると負荷を効果的に軽減できます。 Gentoo Linux ベースの ChromeOS が多くのローエンド コンピュータで使用されていることも不思議ではありません。 Gentoo はソース コードに基づいており、多くのソフトウェアをコンパイルするため、これらのシステムの実行が軽量になる可能性があります。

バイナリ パッケージとソース パッケージの両方を使用してみてはいかがでしょうか?

毎日パッケージをコンパイルする必要はないかもしれませんが、これは便利なアプローチです。それでも、Snap Store や Flathub などのサイトから新しいユニバーサル パッケージ形式を入手できるため、最新のソフトウェアを入手するためにソースからビルドする必要が少なくなります。

以上がLinux でのバイナリ パッケージとソース コード パッケージ: どちらを選択する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

APSChedulerタイミングタスクをMACOSのサービスとして構成する方法は? APSChedulerタイミングタスクをMACOSのサービスとして構成する方法は? Apr 01, 2025 pm 06:09 PM

nginと同様に、APSChedulerタイミングタスクをサービスとして構成する場合、APSChedulerタイミングタスクをMACOSプラットフォームでサービスとして構成します...

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

web.xmlを開く方法 web.xmlを開く方法 Apr 03, 2025 am 06:51 AM

web.xmlファイルを開くには、次の方法を使用できます。テキストエディター(メモ帳やテキストエディットなど)を使用して、統合開発環境(EclipseやNetBeansなど)を使用してコマンドを編集できます(Windows:Notepad web.xml; Mac/Linux:Open -A Textedit Web.xml)

PythonインタープリターはLinuxシステムで削除できますか? PythonインタープリターはLinuxシステムで削除できますか? Apr 02, 2025 am 07:00 AM

Linux Systemsに付属するPythonインタープリターを削除する問題に関して、多くのLinuxディストリビューションは、インストール時にPythonインタープリターをプリインストールし、パッケージマネージャーを使用しません...

Linuxは何に最適なものですか? Linuxは何に最適なものですか? Apr 03, 2025 am 12:11 AM

Linuxは、サーバー管理、組み込みシステム、デスクトップ環境として最適です。 1)サーバー管理では、LinuxはWebサイト、データベース、アプリケーションをホストするために使用され、安定性と信頼性を提供します。 2)組み込みシステムでは、Linuxは柔軟性と安定性のため、スマートホームおよび自動車電子システムで広く使用されています。 3)デスクトップ環境では、Linuxは豊富なアプリケーションと効率的なパフォーマンスを提供します。

Debian Hadoopの互換性はどうですか Debian Hadoopの互換性はどうですか Apr 02, 2025 am 08:42 AM

DebianLinuxは、その安定性とセキュリティで知られており、サーバー、開発、デスクトップ環境で広く使用されています。現在、DebianとHadoopとの直接的な互換性に関する公式の指示が不足していますが、この記事では、DebianシステムにHadoopを展開する方法について説明します。 Debianシステムの要件:Hadoop構成を開始する前に、DebianシステムがHadoopの最小動作要件を満たしていることを確認してください。これには、必要なJavaランタイム環境(JRE)とHadoopパッケージのインストールが含まれます。 Hadoop展開手順:Hadoopをダウンロードして解凍:公式ApachehadoopのWebサイトから必要なHadoopバージョンをダウンロードして解決します

Debian文字列は、複数のブラウザと互換性があります Debian文字列は、複数のブラウザと互換性があります Apr 02, 2025 am 08:30 AM

「DebianStrings」は標準的な用語ではなく、その特定の意味はまだ不明です。この記事は、ブラウザの互換性について直接コメントすることはできません。ただし、「DebianStrings」がDebianシステムで実行されているWebアプリケーションを指す場合、そのブラウザの互換性はアプリケーション自体の技術アーキテクチャに依存します。ほとんどの最新のWebアプリケーションは、クロスブラウザーの互換性に取り組んでいます。これは、次のWeb標準と、適切に互換性のあるフロントエンドテクノロジー(HTML、CSS、JavaScriptなど)およびバックエンドテクノロジー(PHP、Python、Node.jsなど)を使用することに依存しています。アプリケーションが複数のブラウザと互換性があることを確認するには、開発者がクロスブラウザーテストを実施し、応答性を使用する必要があることがよくあります

See all articles