개발자를위한 리눅스 배포판


49

개발자의 입장에서 매력을 느낄 수있는 최고의 Linux를 찾고 있습니다. 저는 오픈 소스를 좋아하며 여러 언어를 사용합니다.

개발자를위한 리눅스와 같은 것이 있습니까?


1
공개 토론은 여기에 게시하기에 적합하지 않습니다.
이그나시오 바스케스-아 브람스

12
당신은 당신이 의미하는 것을 조금 지정해야합니다-개발자는 개발자 친화적 인 배포판을 구성하는 것에 대해 매우 강력하고 (그리고 종종 반대되는) 견해를 가지고 있습니다.
l0b0

1
@ l0b0 : 개발자는 다양한 최신 패키지를 선택해야합니다. 패키지가 너무 오래되어 바닐라가 아니거나 배포 저장소에없는 패키지를 수동으로 업데이트하는 것은 시간 낭비입니다. 최종 사용자는 일반적으로 최신 libxyz-dev 패키지가 리포지토리 내에 있는지 상관하지 않습니다.
필립

FreeBSD 살펴보기
Rui F Ribeiro

답변:


44

실제로 배포판은 모두 거의 동일한 개발 도구 체인을 사용하므로 일반 개발 작업을위한 플랫폼과 크게 다르지 않습니다. 그러나 일부 유형특정 유형 의 개발 작업과 관련 될 수있는 특정 장점을 가지고 있습니다.

  • 상업용 배포판 (RHEL, SLES)은 타사 비공개 소스 공급 업체로부터 최상의 지원을받습니다. 올바른 라이브러리를 설치하면 대부분의 배포판에서 Oracle을 사용할 수 있지만 Oracle을 사용하려면 (예를 들어) Oracle 중 하나를 사용하는 것이 좋습니다. CentOS는 RHEL 소스에서 컴파일되었으며 RHEL 용으로 제작 된 모든 상용 소프트웨어가 아니라면 대부분 잘 작동합니다.

  • 땜질하고 싶다면 Linux From Scratch를 사용해보십시오. 리눅스 배포판이 어떻게 연결되는지에 대한 훌륭한 튜토리얼입니다.

  • 오픈 소스이거나 오픈 소스였던 모든 것을 리포지토리에서 사용할 수있는 것을 원한다면 데비안 기반 배포판 (Debian 또는 Ubuntu)이 승리 할 수 ​​있습니다. Canonical이 .deb를 선택하여 Ubuntu의 패키지 관리 시스템으로 사용하는 이유가 있습니다.

  • Gentoo를 사용하여 모든 것을 n도 수준으로 조정하려면 특정 프로세서 아키텍처에 맞게 전체 시스템을 재구성 할 수 있습니다.

  • '전통적인 유닉스'경험을 원한다면 Slackware 또는 FreeBSD (Linux 배포판이 아니지만 OP에 관심이있을 수 있음)를 사용해 볼 수 있습니다. 또한 BSD 제품군은 네트워킹에 특히 강하므로이 분야의 개발자에게 Linux보다 장점을 제공 할 수 있습니다.

그중에서도 CentOS, Debian, Fedora, Ubuntu, Slackware 및 FreeBSD를 과거에 여러 번 사용했으며 다른 몇 가지 (Vector, SLS, Yggdrasil 및 Redhat의 여러 버전부터 약 4.0 이상)를 사용했습니다. '유닉스'개발 환경으로서 그들은 모두 시대의 툴을 제공했으며 번들 툴링으로 개발 작업에 사용하거나 필요한 다른 것을 다운로드하여 구축 할 수있었습니다.

유닉스는 한때 운영 체제로 가장 한 IDE 또는 그 영향에 대한 말로 묘사되었습니다. 원하는 경우 유닉스 또는 리눅스 변형은 유닉스 개발자 경험을 제공 할 수 있습니다. 어느 시점에서 나는 환경을별로 신경 쓰지 않았습니다. 방금 창 관리자를 사용하여 xterm 창을 열고 몇 가지 앱을 시작했습니다. 다른 모든 것은 명령 행에서 거의 이루어졌습니다. 유닉스 나 리눅스의 대부분은 그렇게 할 수 있습니다.

C에 들어가면 ctags가있는 vim 또는 emacs, make 및 gcc가 꽤 잘 작동합니다. 프론트 엔드 유무에 관계없이 gdb를 사용할 수 있습니다. 이 툴 체인은 또한 perl 또는 python과 같은 언어에 대한 훌륭한 지원을 제공하며 타사 도구의 풍부한 지원 에코 시스템이 제공됩니다.

