FreeBSD

 




[image]


'''개발'''
FreeBSD Foundation
'''기반'''
BSD
'''개발 언어'''
'''C''' , '''어셈블리어'''
'''라이센스'''
FreeBSD 라이센스
'''최신 버전'''
'''12.2'''
'''플랫폼'''
AMD64, IA-32, ARM, MIPS, PowerPC, SPARC(64bit), RISC-V
'''홈페이지'''
#
'''소스 코드'''
#
1. 개요
2. 특징
2.2. 원시적 OS
2.3. 모듈형 디자인
2.4. Ports 시스템
2.5. BSD Jail
2.6. bhyve
3. 다른 BSD 운영체제들과의 관계
4. 다른 사용처
4.2. TrueOS (구 PC-BSD)
4.3. Debian GNU/kFreeBSD
4.4. ubuntuBSD
4.7. Junos OS


1. 개요


[image]
BSD Daemon.[1]
FreeBSD는 유닉스 계열 운영 체제[2]이며 리눅스처럼 서버용이든 데스크탑용이든 쓸 수 있는 범용적인 OS이다. 2017년 기준으로 BSD 계열 운영 체제 순위는 FreeBSD가 1위다.[3] 상징은 Beastie라고 부르는 악마이다. 모토는 "The power to serve"(봉사할 능력)이다.
BSD란 Berkely Software Distribution의 약어로, 캘리포니아 대학교 버클리 캠퍼스에서 유래한 데서 붙여진 이름이다. 썬 마이크로시스템즈의 공동 창업주이자 vi로 유명한 빌 조이(Bill joy), 메일 서버 계를 독점하다시피 한 sendmail로 유명한 에릭 올먼(Eric Allman), 그리고 그의 공개적인 동성 연인이자 유닉스 파일 시스템 UFS 혹은 FFS로 유명한 마셜 커크 매큐직(Marshall Kirk McKusick)등 프로그래머 계의 슈퍼스타 여럿이 버클리 출신이고, 버클리에 있던 시절 BSD를 위해 해당 프로그램들을 만들었다.
BSD의 역사는 1977년 빌 조이가 유닉스 V6에 일부 추가 기능을 더한 것을 Bercely Software Distribution 이라 배포한 것을 시작으로 하는데, FreeBSD는 4.4BSD 기반의 386BSD에서 출발하였다. BSD는 혁신적인 기술들을 도입하는 것으로 유명했는데, TCP/IP의 BSD 소켓이나 가상메모리, NFS, ZFS 등이 이에 해당한다.
그러나, BSD는 AT&T와의 라이선스 문제 등 여러 가지 암초에 부딪히며 순항하지 못했고, 후에 4.4BSD-Lite를 끝으로 FreeBSD, NetBSD, OpenBSD 등으로 갈라지게 된다. 그리고, 초창기 멤버 중 매큐직은 FreeBSD 진영에 합류하여 오늘날까지 계속하고 있다. 문제는 저 몇 년 간의 틈새를 리눅스가 치고 들어와 선점했다는 것인데, 바로 이 차이로 인한 선점효과가 오늘날 점유율과 유명세 등에서의 커다란 차이를 보이게 된 원인이 되었다.[4] FreeBSD는 리눅스와 마찬가지로 AT&T의 공식 유닉스 인증을 받지는 않았으나 코드의 기원이 UNIX에서 시작되었기 때문에 Genetic UNIX로 분류된다.
참고로, "BSD가 조금만 더 일찍 나왔다면 나는 리눅스를 만들지 않았을 것이다."라는 리누스 토르발스의 이야기를 누설(?)한 사람이 바로 매큐직이다. 실제로, 과거엔 BSD가 리눅스에 비해 성능이나 안정성 측면에서 좋은 점수를 많이 받았지만, 아무래도 점유율이 리눅스가 높아 개발자들의 유입도 많고 해서 빠르게 발전한 결과, 현재는 오히려 리눅스가 BSD를 앞질렀다고 볼 수도 있다.

2. 특징


