Linux dağıtımı geliştiricilere yönelik [kapalı]


49

Geliştiricinin tarafına hitap edecek en iyi Linux lezzetini arıyorum. Açık kaynaklı bir aşığım ve birkaç farklı dil kullanıyorum.

Geliştiricilere yönelik bir Linux gibi bir şey var mı?


1
Açık tartışmalar buraya gönderilmeye uygun değildir.
Ignacio Vazquez-Abrams,

12
Ne demek istediğinizi biraz belirtmelisiniz - Geliştiriciler, geliştirici dostu bir dağıtım oluşturmanın ne olduğuna dair çok güçlü (ve genellikle karşıt) görüşlere sahiptir.
l0b0

1
@ l0b0: Geliştiricilerin geniş bir güncel paket seçkisi gerekir. Paketleri elle güncellemek, çünkü onlar çok eski, yeterince vanilya değil ya da dağıtım merkezindeki depoda değil, zaman kaybı. Son kullanıcılar, güncel libxyz-dev paketinin depo içinde olup olmadığını önemsemezler.
Philip

FreeBSD'ye göz atın
Rui F Ribeiro

Yanıtlar:


44

Uygulamada dağıtımların hepsi aynı geliştirme aracı zincirini kullanıyor, bu nedenle genel geliştirme çalışmaları için bir platform olarak gerçekten önemli ölçüde farklı değiller. Bununla birlikte, bazıları, bazı geliştirme çalışmaları ile ilgili olabilecek özel avantajlara sahiptir :

  • Ticari dağıtımlar (RHEL, SLES), üçüncü taraf kapalı kaynaklı satıcılardan en iyi desteğe sahiptir. Oracle ile çalışmak istiyorsanız (örneğin), bunlardan biriyle daha iyi olabilirsiniz, ancak doğru kitaplıkları yüklerseniz Oracle çoğu dağıtımla çalışabilir. CentOS, RHEL kaynaklarından derlenmiştir ve RHEL için üretilmiş tüm ticari yazılımlar olmasa da en iyi şekilde çalışacaktır.

  • Tamir etmek istiyorsanız, Linux From Scratch'ı deneyebilirsiniz. Linux dağıtımının nasıl birleştiği konusunda oldukça iyi bir eğitim.

  • Açık kaynak olan ya da açık kaynak kodlu her şeyin havuzlardan alınabileceği bir şey istiyorsanız, o zaman Debian merkezli bir dağıtım (Debian veya Ubuntu) kazanmak olabilir. Canonical’in Ubuntu paket yönetim sistemi olarak kullanması için seçilmesinin bir nedeni var.

  • Her şeyi n'inci dereceye ayarlamak istiyorsanız, Gentoo tüm işlemcinizi özel işlemci mimariniz için yeniden oluşturmanıza izin verir.

  • Eğer 'geleneksel bir unix' deneyimi istiyorsanız, Slackware veya FreeBSD'yi deneyebilirsiniz (ki bu bir Linux dağıtımı değil, OP'nin ilgisini çekebilir). Ayrıca, BSD ailesi özellikle ağ oluşturma konusunda güçlü olduğundan, bu alanda çalışan geliştiricilere Linux üzerinden avantajlar sunabilir.

Bunlardan, CentOS, Debian, Fedora, Ubuntu, Slackware ve FreeBSD'yi geçmişte çeşitli zamanlarda kullandım, ayrıca birkaç tane daha kullandım (Vector, SLS, Yggdrasil ve Redhat'ın yaklaşık 4.0 sürümünden çeşitli sürümleri). Bir 'unix' geliştirme ortamı olarak hepsi dönemin araçlarını sundu ve birlikte gelen takımlarla geliştirme çalışması için ya da ihtiyaç duyduğunuz her şeyi indirerek ve inşa ederek kullanılabilirdi.

