開発者向けのLinuxディストリビューション[終了]


49

開発者側にアピールするLinuxの最高のフレーバーを探しています。私はオープンソースが好きで、いくつかの異なる言語を使用しています。

開発者向けのLinuxのようなものはありますか?


1
公開討議はここに投稿するのは適切ではありません。
イグナシオバスケス-エイブラムス

12
あなたが意味することを少し指定する必要があります-開発者は、開発者に優しいディストリビューションを構成するものについて非常に強い(そしてしばしば反対の)見解を持っています。
l0b0

1
@ l0b0:開発者は最新のパッケージを幅広く選択する必要があります。パッケージが古すぎたり、十分なものではなかったり、ディストリビューションのリポジトリになかったりするため、パッケージを手動で更新するのは時間の無駄です。エンドユーザーは通常、最新のlibxyz-devパッケージがリポジトリ内にあるかどうかは気にしません。
フィリップ

FreeBSDをご覧ください
Rui F Ribeiro

回答:


44

実際には、すべてのディストリビューションはほぼ同じ開発ツールチェーンを使用しているため、一般的な開発作業のプラットフォームとして大きく異なることはありません。ただし、特定の種類の開発作業に関連する特定の利点があるものもあります。

  • 商用ディストリビューション(RHEL、SLES)は、サードパーティのクローズドソースベンダーから最高のサポートを受けています。(たとえば)Oracleを使用したい場合は、これらのいずれかをお勧めしますが、適切なライブラリをインストールすれば、ほとんどのディストリビューションでOracleを使用できます。CentOSはRHELソースからコンパイルされ、RHEL向けに構築されたすべての市販ソフトウェアではないにしても、ほとんどのソフトウェアでうまく動作します。

  • 修正したい場合は、Linux From Scratchを試してみてください。Linuxディストリビューションがどのようにハングアップするかについての非常に良いチュートリアルです。

  • オープンソースであるか、これまでにオープンソースであったほぼすべてのものをリポジトリから入手できるものが必要な場合は、Debianベースのディストリビューション(DebianまたはUbuntu)が役に立つかもしれません。Canonicalが.debを選択してUbuntuのパッケージ管理システムとして使用する理由があります。

  • すべてをn次に調整したい場合、Gentooを使用すると、特定のプロセッサアーキテクチャに合わせてシステム全体を再構築できます。

  • 「伝統的なUNIX」体験が必要な場合は、SlackwareまたはFreeBSD(Linuxディストリビューションではありませんが、OPに興味があるかもしれません)を試すことができます。また、BSDファミリはネットワークに特に強いため、この分野で作業する開発者にLinuxよりも有利な場合があります。

そのうち、私は過去のさまざまな時期にCentOS、Debian、Fedora、Ubuntu、Slackware、FreeBSDを使用し、さらにいくつか(ベクター、SLS、Yggdrasil、約4.0以降のRedhatの各種バージョン)を使用しました。「unix」開発環境として、それらはすべて時代のツールを提供し、バンドルされたツールを使用した開発作業に使用したり、必要なものをダウンロードして構築したりすることができました。

Unixはかつてオペレーティングシステムを装ったIDE、またはその効果を表す言葉として説明されていました。必要に応じて、UnixまたはLinuxのバリアントを使用してUNIX開発者のエクスペリエンスを提供できます。ある時点で、私は環境をあまり気にしませんでした。私は実際にウィンドウマネージャーを使用してxtermウィンドウを開き、いくつかのアプリを起動しました。他のすべてはコマンドラインからほとんど行われました。ほとんどの種類のUNIXまたはLinuxでこれを実行できます。

Cを使用している場合は、vimまたはctags、make、gccを使用したemacsが非常にうまく機能します。フロントエンドの有無にかかわらずgdbを使用できます。このツールチェーンは、perlやpythonなどの言語の優れたサポートも提供し、サードパーティのツールからの豊富なサポートエコシステムを備えています。