일반에 잘 알려지지 않은 BSD 계열이라 마이너하게 보이지만, 의외로 꽤 인기있는 OS이다. 인기가 젠투보다 높다.[5] 게다가, 소수지만 매우 활동적인 커뮤니티[6]를 갖고 있는지라, 질문에 대한 답변도 웬만한 인기 리눅스 배포판보다 훨씬 빠르게 답변이 달린다.
FreeBSD는 기본 로 bash보다 고전적인 csh나 tcsh를 사용한다. 그렇다고 bash를 못 쓰는 건 아니고 설치하면 된다. 이 csh도 빌 조이가 만들었다.
FreeBSD가 따르는 BSD 라이선스리눅스GPL 라이선스보다 "Free"라는 단어를 포괄적으로 해석하여 자유 소프트웨어라면 사용하는 것 자체가 제약 없이 자유여야 한다는 모토이기 때문에, 소스를 가져다가 마음대로 바꿔 소스 공개를 하지 않은 채 상업적으로 이용해도 아무런 제약이 없다. 원 저작자 이름만 표기해 주면 그걸로 땡이다.
FreeBSD가 리눅스와 다른 또 하나의 차이점은 완전한 OS라는 점이다. 리눅스의 경우, 보통 리눅스는 커널만을 의미하고, 이 커널을 가져다가 다른 소프트웨어 및 패키지 매니저를 이용하여 OS를 완성시키는 것은 각 배포판들이 하는 일이다. 반면, FreeBSD는 커널도 개발하면서 동시에 소프트웨어 포팅 및 패키지 매니저 제공, 문서화까지 모두 FreeBSD Project에서 진행한다. 이는 OpenBSD, NetBSD 등도 마찬가지이다. 덕분에 같은 커널에 같은 패키지를 가져다가 디폴트 세팅과 패키지 매니징 정도로 차별화를 시키는 리눅스 배포판들과 달리, BSD 진영은 4.4BSD에 기반했다는 것 정도만 같고, 서로 완전히 다른 OS라 봐도 될 정도로 커널 레벨에서부터 차이가 심하게 벌어진다.
그 외에도 FreeBSD는 위에서 말했다시피 리눅스에 밀려 버린 상황이기 때문에 소프트웨어 지원이 좀 열악한 측면이 있는데[7], 이것을 극복하기 위하여 리눅스 에뮬레이션을 도입하였다.[8] NVIDIA 드라이버, 플래시 등에 리눅스 에뮬레이션이 사용된다. 기본적으로 둘 다 Unix-like OS이기 때문에 에뮬레이션 자체가 그다지 부담이 되지도 않고, 속도 면에서도 앞서거니 뒤서거니 하면서 그냥 같다고 할 수 있다. 그리고 소스컴파일 방식을 사용하기 때문에 소프트웨어들의 업데이트 속도도 매우 빠르다. 리눅스 쪽에서 아치 리눅스 정도만 제외하면 FreeBSD보다 업데이트가 빠른 배포판은 찾아보기 힘들다. 다만, 좀 불균형하게 빠르다. 인기 Ports의 경우 빠르게 업데이트되는 반면, 잘 안 쓰이거나 포팅이 쉽지 않은 Ports의 업데이트 속도는 상당히 느린 편이다. 심지어 일부 port는 관리자 없이 broken port 상태로 방치되어 있기도 한다.
사실 소프트웨어 지원이 열악한 것은 조금 다른 측면에서 열악하다 볼 수 있는데, FreeBSD도 자체적으로 여러가지 시스템 API라든가 사운드 시스템 등을 갖고 있으며, 질적으로도 나쁘지 않은 경우가 많다. 단순히 돌아가는 소프트웨어의 종류로만 보면 사실 부족하다고 하긴 힘든 편인데, 오픈소스 진영 소프트웨어 개발자들은 아무래도 오픈소스 OS 하면 리눅스가 전부인 경우가 많아 그런 것을 제대로 이용하게끔 만드는 경우는 드물고, 덕분에 FreeBSD는 자신들의 OS에 걸맞는 좋은 것들을 갖고는 있어도 그걸 활용하는 소프트웨어를 찾기가 힘들다.
더불어 리눅스 진영과의 마찰도 좀 있는 편인데, BSD 측이 니 맘대로 하세요 식의 완전한 자유를 추구하는 반면 GNU 측은 소스코드 공개 의무화 등의 공격적인 오픈소스 방식을 취하고 있기 때문에, GNU 소프트웨어를 가져다 쓰면서도 자신들에게 협조를 안 하는 BSD 진영이 밉보일 수밖에 없다. 그러나, BSD 진영에서는 이것을 리눅시즘(Linuxism)이라며 가볍게 무시한다.
예컨데, GCC가 4.2.2 버전부터 BSD 라이선스와 호환되지 않는 GPLv3가 적용되었기 때문에, FreeBSD의 베이스 GCC 컴파일러는 상당히 오랜 기간 4.2.1 버전이었다. 유저들이 자유롭게 GCC 최신 버전을 인스톨해서 사용하는 것은 가능했다. 당시 대부분의 리눅스 배포판은 GCC 4.5+ 버전으로 컴파일된 바이너리를 제공하였다.
이러한 컴파일러 문제가 타격이 상당히 컸기 때문에, FreeBSD뿐 아니라 다수의 BSD 커뮤니티는 다른 컴파일러를 찾고 있고, FreeBSD 쪽에서는 애플이 지원하는 오픈소스 프로젝트인 LLVM/Clang으로 결정되어 광속 교체되어 FreeBSD 10에서부터 Clang이 디폴트 컴파일러가 되었다. 다만, 다른 BSD 프로젝트에서는 계속 GCC를 사용한다.[9]

