FreeBSD 와 리눅스계열간에 프로그램 호환이 되는건가요?
글쓴이: vj1974 / 작성시간: 금, 2005/11/11 - 4:24오후
데비안을 쭈욱 쓰다가 BSD계열로 넘어가볼까 생각중인데..
궁금한게 있습니다.;
리눅스쪽에서 개발된? 프로그램들이 BSD에서 돌아가는걸 보는데요..(GNOME,KDE,XFCE4등등...)
커널이 분명 완전히 다른데... 호환이 가능한가요?(소스로 직접 컴파일했을경우에..)
또 직접 소스를 받아서 설치했을때 그 프로그램이 GPL에 따른 소프트웨어라면 BSD 디렉토리에서는 어떻게 구분하는지요?
(GPL라이센스로 된 어플은 따로 관리한다라고 되어있어서..)
Forums:
Re: FreeBSD 와 리눅스계열간에 프로그램 호환이 되는건가요?
윈도우에서도 도는 프로그램 많은 걸요 :)
웬만한건 다 동작하고 간혹 돌아가지 않는 것도 있긴 합니다.
그리고 소스 컴파일 뿐만 아니라 컴파일된 바이너리 실행파일도 실행됩니다.
포트이외에 유저랜드 등에서 쓰인 GPL은 따로 소스상으로 디렉토리만 분리되어 있고 사용중에는 뭐 별 차이가 없습니다.
포트는 더더욱 구분할 필요가 없구요
Re: FreeBSD 와 리눅스계열간에 프로그램 호환이 되는건가요?
직접 해보니 간단한 프로그램은 바이너리 호환이 되더군요. 어차피 기계는 같으니......
--
Good design requires compromise.
프비에선 리눅스 에뮬로 레드햇이나 데비언 젠투도 깔수있죠어차피 리눅스
프비에선 리눅스 에뮬로 레드햇이나 데비언 젠투도 깔수있죠
어차피 리눅스가 오픈소스니 리눅스커널이랑 필요한파일을
통채로깔아버리고 리눅스파일은 /compat/linux 하의 디렉토리에 참조하고
돌게하는거죠
리눅스용인 거대한 오라클이 깔릴정도니..하지만 사용하시는 거의 대부분
리눅스용인 거대한 오라클이 깔릴정도니..
하지만 사용하시는 거의 대부분의 유틸은 FreeBSD에도 있습니다.
간혹 없는 경우엔 대체할 수 있는 프로그램을 찾으셔야 하고요.
그래도 없는 경우엔.. 위에 처음 말한 리눅스용 오라클도 돌아가니
웬만하면 리눅스용 바이너리로 설치해서 사용하면 될겁니다.
프비로 넘어가는거 비추천이지만.
FreeBSD에는 리눅스 커널 에뮬레이션과 리눅스의 ELF바이너리를 해석
FreeBSD에는 리눅스 커널 에뮬레이션과 리눅스의 ELF바이너리를 해석할 수 있는 기능이 모듈로 존재합니다(linux.ko). 이걸 올리고 적절한 리눅스 배포본의 기본 파일을 설치해 두면(linux_base 포트) 리눅스 바이너리를 그대로 실행할 수도 있습니다. linux용 gcc가 실행될 수 있으므로 FreeBSD에서 리눅스용 바이너리를 컴파일하여 생성할 수 있고 strace와 같은 커널 시스템 콜 추적도 가능합니다. linux용 gdb도 돌아가고요.
반대는 불가능하지요. FreeBSD바이너리가 리눅스에서 동작할 수 있는 경우는 본적이 없네요.
소스가 있는 경우에는 대부분 약간의 옵션 조절로 빌드가 가능하거나 그대로 빌드해도 되는 경우가 많습니다. GNU 프로그램을 따로 관리한다는 건 FreeBSD 소스 트리 안에 gnu/ 디렉토리에 GPL프로그램을 따로 모아놓은 것을 말씀하시나 보네요. 일반 사용자 입장에서는 별반 다를 것이 없습니다.
이런 기능을 사용해서 바이너리만 존재하는 상용 리눅스 프로그램을 많이 돌릴 수 있습니다. Oracle 7, 8, vmware 3.x, 4.x, netscape 4.x, mozilla, firefox, flash plugin, acrobat, acrobat plugin, java, realplayer 등의 리눅스 바이너리를 그대로 실행할 수 있습니다. 특히 FreeBSD용 firefox 등에서는 리눅스용만 존재하는 flash plugin을 실행할 수 있도록 하는 포트도 존재합니다(www/linuxpluginwrapper). 반면 지나치게 리눅스 커널의 기능을 이용하거나 리눅스에서만 안되는 hack를 쓰는 경우에는 안되는 경우도 있습니다. 가령 vmware 5라든가...
--
익스펙토 페트로눔
댓글 달기