Unix, bir zamanlar bir işletim sistemi olarak maskelenen bir IDE veya bu etkiye yönelik kelimeler olarak tanımlanmıştır. İsterseniz, herhangi bir unix veya linux çeşidi size unix geliştirici deneyimini verebilir. Bir noktada çevreye pek fazla değer vermedim. Gerçekten sadece xterm pencereleri açmak ve birkaç uygulamayı başlatmak için pencere yöneticisini kullandım; her şey komut satırından hemen hemen yapıldı. Çoğu unix veya linux çeşidi bunu yapabilir.

C'ye girerseniz cim ile cim veya emacs yaparsanız, make and gcc gayet iyi çalışıyor; Ön uçlu ya da uçsuz gdb'yi kullanabilirsiniz. Bu alet zinciri ayrıca perl veya python gibi diller için iyi destek sağlar ve üçüncü parti araçlardan gelen zengin bir destek ekosistemiyle birlikte gelir.

Daha fazla GUI merkezli bir iş akışı için, kişisel bir pencere yöneticisi, masaüstü ortamı ve geliştirme araçları seçeneği geliyor. Eğer Java kullanıyorsanız, Eclipse ve netbeans birçok büyük dağıtım üzerine inşa edilmiştir. C / C ++, perl, python ve diğer betik dilleri için çeşitli geleneksel IDE'ler mevcuttur. Tüm Linux dağıtımları olmasa da bunlar çoğu üzerinde çalışılabilir. Java, BSD'de yalnızca 3. taraf bağlantı noktaları üzerinden desteklenir, bu nedenle eğer bununla çalışıyorsanız, linux konusunda muhtemelen daha iyi olursunuz.


Elbette FreeBSD bir Linux sistemi değildir. OP'nin amaçları için bu önemli olmayabilir. Diğer birkaç BSD dağıtımı olduğunu unutmayın (OpenBSD, NetBSD ve muhtemelen bazılarını kaçırdım). Eğer böyle bir şeyle ilgilenirseniz, Solaris'in ücretsiz bir sürümü de var.
Keith Thompson,

Hayır, öyle değil ve sanırım aynı sebeplerden dolayı önemli olabilir veya olmayabilir. Bunlardan birini seçtim çünkü diğer BSD dağıtımlarının çoğu, özellikle Dragonfly veya PC-BSD hariç olmak üzere oldukça uzmanlaşmış. FreeBSD, BSD'lerin en yaygın olanı hakkında sanırım.
ConcOedOfTunbridgeWells

3
IMHO yalnızca bir ve üç kurşun nokta geliştiricilerle ilgilidir. Tuning veya Unix deneyimi sadece uzman kullanıcılar ve sistem yöneticileri için ilginçtir. Her ikisi de geliştiriciler için zehir olan uyumsuzluklara (Unix) ve öngörülemeyen dengesizliklere (Tuning) yol açarlar.
Philip

1
BSD'ler ve Solaris, donanım desteğinden ciddi bir şekilde yoksundur ve ağ kurma konusunda bir çeşit avantaj elde ettikten sonra, BSD'ler de bu konuda kaybedilmiştir.
von

12

Geliştiricilere yönelik bir Linux gibi bir şey var mı?

Evet. Buna Linux denir.

Fedora (veya herhangi bir Red Hat türevi) herhangi bir Debian, Slackware, Gentoo veya her neyse iyidir. Cidden, herhangi bir büyük dağıtımla geliştirebilirsiniz, "geliştirici odaklı" bir Linux istemek aptalca bir soru.

Bu dağıtımların herhangi birinin geliştiriciler için diğerlerinden daha iyi olduğunu söylemek aptalca. Sadece ciddi değil.

Bu soru gerçekten tartışmalar için yalvarır.


15
Neden saçma sapan iyi bir argüman sağlamadıkça "geliştirici odaklı" bir Linux istemenin saçma bir soru olduğunu söylemek aptalca.
NN

4
Adalet, juaco haklıdır. Linux geliştiriciler için iyidir, dönem.
Sirex

7
Gerçekten de "Fedora, herhangi bir Debian, Slackware ..." kadar iyidir. Elbette, farklı dağıtımların olmasının sebepleri olmalı ve bu, farklı insanlar için verilen herhangi bir görevde eşit derecede iyi olamayacakları anlamına geliyor.
tshepang

1
@Tshepang: Haklısın, gelişim dışında "verilen herhangi bir görev için" eşit derecede iyi değiller . Diğer görevler için bazen farklılıklar gösterirler, fakat adanmışlık için, tüm büyük dağıtımlar eşit derecede iyidir.
ata

6
İşimi yaparken istikrarlı bir çevreye ihtiyacım var. Bunu göz önüne alarak, örneğin. Fedora ve Ubuntu kararlı değiller ve ben onları önermiyorum. Windows kullanıcısına "Linux geliştiriciler için iyidir" diyebilirsiniz, çünkü genel durumdur. Linux kullanıcılarıyla konuşurken muhtemelen etkinliklerini artıracak daha özel şeylerle ilgileniyorlar.
marines

5

Epeyce dağıtımı denedim, çünkü gerçekten yapmaktan zevk alıyorum.

Ben bir geliştiriciyim ve ayrıca geliştiriciler için iyi bir Linux'u merak ettim ve deneyimlerime göre geliştiriciler için özel olarak tasarlanmış herhangi bir Linux dağıtımı yok.

Bunun nedeni, bir geliştirici olarak, yalnızca gereksinimlerinize göre herhangi bir dağıtımı kişiselleştirebilmenizin yanı sıra, bu tür bir özelleştirmeyi nasıl yapacağınızı kesinlikle bilmeniz gerekir.

Yani temelde Linux ile aşina değilseniz:

1) Debian, çünkü birçok web sunucusu Debian kullanıyor, bu yüzden Debian makinelerinin nasıl organize edildiğini bilmek iyi bir fikir. Debian ile ilgili iyi bir şey, kesinlikle en yaygın kullanılan Linux (Ubuntu gibi türevleri dahil) olduğu için mevcut desteğin, topluluğun ve önceden derlenmiş paketlerin sayısının son derece kapsamlı olmasıdır. Debian'ın kötü yanı, istikrarlı bir üretim ortamı olma yolunda olması ve geliştirici olarak denemek isteyebileceğiniz en son kanama özelliklerini nadiren sunması.

2) Arch-Linux (aslında ArchBang) 3 nedenden dolayı şu anki favorim: - Tek tıkla kolay kurulum ve ayarlamalar yapmanın pek bir yolunu sunmuyor, ancak sizin gibi her şeyi ayarlamanıza yardımcı olacak harika bir öğreticiye sahip İsterseniz, bu yaklaşım arka planda işlerin nasıl yürüdüğü hakkında çok şey öğrenmenize izin verir ve zamanla her şeyi doğru bir şekilde ayarladıysanız, Linux / Unix sistemi kullanarak kendinizi oldukça rahat hissedeceksiniz demektir. - Yeni sürümü indirmek ve her şeyi tekrar yüklemek zorunda kalmayacağınız anlamına gelir, sadece sistemi ve Voila! 'Yı güncelleyin. - En son kanama kenarındaki tüm şeyleri uygulamaya çalışır, böylece her zaman yazılımdaki yeni gelişmelerden ve gerçekten kayda değer bir geliştirici olarak karşınıza çıkacaktır. -Oh ve onun da harika bir topluluğu var.

Ama yine de, temel olarak birkaç şeyi denemek ve sizin için en iyi olanın ne olduğuna karar vermek size kalmıştır, garanti edebileceğim şey, Linux'a bağladığınızın ne olursa olsun, işleri istediğiniz gibi yapılandırmanın / özelleştirmenin her zaman bir yolu olduğudur. önemli olan şey, bu özelleştirmeyi nasıl yapacağınızı öğrenmektir ve daha sonra nihayetinde yapmak istediğinize mümkün olduğunca önceden yapılandırılmış bir şey seçersiniz.


4

Linux dağıtımlarında gittikçe daha farklı lezzetler var; örneğin, çocuklar için hazırlanmış Qimo veya DoudouLinux gibi dağıtımlar var.