2.1. ZFS


FreeBSD가 제공하는 것들은 여러 가지가 있겠지만, 개중에 눈여겨볼 만한 것은 ZFS[11] 파일 시스템이다. ZFS는 현재 파일 시스템 기술의 최고봉으로 여러가지 기능을 간단한 커맨드라인 명령으로 다 지원하며, 데이터 안전성에 있어서도 모든 데이터를 Check-summing 하는 방식으로 기존 파일 시스템이 속수무책이던 Silent corruption을 방지해주기도 한다. NFS와 CIFS, iSCSI를 파일시스템 자체에서 지원하며[12], 많은 메모리와 SSD를 캐시로 달아 주면 하드웨어 레이드 카드에 버금가는 속도를 보여주기도 한다. FreeBSD는 설치 단계에서 root-on-zfs라 하여 전 운영체제를 zfs로 자동으로 설치할 수 있으며, 필요한 경우 하나하나 설정도 가능하다.
다만, 단점을 찾자면 ZFS는 애초에 엔터프라이즈급 용도로 개발된 파일 시스템이라 메모리를 많이 먹으며, 다양한 기능을 위해서 속도를 일부 희생한 관계로, 서버에 비해 사양이 낮고 높은 수준의 데이터 안전성 및 여타 기능 따위의 필요가 없는 데스크탑 사용자는 ZFS의 진가를 알아보기 힘들다. 이 경우, 그냥 리소스는 많이 먹으면서 속도는 느린 애물단지 파일 시스템으로 여길 수도 있다.
리눅스 쪽에서는 라이선스 문제로 공식적으로 커널에 포함되지 못하고, 비공식적으로만 포팅되어 있다. 리눅스 쪽에서는 ZFS의 대항마로 현재 개발중인 B-tree file system를 밀고 있는데, 기능면에서 ZFS와 엇비슷한 정도이다.[13] Btrfs 역시 오라클의 후원으로 개발되는 파일시스템이다.

2.2. 원시적 OS


