unopkg
Manage OpenOffice.org/LibreOffice extensions
TLDR
Add and deploy given extension
Remove extension
Display information about deployed extensions
Raise extensions dialog (GUI)
Reinstall all deployed extensions
Display help
SYNOPSIS
unopkg
unopkg install [--shared]
unopkg remove [--shared]
unopkg list [--shared]
unopkg pack
unopkg gui
unopkg --help | -h
unopkg --version | -V
PARAMETERS
install
Installs the specified UNO package. If
remove
Removes the UNO package identified by its unique ID or its registered name. Use list to find identifiers.
list
Lists all currently installed UNO packages, displaying their IDs, names, and versions.
update
Updates the specified UNO package. The exact behavior can vary; sometimes it requires a new .oxt file path.
pack
Packs a directory containing extension files into a new .oxt package file, ready for distribution or installation.
gui
Launches the graphical Extension Manager, providing an interactive interface to manage extensions.
--shared
When used with install, remove, list, or update, this option directs the operation to system-wide shared extensions. This typically requires root privileges. By default, operations affect user-specific extensions.
--user
Explicitly specifies that the operation should be performed on user-specific extensions. This is the default behavior if --shared is not specified.
--help, -h
Displays a brief help message with common usage and options, then exits.
--version, -V
Shows the version information of the unopkg utility and exits.
--verbose
Increases the verbosity of the output, providing more detailed information about the executed operations. Useful for debugging.
DESCRIPTION
unopkg is a command-line utility used to manage extensions for LibreOffice and OpenOffice.org, often referred to as UNO packages. These extensions, typically found in .oxt files, can add new functionalities, templates, dictionaries, or modules to the office suite. The unopkg tool allows users and administrators to perform various operations such as installing new extensions, removing existing ones, listing installed packages, updating packages, and even creating (packing) new .oxt files from a development directory. It's particularly useful for automating the deployment of extensions in corporate environments, for managing LibreOffice instances running in a server context (e.g., headless mode), or for developers who need to quickly install and test their extensions without using the graphical Extension Manager. Extensions can be installed for the current user only or system-wide, affecting all users on the system, depending on the options used and user permissions.
CAVEATS
Running unopkg operations that affect system-wide shared extensions (using the --shared option) typically requires root or administrator privileges. Without LibreOffice or OpenOffice.org being properly installed and configured on the system, unopkg will not function correctly. Extension compatibility can be an issue; an extension designed for one version of LibreOffice might not work or install correctly on a significantly different version. While powerful for automation, direct manipulation of extension files outside unopkg or the GUI manager is generally discouraged to avoid corruption.
EXTENSION LOCATIONS
UNO packages can be installed in two primary locations:
User-specific: Typically located in the user's LibreOffice configuration directory (e.g., ~/.config/libreoffice/4/user/uno_packages/cache/uno_packages on Linux). These extensions are only available to the user who installed them.
Shared (System-wide): Usually found in a system-wide LibreOffice installation directory (e.g., /usr/lib/libreoffice/share/uno_packages/cache/uno_packages or /opt/libreoffice/share/uno_packages/cache/uno_packages). These extensions are available to all users on the system and require administrative privileges to manage.
HISTORY
The unopkg command has been an integral part of the OpenOffice.org suite since its early days, designed to manage extensions built upon the Universal Network Objects (UNO) framework. Following the fork, it continued its development as part of the LibreOffice project. Its primary purpose has always been to provide a robust command-line interface for IT administrators, developers, and users who need to automate the installation, removal, or update of extensions, especially in headless or large-scale deployment scenarios, bypassing the graphical Extension Manager.
SEE ALSO
libreoffice(1), soffice(1)