FreeBSD


'운영 체제 '목록
WindowsMicrosoft Windows(Windows 9x, Windows NT)
리눅스데비안데비안 GNU/리눅스 · 우분투 · 리눅스 민트 · 칼리 리눅스 · 크런치뱅 · 하모니카 리눅스 · 기린 · Damn Small Linux · elementary OS · 스팀 OS
레드햇레드햇 엔터프라이즈 리눅스 · 페도라 · MeeGo · 붉은별 · 센트OS · 아시아눅스 · 타이젠
슬랙웨어슬랙웨어 리눅스 · 오픈수세 · Slax
맨드리바Mandriva · Open Mandriva Lx · 마제야 · PCLinuxOS · no.1Linux
안드로이드안드로이드 · 크롬 OS · Remix OS · Polaris OS
아치 리눅스아치 리눅스 · Manjaro Linux · Antergos · ArchBang Linux
기타젠투 리눅스 · Nix OS
유닉스BSDBSD · FreeBSD · NetBSD · OpenBSD · TrueOS · GhostBSD · DragonFly BSD · TmaxOS
XNUiOS · macOS · tvOS · watchOS
기타솔라리스(SmartOS) · IBM AIX · HP-UX
DOSDR-DOS · MS-DOS · FreeDOS · K-DOS
기타ReactOS · Mac OS · OS/2(eComStation)

1 개요

26_freebsd.gif

BSD Daemon. 우리가 보통 알고 있는 이 버전은 1994년 존 래시터가 그린 작품이다.

당신이 리눅스를 버리고 FreeBSD를 써야 할 강력한 이유(후방주의)[1]

FreeBSD는 유닉스 계열 OS이며 리눅스처럼 서버용이든 데스크탑용이든 쓸 수 있는 범용적인 OS이다. 붉은악마의 OS다 # Unix-like OS인 리눅스와 자주 비교되지만 독립적으로 생겨나 발전한 리눅스와 달리 FreeBSD는 BSD 유닉스에서 갈라져 나온 OS이므로 Unix-like가 아니라 유닉스 계열 OS로 보아야 옳다[2].

BSD 계열 운영 체제macOSiOS를 제외하면 가장 많이 쓰이는 운영 체제이다.[3]

BSD란 Berkely Software Distribution의 약어로, 캘리포니아 대학교 버클리 캠퍼스에서 유래한 데서 붙여진 이름이다. vi로 유명한 빌 조이(Bill joy)[4], 한때 메일 서버 계를 독점하다시피 했던 sendmail로 유명한 에릭 올먼(Eric Allman), 그리고 그의 동성 연인이자 유닉스 파일 시스템 UFS 혹은 FFS로 유명한 마셜 커크 매큐직(Marshall Kirk McKusick)[5] 등 프로그래머 계의 슈퍼스타 여럿이 버클리 출신이고, 버클리에 있던 시절 BSD를 위해 해당 프로그램들을 만들었다. 그러나, BSD는 AT&T 와의 라이선스 문제 등 여러 가지 암초에 부딪히며 순항하지 못했고, 후에 4.4BSD-Lite 를 끝으로 NetBSD, FreeBSD, OpenBSD 등으로 갈라지게 된다. 그리고, 초창기 멤버 중 매큐직은 FreeBSD 진영에 합류하여 오늘날까지 계속하고 있다.

