Mac OS에서 Unix 패키지의 공식 설치 프로그램은 무엇입니까?


10

Mac OS X에서 표준 Unix 패키지 설치에 대해 약간 혼란 스러워요. 예를 들어 SVN v.1.4.4 인 / usr / bin / svn이 있지만 FinkCommander는 svn이 설치되어 있지 않습니다. emacs 등과 같은 다른 패키지에서도 마찬가지입니다.

이것이 잘못된 FinkCommander 설정입니까? 현재 모든 것을 설치하는 설정 /sw도 아닌, PATH. 따라서 패키지를에 설치하도록 설정해야 /usr합니까? 설치된 소프트웨어를 인식합니까? 나는 모든 것의 중복 패키지를 설치하고 싶지 않으며 FinkCommander가 설치된 소프트웨어와 동기화되지 않은 것 같습니다.

아니면 사용해야하는 다른 설치 프로그램이 있습니까? Mac 포트가 권장되는 설치 프로그램입니까?

(Mac OS 10.5.8을 사용하고 있습니다.)


좋은 질문과 좋은 답변들. 또한 이것을 확인하십시오 : superuser.com/questions/28529/macports-fink-etc
Jonik

MacPorts : 모든 패키지를 처음부터 컴파일하는 것은 정말 미친 짓입니다. 나는 MacPorts (먼저 gcc43, perl, automake, glib2 등을 컴파일합니다.
dehmann

사전 빌드 된 바이너리 패키지를 원한다면 Rudix를 확인하십시오 .
Telemachus

답변:


10

OS X 용 공식 패키지 관리자는 없습니다.

Fink , MacPortsHomebrew 는이 공백을 메우기 위해 고유 한 기능을 제공합니다.

많은 사용자가 지적한 바와 같이 :

  • / usr 사용을 피하십시오
  • PATH를 구성 할 때까지 다른 디렉토리의 패키지를 찾을 수 없습니다.

답변 해주셔서 감사합니다. 꽤 실망 스럽습니다. 적절한 패키지 관리자를 제공 할 수없는 이유는 무엇입니까? :-(
dehmann

5
그들의 목표 청중은 무엇을 해야할지 모릅니다. 우리 중 나머지는 작동합니다 :-)
Jeremy L

나는 그것을 정답으로 선택하지만 실제로 여러 관리자를 사용하는 것이 좋습니다. 최소한 Fink와 MacPorts는 서로 다른 디렉토리에 설치되기 때문에 공존 할 수 있습니다.
dehmann

7

Mac OS X 용 공식 Unix / FOSS 패키지 관리자 는 없지만 , MacPorts는 Apple의 Mac OS X / Darwin 엔지니어에 의해 만들어지고 여전히 관리되고 있습니다. macports.org 웹 사이트는 Apple의 "MacOSForge.com"프로젝트의 일부로 Apple 서버에 호스팅됩니다. Mac OS X / Darwin은 * BSD 기반이기 때문에 많은 Apple의 Unix 계층 소프트웨어 엔지니어는 * BSD 전통을 따르므로 * BSD "ports"모델에 따라 MacPorts를 모델링했습니다.

Fink는 Mac OS X의 원래 오픈 소스 패키지 관리자 였지만 Apple과 밀접한 관련이 없으며 Debian Linux apt-get 전통을 따르기로 선택했습니다.

위의 세부 사항 중 하나라도 다른 것을 권장하기에 충분하지 않습니다. 나는 당신이 이미 어느 모델에 더 익숙하다고 말할 것입니다. apt-get에 더 익숙하다면 Fink를 사용하십시오. BSD "포트"에 대해 더 잘 알고 있다면 MacPorts로 가십시오.

다른 사람들이 말했듯이 Mac OS X의 기본 Unix 도구 만 남겨 두는 것이 가장 좋습니다. Fink와 MacPorts는 이미 교훈을 배우고 자신의 디렉토리 사본을 자체 디렉토리 계층 구조 (Fink의 경우 / sw, MacPort의 경우 / opt)에 설치합니다. Homebrew는 아직 그 교훈을 완전히 배우지 못했지만 일부 사용자는 Homebrew를 사용하여 Perl 또는 Python과 같은 내장 사본을 업데이트하자마자 예상치 못한 호환성 문제가있어 내장 Mac 조각을 손상시킵니다. Perl 스크립트를 사용하여 일부 설치 작업을 수행하는 설치 프로그램 패키지 (Mac OS X .pkg 번들 파일)와 같은 OS X


5
내가 이해하는 것처럼 Homebrew는 / usr / local / 아래에 설치되므로 시스템 Python을 덮어 쓰지 않습니다.
Pepijn

4
Homebrew를 사용하여 기존 구성 요소를 덮어 쓰는 것은 불가능합니다. OSX는 기본적으로 / usr / local없이 제공됩니다.
Paul Robinson

5

OS X 용 공식 패키지 관리자 는 없습니다.

Fink는 Fink 경로에 설치되지 않았기 때문에 설치되지 않았다고 말할 수 있습니다. Fink 또는 MacPorts에서 무언가를 설치하거나 버전 번호가 다른 사본을 복제 할 때 문제가 발생했습니다.

하나를 골라 붙입니다. 변경해야한다고 생각되면 다른 패키지 관리자를 지우고 새 패키지 관리자를 다시 설치하는 것이 가장 좋습니다.


3

여러분이보고있는 svn의 버전은 Fink 나 다른 소스가 아닌 Mac OS X과 함께 제공됩니다.

bash의 type명령을 사용하여 다른 버전을 식별 할 수 있습니다 . 예를 들어 MacPorts를 사용하고 최신 버전의 sqlite3을 설치했습니다.

$ type -a sqlite3
sqlite3 is /opt/local/bin/sqlite3
sqlite3 is /usr/bin/sqlite3

/ opt / local / bin의 버전은 MacPorts에서, / usr / bin의 버전은 Mac OS X와 ​​함께 제공됩니다.

Fink 또는 MacPorts 바이너리는 / usr에 설치하지 말고 따로 두십시오. / sw에 Fink를 설치하거나 / opt / local에 MacPorts를 설치하십시오. PATH표준 버전 이전의 Fink / MacPorts 버전을 찾도록 조정하십시오.


비슷한 플래그를 사용하여 다음을 사용할 수 있습니다which -a sqlite3
Jeremy L

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