pkgファイルの無人インストール


14

pkgパッケージの無人インストールを作成する可能性はありますか?

たとえば、mpkgを作成し、コンソールとインストーラーを介してパッケージをインストールするスクリプトを実行します。

背景:パッケージを多くのosxエンドユーザーに展開する必要がありました。これらのマシンには、アップルデスクトップもルートアクセスもありません。これらは事前設定されたpkgパッケージですが、ユーザーが通常の方法で起動すると、事前設定は上書きされます。Windowsでは、サイレントインストールでmsiを起動する自己実行可能なアーカイブでこれを実現しています。Linuxでは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ルオマ

そのとおりです、ごめんなさい。これを質問に追加する必要があります。
メガチップ

あなたのすべての仕事に再び感謝します、私は私の質問を具体化しました[ここ](apple.stackexchange.com/questions/120026/…)。autopkginstallは素晴らしいことですが、すべてのクライアントにこれを「インストール」する必要がありますが、これは不可能です。ここで私の質問は十分に具体的ではなかったようです。ごめんなさい
メガチップ14

2

あなたはあなた自身の答えに非常に近いダンスをしていると思います。Appleのリモートデスクトップがないことを述べています。あなたがしようとしていることのためにそれを検討することをお勧めします。いつも説明しているように使用します。LANの複数のコンピューターにインストールする必要のある.pkgファイルがあります。インストールするコンピューターを強調表示し、リモートデスクトップにインストールするように指示します。これ以上のことができますが、これらのリモートインストールは自動的に行われます。無制限のクライアントを含むライセンスの場合は80ドルです。

$ 80が争点である場合-あなたはで見ることができるmunkiです、

「パッケージおよびパッケージメタデータのWebサーバーベースのリポジトリと一緒に使用されるツールのセットは、OS X管理者がOS Xクライアントマシンでのソフトウェアインストール(および多くの場合削除)を管理するために使用できます。」

私は自分で使ったことはありませんが、実際にコーディングして使用している人々に多くの敬意を払っています。これは、リモートデスクトップよりも少しセットアップと機能が優れていますが、さらに多くのオプションがあります。

願わくば、これら2つのプログラムのいずれかを使用して、目的を達成できることを願っています。


ええ、しかし、私が知っている限りでは、リモートデスクトップを使用するにはルートアクセスが必要ですか?
メガチップ14年

クライアントマシンでリモートデスクトップを設定するには、管理者アクセスが必要です。ARDでは、ネットワーク上で見かけるMacにファイルをインストールすることはできません。:)
evilblender 14年

この可能性はありません、申し訳ありません。
メガチップ14

2

最後に、具体的な質問のdr.nixonソリューションのおかげで、Platypus経由の質問で説明されているように、無人インストールの作成を処理する必要がありました。

ユーザーはアプリを起動する必要があり、残りは自動的に行われます。


ユーザーは、起動時に常に起動するように起動項目にそれを置くことができます。
AnneTheAgile
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.