lagged/apt-spy2

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# apt-spy2

… or: "apt-spy for Ubuntu"

[![pr](https://github.com/lagged/apt-spy2/actions/workflows/pr.yml/badge.svg)](https://github.com/lagged/apt-spy2/actions/workflows/pr.yml)
![apt-spy2 (including prereleases)](https://img.shields.io/gem/v/apt-spy2?include_prereleases)
[![Code Climate](https://codeclimate.com/github/lagged/apt-spy2.png)](https://codeclimate.com/github/lagged/apt-spy2)
[![Coverage Status](https://coveralls.io/repos/lagged/apt-spy2/badge.png)](https://coveralls.io/r/lagged/apt-spy2)


## Installation

```sh
gem install apt-spy2
```

## Usage

```sh
$ apt-spy2                                                                                                                                                         [21:03:52]
apt-spy2 commands:
  apt-spy2 check           # Evaluate mirrors
  apt-spy2 fix             # Set the closest/fastest mirror
  apt-spy2 help [COMMAND]  # Describe available commands or one specific command
  apt-spy2 list            # List the currently available mirrors
```

### list command

Displays a list of currently available mirrors. These mirrors are automatically selected via
[ubuntu-mirrors](http://mirrors.ubuntu.com) using your IP's location.

```sh
$ apt-spy2 list
...
```

Since `mirrors.ubuntu.com` is frequently down, you can the list on [Launchpad](launchpad.net/ubuntu/+archivemirrors):

```sh
$ apt-spy2 list --launchpad --country=Germany
...
```

### check command

`check` works like `list`, but also determines if the servers returned are working. It supports the flag `--launchpad` as well and additionally a flag `--strict` which checks if a mirror carries a certain release and distribution.

```sh
$ apt-spy2 check
...
$ apt-spy2 check --launchpad --country=US
...
$ apt-spy2 check --strict
```

### fix command

`fix` applies the result of `check` and updates `/etc/apt/sources.list`.

Once the fix is applied, please run `apt-get update`.

**Please note:** Depending on the context, it may require sudo.

### options/switches

See `apt-spy2 help list|check|fix` for available options.

**Please note:** `--launchpad` always requires you pass `--country=FOO` as well.

### exit codes

* 0 - all went well
* 1 - some kind of error

### output and non-interactive behavior

See `apt-spy2 help COMMAND` for more information.

Generally, `apt-spy2` plays especially nice in a non-interactive environment and won't ask for anything without setting environment variables or using the usual `-y`.

## License

[New BSD License](http://opensource.org/licenses/BSD-2-Clause)

### Release (procedure)

* update version in `lib/apt/spy2/version.rb`
* `bundle install`
* `git commit -a 'Prep x.y.z'
* `git tag -a vVERSION && git push --tags`