보다 GUI 중심의 워크 플로우를 위해서는 실제로 개인이 선택한 창 관리자, 데스크탑 환경 및 개발 도구가 필요합니다. Java에 익숙하다면 Eclipse와 netbeans는 대부분의 주요 배포판을 기반으로합니다. C / C ++, perl, python 및 기타 스크립팅 언어를 지원하는 다양한 기존 IDE가 있습니다. 이것들은 모든 리눅스 배포판이 아니라면 대부분 작동하도록 만들 수 있습니다. Java는 타사 포트를 통해 BSD에서만 지원되므로 Linux를 사용하는 경우 Linux를 사용하는 것이 좋습니다.


물론 FreeBSD는 리눅스 시스템이 아닙니다. OP의 목적에는 문제가되지 않을 수 있습니다. 다른 BSD 배포판도 있습니다 (OpenBSD, NetBSD, 그리고 아마도 일부를 놓친 것 같습니다). 그런 종류의 일에 들어가면 무료 버전의 Solaris도 있습니다.
Keith Thompson

아니요, 그렇지 않으며 거의 ​​같은 이유로 중요하지 않을 수도 있습니다. 다른 BSD 배포판 대부분이 꽤 전문적이기 때문에 하나를 선택했습니다. 아마도 Dragonfly 또는 PC-BSD를 제외하고는 말입니다. FreeBSD는 BSD의 가장 주류에 관한 것입니다.
ConcernedOfTunbridgeWells

3
IMHO는 글 머리 기호 1과 3 만 개발자와 관련이 있습니다. 튜닝 또는 유닉스 경험은 고급 사용자와 시스템 관리자에게만 흥미 롭습니다. 이로 인해 비 호환성 (Unix)과 예측할 수없는 불안정성 (튜닝)이 발생하여 개발자에게 독이됩니다.
Philip

1
BSD와 솔라리스는 하드웨어 지원이 부족하고, 네트워킹에서 이점을 얻은 후에도 BSD가 끝났습니다.
vonbrand

12

개발자를위한 리눅스와 같은 것이 있습니까?

예. 리눅스라고합니다.

Fedora (또는 Red Hat 파생 상품)는 데비안, 슬랙웨어, 젠투 또는 그 밖의 다른 것만 큼 좋습니다. 진지하게, 당신은 모든 주요 배포판으로 개발할 수 있습니다. "개발자 지향"리눅스를 요구하는 것은 어리석은 질문입니다.

또한 이러한 배포판 중 하나가 개발자를 위해 다른 배포판보다 낫다고 말하는 것은 어리석은 일입니다. 그것은 심각하지 않습니다.

이 질문은 실제로 논쟁을 요구합니다.


15
어리석은 이유에 대한 좋은 주장을 제시 하지 않는 한 "개발자 지향"리눅스를 요구하는 것은 어리석은 질문 이다.
NN

4
공정하게, juaco가 옳습니다. 리눅스는 개발자들에게 좋다.
Sirex

7
"Fedora는 Debian, Slackware만큼 우수합니다." 분명히 다른 배포판이있는 이유가 있어야하며, 이는 다른 사람들에게 주어진 작업에서 똑같이 훌륭 할 수 없다는 것을 의미합니다.
tshepang

1
@Tshepang : 맞습니다. 개발을 제외하고 는 "어떤 주어진 작업에 대해서도"똑같이 좋지 않습니다 . 다른 작업의 경우 때때로 차이가 있지만 개발의 경우 모든 주요 배포판이 똑같이 좋습니다.
ata

6
일을하기 위해서는 안정적인 환경이 필요합니다. 예를 들어 이것을 고려하십시오. Fedora와 Ubuntu는 안정적이 아니며 권장하지 않습니다. 일반적인 상태이기 때문에 Windows 사용자에게 "Linux는 개발자에게 좋습니다"라고 말할 수 있습니다. Linux 사용자와 대화 할 때는 효율성을 향상시킬 수있는보다 구체적인 사항에 관심이있을 것입니다.
해병대

5

나는 정말 즐기기 때문에 꽤 많은 배포판을 시도했습니다.

나는 개발자이고 개발자에게 좋은 Linux에 대해 궁금해했으며 경험상 개발자를 위해 특별히 배포 된 Linux 배포판이 없습니다.

그 이유는 개발자로서 자신의 필요에 맞게 배포판을 사용자 정의 할 수있을뿐만 아니라 이러한 사용자 정의 방법을 반드시 알아야하기 때문입니다.

따라서 기본적으로 Linux에 익숙하지 않은 경우 :

1) 데비안, 많은 프로덕션 웹 서버가 데비안을 실행하고 있기 때문에 데비안 머신이 어떻게 구성되어 있는지 아는 것이 좋습니다. 데비안에 대한 좋은 점은 확실히 가장 널리 사용되는 Linux (우분투와 같은 파생 제품 포함)이기 때문에 지원, 커뮤니티 및 사용 가능한 사전 컴파일 된 패키지의 수가 매우 광범위하다는 것입니다. 데비안에 대한 나쁜 점은 안정적인 프로덕션 환경을 지향하고 개발자로서 시도해 볼 수있는 최신 기술을 거의 제공하지 않는다는 것입니다.

2) Arch-Linux (실제로 ArchBang)는 3 가지 이유로 현재 가장 좋아하는 것입니다. 이 접근 방식을 사용하면 백그라운드에서 작업 방식에 대해 많은 것을 배울 수 있으며 시간이 지남에 따라 모든 것이 올바르게 설정되면 Linux / Unix 시스템을 사용하여 매우 편안하게 느낄 수 있습니다. -롤링 릴리스이므로 새 버전을 다운로드하지 않고 모든 것을 다시 설치할 필요가 없으며 시스템과 Voila를 업데이트하기 만하면됩니다! -가장 최신의 최첨단 기술을 구현하려고 노력하므로 항상 소프트웨어의 새로운 개선 사항과 정말 가치있는 개발자로 항상 유지됩니다. -아 그리고 그것은 또한 훌륭한 커뮤니티를 가지고 있습니다.

그러나 어쨌든 기본적으로 몇 가지 물건을 시험 해보고 가장 적합한 것을 결정하는 것은 Linux에 관계없이 항상 원하는대로 구성 / 사용자 정의 할 수있는 방법이 있다는 것입니다. 가장 중요한 것은 그러한 커스터마이징을 수행하는 방법을 배우는 것입니다. 그런 다음 가능한 한 미리 미리 구성된 것을 선택하십시오.


4

리눅스 배포판에는 점점 더 다양한 풍미가 있습니다. 예를 들어, 어린이를위한 Qimo 또는 DoudouLinux와 같은 배포판이 있습니다.

물론 당신은 당신의 필요에 맞게 그것들을 바꿀 수 있지만 (우리는 Linux에 대해 이야기하고 있습니다.]) 여전히 많은 시간을 낭비 할 것입니다.

어떤 사람들은 새로운 것을 배우는 좋은 방법이라고 주장 할 것입니다. 그러나 배포판을 파고 어쨌든 물건을 조정하려면 약간의 시간이 필요합니다. 어떤 배포판에서도 불가피합니다.

그러나 가장 중요한 것은 패키지입니다.

어떤 것은 당신에게 신선한 것들 (예 : 아치)을 가져오고 어떤 다른 사람들은 매우 안정된 것들 (예 : 데비안)을 가져옵니다.

하드웨어 지원 (드라이버, 드라이버, 드라이버!)과 관련하여 설명서도 매우 다양합니다.

이 3 가지 포인트 (패키지, 문서, 드라이버)와 자신의 기술을 고려하면 약간의 주류 배포판을 발견하는 데 시간이 걸립니다.

좋은 출발은 여기에 있습니다 : http://distrowatch.com/


나는 주요 분포 즉, 말했다 . 주류는 개발과 관련하여 큰 차이가 없다는 사실을 나타냅니다. 나는 틈새 배포판을 말하는 것이 아닙니다.
ata

3

Fedora 는 새로운 기술을 조기에 채택하여 다른 배포판에서 사용 가능하기 몇 달 전에 실험하고 개발할 수 있습니다. 즉시 사용할 수있는 많은 프로그래밍 언어와 라이브러리를 지원하며 시스템에 누락 된 내용을 쉽게 추가 할 수 있습니다. 그것은 순수한 오픈 소스 철학을 가지고 있으며, 제 3자가 이와 반대되는 기능을위한 패키지를 제공 할 수 있도록 선택합니다. "Fedora Core"라고 부르지 마십시오 (Fedora 7에 Core 및 Extras가 병합 된 후 "Core"가 손실 됨).


1
누가 Fedora Core라고 불렀습니까?
tshepang

1
많은 사람들. 수년간.
Ignacio Vazquez-Abrams

1
@ IgnacioVazquez - 에이 브람스 무엇 젠투와 아치 리눅스에 대한
Jaison 유스

내가 사용하지 않는 배포판에 대해 말할 수 없습니다. 그러나 "소스에서 빌드"를 "프로그래밍에 적합"과 상관시키지 마십시오.
Ignacio Vazquez-Abrams

