RPM Package Manager (RPM, originally Red Hat Package Manager), is a free open-source package management system used by many Linux distributions including Red Hat and CentOS. As of ProGet v5.2.25, RPM packages can be hosted and installed from ProGet.
In order to actually install packages from ProGet, each client must perform the following steps:
Yum stores its repository configuration in .repo
files located in /etc/yum.repos.d/
. To register a ProGet feed as a repository, create a new <RepoName>.repo
file in that directory with content:
[<RepoName>]
name=<RepoName>
baseurl=http://<ProGet>/rpm/<FeedName>/
gpgcheck=0
enabled=1
Note that <RepoName>
can be anything, but we recommend using the ProGet feed name for clarity.
To verify that yum is able to download package metadata, execute:
yum repolist all
If the configuration is correct, this will list all repos (including the ProGet feed registered in step 1).
RPM packages are installed using yum. To install a package hosted by ProGet, use the command:
yum install <package-name>
To learn how to create an RPM package, visit a resource such as a simplified guide to creating your first RPM on the Red Hat Developer Blog.
yum
does not support uploading a package, so ProGet offers a few alternative methods to publish RPM packages:
On the feed overview page, select "Add Package" and "Upload Package" to upload a .rpm
file directly from your browser.
To push an RPM package via HTTP, issue a PUT or POST request with the package file as the content to: http://{proget-server}/rpm/{feed-name}/
curl http://{proget-server}/rpm/{feed-name}/ --user <user>:<password> --upload-file {my-package}.rpm
wget http://{proget-server}/rpm/{feed-name}/ --http-user <user> --http-password <password> --method POST --body-file {my-package}.rpm
Invoke-WebRequest http://{proget-server}/rpm/{feed-name}/ -Credential [System.Net.NetworkCredential]::new('<user>', '<password>') -Method PUT -InFile {my-package}.rpm
Is this documentation incorrect or incomplete? Help us by contributing!
This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.