문제는 저 몇 년 간의 틈새를 리눅스가 치고 들어와 선점했다는 것인데, 바로 이 몇 년 간의 차이로 인한 선점효과가 오늘날 점유율과 유명세 등에서의 커다란 차이를 보이게 된 원인이 되었다. 윈도우 운영체제에서 볼 수 있듯이, OS에서 선점효과는 막대하다. OS를 교체하려면 새 OS에 대해 배워야 하며 기존의 OS로 구축한 것을 새로운 OS에서 다시 구축해야 하는 수고가 들어가기 때문에(그나마도 새 OS에서 구축이 가능하다는 보장이 없다) 쉽게 교체하기 어렵다. 그나마 리눅스와 FreeBSD는 구조가 상대적으로 비슷한 편이므로 이 문제는 좀 덜한 편이기는 하지만, 다른 걸림돌이 있으니 이 둘이 주로 서버 시장에서 활동한다는 점이다. 서버 시장은 안정성이 극도로 중요하기 때문에, 이미 시장을 선점하여 작동 시간으로나 사용자 기반으로나 상대적으로 더 많이 검증된 기존의 OS를 버리고 갈아타는 데에 훨씬 더 보수적일 수밖에 없다(유명 포탈이나 온라인 게임 서버가 예고 없이 다운되면 어떤 일이 벌어질 지를 생각해 보자.) 때문에 그 새로운 OS가 기존 OS에 비해 얼마나 많은 것을 제공해 주는지는 둘째 문제이다. 그리고, 이렇게 점유율에서 한번 밀려 버리면 당연히 해당 OS를 개발하려 하는 개발자들의 유입 역시 적어지고, 차이는 점점 벌어지는 것이 일반적이다.이렇게 FreeBSD 는 마이너가 되어갔다. 지못미 참고로, "BSD가 조금만 더 일찍 나왔다면 나는 리눅스를 만들지 않았을 것이다."라는 리누스 토르발스의 이야기를 누설(?)한 사람이 바로 매큐직이다. 실제로, 과거엔 BSD가 리눅스에 비해 성능이나 안정성 측면에서 좋은 점수를 많이 받았지만, 아무래도 점유율이 리눅스가 높아 개발자들의 유입도 많고 해서 빠르게 발전한 결과, 현재는 별 차이 없다고 볼 수 있다.

2 특징

일반에 잘 알려지지 않은 BSD 계열이라 마이너하게 보이지만, 의외로 꽤 인기있는 OS이다. Distrowatch의 Page hit ranking에서도 리눅스 배포판들의 홍수속에 10위권을 오락가락하고 젠투보다 높다. (...)[6]

게다가, 소수지만 매우 활동적인 커뮤니티를 갖고있는지라, 질문에 대한 답변도 웬만한 인기 리눅스 배포판보다 훨씬 빠르게 답변이 달린다.

FreeBSD는 기본 셸로 bash보다 고전원시적인 csh나 tcsh를 사용한다. 그렇다고 bash를 못 쓰는건 아니고 설치하면 된다(...). csh도 위의 흠좀무한 빌 조이 선생이 만드셨다.[7]

FreeBSD가 따르는 BSD 라이선스는 리눅스의 GPL 라이선스보다 "Free"라는 단어를 포괄적으로 해석하여 자유 소프트웨어라면 사용하는 것 자체가 제약 없이 자유여야 한다는 모토이기 때문에, 소스를 가져다가 마음대로 바꿔 소스 공개를 하지 않은 채 상업적으로 이용해도 아무런 제약이 없다. 원 저작자 이름만 표기해 주면 그걸로 땡이다.덕분에 기업 사용자들이 좋아한다.

FreeBSD가 리눅스와 다른 또 하나의 차이점은 완전한 OS라는 점이다. 리눅스의 경우, 보통 리눅스는 커널만을 의미하고, 이 커널을 가져다가 다른 소프트웨어 및 패키지 매니저를 이용하여 OS를 완성시키는 것은 각 배포판들이 하는 일이다. 반면, FreeBSD는 커널도 개발하면서 동시에 소프트웨어 포팅 및 패키지 매니저 제공, 문서화까지 모두 FreeBSD Project에서 진행한다. 이는 OpenBSD, NetBSD 등도 마찬가지이다. 덕분에 같은 커널에 같은 패키지를 가져다가 디폴트 세팅과 패키지 매니징 정도로 차별화를 시키는 리눅스 배포판들과 달리, BSD 진영은 4.4BSD에 기반했다는 것 정도만 같고, 서로 완전히 다른 OS라 봐도 될 정도로 커널레벨에서부터 차이가 심하게 벌어진다.

