Kembalikan repositori apt apt di sources.list dari baris perintah

17

Saya mencari metode terbaik untuk mengembalikan /etc/apt/sources.listke default dari baris perintah.

Apakah tidak ada cara untuk referensi kode sumber paket yang menghasilkan file ini atau sesuatu seperti itu? Saya ingin cara tepercaya dan versi-independen untuk memulihkan file ini.

Solusi Dihilangkan

Sebelum Anda menandai ini sebagai duplikat, perhatikan bahwa saya sudah meninjau pertanyaan ini . Ini hanya berlaku jika Anda memiliki GUI Ubuntu. Pertanyaan ini khusus untuk baris perintah.

Saya juga meninjau pertanyaan ini di mana solusi yang diterima adalah seseorang menempelkan isi sources.listfile mereka . Ini bukan cara yang tepat untuk memulihkan file karena niat orang yang menyediakan konten file tidak dapat diverifikasi dan file dapat berubah dengan rilis baru.

Saya memeriksa generatornya di simplelinux.ch , tetapi ini juga bukan dari Ubuntu jadi saya tidak berencana untuk menggunakannya.

Ryan Burnette
sumber

Jawaban:

20

Saya tidak yakin apa yang Anda inginkan, tetapi:

  • Repositori induk selalu http://archive.ubuntu.com/ubuntu - yang lainnya adalah cerminan dari ini. Semua mirror primer lainnya memiliki domain formulir <cctld>.archive.ubuntu.com, di mana kode pendek dua karakter adalah Domain Tingkat Atas Domain . Anda dapat menemukan cermin tambahan dengan statusnya di Launchpad .
  • Codename distribusi adalah bagian dari saluran (istilah ketiga). Anda dapat menggunakannya lsb_release -scuntuk mencari tahu, dan itu adalah kata pertama dari rilis nama cantik dalam huruf kecil ( trustyuntuk Trusty Tahr, misalnya).
  • Ada lima saluran: <codename>, <codename>-security, <codename>-updates, <codename>-backportsdan <codename>-proposed. Yang pertama diperlukan karena ini adalah basis, yang kedua sangat dianjurkan karena berisi perbaikan keamanan, yang keempat hanya jika Anda memerlukan beberapa paket yang di-backport dari rilis yang lebih baru dan yang kelima hanya jika pengembang meminta Anda untuk mengaktifkannya untuk menguji kemungkinan memperbaiki.
  • Ada empat bagian repositori: main, multiverse, universedan restricted( Apa perbedaan antara multiverse, alam semesta, dibatasi dan utama? )

Jadi, Anda selalu dapat membuat brankas sources.listyang berisi:

deb http://archive.ubuntu.com/ubuntu <codename> main multiverse universe restricted
deb http://archive.ubuntu.com/ubuntu <codename>-security main multiverse universe restricted

Jika Anda ingin perintah melakukan ini:

printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' $(lsb_release -sc){,-security} > /etc/apt/sources.list

Selain daftar Launchpad, daftar yang disediakan oleh program Sumber Perangkat Lunak berasal /usr/share/python-apt/templates/Ubuntu.mirrors, yang berasal dari python-apt-commonpaket. Paket ini hanya ketergantungan tidak langsung dari Saranapt , sehingga mungkin tidak diinstal secara default pada server.

muru
sumber
Itulah tepatnya yang saya inginkan klarifikasi. Terima kasih!
Ryan Burnette
jawaban ini sempurna untuk posting keduanya (yang ditautkan dan yang ini)
Brian Thomas
Tetapi Anda masih harus memvalidasi jawaban ini dengan dokumentasi di situs web Ubuntu sendiri karena Anda tidak dapat memverifikasi niat orang yang memberikan jawaban ini?
Herbert Van-Vliet
7

Jika Anda mengerti apa artinya setiap baris /etc/apt/sources.list, Anda dapat menghasilkan daftar Anda sendiri. Misalnya sebuah baris di sources.listis my ,

deb http://archive.ubuntu.com/ubuntu/ trusty main

Ini memiliki 4 bagian:

  • Bagian 1: Bagian pertama ada di debsini yang artinya adalah repositori dari semua paket biner. hanya nilai lain yang mungkin deb-srcyang berarti repositori kode sumbernya.
  • Bagian 2: Bagian ini berisi URI dari repositori ( http://us.archive.ubuntu.com/ubuntu/ dalam hal ini). URI dapat bervariasi untuk mirror misalnya jika Anda ingin menggunakan mirror resmi AS maka URI akan menjadi http://us.archive.ubuntu.com/ubuntu/ .
  • Bagian 3: Ini berisi nama kode (dan nama saluran) dari rilis yang Anda gunakan, dalam hal ini trustyyang merupakan nama kode dari rilis Ubuntu saya (14,04 LTS). Anda dapat menemukan milik Anda dengan lsb_release -sc. Sebagai contoh, Jika Anda menggunakan 12,04 nama kode akan "tepat". Sekarang untuk mendeklarasikan saluran lain misalnya untuk mendeklarasikan saluran keamanan yang perlu Anda gunakan trusty-security.

  • Bagian 4: Bagian ini berisi "nama bagian" dari repositori. Biasanya ada 4 nama bagian yang digunakan: main, restricted, universe, multiverse. Anda bisa meletakkan semua nama bagian di baris yang sama dengan mendeklarasikan repositori atau Anda bisa menggunakan baris berbeda untuk masing-masing bagian tetapi tidak boleh ada duplikat entri. Jika Anda membaca /etc/apt/sources.list, maka Anda akan melihat deskripsi paket yang berisi masing-masing bagian ini.

heemayl
sumber