В качестве обходного пути вы можете написать скрипт, который проверяет, к какой сети вы подключены, и соответственно изменяет /etc/apt/sources.list. Что-то вроде скрипта ниже, просто отредактируйте его в соответствии со своими потребностями.
Сначала сделайте резервную копию вашего /etc/apt/sources.list
. Затем создайте два файла sources.list, один для вашего дома и один для офиса. Давайте предположим, что они называются sources.office.list
и sources.home.list
. Сохраните их оба в /etc/apt/
.
Теперь отредактируйте следующий скрипт в соответствии с вашими потребностями, сохраните его (для этого примера, я предполагаю, что вы сохраните его как ~/bin/change_sources.sh
), и сделайте его исполняемым, выполнив эту команду:
$ chmod +x ~/bin/change_sources.sh
Сценарий:
#!/bin/bash
ip=ifconfig | grep Bcast | cut -d " " -f 12
## Set this for your office IP
if [ $ip == "XXX.XXX.XXX.XXX" ]
then
cp /etc/apt/sources.office.list /etc/apt/sources.list
else
cp /etc/apt/sources.home.list /etc/apt/sources.list
fi
Теперь отредактируйте файл etc/rc.local
и добавьте эту строку в конец файла перед exit(0)
:
/home/youruser/bin/change_sources.sh
Очевидно, измените путь выше, чтобы отразить путь к только что созданному сценарию.
При следующей перезагрузке скрипт должен быть запущен и автоматически выбрать правильный файл sources.list.
РЕДАКТИРОВАТЬ: Если вы хотите, чтобы оба репозитория были доступны в любое время, и загружать данный пакет из самого быстрого, если он есть, вам просто нужно изменить порядок репо в sources.list. Следуйте процедуре, которую я предложил выше, просто сделайте так, чтобы соответствующие строки в /etc/apt/sources.office.list были такими:
deb http://fastest.mirror.for.office
deb http://fastest.mirror.for.home
и в /etc/apt/sources.home.list вот так:
deb http://fastest.mirror.for.home
deb http://fastest.mirror.for.office
Если пакет существует с одинаковой версией в обоих репозиториях, apt загрузится с первого.
ПРИМЕЧАНИЕ 1: Если версии разные, apt получит самую новую версию независимо от порядка, в котором находятся репозитории.
ПРИМЕЧАНИЕ 2. Это не проверяет скорость загрузки репозиториев. Вы должны сделать это самостоятельно. Чтобы найти самое быстрое зеркало, вы можете попробовать использовать netselect-apt:
sudo apt-get install netselect-apt
Пакет netselect-apt:
тестер скорости для выбора быстрого зеркала Debian
Этот пакет предоставляет утилиту, которая может выбрать лучшее зеркало Debian, загрузив полный список зеркал и используя netselect, чтобы найти самое быстрое / ближайшее.