프로젝트의 목적도, FreeBSD가 최신 하드웨어 지원과 퍼포먼스에 중점을 둔다면, NetBSD는 호환성에 주안점을 두어 개발한다. NetBSD는 공식적으로 지원되는 플랫폼만 57개이다. 리눅스 진영에는 젊은 개발자들이 많이 유입되고 그만큼 여러가지 트릭이나 빠르게 신기술을 적용하며 그때그때의 패치위주로 개발되는 경향이 있고, FreeBSD 도 그보다는 덜하지만 그런 경향이 있다면, NetBSD 는 보다 느린 대신 상당히 엄밀한 접근법을 취하는편이다. 또한, 커뮤니티가 작아서 그런지 몰라도 친목질(...)이 좀 있는편. 다만, 생각하는 것처럼 폐쇄적인 친목질은 아니고, 그냥 분위기가 더 부드러운 편.

OpenBSD 는 NetBSD 창립멤버중 한명인 Theo de Raadt 이 어느날 갑자기 특별한 이유없이 내쳐지게 되고(아마도 꾸준한 분탕질로 인한 결과인듯) 나와서 새로 만든 BSD 인데, 보안을 최우선으로 생각하여 개발한다. 오로지 버그수정만을 전담으로 하는 개발팀이 따로 있으며, 여기에 소속된 사람들은 수십만 줄의 소스코드를 한줄 한줄 엄밀히 검사하는 흠많무한 짓을 아주 당연하게 생각하는데다 많은 경우 같은 코드를 가지고 그 짓을 몇 번씩 반복한다고 한다(!). OpenBSD 사이트에 가보면 아주 오랜 기간 동안 remote hole이 발견된 적이 두 번밖에 없다고 자랑한다. 게다가, 크래커들의 공격에 대비한 여러 가지 패치를 해놓았으며, 암호화 소프트웨어도 OS 자체에 여기저기 통합시키는 등 덕후 수준의 보안 시스템을 구축한 OS이다.(미국 기반 OS들의 경우, 법에 의해 암호화 알고리듬을 국외로 빼는 것이 불법이기에 불가능하지만, OpenBSD는 캐나다 기반이므로 상관이 없다.)

DragonflyBSD는 FreeBSD 5 에서 도입한 M:N 스레딩 방식에 불만을 품은 매슈 딜런(Matthew Dillon)이 꾸준히 이의를 제기키배하다가 제재를 받고 나와서 그것을 도입하기 이전버전인 FreeBSD 4 에다가 LWKT 와 Hammer 파일시스템을 탑재하여 개발중인 BSD 이다.그리고 FreeBSD 는 7.0 이 되면서 M:N 스레딩 모델은 이론상으로만 좋았다는것을 깨닫고 1:1 로 바꾼다.

뭔가 분쟁으로 인해 탄생한 프로젝트들이 많지만, 그것과 별개로 각 BSD 프로젝트간의 코드공유는 활발하게 이루어진다. 물론, 코드공유가 활발하다 할지라도 각 프로젝트마다 추구하는 철학이 크게 다르기때문에 결과물도 크게 다르다.

그 외에도 FreeBSD는 위에서 말했다시피, 리눅스에 밀려 버린 상황이기 때문에 소프트웨어 지원이 좀 열악한 측면이 있는데[8], 이것을 극복하기 위하여 리눅스 에뮬레이션을 도입하였다. NVIDIA 드라이버, 플래시등에 리눅스 에뮬레이션이 사용된다. 기본적으로 둘 다 UNIX-like OS이기 때문에, 에뮬레이션 자체가 그다지 부담이 되지도 않고, 속도 면에서도 앞서거니 뒤서거니 하면서 그냥 같다고 할 수 있다. 그리고, 소스컴파일 방식을 사용하기때문에, 소프트웨어들의 업데이트 속도도 매우 빠르다. 리눅스쪽에서 아치 리눅스정도만 제외하면 FreeBSD 보다 업데이트가 빠른 배포판은 찾아보기 힘들다.[9]

