pkg 파일 무인 설치


14

pkg 패키지의 무인 설치를 만들 가능성이 있습니까?

예를 들어 mpkg를 생성하고 콘솔과 설치 프로그램을 통해 패키지를 설치 한 스크립트를 실행합니다.

배경 : 많은 osx 최종 사용자에게 패키지를 배포해야했습니다. 우리는 애플 데스크탑과 이러한 머신에 대한 루트 액세스 권한이 없습니다. 패키지는 사전 구성된 pkg 패키지이지만 사용자가 일반적인 방식으로 패키지를 실행하면 사전 구성을 덮어 씁니다. Windows에서는 자동 설치로 msi를 시작하는 자체 실행 가능한 아카이브로 이것을 알고 있습니다. 리눅스에서는 rpm / deb 패키지를 빌드하지만 osx에서는 적절한 방법을 찾지 못했습니다 :(

답변:


17

짧은 답변 : 예.

긴 답변 : 그렇습니다. 그러나이 질문에 대한 완전한 답변에는 기술적 답변과 실질적인 관심사가 포함됩니다.

먼저 기술 답변

이 구문을 사용하여 .pkg 또는 .mpkg를 설치할 수 있습니다.

sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"

설치 프로그램이 '서명'되지 않은 경우 추가해야합니다. -allowUntrusted

sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"

또한 지정해야 할 수도 있습니다 어디에 당신이 그것을 사용, 설치합니다 -target /(난이 100 % 확실하지 않다 필요 하지만, 좋은 생각)

sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /

이제 문제는 sudo실행하려고 할 때 관리자 암호를 묻는 것입니다 installer. 이를 자동화 sudo하려면 설치 프로그램을 실행할 때 암호 를 요구하지 않도록 Mac에 알려야합니다 . 이를 위해 /etc/sudoers파일에 다음 줄을 추가 할 수 있습니다 .

%admin ALL=NOPASSWD: /usr/sbin/installer

man visudo해당 파일 편집에 대한 지시 사항을 참조하십시오 .

둘째, 실질적인 관심

Mac을 사용하는 유일한 사람이라면 위의 줄을 추가하는 /etc/sudoers것이 큰 문제는 아닙니다.

그러나 이것이 공유 Mac 인 경우 'admin'그룹에 속한 다른 사람들은 /usr/sbin/installer암호를 묻지 않고 실행할 수 있습니다.

또한 누군가가 귀하의 '관리자'계정에 들어가면 이론상으로 과장을 일으킬 수 있습니다 /usr/sbin/installer. 나는 그들이 무엇을하는지 정확하게 생각하지 못하고 있지만 보안과 편의성의 균형을 유지하고 있습니다.

셋째, github 스크립트

프로세스를 로그하고 패키지를 설치 한 후 재부팅해야하는지 여부를 알려주 는 pkginstall.sh 를 작성 했습니다 .

마지막으로 : "어떻게?" 자동화

설치를 자동화하려는 방법은 수행하려는 작업의 세부 사항에 따라 다릅니다. 예를 들어 ~ / Action / AutoInstallPKG /와 같은 폴더를 만들고 해당 폴더 launchd에 추가 된 .pkg 또는 .mpkg 파일을 설치 한 다음 나중에 옆으로 옮길 수 있습니다.

나는 이런 일을 오랫동안하는 것을 의미했기 때문에 마침내 그것을 합쳤다. https://github.com/tjluoma/autopkginstall 에서 찾을 수 있습니다 . 설치 지침은 Github에 포함되어 있으므로 여기서는 반복하지 않습니다.


Thx, 이것은 나에게 큰 발전이지만 여전히 최종 해결책은 아닙니다. 사용자가 구성을 변경할 수없는 많은 다른 Mac에 패키지를 배포해야합니다 (따라서 sudoes는 옵션이 아닙니다). 따라서 사용자가 클릭 할 수있는 파일과 나머지는 자동으로 수행되는 가장 좋은 방법 (Windows 및 Linux에서 작동). 그러나 귀하의 솔루션을 확인하고 빙산이나 패키지와 함께 가능한 솔루션을 찾을 수 있습니다. 그래서이 질문이 더 며칠 더 열려 있으면 다른 사람들이 거기에 대한 답변을 제공 할 수 있다면
좋을 것입니다

3
또한 나중에 참조 할 수 있도록 이와 같은 세부 정보는 초기 질문에 포함하는 데 도움이 될 것입니다. 시스템에서 설치를 자동화하려는 최종 사용자의 대답은 많은 Mac 및 많은 OS에 배포하려는 사람과는 완전히 다릅니다. Windows 및 Linux 및 Mac OS X에서 동일한 방식으로 작동하는 방법을 찾지 못할 것입니다. Dropbox와 같은 회사도 OS마다 설치 프로그램이 다릅니다.
TJ Luoma

네 말이 맞아 미안해 가능하면 질문에 추가해야합니다.
Megachip

모든 작업에 대해 다시 한 번 감사드립니다. [here] ( apple.stackexchange.com/questions/120026/… )에 대한 질문을 구체적으로 작성했습니다 . autopkginstall은 좋은 일이지만 모든 클라이언트에이 "설치"가 필요하지만 불가능합니다. 내 질문이 충분히 구체적이지 않은 것 같습니다. 죄송합니다
Megachip

2

나는 당신이 당신 자신의 대답에 매우 가까이 춤을 추고 있다고 생각합니다. Apple의 원격 데스크탑이 없다고 언급했습니다. 나는 당신이하려는 일에 대해 그것을 고려하는 것이 좋습니다. 항상 설명하면서 사용합니다. LAN의 여러 컴퓨터에 설치해야하는 .pkg 파일이 있으며, 설치하려는 컴퓨터를 강조 표시하고 원격 데스크톱에 설치하도록 지시합니다. 이것보다 훨씬 더 많은 일을 수행하지만 원격 설치를 수행합니다. 무제한 클라이언트 라이센스의 경우 $ 80입니다.

$ 80 점착 포인트 인 경우 - 당신은 볼 수 있었다 munki 이다,

"웹 서버 기반 패키지 및 패키지 메타 데이터 저장소와 함께 사용되는 도구 세트는 OS X 관리자가 OS X 클라이언트 시스템에서 소프트웨어 설치 (및 많은 경우 제거)를 관리하는 데 사용할 수 있습니다."

나는 그것을 직접 사용하지는 않았지만 그것을 코딩하고 실제 생활에서 사용하는 사람들에 대해 많은 존경심을 가지고 있습니다. 원격 데스크톱보다 설정 및 작동이 더 많지만 더 많은 옵션이 있습니다.

이 두 프로그램 중 하나를 사용하여 원하는 작업을 수행 할 수 있기를 바랍니다.


예,하지만 원격 데스크톱을 사용하려면 루트 액세스 권한이 필요합니까?
Megachip

클라이언트 컴퓨터에서 원격 데스크톱을 설정하려면 관리자 액세스 권한이 필요합니다. ARD는 네트워크에서 볼 수있는 Mac에 파일을 설치할 수 없습니다. :)
evilblender

이 가능성은 주어지지 않았습니다. 죄송합니다.
Megachip

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