다른 BSD는 공통점이 무엇입니까?


62

... 그리고 그들 사이의 차이점은 무엇입니까? 나는 BSD 유닉스의 다른 풍미 사이의 객관적인 비교에서 의견의 화염에 관심이 없다는 것을 분명히하기 위해 이런 질문을 공식화했다. 이상적으로는 모두 경험이있는 사용자로부터 피드백을받을 수 있습니다.

배경

최근 리눅스보다 유닉스에 더 많은 것이 있다는 것을 발견했습니다. 나는 직장에서 솔라리스를 사용하는데 눈을 opened 다. 이제 나는 새로운 유니스에 관심이 있고 새로운 유니스를 시도하고 싶고 자연스럽게 BSD에 대해 궁금합니다.

문제

어떤 BSD를 설치해야하는지 조언이나 의견을 묻지 않습니다 . 나는 그들 사이의 차이점 (그리고 공통점)을 알고 싶어서 내 자신의 마음을 구성 할 수 있습니다. 문제는 그들 사이를 적절히 비교하기 어렵다는 것입니다.

운이 좋으면 다음과 같이 성급한 정의가 나타납니다.

FreeBSD = Popular all-rounder.
NetBSD = Portable (runs on a lot of platforms, including a toaster)
OpenBSD = Security above anything else.

(그것은 사실 일 수도 있지만 실제로는 유용하지 않습니다. FreeBSD도 이식 가능하고 안전하다고 확신합니다 ...)

운이 좋지 않다면, 지적 / 도덕적 근거에 대한 프로젝트 분할, 포크, 브랜딩, Theo de Raadt가 극단 주의자, MacOS X와 ​​FreeBSD가 20 년 전에 공통 조상을 가졌던 방식에 대한 필연적 인 유닉스 전설 중 하나에 갇히게됩니다.

흥미롭지 만 실제로 유익하지는 않습니까?

BSD

내가 관심있는 BSD는 다음과 같습니다.

  • FreeBSD
  • OpenBSD
  • NetBSD

그리고 선택적으로

  • 잠자리
  • 다윈
  • ...

내 질문

차이점을 더 잘 이해하기 위해 각기 다른 분포에 대한 다소 관련된 질문 목록이 있습니다 (이 용어를 사용할 수 있습니까?). 어떤 형식의 표 형식 데이터로 답을 제시한다면, 당신은 저의 모든 영웅입니다!

  • 그들은 같은 커널을 사용합니까?
  • 그들은 같은 사용자 도구를 사용합니까? (있는 경우 차이점은 무엇입니까?)
  • 동일한 패키지 / 소스 관리 시스템을 사용합니까?
  • 그들은 같은 기본 쉘을 사용합니까?
  • 바이너리는 그들 사이에서 이식 가능합니까?
  • 소스는 서로 이식 가능합니까?
  • 그들은 다른 디렉토리 트리를 사용합니까?
  • 각 커뮤니티는 얼마나 큽니까? 그것들은 같은 크기입니까?
  • 현재 개발 중 어느 정도의 공통점이 있습니까?
  • 그들 사이의 주요 비 호환성은 무엇입니까?

이러한 질문에 대한 답변이 얼마나 쉬운 지,이 질문이 실제로 StackExchange 형식과 얼마나 관련이 있는지 잘 모르겠습니다. 필자는 BSD 간의 차이점을 분명한 방식으로 나열한 간단한 문서를 본 적이 없으며, 숙련 된 사용자가 쉽게보고 선택하는 데 유용합니다.


13
이것은 좋은 질문입니다, +1
n0pe

4
나는 토스터 것은 농담했다 ... 100 % 확신했다 embeddedarm.com/software/arm-netbsd-toaster.php
tkbx

하하 잘 그것은 단지 데모였습니다. 디스플레이 화면에서 번 레벨이 200 % 이상인 것처럼 보입니다.
Aki

답변:


50

나는 당신과 모든 사람에게 완벽한 대답을 줄 것이라고 생각하지는 않지만 매일 BSD 시스템을 사용하여 BSD 세계에서 유용한 통찰력을 줄 수 있다고 확신합니다. 나는 NetBSD를 사용하지 않았으며 그것에 대해 많이 이야기하지 않을 것입니다.

그들은 같은 커널을 사용합니까?

역사적인 포크로 인해 유사성이 있지만 아닙니다. 각 프로젝트는 개별적으로 발전했습니다.

그들은 같은 사용자 도구를 사용합니까? (있는 경우 차이점은 무엇입니까?)

그들은 모두 POSIX를 따릅니다. * BSD 사이에서 일련의 도구가 동일한 기능을 가질 것으로 예상 할 수 있습니다. BSD 내에서 프로세스 / 네트워크 관리 도구에서 명백한 차이점을 보는 것도 일반적입니다.

