fabric-package-management¶
As the name implies, fabric-package-management is a collection of Fabric tasks for package management.
Code Documentaion:¶
fabric_package_management package¶
apt module¶
-
fabric_package_management.apt.
autoclean
(use_sudo=True, verbose=True)[source]¶ Like clean, but only removes package files that can no longer be downloaded.
Parameters: - use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
-
fabric_package_management.apt.
autoremove
(assume_yes=True, use_sudo=True, verbose=True)[source]¶ Parameters: - assume_yes (bool) – If True, Apt will assume “yes” as answer to all prompts and run non-interactively. (Default: True)
- use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
-
fabric_package_management.apt.
build_dep
(package, assume_yes=True, use_sudo=True, verbose=True)[source]¶ Install the build dependencies for a given source package.
Parameters: - package (str) – The package whose build dependencies will be installed.
- assume_yes (bool) – If True, Apt will assume “yes” as answer to all prompts and run non-interactively. (Default: True)
- use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
-
fabric_package_management.apt.
clean
(use_sudo=True, verbose=True)[source]¶ Clears out retrieved package files.
Parameters: - use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
-
fabric_package_management.apt.
dist_upgrade
(assume_yes=True, use_sudo=True, verbose=True)[source]¶ Same as upgrade, but Apt will attempt to intelligently handle changing dependencies, installing new dependencies as needed.
Parameters: - assume_yes (bool) – If True, Apt will assume “yes” as answer to all prompts and run non-interactively. (Default: True)
- use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
-
fabric_package_management.apt.
install
(packages, assume_yes=True, no_install_recommends=False, install_suggests=False, use_sudo=True, verbose=True, force_yes=False)[source]¶ Install packages on the remote host via Apt.
Parameters: - packages (list or str) – The packages to install.
- no_install_recommends (bool) – Apt will not consider recommended packages as a dependencies for installing. (Default: True)
- install_suggests (bool) – Apt will consider suggested packages as a dependency for installing. (Default: False)
- assume_yes (bool) – If True, Apt will assume “yes” as answer to all prompts and run non-interactively. (Default: True)
- use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
- force_yes (bool) – add the –force-yes apt-get option. (Default: False)
-
fabric_package_management.apt.
installed
(package, use_sudo=True)[source]¶ Check if a package is installed on the system.
Returns True if installed, False if it is not.
Parameters: - package (str) – The package to check if installed.
- use_sudo (bool) – If True, will use sudo instead of run. (Default: False)
-
fabric_package_management.apt.
reboot_required
(use_sudo=False, verbose=False)[source]¶ Check if a reboot is required after intalling updates.
Returns True if a reboot is required, False if not.
Parameters: - use_sudo (bool) – If True, will use sudo instead of run. (Default: False)
- verbose (bool) – If False, hide all output. (Default: False)
-
fabric_package_management.apt.
remove
(packages, purge=False, assume_yes=True, use_sudo=True, verbose=True)[source]¶ Remove a package or list of packages from the remote host.
Parameters: - packages (list or str) – The packages to install.
- purge (bool) – If True any configuration files are deleted too. (Default: False)
- assume_yes (bool) – If True, Apt will assume “yes” as answer to all prompts and run non-interactively. (Default: True)
- use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
-
fabric_package_management.apt.
source
(package, download_only=False, use_sudo=False, verbose=True)[source]¶ Download a given source package.
Parameters: - package (str) – The source package to download.
- download_only (bool) – If True, the source package will not be unpacked. (Default: False)
- use_sudo (bool) – If True, will use sudo instead of run. (Default: False)
- verbose (bool) – If False, hide all output. (Default: True)
-
fabric_package_management.apt.
update
(use_sudo=True, verbose=True, source_name=None)[source]¶ Update Apt’s package index files on the remote host.
Parameters: - use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
- source_name (str) – If set, update only the sources defined in that sources.list.d file.
-
fabric_package_management.apt.
upgrade
(assume_yes=True, use_sudo=True, verbose=True)[source]¶ Install the newest versions of all packages on the remote host.
Parameters: - assume_yes (bool) – If True, Apt will assume “yes” as answer to all prompts and run non-interactively. (Default: True)
- use_sudo (bool) – If True, will use sudo instead of run. (Default: True)
- verbose (bool) – If False, hide all output. (Default: True)
Example¶
#!/usr/bin/python
from fabric.api import task, prompt, env
from fabric.context_managers import cd
from fabric.operations import reboot
from fabric_package_managment import apt
@task()
def run():
apt.update()
apt.upgrade()
apt.install(['bpython', 'git'])
with cd('/tmp'):
apt.source("python-libcloud", download_only=True)
apt.remove('bpython', purge=True)
apt.autoremove()
apt.autoclean()
if apt.reboot_required():
prompt("Reboot required. Initiate now?\nYes/No?",
"response",
default="No",
validate=r'yes|Yes|YES|no|No|NO')
if env.response.lower() == "yes":
reboot()