よりGUI中心のワークフローの場合、実際には、ウィンドウマネージャー、デスクトップ環境、および開発ツールを個人的に選択することになります。Javaに興味があるなら、Eclipseとnetbeansはほとんどの主要なディストリビューションに基づいています。C / C ++、perl、python、およびその他のスクリプト言語をサポートするさまざまな従来のIDEが存在します。これらはすべてではないにしても、ほとんどのLinuxディストリビューションで動作するようにできます。Javaは、サードパーティのポートを介してBSDでのみサポートされているため、それを使用している場合は、おそらくlinuxを使用した方がよいでしょう。


もちろん、FreeBSDはLinuxシステムではありません。それはOPの目的にとって重要ではないかもしれません。他にもいくつかのBSDディストリビューションが存在することに注意してください(OpenBSD、NetBSD、そしておそらく私はいくつかを見逃しています)。そのようなことに興味があるなら、Solarisの無料版もあります。
キーストンプソン

いいえ、そうではありません。同じ理由で問題になるかもしれないし、そうでないかもしれません。おそらくDragonflyまたはPC-BSDを除いて、他のBSDディストリビューションのほとんどがかなり専門化されているため、私はそれを選びました。FreeBSDはBSDの最も主流であると思います。
ConcernedOfTunbridgeWells

3
私見では、箇条書きの1と3のみが開発者に関連しています。チューニングまたはUnixの経験は、パワーユーザーとシステム管理者にとってのみ興味深いものです。非互換性(Unix)と予測不可能な不安定性(Tuning)につながり、どちらも開発者にとって有害で​​す。
フィリップ

1
BSDとSolarisはハードウェアのサポートが非常に不足しており、ネットワーキングの利点を享受した後、BSDもその目的で失いました。
フォンブランド

12

開発者向けのLinuxのようなものはありますか?

はい。Linuxと呼ばれます。

Fedora(または任意のRed Hat派生物)は、Debian、Slackware、Gentooなどと同様に優れています。真剣に、あなたはどんな主要なディストリビューションでも開発することができます、それは「開発者指向の」Linuxを求めるのは馬鹿げた質問です。

また、これらのディストリビューションは開発者にとって他のディストリビューションよりも優れていると言っても馬鹿げています。ただ深刻ではありません。

この質問には本当に議論があります。


15
なぜ馬鹿げているのかについて適切な議論をしない限り、「開発者向け」のLinuxを求めるのは馬鹿げた質問と言うのは馬鹿げています。
NN

4
公正には、ジュアコは正しい。Linuxは開発者にとっては良い時代です。
Sirex

7
「FedoraはDebian、Slackwareと同じくらい良い」という資格を本当に必要としています。確かに、さまざまなディストリビューションが存在する理由があるに違いありません。それは、さまざまな人々にとって、与えられたタスクにおいて同等に良いことはできないことを意味します。
シェパン

1
@Tshepang:あなたは正しいです、彼らは開発を除いて「どんな与えられたタスクに対しても」同様に良いわけではありません。他のタスクについては、時々違いを示しますが、開発については、すべての主要なディストリビューションが同等に優れています。
ata

6
仕事をするには安定した環境が必要です。これを考慮して、例えば。FedoraとUbuntuは安定しているとはほど遠いため、お勧めしません。一般的な状態であるため、Windowsユーザーに対して「Linuxは開発者に適しています」と言うことができます。Linuxユーザーと話をしているとき、彼らはおそらく、効率を改善するより具体的なことに興味を持っています。
海兵隊

5

私は本当に楽しんでいるので、かなりの数のディストリビューションを試しました。

私は開発者であり、開発者向けの優れたLinuxについても疑問に思っています。私の経験では、開発者専用のLinuxディストリビューションはありません。

その理由は、開発者として、ディストリビューションをニーズに合わせてカスタマイズできるだけでなく、カスタマイズの方法を明確に知る必要があるからです。

基本的に、Linuxに慣れていない場合:

