Skip to content

Instantly share code, notes, and snippets.

@gengwg
Created January 21, 2023 01:06
Show Gist options
  • Save gengwg/9eece444ca1757be307a7a7a32573279 to your computer and use it in GitHub Desktop.
Save gengwg/9eece444ca1757be307a7a7a32573279 to your computer and use it in GitHub Desktop.
Using DNF to Download/Sync with Local Repo

Using DNF to Download/Sync with Local Repo

Command:

# download to current repo
$ dnf reposync --repoid=windscribe --download-metadata -p .
Windscribe                                                                                                                                                     4.6 kB/s | 2.9 kB     00:00    
Windscribe                                                                                                                                                     8.2 kB/s |  11 kB     00:01    
(1/9): windscribe-cli-1.1-1.x64.rpm                                                                                                                            2.9 MB/s | 7.0 MB     00:02    
(2/9): windscribe-cli-1.2-9.amd64.rpm                                                                                                                          3.1 MB/s | 6.8 MB     00:02    
(3/9): windscribe-cli-1.0-1.noarch.rpm                                                                                                                         1.5 MB/s | 7.2 MB     00:04    
(4/9): windscribe-cli-1.1-1.x64.rpm                                                                                                                            1.8 MB/s | 7.0 MB     00:04    
(5/9): windscribe-cli-1.2-9.i386.rpm                                                                                                                           2.0 MB/s | 7.0 MB     00:03    
(6/9): windscribe-cli-1.3-19.amd64.rpm                                                                                                                         1.1 MB/s | 3.8 MB     00:03    
(7/9): windscribe-cli-1.3-19.amd64.rpm                                                                                                                          80 MB/s | 3.9 MB     00:00    
(8/9): windscribe-cli-1.4-52.amd64.rpm                                                                                                                         2.9 MB/s | 6.8 MB     00:02    
(9/9): windscribe-cli-1.4-52.i386.rpm                                                                                                                          2.8 MB/s | 7.0 MB     00:02    

It will create a directory like this:

$ tree 
.
└── windscribe
    ├── repodata
    │   ├── 0b1a3b6d7d2f795caa79dfd2fad3ebfa9c615d7f7af97c22fb8701d1d5dbd422-other.xml.gz
    │   ├── 40cf4bc699d869a5d1e6bfa7dd98555b9c2b5cf9562e24807859b21b579ceb5b-other.sqlite.bz2
    │   ├── 72ff180d0a0556dcb312fc4fef244774fdff0c80db11a75a242ed5d5379dc8e7-primary.xml.gz
    │   ├── cbade663481416a2d0e930767851bc0e9d00fbe674fc7ef589f18e0ab610e68b-filelists.xml.gz
    │   ├── e10018ca5b422f62a58e2523c8344fa75b42d6003ffc24ddccbe648cfa943096-filelists.sqlite.bz2
    │   ├── fcc39eb52faa87a20ad3d7389b956acb9f05fbf59ecb32497a49d8cb1ab5857a-primary.sqlite.bz2
    │   └── repomd.xml
    ├── windscribe-cli-1.0-1.noarch.rpm
    ├── windscribe-cli-1.1-1.x64.rpm
    ├── windscribe-cli-1.2-9.amd64.rpm
    ├── windscribe-cli-1.2-9.i386.rpm
    ├── windscribe-cli-1.3-19.amd64.rpm
    ├── windscribe-cli-1.4-52.amd64.rpm
    └── windscribe-cli-1.4-52.i386.rpm

2 directories, 14 files

Now let's remove some files and confirm it downloads it again:

$ rm windscribe/windscribe-cli-1.2-9.i386.rpm

$ dnf reposync --repoid=windscribe --download-metadata -p .
Windscribe                                                                                                                                                     6.1 kB/s | 2.9 kB     00:00    
Windscribe                                                                                                                                                     7.6 kB/s |  11 kB     00:01    
[SKIPPED] windscribe-cli-1.0-1.noarch.rpm: Already downloaded                                                                                                                                 
[SKIPPED] windscribe-cli-1.1-1.x64.rpm: Already downloaded                                                                                                                                    
[SKIPPED] windscribe-cli-1.1-1.x64.rpm: Already downloaded                                                                                                                                    
[SKIPPED] windscribe-cli-1.2-9.amd64.rpm: Already downloaded                                                                                                                                  
[SKIPPED] windscribe-cli-1.3-19.amd64.rpm: Already downloaded                                                                                                                                 
[SKIPPED] windscribe-cli-1.3-19.amd64.rpm: Already downloaded                                                                                                                                 
[SKIPPED] windscribe-cli-1.4-52.amd64.rpm: Already downloaded                                                                                                                                 
[SKIPPED] windscribe-cli-1.4-52.i386.rpm: Already downloaded                                                                                                                                  
(9/9): windscribe-cli-1.2-9.i386.rpm                                                                                                                           3.6 MB/s | 7.0 MB     00:01    

That's it!

NOTE: must use the --download-metadata. Otherwise it defaults only downloads the RPMs not the metadata.

$ dnf reposync --repoid=windscribe -p .
Windscribe                                                                                                                                                     4.8 kB/s | 2.9 kB     00:00    
(1/9): windscribe-cli-1.1-1.x64.rpm                                                                                                                            2.2 MB/s | 6.9 MB     00:03    
(2/9): windscribe-cli-1.1-1.x64.rpm                                                                                                                            106 MB/s | 7.0 MB     00:00    
(3/9): windscribe-cli-1.0-1.noarch.rpm                                                                                                                         1.9 MB/s | 7.2 MB     00:03    
(4/9): windscribe-cli-1.2-9.amd64.rpm                                                                                                                          2.0 MB/s | 6.8 MB     00:03    
(5/9): windscribe-cli-1.2-9.i386.rpm                                                                                                                           1.7 MB/s | 7.0 MB     00:04    
(6/9): windscribe-cli-1.3-19.amd64.rpm                                                                                                                         528 kB/s | 1.9 MB     00:03    
(7/9): windscribe-cli-1.3-19.amd64.rpm                                                                                                                          63 MB/s | 2.2 MB     00:00    
(8/9): windscribe-cli-1.4-52.amd64.rpm                                                                                                                         2.6 MB/s | 6.8 MB     00:02    
(9/9): windscribe-cli-1.4-52.i386.rpm                                                                                                                          2.7 MB/s | 7.0 MB     00:02    
$ tree windscribe
windscribe
├── windscribe-cli-1.0-1.noarch.rpm
├── windscribe-cli-1.1-1.x64.rpm
├── windscribe-cli-1.2-9.amd64.rpm
├── windscribe-cli-1.2-9.i386.rpm
├── windscribe-cli-1.3-19.amd64.rpm
├── windscribe-cli-1.4-52.amd64.rpm
└── windscribe-cli-1.4-52.i386.rpm

0 directories, 7 files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment