How To Configure Software Repositories In Fedora

0 views
Skip to first unread message
Message has been deleted

Phyllis Sterlin

unread,
Jul 9, 2024, 4:58:16 AM7/9/24
to jobthterssaptemp

Your Fedora system gets its software from repositories, or repos. Each of these repos can have any number of software apps available for you to install and use. The official Fedora repos contain thousands of free and open source apps. Some repos may have free or proprietary apps. Some only contain one. You may want to configure software repositories at certain times.

Perhaps you install, update, or remove a lot of software using different setups. In this case, things may get confusing. You might not know which software is installed from what repos. If that happens, try this.

How to Configure Software Repositories in Fedora


DOWNLOAD https://urluso.com/2yKFsx



Paul W. Frields has been a Linux user and enthusiast since 1997, and joined the Fedora Project in 2003, shortly after launch. He was a founding member of the Fedora Project Board, and has worked on docsc, websites, advocacy, toolchain, and package maintenance. He joined Red Hat as Fedora Project Leader from February 2008 to July 2010, and remains with Red Hat as an engineering manager. He currently lives with his wife and two children in Virginia where he also runs a recording studio (5thdom.com).

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions

For my day-to-day development work I currently have four separate physical servers, one old x86_64 server for file storage, two new x86_64 servers and one new aarch64 server. Even with a fast fibre internet connection, downloading the never ending stream of Fedora RPM updates takes non-negligible time. I also have cause to install distro chroots on a reasonably frequent basis for testing various things related to containers & virtualization, which involves yet more RPM downloads. So I decided it was time to investigate the setup of a local caching proxy for Fedora YUM repositories. I could have figured this out myself, but I fortunately knew that Matthew Booth had already setup exactly the kind of system I wanted, and he shared the necessary config steps that are outlined below.

The general idea is that we will reconfigure the YUM repository location on each machine needing updates to point to a local apache server, instead of the Fedora mirror manager metalink locations. This apache server will be setup using mod_proxy to rewrite requests to point to the offsite upstream download location, but will also be told to use a local squid server to access the remote site, thereby caching the downloads.

A new drop-in config file addition for apache is created with two mod_proxy directives. The ProxyPass directive tells apache that any requests for * should be translated into requests to the remote site *. The ProxyRemote directive tells apache that it should not make direct connections to the remote site, but instead use the local proxy server running on port 3128. IOW, requests that would go to dl.fedoraproject.org will instead get sent to the local squid server.

Your Fedora distribution obtains its software from repositories and each of these repositories comes with number of free and proprietary software applications available for you to install. The official Fedora repositories have thousands of free and open source applications.

You can list packages from a specified repository, for instance fedora, by running the following command. It will list all packages available and installed from the repository specified.

Before you add a new repository to your Fedora system, you need to define it by either adding a [repository] section to the /etc/dnf/dnf.conf file, or to a .repo file in the /etc/yum.repos.d/ directory. Most developers or package maintainers provide DNF repositories with their own .repo file.

Then add the [repository] section in the file and save it. If you observe carefully, in the repository configuration shown in the image, it is not enabled as indicated by the parameter (enabled=0); we changed this for demonstration purposes.

I am trying to install RStudio on fedora 32. RStudio uses the SHA-256 key, besides in the discussion above for editing yum.repos.d file to add the repository section, where did you get the baseurl, gpgkey and sslcacert links? Is there a way we can find out for the repositories we are adding?

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

You can download the RPM package,install it manually, and manageupgrades completely manually. This is useful in situations such as installingDocker on air-gapped systems with no access to the internet.

If you can't use Docker's rpm repository to install Docker Engine, you candownload the .rpm file for your release and install it manually. You need todownload a new file each time you want to upgrade Docker Engine.

Docker provides a convenience script at to install Docker intodevelopment environments non-interactively. The convenience script isn'trecommended for production environments, but it's useful for creating aprovisioning script tailored to your needs. Also refer to theinstall using the repository steps to learnabout installation steps to install using the package repository. The source codefor the script is open source, and you can find it in thedocker-install repository on GitHub.

You have now successfully installed and started Docker Engine. The dockerservice starts automatically on Debian based distributions. On RPM baseddistributions, such as CentOS, Fedora, RHEL or SLES, you need to start itmanually using the appropriate systemctl or service command. As the messageindicates, non-root users can't run Docker commands by default.

The installation script requires root or sudo privileges to install anduse Docker. If you want to grant non-root users access to Docker, refer to thepost-installation steps for Linux.You can also install Docker without root privileges, or configured to run inrootless mode. For instructions on running Docker in rootless mode, refer torun the Docker daemon as a non-root user (rootless mode).

Docker also provides a convenience script at to install pre-releases ofDocker on Linux. This script is equal to the script at get.docker.com, butconfigures your package manager to use the test channel of the Docker packagerepository. The test channel includes both stable and pre-releases (betaversions, release-candidates) of Docker. Use this script to get early access tonew releases, and to evaluate them in a testing environment before they'rereleased as stable.

If you installed Docker using the convenience script, you should upgrade Dockerusing your package manager directly. There's no advantage to re-running theconvenience script. Re-running it can cause issues if it attempts to re-installrepositories which already exist on the host machine.

There are several repositories that are provided by Rocky Linux and may differ between major releases. There are also community approved repositories as well, installable typically from the extras repository.

Please read man 5 dnf.conf, in particular the section of enabled under the REPO section. A line containing enabled=0 or enabled=1 will disable or enable a repository. This can also be modified using dnf config-manager --set-enabled or --set-disabled. When this is done, it is recommended to run dnf clean all.

During a Rocky Linux minor release lifecycle as a package receives updates, the previous version will coexist in the repositories to allow a user to downgrade in case of a regression or other use cases (such as security only updates). Upon new minor release, all previous updates/versions that are not the latest are not carried over.

You may notice that on mirrors or our primary download location that there are X and X.Y directories. Rocky Linux sets the releasever dnf variable to the major version (e.g., 8, 9) rather than a minor version (8.6, 9.0, and so on). This effectively means that it will ask the mirror manager or configured baseurl for that version, which will always point to the latest available release at a given time. This helps simplify the user experience when installing software and updating systems throughout the life of a release.

In the event a new release is available, the symlink is changed to point to the new directory, and mirror manager also undergoes changes to accomodate the new release, which should be transparent to most users.

CRB is "Code Ready Builder" - PowerTools was a carryover from CentOS, which is still the equivalent of CRB in RHEL. crb will be the repository name going forward in Rocky Linux and other derivatives starting with version 9. Rocky Linux 8 matches CentOS's use of PowerTools in order to be as compatible as possible with what users expect from a rebuild of version 8.

In older major versions, it was normal to have an "updates" repo. Fedora for example still follows this. However, in EL8, EL9, and likely so on, there is no "updates" repository. This means all updates happen as is in the same repository. So if bash receives an update, it will land in baseos as there is no updates repository.

This repository contains packages that provide some additional functionality to Rocky without breaking upstream compatibility. For example, rpaste used for sending logs, configuration, or system information to our paste bin.

The devel (development) repository are packages that are not normally provided in the base nor extra repositories for the purposes of providing dependencies or devel packages that may not be provided by upstream. As such, it is treated as a "buildroot" repository, as this repository may contain all packages that are provided for Rocky Linux. Additionally, the i686 architecture is provided for the cases of building multilib, as it is not a primary architecture released.

7fc3f7cf58
Reply all
Reply to author
Forward
0 new messages