1)Debian。多くの実稼働WebサーバーがDebianを実行しているため、Debianマシンがどのように構成されているかを知ることをお勧めします。Debianの良いところは、最も広く使用されているLinux(Ubuntuなどの派生物を含む)であるため、サポート、コミュニティ、およびプリコンパイルされたパッケージの数が非常に多いことです。Debianの悪い点は、安定したプロダクション環境に向けられているため、開発者として試してみたい最新の最先端のものがめったに提供されないことです。

2)Arch-Linux(実際にはArchBang)は、3つの理由で現在のお気に入りです:-ワンクリックで簡単にインストールおよび構成できる方法ではあまり提供しませんが、あなたのようなすべてをセットアップするのに役立つ素晴らしいチュートリアルこのアプローチにより、バックグラウンドで物事がどのように機能するかについて多くを学ぶことができ、すべてが適切にセットアップされた時点で、Linux / Unixシステムを使用して非常に快適に感じることができます。-これはローリングリリースです。つまり、新しいバージョンをダウンロードしてすべてを再インストールする必要はなく、システムとVoilaを更新するだけです。-最新の最先端のものをすべて実装しようとするので、ソフトウェアの新しい改善を常に把握することができ、開発者として本当に評価されます。-ああ、素晴らしいコミュニティもあります。

とにかく、基本的にいくつかのことを試して、あなたに最適なものを決定するのはあなた次第です。大事なのは、そのカスタマイズ方法を学習することです。そして、あなたは、あなたが最終的に望むものに可能な限り近いように既に事前設定されているものを選択します。


4

Linuxディストリビューションにはさまざまなフレーバーがあります。たとえば、子供向けのQimoやDoudouLinuxなどのディストリビューションがあります。

もちろん、ニーズに合わせて変更することもできます(Linuxについて話している、右:])、それでも、多くの時間を浪費することになります。

新しいことを学ぶのに素晴らしい方法だと主張する人もいます。ただし、いずれにせよ、ディストリビューションを掘り下げて調整するために、ある程度の時間をかける必要があります。どんなディストリビューションでも避けられません。

しかし、最も重要なことはパッケージです。

新鮮なもの(例:Arch)をもたらすものもあれば、非常に安定したもの(例:Debian)をもたらすものもあります。

ハードウェアサポート(ドライバー、ドライバー、ドライバー!)に関しても、ドキュメントは大きく異なります。

これらの3つのポイント(パッケージ、ドキュメント、ドライバー)とあなた自身のスキルを考慮して、いくつかの主流のディストリビューションを発見するのに時間がかかるはずです。

良いスタートがここにあります:http : //distrowatch.com/


私が言ったの主要なディストリビューションがすなわち。メインストリーム、開発に関してはこれらの間に大きな違いはないという事実を参照します。私はニッチなディストリビューションについて言及していません。
ata

3

Fedoraは新しいテクノロジーを早期に採用しており、他のほとんどのディストリビューションで利用可能になる数ヶ月前に、それらを使って実験および開発を行うことができます。すぐに使用できる多くのプログラミング言語とライブラリをサポートし、欠落している可能性のあるものをシステムに比較的簡単に追加できます。純粋なオープンソースの哲学を持ち、これに反する機能のパッケージをサードパーティが提供できるようにしています。「Fedora Core」と呼ばないでください(CoreとExtrasがFedora 7に統合された後に「Core」を失いました)。


1
誰がFedora Coreと呼んだのですか?
シェパン

1
たくさんの人。長年。
イグナシオバスケス-エイブラムス

1
@ IgnacioVazquez-Abrams gentooとarchlinuxはどうですか
Jaison Justus

使用しないディストリビューションについては説明できません。しかし、確かに「ソースからのビルド」と「プログラミングに適した」を関連付けようとしないでください。
イグナシオバスケス-エイブラムス

3
@ IgnacioVazquez-Abrams:また、新しいテクノロジー使用して、より良い開発と相関させるべきではありません。とにかく、質問は十分に具体的ではありません...それはあなたが開発しているものに依存します。世界の開発の大部分は、最先端のテクノロジーに頼っていると思います。OTOH、Fedoraは、MonoおよびKDE開発用のSuSEと同じGNOME開発を行いたい場合に推奨するディストリビューションです(これは、SuSEがMonoプロジェクトの初期の資金提供者であり、採用する数少ない主要なディストリビューションであるという事実に基づいています)デフォルトのデスクトップとしてのKDE
tshepang

