RPMI is a simple graphical utility, developed in Rust using EGUI, designed for installing, upgrading, and removing RPM packages on Linux operating systems. It provides an intuitive interface for interacting with packages, using dnf as its backend.
- Install RPM Packages: Easily install new RPM packages.
- Upgrade RPM Packages: Upgrade existing packages to newer versions.
- Remove RPM Packages: Remove unwanted packages from your system.
- Graphical User Interface: Intuitive user interface built with EGUI.
- Detailed Package Information: View package name, version, architecture, size, summary, URL, and description before installation.
- Process Logging: Monitor the progress of
dnfoperations in real-time.
You can install egui_rpm_installer directly from crates.io using cargo:
cargo install egui_rpm_installerFor Fedora and RHEL-based systems, you can install RPMI from the COPR repository:
sudo dnf copr enable arabianq/rpmi
sudo dnf install rpmiYou can download pre-built binaries for various platforms from the GitHub Releases page.
To build and run RPMI, you will need:
- Rust (version 1.70 or higher)
dnf(for package management)pkexec(for executing commands with elevated privileges)
Clone the repository and build the project:
git clone https://github.com/arabianq/rpmi.git
cd rpmi
cargo build --releaseThe executable will be located at target/release/rpmi.
You can run RPMI by passing the path to one or more RPM files:
./target/release/rpmi /path/to/your/package.rpmIf you pass multiple files, a separate RPMI instance will be launched for each.
- Launch: Start RPMI by specifying the path to an RPM file.
- Package Information: The RPMI window will display detailed information about the package.
- Action: Depending on the package's state (new, older version, newer version of installed), you will be offered "Install", "Upgrade", or "Remove" buttons.
- Execute: Click the appropriate button to begin the process. The execution log will be displayed in the window.
- Completion: After the process is complete, you can close the application.
This project is distributed under the MIT License. See the LICENSE file for details.
