ftp Package
The ftp package in AL2 is no longer available in Amazon Linux starting with AL2023. This decision was made as part of our ongoing commitment to security, maintainability, and modern software development practices. As part of (or before) migrating to AL2023, we recommend migrating any use of the legacy ftp package to one of its alternatives.
Background
The legacy ftp package has not been actively maintained upstream for many years. The last significant update to the source code occurred in the early 2000s, and the original source repository is no longer available. While some Linux distributions have carried patches for security vulnerabilities, the codebase remains largely unmaintained.
Recommended Alternatives
AL2023 provides several modern, actively maintained alternatives for FTP functionality:
lftp(available in AL2 and AL2023)-
A sophisticated file transfer program supporting FTP, HTTP, SFTP, and other protocols. It offers more features than the traditional
ftpclient and is actively maintained.Install with: dnf install lftp
curl(available in AL2 and AL2023)-
A versatile command-line tool for transferring data with URLs, supporting FTP, FTPS, HTTP, HTTPS, and many other protocols.
Available by default in AL2023 via the
curl-minimalpackage. For more extensive protocol support, you can optionally upgrade tocurl-fullusing dnf swap curl-minimal curl-full. wget(available in AL2 and AL2023)-
A non-interactive command-line utility for downloading files from the web, supporting HTTP, HTTPS, and FTP protocols.
Install with: dnf install wget (not installed by default in all AL2023 images)
sftp(available in AL2 and AL2023)-
A secure file transfer protocol that operates over SSH, providing encrypted file transfers.
Available by default as part of the OpenSSH package.
Migration Considerations
If your applications or scripts depend on the legacy ftp client, consider the following migration approaches:
-
Update scripts to use modern alternatives: Modify your scripts to use
lftp,curl,wget, orsftpinstead of the legacyftpclient. -
Review package dependencies: Some applications may list the
ftppackage as a dependency in their package metadata, even though they have long since migrated to using modern protocols internally. In these cases, the application may work correctly on AL2023 despite the lack of/usr/bin/ftpfrom theftppackage. Review your application's actual requirements rather than relying solely on stated dependencies. -
Update application dependencies: For applications you maintain that still declare a dependency on the
ftppackage but don't actually use it, update the package metadata to remove this unnecessary dependency.
Security Considerations
The FTP protocol transmits data, including authentication credentials, in plaintext. For security-sensitive applications, we strongly recommend using encrypted alternatives such as SFTP or HTTPS which are supported by the recommended alternative tools.