FreeBSD는 좋게 말하자면 웬만한 리눅스 배포판들보다 기반 시스템 세팅을 모두 관리자의 손에 맡기는 투명한 운영체제이고, 나쁘게 말하자면 자동완성이란 게 뭔지 모르는 원시적인 운영체제라고 할 수 있는데, OS를 설치하면 검은 바탕의 프레임버퍼 터미널이 맞이해 줄 텐데, 그 상태에서 제대로 사용하려면 pkg를 부트스트랩하고 Xorg를 포함해 여타 리눅스 배포판에서 기본으로 설치되어 있는 것들을 직접 깔아줘야 한다. 또한 인스톨 시 현재 인스톨하는 모든 것들의 소스 코드를 같이 설치하는 게 가능하며, 소스코드를 이리저리 변경해서[14] 다시 OS 유틸리티들을 원하는 옵션을 주어 컴파일해서 사용하는 것도 가능하다. 당연히 커스텀 커널도 지원하는데, 리눅스보다 훨씬 간단하고 빠르게 끝난다.
젠투에서 커널을 최적화시키려면 보통 이리저리 시행착오를 감안하여 며칠은 잡아야 하는데, FreeBSD는 빠르면 몇 시간이면 끝이다. 방식도 젠투처럼 메뉴 제공도 안해주고 그냥 텍스트 파일 열어서 에디트하고 컴파일하는 게 끝이다. 참고로, 전체를 다시 컴파일하려면 우선 새로운 컴파일러를 컴파일하고, 그 새로운 컴파일러로 커널을 컴파일하고, 컴파일한 커널을 인스톨한 후, 재부팅 후 새로운 컴파일러를 인스톨하는 순서로 부트스트래핑 하는 것이 일반적이다. 새로운 FreeBSD 버전이 나와 업그레이드할 때도 마찬가지로, 새로운 버전의 소스를 다운받아 위와 같은 방식으로 인스톨한다.
거의 모든 게 사람 손을 거쳐야 하며, 그렇기에 초보자들에게 어려울 것 같지만, 문서화가 오픈소스 OS 중에 가장 잘 되어 있는 OS 중 하나이며, 대부분의 유틸리티들은 Linux와 호환이 되기 때문에 팁을 참조할 수 있어 실제로 그렇게 어렵지는 않다. 젠투의 경우 초보자들이 잘 나가다가 USE flags의 벽에 가로막혀 좌절을 느끼는 경우가 많은 데 반해, FreeBSD의 Ports에는 그런 것 자체가 존재하지 않고 그냥 인스톨하다 보면 옵션 선택 창이 뜨며, 원하는 대로 선택하면 되기 때문에 처음 설치 시에 그런 데 골머리를 썩힐 일은 없다. 그리고, 옵션 선택 창에 이미 표준적으로 사용하는 디폴트 선택이 되어 있는 상태기 때문에 모르면 그냥 Next만 연타하는 윈도우처럼 인스톨해도 된다.

2.3. 모듈형 디자인


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

2.4. Ports 시스템


소프트웨어는 Ports라는 시스템을 이용하는데, 젠투처럼 그냥 소스코드 다운받아 컴파일하는 방식이다. 특징이라면, 처음 인스톨하는 Base system과 새로 인스톨하는 유저 프로그램을 엄격하게 구분한다는 것이다. 덕분에 소프트웨어 인스톨/삭제로 개판을 만들어도 베이스 시스템에는 영향이 가지 않는다. 다만, 소프트웨어 인스톨 시 웬만한 리눅스 배포판들은 다 즉시 사용이 가능하게끔 자동으로 세팅을 끝내 주는 반면, FreeBSD는 전혀 안 건드린다. 완전히 수동이다.
기본 경로는 /usr/ports/이며 subversion이나 portsnap을 통하여 포트 트리 업데이트[15]를 할 수 있다. 컴파일 설치시 make 소프트웨어에 -DBATCH 옵션을 주면[16] 아예 묻지도 않고 디폴트 세팅으로 죄다 인스톨해준다. 참고로, 그냥 인스톨하면 오랜시간 컴파일하다가 중간중간에 간간이 옵션 창이 떠서 멈추기 때문에 매우 귀찮아진다. 그렇기 때문에, 아예 -DBATCH 옵션으로 인스톨하거나, config-recursive[17] 옵션으로 미리 모든 의존 패키지의 옵션을 설정한 뒤에 컴파일해주는 게 훨씬 편리하다. 설정한 컴파일 옵션을 지우는 옵션은 rmconfig[18]이고, 의존성 패키지의 모든 컴파일 옵션을 지우는 건 rmconfig-recursive[19]이다. 다만, 아무 것도 고려하지 않고 의존 패키지이기만 하면 컴파일 옵션을 다 지워 버리므로, 주의해서 사용해야 한다.
설치할 때와는 다르게 패키지 삭제는 '''일단은''' 수동인데, pkg에는 autoremove 기능이 있다. 이것은 사용자가 직접 설치하지 않았고, 다른 패키지가 의존하지 않는, 의존성을 위해 깔린 모든 부속 패키지를[20]를 지워준다.
참고로 이 Ports 시스템은 Mac OS X에서도 사용할 수 있다. 애플의 오픈 소스 프로젝트의 하나로 MacPorts라는 물건이 있으며, OS X에서 기본으로 제공하지 않는 다양한 오픈소스 프로그램들을 손쉽게 받아서 설치할 수 있다. 유사품으로 fink와 Homebrew가 있다.[21] fink는 바이너리만 받아 설치하는 방식. Homebrew는 Ports랑 다르게 기존에 있는 패키지를 최대한 재활용한다. MacPorts는 간혹 이미 설치된 프로그램을 다른 버전으로 또 받아서, 디스크 용량을 더 잡아먹고 무엇보다 설치해야 하는 패키지가 많다. 예를 들면 간단한 파이썬 스크립트로 구성된 패키지를 설치하려는데 python27 패키지를 받아서 먼저 의존성을 해결하는 식. 이렇게 쓰면 뭔가 MacPorts가 막장 같겠지만, 대신 시스템 패키지와 분리되어 있기 때문에 Homebrew보다 꼬일 염려는 더 적고, 지원하는 패키지가 몇 배 이상 많은 장점이 있다.


