web-dev-qa-db-ja.com

プログラミングに最適なディストリビューション

重複の可能性:
開発者向けのLinuxディストリビューション

この質問がここで質問する資格があるかどうかはわかりません。しかし、プログラマーにとって最高の(Linux)ディストリビューションは何ですか? JavaおよびLISPを含む複数の言語でプログラミングします。プログラマにとっては十分に優れているが、迅速なダウンロードとインストールのために十分に小さいままであるディストリビューションを知っていただければ幸いです。すべての提案と建設的な批判これは私の最初の質問です。手伝ってください。

IDEs I use: Eclipse/Emacs/KDevelop
Languages : C, C++, Java, Python, Perl, LISP 
13
Aniket Inge

まあ、Linuxの「最高の」ことは、それをどのように使用するかはあなた次第であり、どのような目的であってもすべて無料です:p I would debianから始めることをお勧めします。ソフトウェア側の初心者のLinuxプログラマーのニーズを満たすのに十分毛深いですが、それでも「ユーザー」には十分にミニマルで柔軟性がありますnot十分な空き容量がないため、ubuntuの使用をお勧めします:P

6
friedpenguin

プログラミングのための「最良の」ディストリビューションは絶対にありません。一般的にUnixはよりプログラマーフレンドリー(そしてこれも議論の余地がある)であると主張する人もいるかもしれませんが、このレベルでディストリビューションを比較することはナンセンスです。

言い換えれば、熟練したUnixユーザーは、少しの努力でディストリビューションを好きなプログラミング環境に変える方法を知っているでしょう。ただし、現在のスキルレベルとシステムのカスタマイズに費やしたい労力に応じて、次のような予備チェックを行うことができます。

  • 関心のある実行可能ファイルのバージョンをメモし、それらがディストリビューションのリポジトリに存在するかどうかを確認します。たとえば、特定のディストリビューションでは、最新バージョンのPython/Ruby /その他を採用するのが非常に遅くなることで有名です。 64ビットDebianにはGNU/MITスキームのパッケージは含まれていません であることに注意してください。一方、Javaは すべてのディストリビューションのリポジトリから削除されました は、Oracleのテイクオーバー以降のより強力なライセンスによるものです。 Oracleが提供するJavaの唯一のパッケージバージョンはRPMです(Red Hatベース、SuSEベースのディストリビューションがこれを管理します)。

  • C/C++を使用している場合は、選択しているディストリビューションが作業中のアーキテクチャをサポートしていることを確認してください。

  • 実行可能ファイルに特別なコンパイルオプションが必要な場合は、 Gentoo のようにソースからすべてを実行するディストリビューションを採用することを検討することをお勧めしますが、必須ではありません。

:ディストリビューションがパッケージマネージャーリポジトリにお気に入りのアプリを表示しないという事実はそれほど悪くありません。いつでもソースを入手して自分でコンパイルできます。

Javaについて:RPMベースのディストリビューションを採用していない場合(Debianなど)、Javaを実行するためのオプションがいくつかあります。

  • Oracleは、パッケージマネージャーを介さずに、どのディストリビューションでも機能する一般的な「Java」tarballを提供します。

  • Open-JDK のような、言語の代替実装を採用できます。

ボトムライン

「より良い」ディストリビューションというものはありません。あなたの質問に答える実際の人がいるように、できればあなたが知っている誰かと同じものを試してください。それが合わない場合は、うまくなるまで別のものを試してください。

さらに読む:

Linuxディストリビューション間で安定性に違いはありますか?

13
rahmu

2015年の更新

ここ数年で状況は大きく変化しました。

今日の答えは: "それらすべてを実行する-AT THE SAME TIME!"

ディストリビューションで Docker を実行できる限り( そして、可能性は十分あります )、任意のLinuxディストリビューションでプログラムを自由に実行できます。例えば。私の Docker Experiments を参照すると、すべてのスクリプト呼び出しで20(sic!)の異なるLinuxディストリビューションを実行するいくつかのシェルスクリプトが見つかります。今日私が実行するすべてのコマンドが意味のある他のディストリビューションで実行できる場合、どのディストリビューションを使用するかはそれほど重要ではありません。

2012年の私の元の回答は次のとおりです。

最高のLinuxディストリビューション

プログラミングに最適なLinuxディストリビューションは...すべてです。私が知っているディストリビューションは本当にありませんが、それはプログラミングにとって悪いことです。使用するツールと言語は、すべてのLinuxディストリビューションで使用できます。違いはツールや言語ではなく、パッケージ管理システム、バージョン管理、哲学、リリーススケジュール、デフォルトでインストールされるデフォルトのデスクトップまたはソフトウェアですが、通常は簡単に変更できます。

Debian