동일한 패키지 / 소스 관리 시스템을 사용합니까?

OS마다 다른 패키징 시스템을 제공합니다.

그들은 같은 기본 쉘을 사용합니까?

예를 들어 FreeBSD는 csh를 사용하고 OpenBSD는 ksh를 사용합니다.

바이너리는 그들 사이에서 이식 가능합니까?

아니:

(XXXX@freebsd-6 101)file `which ls`
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.5, dynamically linked (uses shared libs), stripped

실제로 안정적이고 빠른 이진 에뮬레이션을 지원하지 않습니다. 그것에 의존하지 마십시오.

소스는 서로 이식 가능합니까?

예를 들어 커널 코드 또는 libc 코드 (OS와 밀접하게 연결된)를 사용하지 않는 한 그렇습니다.

그들은 다른 디렉토리 트리를 사용합니까?

아니요, 여기는 Linux와 매우 유사합니다. 그러나 FreeBSD는 타사 소프트웨어의 구성 파일에 / usr / local / etc 사용을 권장합니다. OpenBSD는 모든 것을 / etc에 넣습니다. 그들은 모든 타사를 / usr / local에 넣었지만 Linux 배포판은 적합하다고 생각합니다. 일반적으로 당신은 * BSD가 그것에 대해 매우 보수적이라고 말할 수 있습니다.

각 커뮤니티는 얼마나 큽니까? 그것들은 같은 크기입니까?

FreeBSD는 가장 크고 활발하며, 다양한 포럼, 메일 링리스트, IRC 채널 등을 통해 접근 할 수 있습니다. OpenBSD는 좋은 커뮤니티를 가지고 있지만 대부분 IRC와 메일 링리스트를 통해 볼 수 있습니다.

실제로 좋은 커뮤니티가 필요하다고 생각되면 FreeBSD가 갈 길입니다. NetBSD와 OpenBSD 커뮤니티는 개발 중심이며 새로운 개선 사항에 대해 이야기합니다. 기본 사용자 지원이나 광고를하고 싶지 않습니다. 그들은 모든 사람이 고급 유닉스 사용자가되기를 기대하며 무엇이든 물어보기 전에 문서를 읽을 수 있습니다.

현재 개발 중 어느 정도의 공통점이 있습니까?

실제로 무료 라이센스 코드로 인해 프로젝트간에 코드가 흐를 수 있기 때문에 OpenBSD는 종종 소스가 많이 있기 때문에 NetBSD에 따라 코드를 패치하고, FreeBSD는 OpenBSD의 패킷 필터 등을 가져와 통합합니다. 커널 것들.

그들 사이의 주요 비 호환성은 무엇입니까?

이진 형식으로 호환되지 않지만 대부분 구문과 코드에서 호환됩니다. 코드에서 이식성을 얻기 위해 그에 의존 할 수 있습니다. 커널에 너무 가까이 가지 않는 경우를 제외하고는 모든 종류의 BSD에서 쉽게 빌드하거나 실행할 수 있습니다 (ifconfig, pfctl ...).

BSD 세계에서 배울 수있는 방법은 다음과 같습니다.

홈 라우터를 openbsd 박스로 교체하고 pf 및 네트워크로 플레이하십시오. 원하는 것을 만드는 것이 얼마나 쉬운 지 알게 될 것입니다. 깨끗하고 신뢰할 수 있으며 안전합니다. FreeBSD를 데스크탑으로 사용하면 많은 GPU를 지원하며 어느 정도 플래시를 사용할 수 있으며 Linux 바이너리와 호환됩니다. 사용자 정의 커널을 안전하게 구축 할 수 있습니다 (실제로 권장 됨). 전반적으로 좋은 학습 경험입니다. 아주 오래된 하드웨어 또는에 NetBSD의 시도 토스터 .

그것들은 다르지만 각각 좋은 OS가 되려고 노력하며 상황보다 사용자와 더 잘 어울립니다. 학습 경험으로 모든 것을 시험해보십시오 (Net / Open / Free). 그러나 나중에는 특정 시스템에 대해 더 잘 알고 있거나 커뮤니티에 더 잘 적응하기 때문에 대부분의 상황에서 1 만 사용하는 것을 알 수 있습니다.

다른 BSD는 하이브리드이거나 약간 수정 된 버전이므로 소프트웨어 개발 소스에 가깝게 유지하는 것이 좋습니다 (OpenBSD에서 패킷 필터 사용, FreeBSD에서 데스크탑 구성 등).

개인적으로 여러분과 같은 애호가를 만나게되어 기쁩니다. BSD 세계에서 많은 좋은 것들을 찾을 수 있기를 바랍니다. BSD는 창이나 다른 OS를 싫어하는 것이 아니라 Unix를 좋아하는 것입니다.


