Як змінити дзеркала в сервісі Ubuntu з регіонального на основне?


76

У мене налаштований сервер Lucid (10.04), і я хотів би змінити дзеркало з США (або будь-якої іншої країни) на головне дзеркало Ubuntu.

Наприклад, два мої перші записи в source.list:

deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted

У середовищі робочого столу я вибрав би таке основне дзеркало:

Джерела програмного забезпечення

Але як це зробити з терміналу, оскільки у мене не встановлено графічне середовище!

Відповіді:


95

Відкрийте sources.listфайл за допомогою улюбленого текстового редактора, наприклад

sudo nano /etc/apt/sources.list

Знайдіть текст http://us.archive.ubuntu.com/ubuntuі замініть його http://archive.ubuntu.com/ubuntu.


Я вважав, що це зробить трюк, але коли я зробив так, як ви запропонували, але це дало мені помилку 404 для сховища. Я перевірив ще раз, і, здається, це добре. Здавалося, це проблема з моїм підключенням до мережі. Дуже дякую за відповідь.
Сорін-Міхай Опреа

чи є безпечний спосіб, як у GUI. Я маю на увазі не замінювати його вручну і не уникати помилок друку чи будь-чого іншого.
вихід із системи

Можливо щось на кшталт цього: askubuntu.com/questions/20414/… @logoff
Люк Стенлі

1
Також запустіть apt-get updateзгодом, щоб APT могла оновлювати свої пакети. Спочатку я отримав Package X has no installation candidateповідомлення, оскільки APT ще не сканував нове сховище для пакетів.
NS du Toit

Щоб використовувати його в скрипті, sedможна використовувати наступну команду sed -E -i 's#http://[^\s]*archive\.ubuntu\.com/ubuntu#http://be.archive.ubuntu.com/ubuntu#g' /etc/apt/sources.list'/etc/apt/sources.list замінити nl кодом своєї країни.
Mandy S

55

Ця команда повинна виконати трюк:

sudo sed -i 's|http://us.|http://|g' /etc/apt/sources.list

Це видалить "нас". префікс кожної з адрес для перетворення їх на адреси основного сервера.

Звичайно, замініть "нас" будь-яким іншим дзеркалом, яке ви використовуєте.

Поглиблене пояснення команди:

sed - stream редактор для фільтрації та перетворення тексту.

  • Аргумент -i - це редагувати файл на місці.

  • Тоді «s | регулярний вираз | заміни | г» , и завдання пошуку і заміни команди.

  • Г в кінці є аргументом «глобально» пошук.

  • Висновок: замінює всі виникнення http: // us . з http: // у файлі /etc/apt/sources.list .


1
Спробуйте пояснити команду трохи більше, що вона робить?
Евандро Сільва

1
Щоб перейти від нас до дзеркала, виконайте наступне:sudo sed -i 's/http:\/\/us./http:\/\/de./g' /etc/apt/sources.list'
Крістіан

Метод, розміщений тут, є правильним, однак код, розміщений у верхній частині, є неправильним [код] "sudo sed -i 's / http: \ / \ / us./http:\/\//g' / тощо / apt / source.list "[/ code], де розміщені sed cmd внизу має сенс.
SAGAR Nair

Велике спасибі за однокласичне редагування тексту, яке не вручну. За допомогою програми я перейшов від декількох кБ / с до швидкості завантаження до 10 МБ / с sudo sed -i 's|http://us.|http://ch.|g' /etc/apt/sources.list(я в Швейцарії). Я працював із зображеннями осі, і вони, мабуть, досить неправильно налаштовані в цьому плані ...
masterxilo

4

Правильне використання sed для видалення / зміни коду країни "us" з source.list на щось інше, наприклад "au", команда буде такою:

sed -i 's/http:\/\/us./http:\/\/au./g' /etc/apt/sources.list

або просто видалити "нас" поодинці замість того, щоб змінити його на щось, використовуйте код нижче:

sed -i 's/http:\/\/in./http:\/\//g' /etc/apt/sources.list

3

З vim:

mv /etc/apt/sources.list{,.bak}   # you may want to make a backup
vim /etc/apt/source.list

Введіть :(вам потрібно утримувати Shift), щоб увійти в режим команд-ine, а потім введіть:

%s/http:\/\/us\./http:\/\//g

Удар Enter

Натисніть, Escщоб переконатися, що ви вийшли з режиму командного рядка та перейшли у звичайний режим. Тепер ви можете переміщатися по файлу з допомогою клавіш клавіатури на переміщення (якщо ви хочете) , щоб переконатися , що все входження нас дзеркала були відредаговані.

Нарешті, вийдіть із збереженням, увійшовши в режим командного рядка (тип :) та введіть wq!для збереження та виходу vim.


тут у пошуковому regexp% s / http: \ / \ / us \ ./ http: \ / \ // g; "." (крапка) не є роздільником, тому не потрібно уникати її з нахилом.
SAGAR Nair

@SAGARBHOOSHAN .сам по собі є "будь-яким символом, крім нового рядка" . Нахил нахилу полягає в тому, щоб він відповідав лише буквальній крапці.
Чай Т. Рекс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.