2.5. BSD Jail


리눅스의 Docker와 같이 컨테이너로 사용할 수 있는 운영체제 수준의 가상화로, 리눅스 컨테이너 기술 이전에 존재하였다. 설정파일[22]을 조작하여 jail 내부의 운영체제가 가질 수 있는 권한을 설정할 수 있다. 기본으로 /usr/jails 아래에 만드며, 내부에 독자적인 OS의 파일이 존재한다. 서비스를 균일하게 제공할 수 있어서 jail에 서버를 올리는 경우도 있으며, 보안이 의심되는 프로그램을 돌리는 데 사용하기도 한다.
ezjail이라는 관리도구를 통해 기본 틀로 사용할 jail을 지정하거나 설정을 한번에 관리할 수 있다.

2.6. bhyve


사용법 FreeBSD에 기본으로 내장되어 있는 하이퍼바이저이다. 다른 OS용 bhyve는 해당 문서 참조.

3. 다른 BSD 운영체제들과의 관계


FreeNAS는 NAS에 사용하기 편하도록 개조된 배포판이다. 항목 참조.
뭔가 분쟁으로 인해 탄생한 프로젝트들이 많지만, 그것과 별개로 각 BSD 프로젝트간의 코드공유는 활발하게 이루어진다. 물론, 코드공유가 활발하다 할지라도 각 프로젝트마다 추구하는 철학이 크게 다르기 때문에 결과물도 크게 다르다
각각의 배포판을 보안 측면에서 비교한 글이 있다.

4. 다른 사용처


과거 핫메일 서버는 FreeBSD로 돌렸는데, 현재는 윈도우로 이전한 상태다. 상관도 없는 유닉스 계열의 운영체제를 썼냐면, 핫메일이 마소에 인수되기 전 부터 쓰고 있어서 그렇다. 핫메일은 원래 마이크로소프트에서 개발한 게 아니라 기존에 있던 걸 인수한 거다. 윈도우 7 얼티멋 버전과 엔터프라이즈 버전에는 유닉스 하위호환 시스템이 들어있는데[23], 이 유닉스 하위호환 시스템이 바로 핫메일 서버를 FreeBSD에서 윈도우 서버로 옮기는 과도기에 사용하던 시스템이다. 윈도우 8에서는 이 유닉스 서브시스템은 사라졌지만, 윈도우 8 엔터프라이즈 한정으로 NFS client 가 탑재된다.

4.1. macOS


애플과의 관계도 눈여겨볼 만한데, FreeBSD는 위에서 말했듯이 완전히 자유로운 라이선스로 배포되는지라, 애플도 소스코드를 가져다가 OS X을 만드는 데 사용하였다. (정확히는 NeXT사가 채택했던 4.4BSD 부분을 FreeBSD 5로 대체) 이러한 OS X의 코어 부분을 Darwin이라 하는데, 초창기 Darwin 8.0.2까지는 독립적으로 빌드되어 온전한 OS로서 배포되기도 했지만(x86판은 일반 PC에 설치 가능), 현재는 소스 코드만 따로따로 제공된다.
애플은 소스코드를 가져다 사용하기만 한 것이 아니라, 도로 돌아와 FreeBSD 개발팀에 Mac OS X 소스를 완전히(그러니까 오픈소스 부분만 완전히...) 공개하며 신기술을 알려주기까지 하여 친구를 먹었다.[24] 이 이후부터 FreeBSD 커뮤니티는 애플 쪽과 밀월관계를 구축하였고, 애플도 이를 기점으로 CUPS라든가 KHTML을 포크한 WebKit 프로젝트 등 다양한 오픈소스 프로젝트를 BSD 라이선스로 공개 진행하며 오픈소스 커뮤니티와 진한 관계를 맺어갔다. 그리고, FreeBSD의 버전업 속도도 애플과의 밀월관계 이후로 상당히 가속을 받게 되었다. [25]

4.2. TrueOS (구 PC-BSD)


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

4.3. Debian GNU/kFreeBSD


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

4.4. ubuntuBSD


ubuntuBSD(소스포지). FreeBSD 커널에 우분투 유저랜드를 사용하는 것으로[26] 소스포지 게시일 기준 2016년 3월 20일 베타2까지 공개되었다.
2018년 2월 기준 공식 사이트 및 패키지 저장소 서버가 닫혀있어 설치는 가능하나 보안 업데이트 등은 받을 수 없다.

4.5. 플레이스테이션 시리즈


플레이스테이션 3PS Vita도 FreeBSD를 사용하였고, 플레이스테이션 4의 Orbis OS 역시 FreeBSD의 커스터마이징 버전이다. 플레이스테이션 5는 Orbis 2.0으로 개선 되었다.

4.6. TmaxOS


[image]
티맥스에서 개발한 국산 OS. 2016년도 발표회 당시 공개된 버전에서 사용되었다.[27] 자세한 내용은 문서 참고.

4.7. Junos OS


컴퓨터 네트워크 관련 기기 제조회사인 주니퍼 네트웍스에서 만들어진 자사의 라우터, 스위치 전용 네트워크 운영체제. 시스코에서 만든 라우터와 스위치에 들어가는 운영체제인 시스코 IOS와는 다르게 FreeBSD를 기반으로 커스터마이징되어 있다.

[1] 우리가 보통 알고 있는 이 버전은 1994년 존 라세터가 그린 작품이다.[2] Unix-like OS[3] macOS는 정확하게는 XNU이고(BSD는 서브시스템이 불과하다.) 코어는 Mach 커널로 이루어져 있다. 그리고 TrueOS는 역사속으로 사라졌다.[4] 윈도우 운영체제의 사례에서 볼 수 있듯이, OS에서 선점효과는 막대하다. OS를 교체하려면 새 OS에 대해 배워야 하며 기존의 OS로 구축한 것을 새로운 OS에서 다시 구축해야 하는 수고가 들어가기 때문에(그나마도 새 OS에서 구축이 가능하다는 보장이 없다) 쉽게 교체하기 어렵다. 그나마 리눅스와 FreeBSD는 구조가 상대적으로 비슷한 편이므로 이 문제는 좀 덜한 편이기는 하지만, 다른 걸림돌이 있으니 이 둘은 주로 서버 시장에서 활동한다는 점이다. 서버 시장은 안정성이 극도로 중요하기 때문에, 이미 시장을 선점하여 작동 시간으로나 사용자 기반으로나 상대적으로 더 많이 검증된 기존의 OS를 버리고 갈아타는 데에 훨씬 더 보수적일 수밖에 없다.(유명 포털 사이트나 온라인 게임 서버가 예고 없이 다운되면 어떤 일이 벌어질 지를 생각해 보자.) 때문에 그 새로운 OS가 기존 OS에 비해 얼마나 많은 것을 제공해 주는지는 둘째 문제이다. 그리고, 이렇게 점유율에서 한번 밀려 버리면 당연히 해당 OS를 개발하려 하는 개발자들의 유입 역시 적어지고, 차이는 점점 벌어지는 것이 일반적이다. [5] http://distrowatch.com[6] 공식 포럼서브레딧이 있다.[7] 그래도 Ports 개수가 2만 개가 넘는다.[8] FreeBSD 12 기준으로 CentOS 7의 바이너리를 가져와 에뮬레이트한다.[9] 애초에 BSD 커뮤니티에서는 GCC 컴파일러가 수십년간의 최적화로 런타임 속도에서는 강하지만, 기본적인 설계가 그리 깔끔하지 못하다는 점과 컴파일 속도가 매우 느리다는 점을 문제삼아 비판하는 경우가 많았기 때문에, 사실 굳이 라이선스 문제가 없었어도 언젠가는 다른 컴파일러를 사용하려 했을 거라는 소리도 있긴 하다.[10] OpenIndiana 라는 포크가 새로 생기긴 했다.[11] ZFS는 썬 마이크로시스템즈가 개발했으며, OpenSolaris와 FreeBSD로 공식적으로 포팅이 되어 있...었는데, 오라클이 썬 마이크로시스템즈를 인수하면서 라이선스 정책을 바꿔 OpenSolaris가 사실상 죽어 버린 관계로[10], FreeBSD는 현재 오픈소스계의 ZFS의 마지막 희망이라 할 수 있다.[12] FreeBSD에서는 NFS만 지원되고, CIFS, iSCSI 등은 파일시스템이 아닌 FreeBSD에서 수동으로 설정해야 한다.[13] 다만, 마이너에 속하는 솔라리스나 FreeBSD에서만 제대로 지원되는 ZFS에 비해, Btrfs는 리눅스 커널의 공식적인, 그리고 전폭적인 지원 버프를 받는다는 차이가 있다.[14] 능력이 된다면 알고리즘을 바꾸거나 하는 식으로 거창하게 할 수도 있지만, 그냥 값만 변경하는 정도의 변경은 유닉스 운영체제 구조의 깊은 이해 없이도 할 수 있는 간단한 것들이다.[15] portsnap update[16] (sudo) make -DBATCH install[17] # make config-recursive[18] # make rmconfig[19] # make rmconfig-recursive[20] 트리 구조에서 leaves로 부르는 것들[21] 단 이들은 Ports 시스템은 아니다.[22] /etc/jail.conf[23] 이것을 사용하면 유닉스 시스템과 삼바가 아닌 NFS를 통해 연결이 가능하다. 세팅에 따라 차이가 나겠지만, 보통 테스트 결과를 보면 NFS가 삼바보다 속도면에서 크게 빠른 경우가 많다.[24] 그런데, FreeBSD 원년멤버이자 Ports 시스템 창시자인 코어개발자 한 명을 빼갔다. MacPorts도 이 사람이 애플로 가서 만든 작품이다. [25] 이번 10.1-RELEASE 버전만 해도 프비의 '''공식''' 시스템 업데이트 도구인 freebsd-update의 오류로 인해 업데이트 도중에 /(루트 디렉토리)를 날려버리려 시도하는, 그야말로 초대형 사고를 일으킬 뻔했다. 다행히 rm 명령 자체가 아무 옵션이 없으면 디렉토리 삭제를 거부하기에 망정이지, 만약 지웠다면 그야말로 하트블리드를 뛰어넘는 참사를 일으킬 뻔한 것이다. 윈도우로 치면 시스템 업데이트를 돌렸더니 C: 드라이브가 포맷될 뻔한 것과 같다.[26] 다만 기본 데스크톱 환경은 우분투의 XFCE 공식 변형판인 Xubuntu 환경을 쓴다.[27] 이후 소비자용으로 공개된 버전은 데비안 기반이다.

분류