この短いガイドでは、(ソフトウェアセンター、Yumex、Pacmanなどから)ダウンロードするよりも、ソースコードからプログラム(Firefox、Vlcなど)をコンパイルする方がよい理由を説明(および説明)します。 )そしてインストールします。
まず、次の理論に進みます。
「コンパイル」とは何ですか?
コンパイルとは、ソースコード(特定のプログラミング言語、たとえばC、C ++などで記述されたコード)を実行可能プログラムに変換し、プロセッサを使用してコードの生成に使用される言語をバイナリに変換し、アセンブラ。 パッケージングとも呼ばれます。
なぜ「コンパイル」する方が良いのですか?
まず、その理由を理解するには、次のことを知っておく必要があります。 «粗雑な»方法(単純、あまり専門的ではないなど)で言うと、プロセッサの各レース(Pentium、Core、Atomなど)とその種(Intel、AMD、ARMなど)には命令(アセンブラで記述されたソフトウェア)がありますモデル(Core i7、Core i5、Atom x2、Phantom x8、Armなど)のコードを処理し、すべての種類の一般的な手順もあります。
ソフトウェアセンター(apt-get、Yumex、Yum、Pacmanなど)からリポジトリ経由でプログラムをダウンロードすると、自動的にインストールされ、すべてのプロセッサ(IntelとAMD)で実行できるようにプリコンパイルされていると表示されます。プリコンパイルされたプログラムであるため、特定のプロセッサモデルに固有の命令は失われます(FirefoxやChromeのような7万行または8万行を超えるコードを持つプログラムが、市場に出回っているすべてのプロセッサの固有の命令をすべて含める必要があると想像してみてください。コードの量が非常に大きくなり、プログラムの効率が悪くなります)。残るのは、作成者(Intel、AMD、ARM)の一般的な命令のみです。
プログラムのソースコードを自分でダウンロード、解凍、コンパイルすると、そのコードはあなたのプロセッサ固有の命令セットでコンパイルされます(これは、異なるプロセッサを搭載したマシンでは動作しないという意味ではなく、あなたのプロセッサ専用に最適化されるという意味です)。これにより、プロセッサ固有の命令セットのおかげで、プロセッサが発揮できるすべてのパワーが解放されます。
より技術的な詳細では、これらの特定の手順は、マザーボードのチップセットと呼ばれるものと密接に関連しています。これは、プロセッサとマザーボードをアップグレードするときにIntelを使用している私たちにとって大きな頭痛の種です。
古いPCに搭載されているAMD Atom x2やIntel Core i3 、 Core 2 Duoなどのプロセッサが発揮できるパワーに驚くことでしょう。これで、Linuxの世界で有名なカーネル(すべてのオペレーティングシステムの心臓部)のコンパイルがなぜこれほど話題になっているのかが理解できたのではないでしょうか。もし、システム全体(グラフィカル環境(GNOME、KDEなど)、カーネル、よく使うプログラム(Firefox、VLC、Chrome、Wineなど))をPC専用にコンパイルできるとしたら、どれほどのスピードと最適化が得られるか想像してみてください。
お使いのマシン用に特別に最適化されたコードを取得するためのこのコンパイルの原則は、Gentooや派生物などのディストリビューションで使用されるものです(これについてはここでは説明しません。Gnome3、カーネル、その他のプログラムのコンパイルではFedora minimumを使用します)。 、アップデートとプログラムは常にコンパイルされます。
コンパイルの短所:
私はすでにすべての利点を説明しましたが、宇宙のすべてのようにそれは反対です。
コンパイルの場合はそうです。
- これに必要な時間(i7 4790Kを搭載したFirefox(電圧が非常に悪いためオーバークロックなし)には3分かかり、Gnome-Control-Centerを搭載したGnome Shell(他には何もありません)には約2分かかりました。どちらもコンパイルされています。同時にFedoraでも。しかし、それほど強力ではないプロセッサを搭載したマシンでは、今回は不釣り合いに長くなる可能性があります)。
- プロセッサはすべてのコアで最大で100%の電力を使用するため、消費量と熱が急上昇します(オーバークロックがある場合、または特にノートブックの場合はこれを考慮に入れてください)。したがって、メイトを準備すると便利です。またはその機会のためのコーヒー。
- おそらく、コンパイルでエラーが発生しないようにプログラムを使用するライブラリ(ツール)が不足しています。 一般に、すべてのディストリビューションには、これを回避するためのパッケージまたはセットがあります(カーネルがプロセス中にプロセッサと正常に通信できるようにするさまざまなライブラリやその他のものがパックされています)。
どうすればコンパイルできますか?
ここでは、カーネルではなく、通常の使用のためにプログラムをコンパイルすることについて話しています。
aptitude install build-essential dh-make devscripts fakeroot debhelper debian-policy ccache dh-autoreconf autotools-dev build-dep ardor
debian-policyを入れましたが、ディストリビューションがDebianでなく、そのようなパッケージが存在しないというエラーが表示される場合は、無視してください。 私はこれらのシステムを長い間使用していないことを明確にする必要があるので、パッケージがリポジトリになくなっても問題はありません。
Fedoraの場合:
sudo yum -y installkernel-headersカーネル開発sudo yumgroupinstall「開発ツール」sudo yumgroupinstall「開発ライブラリ」
ここで、Arch(ディストリビューションをよく知らない)とOpenSuseを使用している人たちに謝罪する必要があります。これらのディストリビューションやそれぞれのパッケージを知らないため、正しいコンパイルを実行できません(また、ネットワーク上にあるものを確認していません。そのため、これらXNUMXつについては、機能するかどうかわかりません)。
必要な要件がすべて揃ったので、コンパイルするプログラムのソースコードをダウンロードするだけで済みます。これは、ターミナルを使用して解凍する拡張子に応じて(心配しないでください。コマンドは残しておきます)、フォルダーに移動すると(常にターミナルを使用)、同じ操作を行います。以下:
コンポーネントなどを選択するように自分で構成する可能性がある場合:
./configure
次に、次のように入力します。
make
そして最後にあなたのLinuxにプログラムをインストールするために:
make install
ターミナルを使用して解凍するコマンド(ファイルは、ファイルが配置されているフォルダーに解凍されます):
.tarファイル(tar)-------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----------------パック| tar cvf file.tar / file / *解凍| tar xvffile.tarコンテンツを表示| tar tvf file.tar
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- .tar.gz-。tar.z-。tgz(tar with gzip)---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---------------- tar czvf archive.tar.gz /アーカイブ/解凍して解凍| tar xzvf file.tar.gzコンテンツの表示(抽出されません)| tar tzvf file.tar.gz
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- .gz(gzip)---- ---- ---- ---- ---- .gz(gzip) ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- gzip -qファイル(ファイルを圧縮して「file.gz」に名前を変更します)解凍| gzip -d file.gz(ファイルはファイルを解凍して「ファイル」のままにします注:gzipはファイルのみを圧縮し、ディレクトリは圧縮しません
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- .bz2(bzip2)---- ---- ---- ---- ----。 ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- bzip2ファイル| bunzip2ファイル(ファイルは圧縮され、「file.bz2」に名前が変更されます)解凍| bzip2 -d file.bz2 | bunzip2 file.bz2(ファイルはファイルを解凍して「ファイル」のままにします)注:bzip2はファイルのみを圧縮し、ディレクトリは圧縮しません
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- .tar.bz2(bzip2を含むtar)------ ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- tar-cファイル| bzip2> file.tar.bz2解凍| bzip2 -dc file.tar.bz2 | tar -xv | tar jvxf file.tar.bz2(最近のバージョンのtar)コンテンツを表示| bzip2 -dc file.tar.bz2 | tar -tv
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- .zip(zip)---- ---- ---- ---- ---- ---- .zip(zip)---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- zip file.zip / mayo / archives Unzip | file.zipを解凍しますコンテンツを表示| unzip -v file.zip
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- .rar(rar)---- ---- ---- ---- ---- .rar(rar) ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----- rar -a file.rar / may / archives Unzip | rar -xfile.rarコンテンツを表示| rar -v file.rar | rar -l file.rar
そしてそれがすべてです。 アルゼンチンのブエノスアイレスからのご挨拶。 幸せな休日と新年! :)。