Aby obejść ten problem, możesz napisać skrypt, który sprawdza, do której sieci jesteś podłączony, i odpowiednio zmienia /etc/apt/sources.list. Coś jak poniższy skrypt, po prostu edytuj go, aby dopasować do swoich potrzeb.
Najpierw wykonaj kopię zapasową swojego/etc/apt/sources.list
. Następnie utwórz dwa pliki sources.list, jeden dla domu i jeden dla biura. Załóżmy, że są nazywani sources.office.list
i sources.home.list
. Zapisz oba w /etc/apt/
.
Teraz edytuj poniższy skrypt, aby dostosować go do swoich potrzeb, zapisz go (w tym przykładzie zakładam, że zapiszesz go jako ~/bin/change_sources.sh
) i uczyń go wykonywalnym, uruchamiając to polecenie:
$ chmod +x ~/bin/change_sources.sh
Scenariusz:
#!/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
Teraz edytuj plik etc/rc.local
i dodaj ten wiersz na końcu pliku, zanim exit(0)
:
/home/youruser/bin/change_sources.sh
Oczywiście zmień ścieżkę powyżej, aby odzwierciedlić ścieżkę do właśnie utworzonego skryptu.
Przy następnym uruchomieniu komputera skrypt powinien zostać uruchomiony i automatycznie wybrać prawidłowy plik sources.list.
EDYCJA: Jeśli chcesz mieć dostęp do obu repozytoriów przez cały czas i pobrać dany pakiet z najszybszego, jeśli jest obecny, wystarczy zmienić kolejność repozytoriów w pliku sources.list. Postępuj zgodnie z procedurą, którą zasugerowałem powyżej, po prostu spraw, aby odpowiednie wiersze w pliku /etc/apt/sources.office.list wyglądały tak:
deb http://fastest.mirror.for.office
deb http://fastest.mirror.for.home
oraz w /etc/apt/sources.home.list w następujący sposób:
deb http://fastest.mirror.for.home
deb http://fastest.mirror.for.office
Jeśli pakiet istnieje z tą samą wersją w obu repozytoriach, apt pobierze od pierwszego.
UWAGA 1: Jeśli wersje są różne, apt otrzyma najnowszą wersję, niezależnie od kolejności, w jakiej znajdują się repozytoria.
UWAGA 2: Nie sprawdza to prędkości pobierania repozytoriów. Musisz to zrobić sam. Aby znaleźć najszybszy serwer lustrzany, możesz spróbować użyć netselect-apt:
sudo apt-get install netselect-apt
Pakiet netselect-apt:
tester prędkości do wybierania szybkiego lustra Debiana
Ten pakiet zawiera narzędzie, które może wybrać najlepsze lustro Debiana, pobierając pełną listę kopii lustrzanych i używając netselect do znalezienia najszybszego / najbliższego.