On 27/11/24 08:50, Jonathan Billings wrote:
On Nov 26, 2024, at 16:30, Stephen Morris<steve.morris...@gmail.com> wrote:
My main concern was, if I use dnf to install a local rpm and afterwards I issue 
sudo dnf clean all to reclaim space (not that at the moment I have a need to be 
concerned about disk space) does that remove knowledge of the rpm having been 
installed? My assumption is no, given that the remote repositories packages are 
rpms anyway, but I didn't know whether remote rpms and local rpms are handled 
differently because of going through a different internal code path and hence 
having different restriction/requirements. Also in the past I have people on 
this mailing list query why I was using RPM rather than, at the time, YUM, and 
that I should be doing the installs through YUM.
The rpm database keeps track of what packages are installed, but it doesn’t 
know general repo information (such as what is not installed), that is part of 
the dnf (formerly yum) database.  Dnf keeps track of where you installed a 
package from, and what happened in that transaction.  People recommend using 
dnf instead of rpm because dnf does all the hard work of identifying all the 
dependencies and downloading anything else that’s needed, and importantly, 
validating the signatures and performing a test transaction before installing.

Neither of these databases are cleared when you run “dnf clean all”. That 
operation only removes all metadata and downloaded package files, things that 
can be re-downloaded on demand.

There are no “remote rpms” vs “local rpms”. You might say an RPM is installed, 
but the file used to install the package is not kept on the system, the files 
are extracted and placed on the filesystem, scripts are run, and the metadata 
is written to the database. After that, dnf deletes the downloaded package 
files from the cache, it is no longer needed.
Thanks Jonathan, until you mentioned that I hadn't thought about the implications of the download then update functionality that DNF does from the remote repositories. I guess that the two processes would use the same code path internally because there is no difference between the downloaded rpm and a pre-existing local rpm being installed, except for the deletion of the downloaded rpm, the local rpm doesn't get deleted.

regards,
Steve




Attachment: OpenPGP_0x1EBE7C07B0F7242C.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

-- 
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to