사실, 소프트웨어 지원이 열악한 것은 조금 다른 측면에서 열악하다 볼 수 있는데, FreeBSD 도 자체적으로 여러가지 시스템 API라든가 사운드 시스템 등을 갖고있으며, 질적으로도 나쁘지 않은 경우가 많지만, 오픈소스 진영 소프트웨어 개발자들은 아무래도 오픈소스 OS 하면 리눅스가 전부인 경우가 많아, 그런것을 제대로 이용하게끔 만드는 경우는 드물고, 덕분에 FreeBSD 는 자신들의 OS 에 걸맞는 좋은 것들을 갖고는 있어도 그걸 활용하는 소프트웨어를 찾기가 힘들다.마이너의 비애라고나 할까 단순히 돌아가는 소프트웨어의 종류로만 보면 사실 부족하다 하긴 힘든 편.

더불어, 리눅스 진영과의 마찰도 좀 있는 편인데, 비유를 하자면, 니맘대로 하세요식의 완전한 자유를 추구하는 BSD 에 비해 GNU 측은 보다 공격적으로 모두를 자유롭게 해야만 한다는 사고방식으로 움직이고 있기때문에, GNU 소프트웨어를 가져다 쓰면서도 자신들에 협조를 안하는 BSD 진영이 밉보일 수 밖에 없다. 그러나, BSD 진영에서는 이것을 리눅시즘(Linuxism)이라며 가볍게 무시한다.

2.1 구형 GCC 문제

오픈소스 계의 표준 컴파일러라 볼 수 있는 gcc가 4.2 버전 이후로 BSD 라이선스와 호환되지 않게 GPLed 되었기 때문에, 기본 gcc 컴파일러가 상당히 오랜기간 4.2 버전이었다. (당시 대부분의 리눅스 배포판은 gcc 4.5+ 버전으로 컴파일된 바이너리를 제공하였다.) 물론, 이것은 베이스 시스템 한정이고, 유저 랜드에서 자유롭게 gcc 최신 버전을 인스톨해서 사용하는것은 가능했다.

이러한 컴파일러 문제가 타격이 상당히 컸기 때문에, FreeBSD뿐 아니라 다수의 *BSD 커뮤니티는 다른 컴파일러를 찾고 있고, FreeBSD 쪽에서는 애플이 지원하는 오픈소스 프로젝트인 LLVM/Clang으로 결정되어 광속 교체되었다. 그리하여 FreeBSD 10 부터는 clang 이 디폴트 컴파일러이다.스톨먼이 이 글을 싫어합니다. 다만, 다른 BSD 프로젝트에서는 계속 gcc 를 사용한다.

애초에 BSD 커뮤니티에서는, gcc 컴파일러가 수십년간의 최적화로 런타임 속도에서는 강하지만, 기본적인 설계가 그리 깔끔하지 못하다는 점과 컴파일속도가 매우 느리다는점[10]을 문제삼아 비판하는 경우가 많았기 때문에, 사실 굳이 라이선스 문제가 없었어도 언젠가는 다른 컴파일러를 사용하려 했을 거라는 소리도 있긴 하다.

2.2 ZFS

FreeBSD가 제공하는 것들은 여러 가지가 있겠지만, 개중에 눈여겨볼 만한 것은 ZFS[11] 파일 시스템이다. ZFS는 현재 파일 시스템 중의 끝판왕이라고 봐도 될정도로 여러가지 기능을 간단한 커맨드라인 명령으로 다 지원하며, 데이터 안전성에 있어서도 모든 데이터를 Check-summing 하는 방식으로 기존 파일 시스템이 속수무책이던 Silent corruption 을 방지해주기도 한다. NFS 와 CIFS, iSCSI 를 파일시스템 자체에서 지원하며[12], 많은 메모리와 SSD를 캐시로 달아 주면 하드웨어 레이드 카드에 버금가는 속도를 보여주기도 한다.[13] 다만, 단점은 애초에 엔터프라이즈급 용도로 개발된 파일 시스템이라 메모리를 많이 먹으며, 저정도의 기능을 위해서 속도를 좀 희생한 관계로, 서버에 비해 사양이 낮고 높은 수준의 데이터 안전성 및 여타 기능 따위가 별 필요없는 데스크탑 사용자는 ZFS 의 진가를 알아보기도 힘들다. 이경우, 그냥 리소스는 많이 먹으면서 속도는 느린 애물단지 파일 시스템으로 여길 수도 있다.[14] 리눅스 쪽에서는 라이선스 문제로 공식적으로 커널에 포함되지 못하고, 비공식적으로만 포팅되어 있다. FreeBSD 에서는 리눅스와는 다르게 ZFS로 부팅도 되기 때문에 사실상, 모든 파일 시스템을 ZFS로 사용이 가능하다. 리눅스쪽에서는 ZFS 의 대항마로 현재 개발중인 Btrfs 를 밀고있는데, 지금 꽤나 오랜기간동안 베타딱지를 달고 있어 모든 기능이 완성되는 버전까지는 시간이 꽤 걸릴듯 하며, 완성된다 해도 실사용시 안정성을 입증받기까지는 몇년이 더 소요될것이다. 게다가, 완성된 이후를 가정했을 때의 기능면에서도 ZFS 와 엇비슷한정도이다.[15] Btrfs 역시 오라클의 후원으로 개발되는 파일시스템이다.

