MacPorts vs. Fink vs. Homebrew [중복]


39

이 질문에는 이미 답변이 있습니다.

저는 항상 MacPorts를 사용하여 GCC 컴파일러와 다른 프로그램을 설치하고 유지했습니다. 이제 Fink and Homebrew에 대해 들었습니다. 이 두 유틸리티가 Mac 커뮤니티에서 시작되고있는 것 같지만 그 차이점을 이해하지 못합니다.

MacPorts, Fink 및 Homebrew의 주요 차이점은 무엇입니까? 품질이나 성능에 차이가 있습니까?



4
합니까 이 오래된 질문 귀하의 요구에 주소를?
bmike

답변:


30

핑크 적어도 2001 핑크 이후 주변왔다 및 MacPorts를가 "직교"할 수있는 시스템에 원하는 패키지 관리자, 그들은 자신의 버전을 설치 python, perl위해 자신의 나무 등, 라이브러리, 컴파일러, (/ 자상 Fink (MacPorts의 경우 / opt / local). 그 이유는 애플이 소프트웨어로하는 일을 통제 할 수없고, 때때로 애플이 자신의 물건을 업데이트했을 때 문제를 일으켰 기 때문입니다.

내가 이해 한 바에 따르면, Homebrew는 시스템과 "통합"되고 Apple이 제공하는 라이브러리를 사용하고 그 내용을 /usr/local/bin다른 표준 폴더 에 설치하려고합니다 . 필자는 소프트웨어 선택이 Homebrew에서 더 제한적이라는 것을 의미합니다. KDE를 설치할 수 있다고 생각할 수는 없지만 시도하지는 않았습니다.

Fink와 MacPorts의 한 가지 포인트 : 몇 년 전 Fink 프로젝트는 바이너리 패키지를 제공했습니다. 즉, 직접 컴파일하지 않고도 패키지를 다운로드하여 설치할 수 있습니다. 패키지 관리자는 여전히 그 기능을 가지고 있으며 오랫동안 사용할 수있는 바이너리가 없었습니다. 그 동안 그 변화가 있었는지 모르겠습니다.

간단히 말해 이진이 없으면 Fink와 MacPorts는 매우 유사합니다. Homebrew보다 더 많은 패키지를 사용할 수있는 반면, Homebrew는 위에서 언급 한 이유로 디스크 공간을 적게 차지합니다. 품질과 관련하여 : Homebrew를 설치 한 적이 없으며 Fink와 MacPorts 사이에서 일반적으로 현재 사용하지 않는 것을 선호합니다.

따라서 MacPorts에 만족한다면 그대로 유지하십시오.

PS Homebrew를 사용해 본 적이없는 이유는 미리 컴파일 된 패키지를 사용하기 때문입니다. 이들은 보통 / usr / local / bin 등에 설치되어 문제를 일으키기 만합니다.


나는 당신이 KDE에 대해 틀렸어 야한다고 생각했지만 충분히 사실입니다. 한때는 패키지가 있었지만 KDE가 구축되는 방식에 Homebrew의 계층 구조와 호환되지 않는 것이 있습니다. 바라건대 언젠가는 고쳐질 것입니다.
echristopherson

1
@echristopherson 그래서 KDE가 한 번 있었나요? 놀랍습니다. 그러나 KDE는 매우 약한 것 같습니다. 한 번 Fink와 함께 설치했으며 다음 업데이트에서 전체 설치가 엉망이되었습니다. 그래서 당신은 그것이 Homebrew에 훨씬 더 깨지기를 기대할 것입니다. 그러나 그들이 언젠가 그것을 올바르게 얻는다면, 나는 내가 말한 모든 것을 되 찾습니다.
퍼시벌 율리시스

4
/ usr / local에 Homebrew를 설치하는 것도 내가 사용하지 않는 것과 같은 이유입니다. 전통적인 유닉스 철학을 고집 만 나는 다른 접두사를 관리해야 / usr / 지방 ... 이번 패키지 관리자에서 물건을 넣어해야합니다.
Jason

개인적으로 MacPorts를 사용하지만 마지막으로 확인한 적이 있습니다.
HairOfTheDog

1
@Jason 단일 사용자 컴퓨터에서도 마찬가지입니까? 방금 Homebrew를 설치했는데 후회하지 않기를 바랍니다. 그러나 애플이 관리자 권한을 가진 루트 및 사용자를 처리하는 방법은 명확하지 않습니다. 내 시스템의 유일한 사용자입니다.
haziz

8

주된 차이점은
섭리, 결과 및 배포 방법입니다.

가장 중요한 세부 사항은 선택한 시스템에 원하는 소프트웨어 패키지가 포함되어 있는지 확인하는 것입니다. 패키지 수는 대략 19k Macports, 22k Fink, 3k Homebrew, 10k pkgsrc입니다.

  • 이전의 다윈 포트 인 Macports 는 pkgsrc와 같은 BSD 스타일 포트 시스템 인 것으로 보이며, 소스를 가져 와서 패치하고 빌드하여 설치합니다. pkgsrc와 매우 유사하다면 쉘 스크립트를 사용하여이 작업을 수행합니다. Xcode에서 제공하는 도구를 사용했지만 문제가 발생하기 시작하여 gcc를 부트 스트랩 할 수도 있습니다. 또한 일부 바이너리 패키지가 있지만 매번 시스템의 최신 버전을 찾지 못할 수도 있습니다. 배포를 중단 한 OS X 커널을 기반으로하는 Apple 오픈 소스 BSD 인 Darwin에서 나왔습니다. /opt/local다른 설치 프로그램 패키지 나 시스템 업그레이드에 영향을받지 않는 패키지를 설치합니다 .
  • 핑크 , 재 : 핀치새는 찰스 다윈의 연구의 대상이되고, 그것은 사용 기능 수단은 데비안 패키지 관리자를 기반으로 패키지 시스템입니다 dpkgapt-get업스트림 패키지를 가정 ... 당신이 안정적으로 바이너리 패키지를 찾을 수 있다는되는 주요 이점을 현재 OS 버전의 바이너리가 포함 된 저장소 또한 다윈 사용자 기반에서 나왔지만 데비안 리눅스 (Mac 용 또는 PPC 용)에서 온 사람들에게는 좀 더 안정적인 하드웨어 지원을 원했던 사람들에게 더 인기가있을 것입니다. /sw다른 설치 관리자가 설치할 수있는 내용을 덮어 쓰거나 덮어 쓰지 않기 위해 패키지를 설치합니다. 또한 컴파일러 검색 경로 및 기본값 PATH/usr/local/bin이미 포함되어 있습니다.
  • Homebrew 는 개념 상 일종의 포트 시스템이지만 루비로 작성되었습니다. 그것은 독립형 OS 세계에서 온 것이 아니며 Mac OS X 사용자를 위해 만들어졌습니다 (다른 사람들은 철저히 사용하고 테스트했습니다). 2014 년 중반부터는 기본적으로 모든 패키지 (포뮬러라고 함)를 빌드하려고 시도하지만 일부는 병이라는 이진 형식으로 제공되며 세미에 기울어지면 병 그룹을 공유하여 소셜 그룹에 공유 할 수 있습니다 -당신과 당신의 친구의 툴체인을 표준화합니다 (다른 시스템의 경우). 장점은 이미 애플에서 온 것만 큼 많은 라이브러리를 사용하여 빌드하는 것입니다. 대부분의 경우 Xcode가 필요하지 않다고 생각하지만 "지원하고 권장"합니다. 각 항목을 고유 한 접두사로 설치할 수 있습니다./usr/local나는 그것이 킥 스타트되었고 다른 것보다 최신이라고 생각합니다. 나는 개인적으로 패키지를 거의 필요로하지 않기 때문에이 패키지를 가장 많이 사용한다는 것을 알았고, mac homebrew가 얼마나 잘 지원하는지 확실하지 않습니다. Homebrew는 cpan, gem 등과 같이 밀접하게 연결된 관리자에서 시작된 소프트웨어에보다 적합한 패키지 관리자를 사용하도록 강요합니다.
  • pkgsrc 는 Mac OS X에서 사용할 수 있고 바이너리 패키지가 있으며 NetBSD에서 가져 와서이를 유지 관리하고 FreeBSD의 포트 시스템을 기반으로합니다. NetBSD는 아키텍처 간 이식성에 중점을 두어 다른 플랫폼도 지원할 수있는 가장 좋은 후보 포트 시스템 일 것입니다. 내 설명에서 Macport와 비슷하지만 NetBSD를 제외하고는 사용하지 않았으며에 설치 /하지만 패키지를 빌드하고 유지 관리 한다고 생각합니다 /pkg. 12k와 같은 많은 패키지가있을 수 있으며 약 20 %가 빌드되지 않거나 소스의 최신 버전이 마지막으로 유지 된 패치로 패치되지 않을 수 있습니다. 이진 패키지가 이러한 종류의 시스템을 선호하는 이유입니다.

필자는 또한 일종의 홈브류 인 perlbrew 를 사용 했으며perl , perl에 내장 된 응용 프로그램 및 일부 종속성을 사용했습니다. 여러 버전의 perl을 유지 관리하는 것이 가장 좋은 방법이며,보다 일반적인 다른 패키지 시스템 (그 목적으로)의 필요성을 편리하게 무시합니다. 그러나 물론 cpancpanminus도 있습니다.

당신은 당신의 자신의 미니 환경과 유사한 관리자 찾을 수 있습니다 (같은 vundle 정력을 위해, 또는 보석 루비를 들어, NPM Node.js를위한 pypm 또는 파이썬를 들어, 이동의 내장 go install... 등?)


Homebrew에 의도적으로 특정 클래스의 패키지가 포함되어 있지 않기 때문에 패키지 개수가 잘못되었습니다. apple.stackexchange.com/questions/32724/…
Dan Dascalescu

5

Fink와 MacPorts는 직교 시스템을 설치한다는 점에서 직접적인 경쟁자입니다. Fink는 몇 년 전에 MacPorts에 상당한 기반을 잃었습니다. 지금 왜 그런지 잘 모르겠지만 MacPorts는 거의 모든 것을 더 잘 처리했습니다.

맥 오에스텐이 미친 바지를 자랐기 때문에 직교 설치의 필요성이 줄어들었다. Brew는 Mac OS X과 더 잘 통합되어 가볍고 직교성이 떨어지도록 만들어졌으며 Rubyist가 모든 것을 다시 작성하기 때문입니다.

실제로 MacPorts는 조금 더 복잡하지만 MacPorts는 거의 항상 작동하지만 Brew는 더 단순하지만 벽돌 벽에 부딪 칠 가능성이 높습니다.

자신에게 다음과 같은 질문을하십시오.

  • 많은 Linux 에코 시스템 도구를 사용하십니까?
  • 여러 버전이 필요하십니까?
  • 새로운 도구를 많이 실험하십니까?
  • 수학 / 과학 도구 / 라이브러리 또는 기타 특이한 도구를 사용하십니까?

대답이 있으면 MacPorts를 선택해야합니다. 비교적 적은 수의 일반적인 패키지를 설치하면 Brew는 오버 헤드가 줄어들지 만 Brew는 복잡성을 처리하지 않습니다. /usr/local수동 설치를 원할 경우 오염 물질을 추출하십시오 . 실제로, MacPorts에 대한 더 자세한 인수가 있지만 no로 대답하면 다시 적용되지 않을 수 있습니다.

반대로 예라고 대답했지만 기본 컴퓨터가 Linux를 실행하고 Mac이 최소 Linux 소프트웨어를 실행하는 장난감 일 경우 실제로 Brew를 사용하면 더 나을 수 있습니다.


2

그러나 부수적으로 Apple OS X과 관련된 어떤 것도 / usr / local / bin에 설치되지 않습니다. 그들은 / usr / lib, / usr / bin을 무대 뒤에서 사용하고 프레임 워크는 / Library / Frameworks에 패키지되어 일반 유닉스를 통해 직접 설치하는 것들이 있습니다 ./configure, make, install / usr / local / bin 등 , MacPorts와 같은 유틸리티는 / opt /를 사용하여 개인 ~ / Library / Frameworks /에 프레임 워크를 패키지합니다.

나의 권장 사항은 익숙한 MacPorts를 유지하는 것입니다. 기본적으로 주요 차이점은 MacPorts는 FreeBSD의 포트로 실제 Unix / BSD 포트 트리 구현과 유사한 시스템을 사용하는 반면, Fink는 Linux Debian 아카이브에서 포트 된 응용 프로그램을 사용하고 Linux Debian과 동일한 패키지 관리자 시스템을 사용한다는 것입니다.

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