dnf operations¶
- class reemote.operations.dnf.update.Update(guard: bool = True, sudo: bool = False, su: bool = False)[source]¶
Bases:
Operation_updateA class to manage package update operations on a remote system using dnf.
This class provides functionality to update package lists on Fedora/RHEL systems using the dnf package manager. It allows configuration of execution privileges and safety guards for package update operations.
- guard¶
If False the commands will not be executed.
- Type:
bool
- sudo¶
If True, the commands will be executed with [sudo](file:///home/kim/reemote/reemote/command.py#L11-L11) privileges.
- Type:
bool
- su¶
If True, the commands will be executed with [su](file:///home/kim/reemote/reemote/command.py#L12-L12) privileges.
- Type:
bool
Examples:
# Update package lists on all hosts r = yield Update() # Check if the operation was successful if r.cp.return_code == 0: print("Package lists updated successfully")
- Usage:
This class is designed to be used in a generator-based workflow where commands are yielded for execution.
Notes
Uses dnf update command internally for updating package lists.
Inherits from [Operation_update](file:///home/kim/reemote/reemote/operation_update.py#L0-L63) base class.
This operation only updates the package lists but does not upgrade installed packages.
- class reemote.operations.dnf.upgrade.Upgrade(guard: bool = True, sudo: bool = False, su: bool = False)[source]¶
Bases:
Operation_upgradeA class to manage package upgrade operations on a remote system using dnf.
This class provides functionality to upgrade installed packages on Fedora/RHEL systems using the dnf package manager. It allows configuration of execution privileges and safety guards for package upgrade operations.
- guard¶
If False the commands will not be executed.
- Type:
bool
- sudo¶
If True, the commands will be executed with [sudo](file:///home/kim/reemote/reemote/command.py#L11-L11) privileges.
- Type:
bool
- su¶
If True, the commands will be executed with [su](file:///home/kim/reemote/reemote/command.py#L12-L12) privileges.
- Type:
bool
Examples:
# Upgrade installed packages on all hosts r = yield Upgrade() # Check if the operation was successful if r.cp.return_code == 0: print("Packages upgraded successfully")
- Usage:
This class is designed to be used in a generator-based workflow where commands are yielded for execution.
Notes
Uses dnf upgrade command internally for upgrading packages.
Inherits from [Operation_upgrade](file:///home/kim/reemote/reemote/operation_upgrade.py#L0-L58) base class.
This operation upgrades installed packages to their latest versions.
- class reemote.operations.dnf.packages.Packages(packages: List[str], present: bool, guard: bool = True, sudo: bool = False, su: bool = False)[source]¶
Bases:
Operation_packagesA class to manage package operations on a remote system using dnf.
This class provides functionality to install or remove packages on Fedora/RHEL systems using the dnf package manager. It allows configuration of execution privileges and safety guards for package operations.
- packages¶
List of package names to install or remove.
- Type:
List[str]
- present¶
If True, packages will be installed; if False, packages will be removed.
- Type:
bool
- guard¶
If False the commands will not be executed.
- Type:
bool
- sudo¶
If True, the commands will be executed with [sudo](file:///home/kim/reemote/reemote/command.py#L11-L11) privileges.
- Type:
bool
- su¶
If True, the commands will be executed with [su](file:///home/kim/reemote/reemote/command.py#L12-L12) privileges.
- Type:
bool
Examples:
# Install packages on all hosts r = yield Packages(["nginx", "curl"], present=True) # Check if the operation was successful if r.cp.return_code == 0: print("Packages installed successfully") # Remove packages on all hosts r = yield Packages(["nginx", "curl"], present=False) # Check if the operation was successful if r.cp.return_code == 0: print("Packages removed successfully")
- Usage:
This class is designed to be used in a generator-based workflow where commands are yielded for execution.
Notes
Commands are constructed based on the [present](file:///home/kim/reemote/reemote/operation_packages.py#L30-L30) flag to determine whether to install or remove packages.
Uses dnf install and dnf remove commands internally for package management.
Inherits from [Operation_packages](file:///home/kim/reemote/reemote/operation_packages.py#L4-L89) base class.
- get_packages()[source]¶
Retrieve the list of installed packages. Subclasses must implement this method.