Skip to content

lagged/apt-spy2

Repository files navigation

apt-spy2

… or: "apt-spy for Ubuntu"

pr apt-spy2 (including prereleases) Code Climate Coverage Status

Installation

gem install apt-spy2

Usage

$ 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 using your IP's location.

$ apt-spy2 list
...

Since mirrors.ubuntu.com is frequently down, you can the list on Launchpad:

$ 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.

$ 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

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