

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# `ftp` 套件
<a name="ftp-package-exclusion"></a>

從 AL2023 開始，Amazon Linux 不再提供 AL2 中的`ftp`套件。此決策是我們對安全、可維護性和現代軟體開發實務的持續承諾的一部分。作為遷移至 AL2023 的一部分 （或之前），我們建議將舊版`ftp`套件的任何使用遷移至其替代方案之一。

## 背景介紹
<a name="ftp-package-background"></a>

傳統`ftp`套件在上游並未主動維護多年。上次對原始程式碼的重大更新發生在 2000 年代早期，而原始來源儲存庫已不再可用。雖然某些 Linux 發行版本已針對安全性漏洞實作修補程式，但程式碼庫在很大程度上仍無法維護。

## 建議的替代方案
<a name="ftp-package-alternatives"></a>

AL2023 為 FTP 功能提供數種現代且積極維護的替代方案：

`lftp` （適用於 AL2 和 AL2023)  
支援 FTP、HTTP、SFTP 和其他通訊協定的複雜檔案傳輸程式。它提供比傳統`ftp`用戶端更多的功能，並且會主動維護。  
使用 進行安裝： **dnf install lftp**

`curl` （適用於 AL2 和 AL2023)  
使用 URLs 傳輸資料的多用途命令列工具，支援 FTP、FTPS、HTTP、HTTPS 和許多其他通訊協定。  
根據預設，AL2023 會透過 `curl-minimal`套件提供。如需更廣泛的通訊協定支援，您可以選擇`curl-full`使用 升級至 **dnf swap curl-minimal curl-full**。

`wget` （適用於 AL2 和 AL2023)  
非互動式命令列公用程式，用於從 Web 下載檔案，並支援 HTTP、HTTPS 和 FTP 通訊協定。  
使用 進行安裝：**dnf install wget**（並非所有 AL2023 映像預設安裝）

`sftp` （適用於 AL2 和 AL2023)  
透過 SSH 操作的安全檔案傳輸通訊協定，提供加密的檔案傳輸。  
根據預設，作為 OpenSSH 套件的一部分提供。

## 遷移考量事項
<a name="ftp-package-migration"></a>

如果您的應用程式或指令碼取決於舊版`ftp`用戶端，請考慮下列遷移方法：

1. **更新指令碼以使用現代替代方案**：修改指令碼以使用 `lftp`、`wget`、 `curl`或 ，`sftp`而非舊版`ftp`用戶端。

1. **檢閱套件相依性**：某些應用程式可能會在其`ftp`套件中繼資料中將套件列為相依性，即使自遷移至內部使用現代通訊協定以來已很久。在這些情況下，即使`ftp`套件`/usr/bin/ftp`缺少 ，應用程式仍可在 AL2023 上正常運作。檢閱應用程式的實際需求，而不是僅依賴指定的相依性。

1. **更新應用程式相依性**：對於您維護但仍宣告對`ftp`套件的相依性，但未實際使用的應用程式，請更新套件中繼資料以移除此不必要的相依性。

## 安全考量
<a name="ftp-package-security"></a>

FTP 通訊協定會以純文字傳輸資料，包括身分驗證憑證。對於對安全敏感的應用程式，我們強烈建議使用建議的替代工具支援的加密替代方案，例如 SFTP 或 HTTPS。