Bagaimana cara mengubah mirror di Server Ubuntu dari regional ke main?


76

Saya memiliki Lucid Server (10,04) yang diatur dan saya ingin mengubah mirror dari AS (atau negara lain) menjadi Mirror Ubuntu Utama.

Sebagai contoh, dua entri pertama saya di sources.list adalah:

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

Dalam lingkungan Desktop saya akan memilih mirror utama seperti ini:

Sumber Perangkat Lunak

Tetapi bagaimana saya melakukannya dari terminal karena saya tidak memiliki lingkungan grafis yang diinstal!

Jawaban:


95

Buka sources.listfile Anda menggunakan editor teks favorit Anda, mis

sudo nano /etc/apt/sources.list

Temukan teks http://us.archive.ubuntu.com/ubuntudan gantikan dengan http://archive.ubuntu.com/ubuntu.


Saya pikir ini akan melakukan trik tetapi ketika saya melakukan seperti yang Anda sarankan, tetapi itu memberi saya kesalahan 404 untuk repositori. Saya sudah memeriksanya lagi sekarang dan sepertinya baik-baik saja. Sepertinya ada masalah dengan koneksi jaringan saya. Terima kasih banyak atas jawabannya.
Sorin-Mihai Oprea

apakah ada cara yang aman seperti dengan GUI. Maksud saya, tidak menggantinya secara manual dan menghindari kesalahan ketik atau apa pun.
logoff

Mungkin kira-kira seperti ini: askubuntu.com/questions/20414/... @logoff
Luke Stanley

1
Juga jalankan apt-get updateselanjutnya sehingga APT dapat memperbarui paket-paketnya. Awalnya saya mendapat Package X has no installation candidatepesan karena APT belum memindai repositori baru untuk paket.
NS du Toit

Untuk menggunakannya dalam skrip, sedperintah berikut dapat digunakan 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 ganti nl dengan kode negara Anda.
Mandy S

55

Perintah ini harus melakukan trik:

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

Itu akan menghapus 'kita.' awalan di setiap alamat untuk mengonversikannya ke alamat server utama.

Tentu saja ganti 'kami' dengan mirror lain yang Anda gunakan.

Penjelasan mendalam tentang perintah:

editor sed - stream untuk memfilter dan mengubah teks.

  • The -i argumen adalah untuk mengedit file di tempat.

  • Kemudian 's | regexp | pengganti | g' , s menentukan pencarian dan mengganti perintah.

  • The g di akhir menjadi argumen untuk "global" pencarian.

  • Kesimpulan: menggantikan semua kemunculan http: // kami . dengan http: // di file /etc/apt/sources.list .


1
Coba jelaskan perintah itu sedikit lagi, apa fungsinya?
Evandro Silva

1
Untuk beralih dari kami ke de mirror lakukan hal berikut:sudo sed -i 's/http:\/\/us./http:\/\/de./g' /etc/apt/sources.list'
Christian

Metode yang diposting di sini benar, namun kode yang diposting di atas adalah salah [kode] "sudo sed -i 's / http: \ / \ / us./http:\/\//g' / etc / apt / sources.list "[/ kode] di mana cmd sed yang diposting di bagian bawah masuk akal.
SAGAR Nair

Terima kasih banyak untuk one-liner manual-text-editing-free. Saya beralih dari kecepatan pengunduhan beberapa kB / dtk menjadi 10 MB / dtk dengan menggunakan sudo sed -i 's|http://us.|http://ch.|g' /etc/apt/sources.list(Saya di Swiss). Saya sedang bekerja dengan gambar osbox dan mereka tampaknya cukup salah konfigurasi dalam hal itu ...
masterxilo

4

Penggunaan yang benar untuk menghapus / mengubah kode negara "kita" dari source.list ke yang lain seperti "au", perintahnya adalah sebagai berikut:

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

atau hanya untuk menghapus "kita" saja alih-alih mengubahnya menjadi sesuatu, gunakan kode di bawah ini:

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

3

Dengan vim:

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

Ketik :(Anda harus menahan Shift) untuk masuk ke mode command-in, dan kemudian ketik:

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

Memukul Enter

Tekan Escuntuk memastikan Anda telah keluar dari mode baris perintah dan masuk ke mode normal. Sekarang Anda dapat menggulir di sekitar file dengan tombol pindahkan keyboard (jika Anda mau) untuk memastikan semua kemunculan mirror kita telah diedit.

Akhirnya, keluar dengan menyimpan dengan memasukkan mode baris perintah (tipe :) dan masuk wq!untuk menyimpan dan keluar vim.


di sini dalam pencarian regexp% s / http: \ / \ / us \ ./ http: \ / \ // g; "." (dot) bukan pembatas, jadi tidak perlu menghindarinya dengan backslash.
SAGAR Nair

@SAGARBHOOSHAN .dengan sendirinya adalah "karakter apa pun kecuali baris baru" . Garis miring terbalik adalah untuk memastikan hanya cocok dengan titik literal.
Chai T. Rex
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.