Unable to Use apt for Package Installation on Fedora

As pointed out by some, a package exists in Fedora Linux, but solely for the convenience of developers who are building Debian packages from their Fedora Linux systems. It should be noted that apt in Fedora is intended to download packages from Debian distributions, not to install them. Solution 3:


Question:

Upon attempting to install a package on Fedora, such as

sudo apt-get upgrade

, an error message is displayed.

Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libc6
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
3 not fully installed or removed.
Need to get 0 B/2,814 kB of archives.
After this operation, 13.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
dpkg: warning: files list file for package 'gcc-10-base:amd64' missing; assuming package has no files currently installed
(Reading database ... 0 files and directories currently installed.)
Preparing to unpack .../libc6_2.31-13+deb11u2_amd64.deb ...
dpkg (subprocess): cannot set security execution context for maintainer script: Invalid argument
dpkg: error processing archive /var/cache/apt/archives/libc6_2.31-13+deb11u2_amd64.deb (--unpack):
 new libc6:amd64 package pre-installation script subprocess returned error exit status 2
dpkg (subprocess): cannot set security execution context for maintainer script: Invalid argument
dpkg: error while cleaning up:
 new libc6:amd64 package post-removal script subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.31-13+deb11u2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


Solution 1:


If you encounter a faulty APT-RPM, it is recommended to switch to

dnf

as a replacement for

apt

.

What is the reason for APT’s presence in the Fedora repositories according to Fedora documentation?

Warning

On Fedora, DNF must be used instead of APT to perform
install packages
.

Before Fedora 32, the
apt command
utilized APT-RPM, which essentially converted
apt commands
to be compatible with Fedora’s RPM package management system.

Due to being unmaintained, broken and insecure, APT-RPM has been abandoned in favor of Debian APT software. As APT only handles .deb packages, the apt command can no longer manage Fedora packages. Its primary function now serves as a tool for individuals who are creating packages for Debian-based distributions on a Fedora system.


Solution 2:


The “APT” toolset originates from Debian, while Fedora employs a corresponding tool called “DNF” (formerly known as “Yum”). While there are pros and cons to each, they are essentially interchangeable for basic functionality at the user level. For those seeking a quick reference, we have compiled a cheat-sheet titled APT command equivalents on Fedora with DNF.


apt upgrade



dnf upgrade


apt install



dnf install


apt remove



dnf remove


apt search



dnf search

When dealing with packages in the Debian universe, it’s important to be aware that the names of development libraries, utilities, and tools may not always match. For instance, what you know as

sudo apt install apcalc

in Debian may be identified as

sudo dnf install calc

in
Fedora Linux
.

As pointed out by some, a

apt

package is available on Fedora Linux. However, this package is primarily intended for developers who are creating Debian packages from their Fedora Linux systems, and is not intended for regular end-user consumption.


Solution 3:

The purpose of apt in Fedora is to enable the downloading of packages from Debian distributions, rather than installing them. Apt only accesses Debian repositories, not Fedora ones. Therefore, if you have a project that exclusively utilizes Debian packages, downloading them on Fedora is simple. For instance, applications such as Jitsi, Leap, Riseup-VPN_0.19.11_amd64.deb, Signal, or Slack can all be easily downloaded.

An instance of this would be the signal application downloadable for Linux from the website https://signal.org/download/linux/.

as root:

  1. Add the signing key for the public software approved by the authorities.
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg
cat signal-desktop-keyring.gpg | tee -a /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null

  1. Include the repository in the list of your repositories.
 echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' |
 tee -a /etc/apt/sources.list.d/signal-xenial.list
  1. Obtain the
    signal-desktop
    file by downloading _****.x_amd64.deb.
apt update 
apt-get download signal-desktop 

Warning wind up the next commands for other things may damage the system and make it unrecoverable .

  1. To quickly install it on Fedora, you can opt to skip the dependency check, although it is not recommended or official. This method is considered a significant hack but worked well for me.
 dpkg --force-depends -i signal-desktop_5.23.0_amd64.deb 
 desktop-file-install ./usr/share/applications/signal-desktop.desktop

Frequently Asked Questions

Posted in Uncategorized