lftp gives mirror: Access failed: 550 Failed to change directory. (/release)

I’m trying to mirror a repository with the command

lftp -c mirror --only-newer --exclude-glob "*00archived*" --exclude-glob "*debuginfo*" --exclude-glob "*debugsource*" --exclude-glob "*/SRPMS/*" --exclude /\.src\.rpm$/ --include /\.rpm$/ ftp://rpm.netlabs.org/release "/run/media/root/DFS1JFS64/Vendors/Netlabs/Netlabsrepo"

followed by a createrepo. I get the error message

mirror: Access failed: 550 Failed to change directory. (/release)

I can view the directory from FF with the URL http://rpm.netlabs.org/release/

What makes you believe that FTP and HTTP present you the same directory structure?

bor@bor-Latitude-E5450:/tmp/wget$ ftp rpm.netlabs.orgConnected to rpm.netlabs.org.
220 Welcome to netlabs.org FTP service.
Name (rpm.netlabs.org:bor): anonymous 
331 Please specify the password.
230-Welcome to the netlabs.org FTP server
230-Have fun browsing & don't abuse the bandwith :-)
230-the netlabs.org crew
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode on.
ftp> ls -l
227 Entering Passive Mode (213,238,45,91,255,5).
150 Here comes the directory listing.
drwxrwsr-x    7 ftp      ftp            63 May 08 19:33 incoming
drwxr-xr-x   94 ftp      ftp            99 Nov 21  2016 pub
226 Directory send OK.

What makes you believe that I believe that? What I believe is that a directory presented by HTTP exists, and that therefor the FTP server should see it. I don’t expect HTTP to present all directories visible to FTP.

That’s not how it works… ftp server and http server are two different applications running, as indicated by user arvidjaar is whatever your look for is under the pub directory;


So you need to modify as required to get to the files your wanting.

So it looks like the ftp server doesn’t have rpms…?

Anyway, just use rmt-server, it will bring in openSUSE and third party repositories?

Information for package rmt-server:
Repository     : Main Update Repository                                  
Name           : rmt-server                                              
Version        : 2.4.1-lp151.2.6.1                                       
Arch           : x86_64                                                  
Vendor         : openSUSE                                                
Installed Size : 12.2 MiB                                                
Installed      : No                                                      
Status         : not installed                                           
Source package : rmt-server-2.4.1-lp151.2.6.1.src                        
Summary        : Repository mirroring tool and registration proxy for SCC
Description    :                                                         
    This package provides a mirroring tool for RPM repositories and a registration
    proxy for the SUSE Customer Center (SCC).

    As registration is required for SUSE products, the registration proxy allows
    one to register SUSE products within a private network.

    It's possible to mirror SUSE, as well as openSUSE and other RPM repositories.
    SCC organization credentials are required to synchronize SUSE products,
    subscription information, and to mirror SUSE repositories.

    RMT supersedes the main functionality of SMT in SLES 15.

As described,
The subdirectory /release is not accessible using FTP.
Although it might be a file permissions issue, I’m more inclined to believe that /release is likely an FTP virtual directory (ie mapped specially by the FTP application).

This should be easy(?) to resolve using lftp… Simple specify the http/https protocol instead of the ftp protocol and everything should “just work.”


The proper questions would have been “What makes you think that path-absolute is relative to the root directory?”. There seem to be permission issues as well, but I should have changed the path to include the pub directory when I changed the scheme to FTP.

Will rmt-server work for repositories not associated with Linux, much less openSUSE?

Yes, well it needs to be running on openSUSE (I’m sure it could be adapted for other distributions).


I’m running LEAP 15.1, but yast2 rmt asks for credentials and I don’t have an account.

You’re probably going to have to be more descriptive what credentials are being asked…
Is it to access the remote repository?
I haven’t run this before, sometimes apps that are built to integrate with SLES ask for SLES licensing, can that be it?
There might be a clue in the “Manual Installation and Configuration” section of the github page


That section talks about credentials for the SUSE Customer Center.(SCC), which I don’t have.

Well you can always create an account, go grab a free one year developer subscription to SLES and have a play with that?

I’m hesitant to sign up for a trial account unless I expect to renew it. Meanwhile, this seems to have worked:

lftp -c mirror --only-newer --verbose=3 --include-glob="*.rpm" --exclude-glob=00Archived/ --exclude-glob=archived/ --exclude-glob=debuginfo/ --exclude-glob=debugsource/ --exclude-glob=SRPMS/ --exclude-glob="*-debug-*" --exclude-glob="*-debuginfo-*" --exclude-glob="*-debugsource-*" --exclude-glob="*.src.rpm" http://repos.arcanoae.com/release "/run/media/root/DFS1JFS64/Vendors/ArcaNoae/repos/ArcaOS"/