-
Notifications
You must be signed in to change notification settings - Fork 371
nopkgs
A nopkg is a pkginfo item that isn't associated with a .pkg or .dmg "installer." Typically nopkgs will have an installcheck_script to see if the item is "installed" or not, and then will run a postinstall_script if the item is not "installed."
A payload-free .pkg may leave a receipt (as a normal .pkg would, too) indicating it ran/installed, and it can be deployed via methods other than Munki. So if you can see yourself running a script once and/or using it in non-Munki contexts, you may want to use a payload-free .pkg.
A nopkg item, with every Munki run on the client, will keep checking to see if the "installed" state has changed and then will run the script again if necessary.
One way to make one is to create an installcheck_script, a postinstall_script, and an uninstall_script, save them all to files, and then run this command:
makepkginfo --nopkg \
--name=NAMEOFYOURNOPKG \
--pkgvers=1.0 \
--installcheck_script=/PATH/TO/installcheck_script \
--postinstall_script=/PATH/TO/postinstall_script \
--uninstall_script=/PATH/TO/uninstall_script \
--unattended_install > NAMEOFYOURNOPKG.pkginfoYou can then copy that pkginfo into your Munki repo's pkgsinfo directory and run makecatalogs.
Yes. Munki will use its normal logic to determine whether an item is installed or not, and that logic could be an installcheck_script or an installs array.
Only if you need to be able to undo what the "install" of the nopkg does. If you don't, you can leave off the uninstall_script. Make sure to mark the item with uninstallable = true.
Here are a few examples:
- Getting Started
- Overview
- Discussion Groups
- Demonstration Setup
- Glossary
- Frequently Asked Questions
- Contributing to Munki
- Release Notes
- Introduction
- New features
- Changes
- Munki 7.1 Localization needs
- Introduction
- New features
- Removed features
- Python removal
- PPPC/TCC for Munki 7
- Middleware for Munki 7
- Logging
- Installation package changes
- Launchd job changes
- Introduction
- Staging macOS Installers
- Apple update changes
- Default Installs (Munki 6.1)
- Conditional Application Data (Munki 6.5)
- Introduction
- Munki Links
- Product Icons
- Screenshots In Product Descriptions
- Client Customization
- Customizing the sidebar
- Custom Help Content
- Featured Items
- Update Notifications:
- Managed Software Center Logging
- Localization
- Introduction
- iconimporter
- makepkginfo
- munkiimport
- managedsoftwareupdate
- makecatalogs
- manifestutil
- repoclean
- Preferences
- Default Repo Detection
- Default Manifest Resolution
- Managed Preferences Support In Munki
- Apple Software Updates With Munki
- Additional macOS configuration for Munki:
- Introduction to Pkginfo Files
- Supported Pkginfo Keys
- Important Pkginfo Features
- Installer type details:
- Pkginfo in Operation:
- Version comparisons
- Default Installs
- Removal of Unused Software
- Upgrading macOS:
- Apple Updates:
- Securing the Munki repo
- Preflight And Postflight Scripts
- Managed Software Center Logging
- Munki With Git
- Bootstrapping With Munki
- License Seat Tracking
- LaunchD Jobs and Changing When Munki Runs
- Web Request Middleware
- Repo Plugins
- Downgrading Software
- Downgrading Munki tools
- Authorized Restarts
- Allowing Untrusted Packages
- On Demand Items
- AutoPkg
- Repackaging
- Creating Disk Images
- Stupid Munki Tricks
- Troubleshooting
- Professional Support
- Building Munki packages
- Signing Munki
- Removing Munki
- Who's Using Munki
- More Links And Tools
- Munki 3 Information
- Munki 4 Information
- macOS Monterey Info
- macOS Ventura info
- make_munki_mpkg.sh
- make_munki_mpkg_from_git.sh
- Munki packages and restarts
- Pkginfo For Apple Software Updates
- Managing Configuration Profiles
- Configuration Profile Emulation
- softwareupdate and Configuration profile notes
- About Munki's Embedded Python
- Customizing Python for Munki
- Modular Imaging with Munki
- Report Broken Client
- Munki Configuration Script
- Microsoft Office
- Adobe Products
- Upgrading macOS: