Last active
May 12, 2026 14:00
-
-
Save jfbvm/e1f48864977676f1122202666ad66a2b to your computer and use it in GitHub Desktop.
Update curl to 8.20.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Due to longstanding issues with **Debian**, **Ubuntu**, and related Ubuntu derivatives (Linux Mint, Pop!_OS etc) shipping outdated, broken, or insecure versions of curl, users are often left exposed to critical bugs or missing features — with no timely resolution provided by their distribution. | |
| The only exception to this is **Debian**, which offers a supported upgrade path via backports. | |
| To help address this, @Cyber5imon [has shared](https://github.com/abraunegg/onedrive/issues/2991) a working script that manually upgrades curl to version v8.11.0. The details below have been updated to the latest 'curl' release: | |
| ```bash | |
| #!/bin/bash | |
| # Upgrade curl to v8.20.0 | |
| sudo apt-get install -y nghttp2 libnghttp2-dev libssl-dev libpsl-dev build-essential wget | |
| wget https://curl.se/download/curl-8.20.0.tar.xz | |
| tar -xvf curl-8.20.0.tar.xz | |
| rm curl-8.20.0.tar.xz | |
| cd curl-8.20.0 | |
| ./configure --prefix=/usr/local --with-ssl --with-nghttp2 --enable-versioned-symbols | |
| make | |
| sudo make install | |
| sudo ldconfig | |
| cd .. | |
| rm -r curl-8.20.0 | |
| curl --version | |
| ``` | |
| While outcomes may vary depending on your environment, this approach has been tested and verified by community users on both Debian and Ubuntu. | |
| > [!IMPORTANT] | |
| > If you choose to manually build and install curl, you are fully responsible for maintaining it going forward. This includes staying on top of future security updates and rebuilding as needed. | |
| > | |
| > If this maintenance burden is unacceptable, you should: | |
| > * Complain loudly to your distribution to provide timely updates to curl, OR | |
| > * Switch to a more actively maintained distribution that delivers timely security and feature updates — such as: | |
| > * Linux Mint Debian Edition | |
| > * Arch Linux | |
| > * Manjaro | |
| > * Fedora | |
| > * openSUSE Tumbleweed | |
| ### Instructions for Debian 12 and Linux Mint Debian Edition 6 (LMDE6) | |
| If you are using Debian 12 or Linux Mint Debian Edition 6 (LMDE6), a supported `curl` upgrade path is available: | |
| * Ensure your system has Debian 12 Backports enabled: | |
| * https://backports.debian.org/Instructions/ | |
| * Install the latest `curl` and `libcurl` packages using: | |
| ``` | |
| sudo apt-get install -t bookworm-backports -y curl libcurl4 | |
| ``` | |
| This is the preferred method on Debian 12 and derivatives, as it avoids the need for manual compilation while still delivering an up-to-date version of `curl`. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment