.pkg 파일을 수동으로 열려면 어떻게합니까? Applications에 복사하는 것만으로도 관리자 암호를

일부 응용 프로그램은 .pkg 파일로 제공되며 바이너리를 / Applications에 복사하는 것만으로도 관리자 암호를 묻습니다.

~ / Applications에 내 응용 프로그램을 갖고 싶어하며 모선이 아닌 것에 대해서는 관리 권한을 부여하고 싶지 않습니다.

.pkg 파일을 수동으로 열고 응용 프로그램을 꺼내는 방법이 있습니까? 개발자 도구에는 PackageMaker가 있지만 그렇게 보이지는 않습니다 (설치 프로그램에 실제로 스크립트 나 다른 부분이 없으며 응용 프로그램 만 있다고 생각하게하는 출력이 생성되었습니다).



답변

마우스 오른쪽 단추로 클릭하고 패키지 컨텐츠 표시를 클릭 하면 컨텐츠 폴더에 몇 개의 파일이 있습니다. (참고 : Show Package Contents 가 보이지 않으면 Terminal.app을 열고 실행해야합니다. pkgutil --expand mystubbornpackage.pkg path/to/expand)

하나는 BOM 파일 (Bill of Materials)로, 앱을 제거하는 데 사용할 수있는 영수증으로 변환됩니다. 이 파일에는 패키지가 설치하는 모든 위치와 위치가 명시되어 있습니다. 이 파일을 읽으려면 lsbom 명령을 사용하십시오 .

대부분의 패키지 (여기서는 Office 2008을 사용하고 있음)에도 Archive.pax.gz 파일이 있습니다. 여기에는 BOM 파일에 지시 된대로 Installer가 다양한 폴더로 이동하는 모든 항목이 포함됩니다. 대부분의 앱은이 아카이브에 .app가있는 것으로 보이지만 / Applications로 드래그하면 실행해야하는 프레임 워크없이 남겨 둘 수 있습니다. 따라서 필요한 다른 파일과 파일을 작동시키는 데 필요한 위치를 파악해야합니다.

또한 Cmd-L 을 누르면 모든 패키지가 메시지를 기록 할 수 있습니다 (또는 메뉴 에서 설치 프로그램 로그 옵션을 선택하면 생성 된대로 볼 수 있습니다). 최소한 패키지를 신뢰할 수 없다면 더 많은 정보입니다.


답변

Matthew Hall이 말한 것 외에도 설치 프로그램에서 Cmd-I를 눌러 설치 프로그램이 설치할 파일과 위치를 확인할 수 있습니다.


답변

설치 관리자 권한을 부여 할만큼 설치 프로그램을 신뢰하지 않으면 / Applications에서 바이너리를 신뢰하는 이유는 무엇입니까?

Pacifist 에서 패키지 파일을 살펴볼 수 있습니다. 이것은 반드시 당신이 “바이너리를 뽑아 내도록”하는 것은 아닙니다.


답변

또는 시도해 볼 수 있습니다.

sudo installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

또는

installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

답변

  1. 패키지를 성공적으로 열면 앞에서 언급 한 Archive.pax.gz 파일을 찾으십시오.

  2. 데스크탑에 원하는 이름을 지정하여 빈 폴더를 새로 만듭니다. 나중에 쉽게 입력 할 수 있도록 보통 “xxxx”또는 “zzzz”등으로 이름을 지정합니다.

  3. Archive.pax.gz 파일의 복사본을 바탕 화면의 새 폴더 “xxxx”로 Option- 드래그하십시오.

    파일이 읽기 전용 미디어 안에있는 경우 Option 키없이 “xxxx”폴더로 드래그하여 사본을 만들 수 있습니다.

  4. 이제 Terminal.app을 열고 명령 행에서 새 “xxxx”디렉토리로 이동하여 디렉토리의 내용을 나열하여 Archive.pax.gz 파일이 있는지 확인하십시오.

    cd ~/Desktop/xxxx
    ls -al
    
  5. 이제 두 가지 간단한 명령을 입력해야합니다.

    gunzip -v Archive.pax.gz
    

    Gzip은 “Archive.pax.gz”가 “Archive.pax”로 바뀌 었다고 알려줍니다.) 이제 디렉토리의 내용을 다시 나열하여이를 확인하십시오.

    pax -r -f Archive.pax
    

    (당신은 구분해야 -r-f같이 -rf작동하지 않습니다)

  6. 마지막으로으로 디렉토리 내용을 다시 나열하십시오 ls -al. Archive.pax 파일 외에도 이제 하나 이상의 디렉토리가 포함 된 디렉토리 계층이 표시됩니다.

    해당 디렉토리 계층의 파일은 “xxxx”디렉토리가 루트 디렉토리 “/”인 것처럼 OS X 설치 프로그램이 시스템에서 파일을 설치하는 위치를 보여줍니다.

  7. 그런 다음 원하는 경우 해당 파일을 대상에 수동으로 복사 할 수 있습니다.


답변

pkgutil --expand 다음 오류로 인해 실패했습니다.

Error encountered while creating .. Error 17: File exists

그러나 xar대신 파일을 추출했습니다 .

xar -xvf foo.pkg


답변

패키지 파일을 검사하는 가장 좋은 도구는 의심스러운 패키지 입니다. 또한 패키지에서 파일을 복사 할 수도 있습니다.

앱에서 필요한 모든 정보를 제공 할뿐만 아니라 패키지 파일을 선택하고 스페이스 바를 누르면 가장 중요한 정보가있는 창이 열립니다.