2.3 원시적 OS

좋게 말하면 어떤 면에서는 웬만한 리눅스 배포판들보다 로우레벨 세팅을 모두 관리자의 손에 맡기는 투명한 운영체제이고, 나쁘게 말하면 편의성이나 자동완성이란 게 뭔지 모르는 원시적(?)인 운영체제인데, 아예 인스톨 시 현재 인스톨하는 것들의 모든 소스 코드를 같이 까는 게 가능하며 그 상태로 그 소스코드를 이리저리 변경해서[16] 다시 OS 자체를 원하는 옵션 주면서 컴파일해서 사용하는 것도 가능하다. 당연히 커스텀 커널도 지원하는데, 지원 하드웨어가 적어서 리눅스보다 훨씬 간단하고 빠르게 끝난다. 젠투에서 커널을 최적화시키려면 보통 이리저리 시행착오를 감안하여 며칠은 잡아야 하는데, FreeBSD는 빠르면 몇 시간이면 끝이다. 방식도 젠투처럼 메뉴 제공도 안해주고 그냥 텍스트 파일 열어서 에디트하고 컴파일하는 게 끝이다. 참고로, 전체를 다시 컴파일하려면 우선 새로운 컴파일러를 컴파일하고, 그 새로운 컴파일러로 커널을 컴파일하고, 컴파일한 커널을 인스톨한 후, 재부팅 후 새로운 컴파일러를 인스톨하는 순서로 부트스트래핑 하는 것이 일반적이다. 새로운 FreeBSD 버전이 나와 업그레이드할 때도 마찬가지로, 새로운 버전의 소스를 다운받아 위와 같은 방식으로 인스톨한다.

거의 모든 게 사람 손을 거쳐야 하며, 그렇기에 초보자들에게 어려울 것 같지만, 문서화가 오픈소스 OS 중에 가장 잘 되어 있는 OS 중 하나이기 때문에, 실제로 그렇게 어렵지는 않다. 젠투의 경우, 초보자들이 잘 나가다가 USE flags의 벽에 가로막혀 좌절을 느끼는 경우가 많은 데 반해, FreeBSD의 Ports에는 그런 것 자체가 존재하지 않고, 그냥 인스톨하다 보면 옵션 선택 창이 뜨고, 원하는 대로 선택하면 되기 때문에 처음 설치 시에 그런 데 골머리를 썩힐 일은 없다. 그리고, 옵션 선택 창에 이미 표준적으로 사용하는 디폴트 선택이 되어 있는 상태기 때문에 모르면 그냥 Next만 연타하는 윈도우처럼 인스톨해도 된다.

2.4 모듈형 디자인