たとえば、 Debian Stable を使用すると、システムは安定しますが、リリース後に新機能は得られず、バグ修正のみが行われ、新しいDebian Stableバージョンがいつリリースされるかわかりません。それは準備ができています。

Debian Unstable を使用する場合、常に最先端にある実行中のバージョンが得られますが、すべてがStableほど徹底的にテストされていないという代償を払うことになります。

Ubuntu

UbuntuはDebianに基づいていますが、バージョンはDebian安定版よりも最新であり、 予測可能なリリースタイムライン があるため、アップグレードを事前に計画して 長期サポートを使用できます バージョンであり、5年間はバグ修正を取得してください。

その他の違いは、UbuntuはDebianほど多くのアーキテクチャをサポートしていないため、Intelアーキテクチャでのみ利用可能なソフトウェアをデフォルトで使用でき、Debianではデフォルトで使用できないことです。

化粧品以外のUbuntuの最も重要な違いはAppArmourとUpstartですが、それが長所か短所かは完全にあなた次第です。私の経験では、DebianとUbuntuはどちらも非常に開発者フレンドリーです。

Arch Linux、CentOS、Fedora、Gentoo、openSUSE、Slackware ...

また、どのディストリビューションが商用サポートを提供しているか、または共有ホスティング、専用サーバー、VPSなどを提供しているホスティング会社で利用できるかどうかを確認することもできます。

たとえば、Linodeは現在、これらのディストリビューションを提供しています:Arch Linux 2012.10、CentOS 6.2、Debian 6、Fedora 17、Gentoo、openSUSE 12.1、Slackware 13.37、Ubuntu 10.04 LTS、Ubuntu 11.10、Ubuntu 12.04 LTS。そのうちの。ラップトップでもサーバーでも同じシステムを使用するのは良いことですが、ここでも気にしないかもしれません。ただし、それらがどのようにテストされ、広く使用されているかについて、いくつかのアイデアが得られるかもしれません。

コミュニティ

あなたの心を作るもう1つの方法は、あなたが考えているディストロのオンラインコミュニティを調べることです。たとえば、Ubuntuには Ask Ubunt がStack Exchangeにありますので、チェックしてください。

ドキュメンテーション

ドキュメントもあなたにとって重要かもしれないものです。 Ubuntuにはニース ドキュメントwiki があります。さまざまな Debianリソース および documentation があります。

これらは単なる例です。すべてのディストリビューションにはいくつかのコミュニティとドキュメントがあるので、それを検索して、満足できるかどうかを確認してください。常に最大のコミュニティが最適であるとは限らないことに注意してください。興味や貢献の可能性を高く評価するコミュニティを使用すると、小規模な、場合によっては非常に特別な目的のディストリビューションでも安心できます。

ライブCD

私は、Live CDを合理的に試して、自分に合ったものを何でも選択できるように、さまざまなディストリビューションを試してみることをお勧めします。

WikipediaのLinuxベースのライブCDのリスト から始めて、良い出発点として興味のあるものに関するWikipediaの記事を読むことができます。

幸運を。

5
rsp

先に進んで、偏った意見を述べます。私は最初にOpenBSDでUnixの旅を始めました。私が実際に.Netのことを始めた後、Monoをいじり始めました。 OpenBSDのモノの移植はかなり古く、一般的にはうまく機能しません。それで、私はもっと良いものを見つけることに着手しました。私が見つけたのはArch Linux

Arch Linuxには、プログラミングに特化した点がいくつかあると思います。

  1. 独自のパッケージを手動で作成するのは非常に簡単
  2. ローリングリリースモデル。最新のソフトウェアを入手できるように、次のリリースがリリースされるまで1年待つのではなく、通常、最新のソフトウェアがそこにあり、利用可能です。ソースからのビルドは、通常、最新の(安定した)バージョンの一般的なソフトウェア(つまり、コンパイラー、インタープリターなど)を取得する必要はありません。
  3. コミュニティ全体がある程度のプログラミング経験があるようです。これは、きれいなGUIにパッケージ化されていないすべての副作用です
  4. 本質的にミニマル。ウィンドウマネージャーは必要ありません。ウィンドウマネージャーは必要ありません。システムに最初にインストールするものを選択します。
  5. 「サポートされていない」パッケージビルドスクリプトの巨大なリポジトリ。 Arch Linux用のパッケージビルドスクリプトを持たないソフトウェアを見たことがありません。 (もちろん、いくつかは最適ではないかもしれませんが、結局サポートされていません)
4
Earlz

あらゆるディストリビューションがすべきです。それはあなた次第です。私はUbuntuをお勧めします。大規模なコミュニティ、ほとんどすべてのパッケージが利用可能で、すぐに使えるものがたくさんあります。

システムのセットアップにより多くの時間を費やして、より最先端のEdge環境が必要/必要な場合は、Arch Linuxを検討してください。

2
Renan