1

私自身の経験とここでの回答に基づいて、開発をより簡単で実用的にするアプリケーションとツールのスイートをもっと探していると思います。

Linuxの素晴らしい点は、どのディストリビューションでもカスタマイズが非常に簡単なことです。開発中に最も頻繁に使用するソフトウェアのリストを見つけて、コンピューターからコンピューターに移動できる大きなtarballを作成することをお勧めします(ワークスペースを頻繁に切り替える場合)。


0

Java / Eclipse開発の場合は、Ubuntu / Linux Mint(および場合によっては32ビットでも64ビット)よりもDebianを検討してください。

背景:私はいくつかのJava / Eclipse RCP *開発を行っており、Ubuntu以降のLinux Mintを使用していますが、デスクトップ環境(Cinnamon on Linux Mint)の不安定性、またはSun Java6 JDKをインストールするためのやや複雑な手順(このプロジェクトで使用されています... Ubuntu / Linux Mintは、リポジトリにOpenJDKのみが含まれています)。

最近、仮想マシンでDebian 6 Squeezeを起動し、これらの機能がはるかに優れていることを実感しました。Sun Javaのインストールに必要なのは、/ etc / apt / sources.listのメインリポジトリ文字列の後に「non-free」キーワードを追加し、apt-getを介してインストールすることだけです。 Ubuntu / LinuxMintのGnome3 / Unity / Cinnamonの選択肢よりも。

[*] Eclipse RCPは、EclipseをGUIとしてだけでなく、独自のGUIを構築するためのライブラリとしても使用することを意味します。


-2

Ubuntuは真剣に素晴らしいです。

彼らはすべてのパッケージがあり、最新で簡単にインストールできます。デフォルトの構成(= Gnome)を使用すると、ほとんどの時間をプログラミングに費やし、構成に費やすことはありません。

gccコンパイラスイート、make、autoconfなどのインストールには、適切なインターネット接続で5分かかります。さらに30分で、Ruby、Python、Sun JVM、Eclipseをすぐに実行できます。

編集:Ubuntuは、多くのライブラリのデバッグシンボルを含む追加パッケージを提供します。C / C ++開発者にとってはうれしいです。


1
あなたのコメントは、他のほぼすべてのLinuxディストリビューションに適用されます!
fpmurphy

1
興味深い... go2linux.org/debian-ubuntu-centos-fedora-comparisonoswatershed.org(右の列)信じてください、Ubuntuは開発者の友達です。
フィリップ

-3

答えは、あなたが作成しない限り開発に適したLinuxはなく、この分野ではgentooほど多くのLinuxが実際に提供していないということです。ソースからすべてをコンパイルします(開発者になるために必要なものです。インストールプロセスは、アプリケーションを作成する際に行う多くの質問に答える他のディストリビューションよりも、システムについて多くを教えてくれます。

最良の部分は、開発するプログラムの種類を選択できることです。javaが必要な場合は、javacまたはgcj、あるいはその両方をインストールします。コミュニティサポートは他に例がないため、質問がある場合は回答が得られるか、回答を見つけるために必要な場所に移動します。

あなたが考えることができるすべてのIDEは、gentooに「マージ」/インストールすることができます。インストールするのは信じられないほど簡単でも、理解するのも「簡単」ではありませんが、ネザーはプログラミングであり、gentooのコピーをインストールできない場合は、マシンでプログラムを実行したくありません。人々がそれをインストールすることの難しさのほとんどは、基本的なLinuxの知識の不足に由来しています。あなたが好きなようにすべてをセットアップした後、あなたはそれを好きになると約束します。

インストールが完了したら、tarをバックアップし、カーネルを再構成する時間があるコンピューターに置くか、物事が手に入らなくなったときに復元を使用することができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.