port라고 쓰고 귀차니즘 종결자라 읽는다
소프트웨어는 Ports라는 시스템을 이용하는데, 젠투처럼 그냥 소스코드 다운받아 컴파일하는 방식이다. 특징이라면, 처음 인스톨하는 Base system과 새로 인스톨하는 Ports를 엄격하게 구분한다는 것이다. 덕분에 소프트웨어 인스톨/삭제로 개판을 만들어도 베이스 시스템에는 영향이 가지 않는다. 다만, 소프트웨어 인스톨 시 웬만한 리눅스 배포판들은 다 즉시 사용이 가능하게끔 자동으로 세팅을 끝내 주는 반면, FreeBSD는 전혀 안 건드린다. 완전히 수동이다.이제 원시적이란 말을 이해하겠는가? 그리고, 깔 때는 의존을 찾아서 다 깔아 주지만, 지울 때는 수동이다. (..) 각각의 의존을 모두 수동으로 찾아서 언인스톨하든가, 그냥 냅두든가 해야 한다.들어올 땐 마음대로였어도 나갈 땐 아니란다 10.0 부터는 pkgng라는 바이너리 패키지 관리툴이 새로 들어가서, 굳이 컴파일 설치를 하지 않아도 되고, 기존에 불가능했거나 아주 어려웠던 여러가지 관리 기능이 추가될 것으로 생각된다.

컴파일 설치시 -DBATCH 옵션을 주면[17] 아예 묻지도 않고 디폴트 세팅으로 죄다 인스톨해준다. 참고로, 그냥 인스톨하면 오랜시간 컴파일하다가 중간중간에 간간히 옵션 창이 떠서 멈추기때문에 매우 귀찮아진다. 그렇기때문에, 아예 -DBATCH 옵션으로 인스톨하거나, config-recursive[18] 옵션으로 미리 모든 의존 패키지의 옵션을 설정한 뒤에 컴파일해주는 게 훨씬 편리하다. 설정한 컴파일 옵션을 지우는 옵션은 rmconfig[19] 이고, 의존 패키지의 모든 컴파일 옵션을 지우는 건 rmconfig-recursive[20] 이다. 다만, 아무 것도 고려하지 않고 의존 패키지이기만 하면 컴파일 옵션을 다 지워 버리므로, 주의해서 사용하여야 한다.

컴파일 설치시 패키지 삭제는 수동이라 했는데, pkg_cutleaves라는 유용한 툴이 있다. 이것은 다른 패키지가 의존하지 않는 모든 패키지를(트리 구조에서 부르는 leaves) 하나씩 찾아서 지울지 말지 물어보는 툴인데, 어차피 지워야 하는 의존을 모두 기억하고 있어야 한다는 측면에서는 사실상 별 도움이 안되긴 한다. (..) 결국, 가장 깔끔하고 좋은 방법은 ZFS 의 스냅샷 기능을 이용하여 패키지를 인스톨할 때마다 스냅샷을 찍어 놓고, 지워야 할 상황이 오면 가볍게 복원시키는 게 최상이다. 위에 말했듯이, 베이스시스템과 유저랜드를 칼같이 구분하기 때문에, 몇몇 Ports 만 제외하면 프로그램이 실제 인스톨되는 /usr/local 과 Ports 인스톨 정보가 기록되는 /var/db 만 스냅샷 걸어주면 된다.

참고로 이 Ports 시스템은 Mac OS X에서도 사용할 수 있다. 애플 오픈 소스 프로젝트의 하나로 MacPorts#라는 물건이 있으며, OS X에서 기본으로 제공하지 않는 다양한 오픈소스 프로그램들을 손쉽게 받아서 설치할 수 있다. 유사품으로 fink와 Homebrew#가 있다.[21] fink는 바이너리만 받아 설치하는 방식. Homebrew는 Ports랑 다르게 설치가 간편하고 기존에 있는 패키지를 최대한 재활용한다. MacPorts는 간혹 이미 설치된 프로그램을 다른 버전으로 또 받아서, 디스크 용량을 더 잡아먹고 무엇보다 설치해야 하는 패키지가 많다. 예를 들면 간단한 파이썬 스크립트로 구성된 패키지를 설치하려는데 python27 패키지를 받아서 먼저 의존성을 해결하는 식. 이렇게 쓰면 뭔가 MacPorts가 막장 같겠지만, 대신 시스템 패키지와 분리되어 있기 때문에 Homebrew보다 꼬일 염려는 더 적고, 지원하는 패키지가 몇 배 이상 많은 장점이 있다.

