---
name: "netselect-apt"
section: "1"
platform: "linux"
package: "netselect-apt"
version: "0.3.ds1-31"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/netselect-apt"
---

# netselect-apt(1)

create sources.list for the fastest Debian mirrors

## NAME

netselect-apt - create sources.list for the fastest Debian mirrors

## SYNOPSIS

**netselect-apt** \[*OPTIONS*\] \[*stable*\|*testing*\|*unstable*\|*experimental*\|*release\_codename*\|*sid*\]

## DESCRIPTION

**netselect-apt** automatically creates a *sources.list* file for using with **apt** for the specified distribution by downloading the list of Debian mirrors using **wget** choosing the fastest servers using **netselect**, and testing the valid servers using **curl** (if available). The output file is written to *OUTFILE*.

The list of fastest servers is determined by checking through  **netselect**, which servers responder faster to ICMP queries. In order to determine if the servers are valid a connectiong using the specificied protocol (HTTP or FTP) is done using **curl**.

If  **netselect** is not installed setuid, then  **netselect-apt** needs to run as an administrator user (i.e. root). This is only required because the network probes done by  **netselect** requires these permissions. No changes are done to the system.

If **-i** *INFILE* is passed **netselect-apt** uses that rather than downloading another copy to a temporary file. The file will be downloaded from http://www.debian.org/mirror/mirrors\_full

## OPTIONS

- *stable*\|*testing*\|*unstable*\|*experimental*\|*release\_codename*\|*sid*

  Specify which distribution of Debian to use.  By default *stable* is used.

- **-a, --arch** *ARCH*

  Use mirrors containing *ARCH*. By default the architecture of the current machine is used as reported by **dpkg**

- **-s, --sources**

  While generating *OUTFILE* include also deb-src lines to use with \`\`apt-get source'' to obtain Debian source packages.

- **-i, --infile** *INFILE*

  Use *INFILE* instead of downloading the mirror list to a temporary file. The file must be in the same format as mirrors\_full.

- **-o, --outfile** *OUTFILE*

  Use *OUTFILE* instead of sources.list.

- **-n, --nonfree**

  Include also non-free section while generating *OUTFILE*.

- **-f, --ftp**

  Use FTP mirrors instead of HTTP and generate *OUTFILE* accordingly.

- **-O** *OPTIONS*

  The  *OPTIONS* provided are added, verbatim, to  *netselect* when it is run. Here you can provide a (quoted) list of options for netselect.

- **-t, --tests** *hosts*

  Make a short list with the number of hosts provided and use that list to test for mirror validity.  By default *10* hosts are tested.

- **-c, --country** *COUNTRY*

  Only test the sites found under the country *COUNTRY* (the value can either be an ISO-3166 value or the full name of the language, in English). When this value is set the mirror list or the *INFILE* will be filtered and only the sites that are listed under the given country will be tested. Note that restricting the search might not give the best results, as the "fastest" mirror might not even be in the same country as the system the  program is running in.

## ENVIRONMENT

- **WANT\_SOURCES**

  setting this to 1 is equivalent to --sources

- **WANT\_NONFREE**

  setting this to 1 is equivalent to --nonfree

## LIMITATIONS

**netselect-apt** is unable to work with restricted environments in which network filtering is implemented as it relies on  **netselect** being able to find a suitable mirror. To do this, the system where the script is run needs to have network visibility of the mirrors, as it will probe them using ICMP probes.

**netselect-apt** is also unable to work in environments where HTTP or FTP network connections have to be done through a proxy host, as it relies on being able to test the validity of the remote mirrors doing direct network connections to them.

**netselect-apt** will not check if the mirror it suggests as the "fastest" mirror is either valid or up-to-date. It is recommended that users that use this tool also validate that the mirrors suggested are official mirrors and are also current.

## SEE ALSO

[**netselect**(1)](/netselect/1.md), [**wget**(1)](/wget/1.md), [**curl**(1)](/curl/1.md), [**apt**(8)](/apt/8.md), [*sources.list*(5)](/sources.list/5.md).

For Debian GNU/Linux it is recommended that users review the official mirror list at http://www.debian.org/mirror/official as well as the mirror checker tool at http://mirror.debian.org/status.html (which provides information on the up-to-dateness status of mirrors)

## AUTHOR

Avery Pennarun \<apenwarr@gmail.com\>

This manual page and program have been also enhanced by Filippo Giunchedi \<filippo@esaurito.net\> and Javier Fernandez-Sanguino \<jfs@debian.org\>