5
아래로 스크롤하면 이것이 Gilles 답변이라고 확신했습니다. Aki를 통해 훌륭한 답변을 주셔서 감사합니다!
n0pe

2
@MaxMackie-나는 당신이 무엇을 의미하는지 알고 있습니다. 나는 같은 것을 생각하고있었습니다! :-)
Chris Down

2
하하 저는 여기서 활동적이지 않아서 Gilles가 누군지 알지 못하지만 그의 답변을 기대하고 있습니다!
Aki

1
큰 답변을 주셔서 감사합니다! 나는 특히 마지막 부분을 즐겼다. 방금 가상 머신에 FreeBSD를 설치했습니다. 어떻게되는지 보자 ...
rahmu

6
마지막 문장 +1 하지만 난 전체 +2 수 있으면 좋겠다
Shiplu Mokaddim

16

(나는 완전한 대답을 줄 수는 없지만이 질문에서 벗어날 수는 없으므로 몇 가지 요점을 다룰 것입니다 ... FreeBSD는 가장 많이 사용되는 BSD (2005 년) 였으므로 시도해보십시오. "다른 사람들"에 관한 단서를 제공합니다.)

  • 우선 , 한 줄의 설명무시할 권리가 있습니다 . OpenBSD의 모토는 "자유롭고 기능적이며 안전합니다". NetBSD 개발자들도 기능적 시스템을 만들기 위해 노력하고 있습니다.
  • 바이너리 호환성 : NetBSD에서 FreeBSD 바이너리를 실행할 수 있습니다 (시도한 적이 없습니다). 이것은 내가 알고있는 BSD (NetBSD와 FreeBSD (제한된) Linux 바이너리 호환성과는 별개) 사이의 바이너리 바이너리 형식입니다.
  • 포트 : NetBSD의과를 DragonFlyBSD의 포트를 사용하는 pkgsrc오픈 BSD의가 있으며, 여기에 , FreeBSD는 있어요 여기 . 사용 가능한 패키지를 비교하기 위해이를 참조 할 수 있습니다. 각 생태계는 비슷하지만 동일하지는 않습니다.
    • pkgsrc휴대용으로 만들어 졌기 때문에 Minix 3 또는 Linux에서도 사용할 수 있습니다. 따라서 BSD에 관심이 없으며 더 많은 포트가 있습니다. pkgsrc-wip쉽게 기여할 수 있습니다.
  • NetBSD는 최근에 자동 테스트 프레임 워크 (도 참조 kyua)를 도입하여 자동화 테스트 를 실행할 수있게했습니다 (그리고 rump사용자 공간에서 커널 코드를 테스트 할 수있게합니다). 또한 XEN 지원이 가장 철저하다고 생각합니다. "이동성"퀘스트에서 약간 벗어나서, "포커스", "유기농"및 "생명 지원"의 3 가지 계층 을 도입했습니다 . 또한 Lua를 기본 시스템에 도입했습니다.
  • 의 드리프트 잡으려고 OpenBSD에서 , 이러한 "논문"(대부분 좋은 슬라이드) 귀중한 자원이며, 오픈 BSD에서 최근 개발에 대해 당신에게 통찰력을 제공합니다.
  • DragonFlyBSD 는 자체 ZFS- 컨텐더 인 HAMMER를 개발 했는데 메모리 부족이 훨씬 적습니다 (아마도 기능이 완벽하지는 않습니다).
  • 나는에 @Aki에 동의하지 않는 지원의 부족 오픈 BSD 나 NetBSD에와, 메일 링리스트에서 찾고, 모두 도움이 커뮤니티를 제공 - 한 A는 찾아 자신을 - 맨 페이지 참조 악의없는된다.

결론? 둘러보고 시도해보십시오. 바이너리 꾸러미 (보통 바이너리 릴리즈와 같이 제공 -current됩니다.

편집 당신은 그들의 행성에 관심이있을 수 있습니다 undeadly.org오픈 BSD를 들어, blogs.FreeBSDish.org FreeBSD의과 planet.netbsd.se에 대한 그들 모두 ( 아래 ? 순간에 ())


5
좋은 대답입니다. 할 말이 너무 많아서 논문을 쓸 가치가 있다고 생각합니다. OpenBSD 커뮤니티가 도움이되지 않는다고 말하는 것은 아닙니다. 내가 바이너리 호환성에 대한 몇 가지 조사를했는데, 거기에 더있다 : netbsd.org/docs/compat.html 오픈 BSD에와 COMPAT_LINUX. 분명히 Openbsd 바이너리 호환성을 가진 데는 nixdoc.net/man-pages/OpenBSD/man8/compat_freebsd.8.html이 있습니다. 당신이 말했듯이, 그것은 제한되어 있으며 그것에 의존하지 않을 것입니다.
Aki
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.