Documentation ¶
Overview ¶
Package commands contains an interface which returns common package-manager related commands and the reference implementation for apt and yum-based systems.
Index ¶
Constants ¶
View Source
const ( // AptConfFilePath is the full file path for the proxy settings that are // written by cloud-init and the machine environ worker. AptConfFilePath = "/etc/apt/apt.conf.d/95-juju-proxy-settings" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PackageCommander ¶
type PackageCommander interface { // InstallPrerequisiteCmd returns the command that installs the // prerequisite package for repository-handling operations. InstallPrerequisiteCmd() string // UpdateCmd returns the command to update the local package list. UpdateCmd() string // UpgradeCmd returns the command which issues an upgrade on all packages // with available newer versions. UpgradeCmd() string // InstallCmd returns a *single* command that installs the given package(s). InstallCmd(...string) string // RemoveCmd returns a *single* command that removes the given package(s). RemoveCmd(...string) string // PurgeCmd returns the command that removes the given package(s) along // with any associated config files. PurgeCmd(...string) string // IsInstalledCmd returns the command which determines whether or not a // package is currently installed on the system. IsInstalledCmd(string) string // SearchCmd returns the command that determines whether the given package is // available for installation from the currently configured repositories. SearchCmd(string) string // ListAvailableCmd returns the command which will list all packages // available for installation from the currently configured repositories. // NOTE: includes already installed packages. ListAvailableCmd() string // ListInstalledCmd returns the command which will list all // packages currently installed on the system. ListInstalledCmd() string // ListRepositoriesCmd returns the command that lists all repositories // currently configured on the system. // NOTE: requires the prerequisite package whose installation command // is given by InstallPrerequisiteCmd(). ListRepositoriesCmd() string // AddRepositoryCmd returns the command that adds a repository to the // list of available repositories. // NOTE: requires the prerequisite package whose installation command // is given by InstallPrerequisiteCmd(). AddRepositoryCmd(string) string // RemoveRepositoryCmd returns the command that removes a given // repository from the list of available repositories. // NOTE: requires the prerequisite package whose installation command // is given by InstallPrerequisiteCmd(). RemoveRepositoryCmd(string) string // CleanupCmd returns the command that cleans up all orphaned packages, // left-over files and previously-cached packages. CleanupCmd() string // GetProxyCmd returns the command which outputs the proxies set for the // given package management system. // NOTE: output may require some additional filtering. GetProxyCmd() string // SetMirrorCommands returns the commands to update the package archive and security mirrors. SetMirrorCommands(string, string) []string // ProxyConfigContents returns the format expected by the package manager // for proxy settings which can be written directly to the config file. ProxyConfigContents(proxy.Settings) string // SetProxyCmds returns the commands which write the proxy configuration // to the configuration file of the package manager. SetProxyCmds(proxy.Settings) []string }
PackageCommander is the interface which provides runnable shell commands for various packaging-related operations.
func NewAptPackageCommander ¶
func NewAptPackageCommander() PackageCommander
NewAptPackageCommander returns a PackageCommander for apt-based systems.
func NewSnapPackageCommander ¶
func NewSnapPackageCommander() PackageCommander
NewSnapPackageCommander returns a PackageCommander for snap-based systems.
Click to show internal directories.
Click to hide internal directories.