Tabii ki, gereksinimlerinize uyacak şekilde değiştirebilirsiniz (Linux hakkında konuşuyoruz, doğru:]) ama yine de çok fazla zaman harcayacaksınız.

Bazıları yeni şeyler öğrenmenin harika bir yol olduğunu iddia edecek. Bununla birlikte, dağıtıma katılmak ve işleri ayarlamak için biraz zaman ayırmanız gerekecek, herhangi bir dağıtım ile kaçınılmaz.

Ancak en önemli şey paketler.

Bazıları size taze olanları (örneğin: Arch) ve bazılarını çok kararlı olanları (örneğin: Debian) getirir.

Belgelendirme, donanım desteğine (sürücüler, sürücüler, sürücüler!) Gelince de değişir.

Bu 3 noktayı (paketler, belgeler, sürücüler) ve kendi becerilerinizi göz önünde bulundurarak, bazı ana dağıtımları keşfetmek için biraz zaman ayırmalısınız.

İyi bir başlangıç ​​burada olabilir: http://distrowatch.com/


Büyük dağıtımlar yani dedim . genel olarak, gelişme söz konusu olduğunda bunlar arasında büyük farklar olmadığı gerçeğine atıfta bulunmak. Niş dağıtımlardan bahsetmiyorum.
ata,

3

Fedora , diğer birçok dağıtımda bulunmadan aylar önce onlarla deneme yapmanıza ve geliştirmenize olanak tanıyan yeni teknolojilerin ilk uygulayıcısıdır. Kutudaki birçok programlama dilini ve kitaplığını destekler ve eksik olabilecek herhangi bir şeyi sisteminize eklemenizi nispeten kolaylaştırır. Üçüncü tarafların buna aykırı özellikler için paketler sağlamalarına izin vermeyi seçerek, açık kaynaklı bir felsefeye sahiptir. Sadece "Fedora Core" deme (Çekirdek ve Ekstralar Fedora 7 için birleştikten sonra "Çekirdek" yi kaybetti).


1
Bunu kim Fedora Core olarak adlandırdı?
tshepang

1
Bir sürü insan. Yıllarca.
Ignacio Vazquez-Abrams

1
@ IgnacioVazquez-Abrams gentoo ve archlinux hakkında ne
Jaison Justus

Kullanmadığım dağıtımlardan bahsetmiyorum. Fakat kesinlikle “kaynaktan inşa” ile “programlama için iyi” yi ilişkilendirmeye çalışmayın.
Ignacio Vazquez-Abrams

3
@ IgnacioVazquez-Abrams: Ayrıca ilişkilendirmek gerektiğini kullandýnýz yeni teknolojiler ile ilgili geliştirmek için daha iyi . Neyse, soru yeterince spesifik değil ... ne geliştirdiğinize bağlı. İddiaya girerim dünyanın gelişiminin çoğu, en yeni teknolojiye dayanmaz. OTOH, Fedora, Mono ve KDE gelişimi için SuSE ile aynı GNOME gelişimi yapmak istiyorsa önereceğim (bu, SuSE'nin Mono projesinin ilk kurucuları olduğu ve benimsemek için birkaç büyük dağıtımdan biri olduğu gerçeğine dayanıyor). Varsayılan masaüstü olarak KDE
tshepang

1

Sanırım, kendi tecrübelerime ve buradaki cevaplara dayanarak, daha kolay ve pratik hale getirecek bir takım uygulamalar ve araçlar aradığınızı düşünüyorum.

Linux ile ilgili en güzel şey, herhangi bir dağıtımın özelleştirmenin çok kolay olmasıdır. Geliştirme sırasında en sık kullandığınız yazılımların bir listesini bulmanızı ve bilgisayardan bilgisayara getirebileceğiniz büyük bir tarball yapmayı tavsiye ederim (çalışma alanlarını çok değiştirirseniz).


0

Java / Eclipse gelişimi için, Ubuntu / Linux Mint üzerinden Debian'ı (ve muhtemelen 64bit'in üzerinde 32bit) düşünün.

Arka plan: Bazı Java / Eclipse RCP * geliştirmeleri yapıyorum ve Ubuntu ve daha sonra Linux Nint kullanıyorum, ancak masaüstü ortamındaki dengesizliklerle (Linux Nane Tarçın) veya her türlü rahatsız edici hataya maruz kaldım. Sun Java6 JDK'yı kurmak için biraz karmaşık bir prosedür (projemiz tarafından kullanılıyor ... Ubuntu / Linux Mint yalnızca depolarında OpenJDK ile birlikte gönderilir).

Geçenlerde Debian 6 Squeeze'i sanal bir makinede çalıştırdım ve bunların nasıl daha iyi çalıştığını anladım. Sun Java'yı yüklemek, yalnızca /etc/apt/sources.list içindeki ana depo dizgisinden sonra "ücretsiz olmayan" anahtar kelimenin eklenmesini ve daha sonra apt-get aracılığıyla yüklenmesini ve bununla birlikte gelen (Gnome2) masaüstünün de çok daha kararlı olmasını gerektirir Ubuntu / LinuxMint'teki Gnome3 / Unity / Tarçın alternatiflerinden daha.

[*] Eclipse RCP, Eclipse'i yalnızca bir GUI olarak değil, aynı zamanda kendi GUI'nizi oluşturmak için bir kütüphane olarak da kullandığınız anlamına gelir.


-2

Ubuntu cidden harika.

Güncel ve kurulumu kolay tüm paketlere sahiptirler. Varsayılan konfigürasyonu kullanın (= Gnome) ve zamanlamanızın çoğunu programlama yaparak harcayacaksınız.

Gcc compiler suite, make, autoconf vb. Kurulumu, iyi bir internet bağlantısı ile 5 dakika sürmektedir. Otuz dakika daha ve Ruby, Python, Sun JVM ve Eclipse çalışmaya hazır.

Düzenleme: Ubuntu, birçok kütüphane için hata ayıklama sembolleri bulunan ekstra paketler sunar. C / C ++ geliştiricileri için olması güzel.


1
Yorumlarınız diğer Linux dağıtımları için de geçerlidir!
fpmurphy

1
İlginç ... go2linux.org/debian-ubuntu-centos-fedora-comparison ve oswatershed.org (sağ sütun) Güven bana, Ubuntu geliştiricinin arkadaşıdır.
Philip

-3

Cevabı, geliştirme için iyi bir Linux olmadığı, bir tane daha yaratmadığınız ve bu alanda gentoo kadar desteklemediğiniz linux olmadığı için. Her şeyi kaynağından derlersiniz (geliştirici olmak için kırılgan olmanız gereken bir şey. Yükleme işlemi, sistem hakkında size uygulamalar yaratırken sahip olacağınız birçok soruyu yanıtlayan herhangi bir dağıtıma göre daha fazla şey öğretir.

En iyi bölüm, ne tür programlar geliştirmek istediğinizi seçmenizdir. Eğer java istiyorsanız javac veya gcj veya her ikisini de kurun. Topluluk desteği başka hiçbir şeye benzemez, bu nedenle sorularınız varsa cevaplandırılacaklar veya cevabı bulmak için gitmeniz gereken yere ulaşacaksınız.

Aklınıza gelebilecek her IDE gentoo içine "ortaya çıkma" / yükleme için kullanılabilir. Kurulumu inanılmaz derecede kolay veya anlaşılması kolay olmasa da nether programlama ve gentoo kopyasını kuramazsanız, programlarınızı makinemde çalıştırmak istemem. İnsanların yüklemesinde yaşadıkları zorlukların çoğu, temel Linux bilgisi eksikliğinden kaynaklanmaktadır. Söz veriyorum, her şeyi istediğin gibi ayarladıktan sonra hoşuna gidecektir.

Yüklendikten sonra, bir katranı yedekleyebilir ve bir çekirdeği yeniden yapılandırmak veya işler elinden çıkınca geri yüklemek için vaktiniz olan herhangi bir bilgisayara koyabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.