3
@ IgnacioVazquez-Abrams : 또한 최신 기술사용 하여 개발하는 것이 더 좋습니다 . 어쨌든, 질문은 충분히 구체적이지 않습니다 ... 그것은 당신이 개발하고있는 것에 달려 있습니다. 전 세계 개발의 대부분은 최첨단 기술에 의존하고 있습니다. OTOH, Fedora는 Mono 및 KDE 개발을위한 SuSE와 같은 GNOME 개발을 원한다면 제안한 배포판입니다 (이것은 SuSE가 Mono 프로젝트의 초기 자금 제공자이며 포용 할 몇 안되는 주요 배포판 중 하나라는 사실에 기초합니다) 기본 바탕 화면으로 KDE.
tshepang

1

내 경험과 여기의 답변을 바탕으로 개발을보다 쉽고 실용적으로 만들 수있는 응용 프로그램 및 도구 모음을 더 많이 찾고 있다고 생각합니다.

Linux의 멋진 점은 모든 배포판을 매우 쉽게 사용자 정의 할 수 있다는 것입니다. 개발하는 동안 가장 자주 사용하는 소프트웨어 목록을 찾아 컴퓨터에서 컴퓨터로 가져올 수있는 큰 타르볼을 만드는 것이 좋습니다 (작업 공간을 많이 전환하는 경우).


0

Java / Eclipse 개발의 경우 데비안의 Ubuntu / Linux Mint (64 비트 이상 32 비트)를 고려하십시오.

배경 : 일부 Java / Eclipse RCP * 개발을 수행하고 우분투 및 이후 Linux Mint를 사용하고 있지만 데스크탑 환경 (Cinnamon on Linux Mint)의 불안정성과 관련된 모든 종류의 성가신 버그가 발생했습니다. Sun Java6 JDK를 설치하는 다소 복잡한 절차 (우리 프로젝트에서 사용됩니다 ... Ubuntu / Linux Mint는 Repos에 OpenJDK 만 제공됩니다).

나는 최근에 가상 머신에서 데비안 6 스퀴즈를 시작했고, 이런 것들이 어떻게 더 잘 작동하는지 깨달았습니다. Sun Java를 설치하려면 /etc/apt/sources.list의 기본 리포지토리 문자열 뒤에 "non-free"키워드 만 추가 한 다음 apt-get을 통해 설치하면되며, 함께 제공된 (Gnome2) 데스크탑도 훨씬 안정적입니다. Ubuntu / LinuxMint의 Gnome3 / Unity / Cinnamon 대안보다.

[*] Eclipse RCP는 Eclipse를 GUI뿐만 아니라 GUI를 구축하기위한 라이브러리로도 사용한다는 것을 의미합니다.


-2

우분투는 훌륭합니다.

모든 패키지가 최신이며 설치가 용이합니다. 기본 구성 (= 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 (오른쪽 열) 우분투는 개발자의 친구입니다.
필립

-3

답은 개발 용으로 좋은 리눅스가 없다는 것입니다. 당신이 하나를 만들지 않으면 다른 리눅스도 젠투만큼이 영역에서 많은 것을 제공하지 않습니다. 소스에서 모든 것을 컴파일해야합니다 (개발자가 되기에는 연약한 것이어야합니다). 설치 프로세스는 응용 프로그램을 만들 때 얻을 수있는 많은 질문에 대답하는 다른 배포판보다 시스템에 대해 더 많이 알려줍니다.

가장 좋은 점은 어떤 종류의 프로그램을 개발할 것인지 선택할 수 있다는 것입니다. Java를 설치하려면 javac 또는 gcj 또는 둘 다 설치하십시오. 커뮤니티 지원은 다른 것과 다르므로 질문이 있으면 답변을 찾거나 필요한 곳으로 이동하십시오.

여러분이 생각할 수있는 모든 IDE는 젠투에 "임시"/ 설치할 수 있습니다. 설치 또는 "간단한"이해하기가 쉽지는 않지만 nether는 프로그래밍이며 gentoo 사본을 설치할 수없는 경우 내 컴퓨터에서 프로그램을 실행하고 싶지 않습니다. 사람들이 설치하는 어려움의 대부분은 기본적인 Linux 지식이 부족하기 때문에 발생합니다. 원하는대로 모든 설정을 마친 후 마음에들 것입니다.

설치가 완료되면 타르를 백업하고 커널을 재구성 할 시간이있는 컴퓨터에 넣거나 문제가 발생했을 때 복원 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.