위와 같은 엄격한 모듈형 디자인은 부트 매니저에도 적용되는데, FreeBSD의 부트 매니저인 Booteasy는 MBR 512Byte를 엄격하게 지키는 몇 안 되는 부트 매니저이다. 물론, 512Byte로는 죽도 밥도 안 되기 때문에 스테이지를 나눠서 차근차근 부팅 과정을 진행시킨다. 이런 덕분에, 기능 면에서는 grub 등에 비해 떨어질지 몰라도, 안정성 측면에서 FreeBSD 파티션이 개판 돼도 Booteasy를 이용한 다른 파티션으로의 부팅은 문제없이 가능한 장점이 있다.

3 다른 사용처

3.1 OS X

애플과의 관계도 눈여겨볼 만한데, FreeBSD는 위에서 말했듯이 완전히 자유로운 라이선스로 배포되는지라, 애플(정확히는 NeXT사)도 소스코드를 가져다가 OS X을 만드는 데 사용하였다. 애플은 소스코드를 가져다 사용하기만 한 것이 아니라, 도로 돌아와 FreeBSD 개발팀에 Mac OS X 소스를 완전히(그러니까 오픈소스 부분만 완전히...) 공개하며 신기술은 알려주기까지 하여 친구를 먹었다.[22] 이 이후부터 FreeBSD 커뮤니티는 애플쪽과 밀월관계를 구축하였고, 애플도 이를 기점으로 CUPS 라든가 KHTML 을 포크한 웹키트 프로젝트등 다양한 오픈소스 프로젝트를 BSD 라이선스로 공개 진행하며 오픈소스 커뮤니티와 진한 관계를 맺어갔다. 그리고, FreeBSD의 버전업 속도도 애플과의 밀월관계 이후로 상당히 가속을 받게 되었다. 그러나 안정성 역시 애플 따라 망해가는 느낌이...[23] 이외에도 GCC의 라이센스 변경으로 BSD 라이센스 OS에 탑재가 불가능해지자 애플과 손잡고 LLVM/Clang을 도입하기도 했다.

3.2 TrueOS (구 PC-BSD)

[1]

2006년 4월 iX시스템즈에서 개발된 FreeBSD 기반의 오픈소스 OS로, 기존의 상용 OS인 Windows 또는 Mac OS X의 사용성과 FreeBSD의 안정성 및 보안성이라는 장점을 절충한 덕분에, 일반 가정용 뿐만 아니라 기업용 및 서버용으로도 사용 가능한 범용성을 가지고 있다.

3.3 Debian GNU/kFreeBSD

[2]

FreeBSD 커널에 유저랜드는 데비안을 사용하는 프로젝트. 데비안 쓰는 감각으로 거의 사용 가능하다고 하니 관심 있는 사람은 도전해보자.

3.4 ubuntuBSD

공식 소스포지 페이지.

FreeBSD 커널에 우분투 유저랜드를 사용하는 것으로[24] 소스포지 게시일 기준 2016년 3월 20일 베타2 까지 공개되었다.

3.5 플레이스테이션

플레이스테이션 3도 FreeBSD 를 사용하였고, 플레이스테이션 4Orbis OS 역시 FreeBSD 의 커스터마이징 버전이다.

3.6 TmaxOS

450px

티맥스에서 개발한 국산 OS.
리눅스 커널 기반일줄 알았는데, FreeBSD 기반이었다(...)
소스 코드를 가져와도 FreeBSD의 방침상 아무 문제가 없기 때문(...) 안정성이 뛰어난 FreeBSD의 장점을 다 말아먹는것도 대~단한 능력이긴 하다.

FreeBSD의 흑역사
  1. 이 정도까지는 아니지만 FreeBSD 행사에 붉은 악마 쫄쫄이 코스프레한 처자가 가끔 출몰한다
  2. 같은 의미로 BSD 커널 기반인 Mac OSX 도 유닉스 계열로 보아야 한다
  3. [3]
  4. 주말에 심심해서 vi를 만들어 버렸다는 흠좀무한 도시전설의 소유자이다. 그러나, 인터뷰 때 그건 아니라고 이야기했다. 솔라리스, ZFS, NFS, Sparc, Java 등으로 유명한 썬마이크로시스템즈의 공동 창업자이기도 하다.
  5. 말 그대로 올먼과 매큐직은 게이 커플이다. 그다지 부끄러워하지도 않고, 공공연히 말하고 다닌다.
  6. [4]
  7. 그러나, csh는 프로그래밍 습관에 부정적인 영향을 끼칠 수 있다는 주장이 제기되어 대차게 까이는 중이다.
  8. 그래도 Ports 개수가 2만 개가 넘는다.
  9. 다만, 좀 불균형하게 빠르다. 인기 Ports 의 경우 빠르게 업데이트되는 반면, 잘 안쓰이거나 포팅이 쉽지 않은 거대 데스크탑과 같은 Ports 의 업데이트속도는 상당히 느린편이다.
  10. 일반적으로 이미 컴파일된 바이너리를 사용하는 리눅스쪽에서는 별로 문제될 것이 없지만, *BSD 처럼 프로그램을 설치할 때나, 업데이트할 때마다 소스코드만 다운받아 사용자가 직접 컴파일하는 경우는 컴파일속도도 매우 중요하다 볼 수 있다.
  11. ZFS는 썬마이크로시스템즈 이 개발했으며, OpenSolaris 와 FreeBSD 로 공식적으로 포팅이 되어 있...는데, 오라클썬마이크로시스템즈를 인수하면서 라이선스 정책을 바꿔 OpenSolaris 가 사실상 죽어 버린 관계로(OpenIndiana 라는 포크가 새로 생기긴 했다.), FreeBSD는 현재 오픈소스계의 ZFS의 마지막 희망이라 할 수 있다.
  12. FreeBSD 에서는 NFS 만 지원되고, CIFS, iSCSI 등은 파일시스템이 아닌 FreeBSD 에서 수동으로 설정하여야 한다.
  13. ZFS 등장을 하드웨어 레이드 카드의 죽음으로 비유한 사람도 있었다.
  14. 이에 대해 ZFS 측에서는 데이터 안정성을 포기하면 속도는 이론상 무한히 빨라질 수 있다며 받아친다.(광속으로 카피가 끝났는데 알고보니 에러가 나서 하나도 카피가 안되어있다면 그럴수도 있겠다.)
  15. 그러나, 마이너에 속하는 솔라리스나 FreeBSD 에서만 제대로 지원되는 ZFS 에 비해, Btrfs 는 리눅스 커널의 공식적인, 그리고 전폭적인 지원버프를 받는다는 차이가 있다.
  16. 능력이 된다면 알고리듬을 바꾸거나 하는 식으로 거창하게 할 수도 있지만, 그냥 값만 변경하는 정도의 변경은 굳이 거창하게 유닉스 운영체제 구조의 이해 따위 없어도 할 수 있는 간단한 것들이다.
  17. 정확히는 # make -DBATCH install 이다.
  18. # make config-recursive
  19. # make rmconfig
  20. # make rmconfig-recursive
  21. 단 이들은 Ports 시스템은 아니다.
  22. 그런데, FreeBSD 원년멤버이자 Ports 시스템 창시자인 코어개발자 한 명을 빼갔다. MacPorts 도 이 사람이 애플로 가서 만든 작품이다.
  23. 이번 10.1-RELEASE 버전만 해도 프비의 공식 시스템 업데이트 도구인 freebsd-update의 오류로 인해 업데이트 도중에 /(루트 디렉토리)를 날려버리려 시도하는, 그야말로 초대형 사고를 일으킬 뻔했다. 다행이 rm 명령 자체가 아무 옵션이 없으면 디렉토리 삭제를 거부하기에 망정이지, 만약 지웠다면 그야말로 하트블리드를 뛰어넘는 참사를 일으킬 뻔한 것이다. 괜찮아, 쓰는 곳 많이 없으니까. 아 눈에서 땀이... 윈도우로 치면 시스템 업데이트를 돌렸더니 C: 드라이브가 포맷될 뻔한 것과 같다.
  24. 다만 기본 데스크톱 환경은 우분투의 XFCE 공식 변형판인 Xubuntu 환경을 쓴다.