Получить имя сервера обновлений с помощью командной строки

Как получить имя сервера обновлений с помощью командной строки?

Я знаю, что могу прочитать его из файла списка источников, например:

cat /etc/apt/sources.list

дает:

deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted multiverse

Тогда я использую сервер США.

Но как я могу сделать это более эффективным способом?

0
задан 3 June 2015 в 16:24

3 ответа

Это - действительно просто точная настройка Вашего подхода:

cat /etc/apt/sources.list | grep deb | cut -d' ' -f2

cut -d' ' -f2 часть отключает второй столбец от строки, содержащей Word deb.

0
ответ дан 3 June 2015 в 16:24

Можно использовать --print-uris опция apt-get

$ sudo apt-get --print-uris update||grep Packages.bz2|awk '{print $2}'|sed -e 's/_ubuntu_dists_vivid\(-\|_\)\?/ /' -e 's/_binary-.*_Packages//'|sort -u

, Это не будет обновлять список пакета

0
ответ дан 3 June 2015 в 16:24

Я получил эту идею из ответа meskobalazs.

можно попытаться работать, эта команда в терминале

server=$(cat /etc/apt/sources.list | grep -m 1 deb\ h) ; echo ${server:11:2}

grep -m 1 возвращает только первое соответствие. ${server:11:2} возвраты первые две буквы после deb http://.

, когда я выполняю команду, вывод sg сокращение из deb http://sg.archive.ubuntu.com/ubuntu/ trusty main restricted

0
ответ дан 3 June 2015 в 16:24

Другие вопросы по тегам:

Похожие вопросы: